From 78d7ece5e914c3f307c42aea2dbb36cf33e7d81c Mon Sep 17 00:00:00 2001 From: Antoine Cellerier Date: Sat, 15 Sep 2007 22:13:41 +0000 Subject: Automatically scroll to the last line of the progress logger when adding a new item. Cosmetics. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14716 a1c6a512-1295-4272-9138-f99709370657 --- rbutil/rbutilqt/progressloggergui.cpp | 24 +++++++++++---------- rbutil/rbutilqt/progressloggergui.h | 18 ++++++++-------- rbutil/rbutilqt/progressloggerinterface.h | 36 +++++++++++++++---------------- 3 files changed, 40 insertions(+), 38 deletions(-) (limited to 'rbutil/rbutilqt') diff --git a/rbutil/rbutilqt/progressloggergui.cpp b/rbutil/rbutilqt/progressloggergui.cpp index 5bf7b92aaa..0d3fcb4187 100644 --- a/rbutil/rbutilqt/progressloggergui.cpp +++ b/rbutil/rbutilqt/progressloggergui.cpp @@ -16,7 +16,7 @@ * KIND, either express or implied. * ****************************************************************************/ - + #include "progressloggergui.h" ProgressLoggerGui::ProgressLoggerGui(QObject* parent): ProgressloggerInterface(parent) @@ -28,18 +28,19 @@ ProgressLoggerGui::ProgressLoggerGui(QObject* parent): ProgressloggerInterface(p connect(dp.buttonAbort, SIGNAL(clicked()), this, SLOT(abort())); } - -void ProgressLoggerGui::addItem(QString text) +void ProgressLoggerGui::addItem(const QString &text) { - dp.listProgress->addItem(text); -} + addItem(text, LOGNOICON); +} -void ProgressLoggerGui::addItem(QString text,int flag) +void ProgressLoggerGui::addItem(const QString &text, int flag) { QListWidgetItem* item = new QListWidgetItem(text); - + switch(flag) { + case LOGNOICON: + break; case LOGOK: item->setIcon(QIcon(":/icons/icons/go-next.png")); break; @@ -53,14 +54,15 @@ void ProgressLoggerGui::addItem(QString text,int flag) item->setIcon(QIcon(":/icons/icons/dialog-error.png")); break; } - + dp.listProgress->addItem(item); -} + dp.listProgress->scrollToItem(item); +} void ProgressLoggerGui::setProgressValue(int value) { dp.progressBar->setValue(value); -} +} void ProgressLoggerGui::setProgressMax(int max) { @@ -70,7 +72,7 @@ void ProgressLoggerGui::setProgressMax(int max) int ProgressLoggerGui::getProgressMax() { return dp.progressBar->maximum(); -} +} void ProgressLoggerGui::abort() { diff --git a/rbutil/rbutilqt/progressloggergui.h b/rbutil/rbutilqt/progressloggergui.h index e7ccce8d33..17483150f3 100644 --- a/rbutil/rbutilqt/progressloggergui.h +++ b/rbutil/rbutilqt/progressloggergui.h @@ -18,22 +18,22 @@ ****************************************************************************/ #ifndef PROGRESSLOGGERGUI_H #define PROGRESSLOGGERGUI_H - + #include #include "progressloggerinterface.h" #include "ui_installprogressfrm.h" -class ProgressLoggerGui :public ProgressloggerInterface +class ProgressLoggerGui :public ProgressloggerInterface { Q_OBJECT public: ProgressLoggerGui(QObject * parent); - - virtual void addItem(QString text) ; //adds a string to the list - - virtual void addItem(QString text, int flag) ; //adds a string to the list - + + virtual void addItem(const QString &text); //adds a string to the list + + virtual void addItem(const QString &text, int flag); //adds a string to the list + virtual void setProgressValue(int value); virtual void setProgressMax(int max); virtual int getProgressMax(); @@ -47,8 +47,8 @@ public slots: virtual void undoAbort(); virtual void close(); virtual void show(); - -private: + +private: Ui::InstallProgressFrm dp; QDialog *downloadProgress; diff --git a/rbutil/rbutilqt/progressloggerinterface.h b/rbutil/rbutilqt/progressloggerinterface.h index cf78bded7e..2f593540fe 100644 --- a/rbutil/rbutilqt/progressloggerinterface.h +++ b/rbutil/rbutilqt/progressloggerinterface.h @@ -16,43 +16,43 @@ * KIND, either express or implied. * ****************************************************************************/ - + #ifndef PROGRESSLOGGERINTERFACE_H #define PROGRESSLOGGERINTERFACE_H - + #include -#define LOGOK 1 -#define LOGINFO 2 -#define LOGWARNING 3 -#define LOGERROR 4 - - +enum { + LOGNOICON, LOGOK, LOGINFO, LOGWARNING, LOGERROR +}; + + + class ProgressloggerInterface : public QObject { Q_OBJECT - -public: + +public: ProgressloggerInterface(QObject* parent) : QObject(parent) {} - virtual void addItem(QString text) =0 ; //adds a string to the list - virtual void addItem(QString text,int flag) =0 ; //adds a string to the list, with icon - + virtual void addItem(const QString &text)=0; //adds a string to the list + virtual void addItem(const QString &text, int flag)=0; //adds a string to the list, with icon + virtual void setProgressValue(int value)=0; virtual void setProgressMax(int max)=0; virtual int getProgressMax()=0; - + signals: virtual void aborted()=0; - + public slots: virtual void abort()=0; - virtual void undoAbort() =0; + virtual void undoAbort()=0; virtual void close()=0; virtual void show()=0; - + private: - + }; #endif -- cgit v1.2.3