From a1209350d4c54767d374bc8ae6035050ef99155e Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Fri, 11 Jun 2010 17:14:00 +0000 Subject: Convert uninstallation to use signals / slots for logging. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26782 a1c6a512-1295-4272-9138-f99709370657 --- rbutil/rbutilqt/base/uninstall.cpp | 34 +++++++++++++++------------------- rbutil/rbutilqt/base/uninstall.h | 10 ++++++---- rbutil/rbutilqt/rbutilqt.cpp | 3 ++- rbutil/rbutilqt/uninstallwindow.cpp | 11 +++++++---- 4 files changed, 30 insertions(+), 28 deletions(-) (limited to 'rbutil/rbutilqt') diff --git a/rbutil/rbutilqt/base/uninstall.cpp b/rbutil/rbutilqt/base/uninstall.cpp index 2f3b3c767f..14674837d9 100644 --- a/rbutil/rbutilqt/base/uninstall.cpp +++ b/rbutil/rbutilqt/base/uninstall.cpp @@ -26,30 +26,27 @@ Uninstaller::Uninstaller(QObject* parent,QString mountpoint): QObject(parent) m_mountpoint = mountpoint; } -void Uninstaller::deleteAll(ProgressloggerInterface* dp) +void Uninstaller::deleteAll(void) { - m_dp = dp; QString rbdir(m_mountpoint + ".rockbox/"); - m_dp->addItem(tr("Starting Uninstallation"),LOGINFO); - m_dp->setProgressMax(0); + emit logItem(tr("Starting Uninstallation"), LOGINFO); + emit logProgress(0, 0); Utils::recursiveRmdir(rbdir); - m_dp->setProgressMax(1); - m_dp->setProgressValue(1); - m_dp->addItem(tr("Finished Uninstallation"),LOGOK); - m_dp->setFinished(); + emit logProgress(1, 1); + emit logItem(tr("Finished Uninstallation"), LOGOK); + emit logFinished(); } -void Uninstaller::uninstall(ProgressloggerInterface* dp) +void Uninstaller::uninstall(void) { - m_dp = dp; - m_dp->setProgressMax(0); - m_dp->addItem(tr("Starting Uninstallation"),LOGINFO); + emit logProgress(0, 0); + emit logItem(tr("Starting Uninstallation"), LOGINFO); QSettings installlog(m_mountpoint + "/.rockbox/rbutil.log", QSettings::IniFormat, this); for(int i=0; i< uninstallSections.size() ; i++) { - m_dp->addItem(tr("Uninstalling %1...").arg(uninstallSections.at(i)), LOGINFO); + emit logItem(tr("Uninstalling %1...").arg(uninstallSections.at(i)), LOGINFO); QCoreApplication::processEvents(); // create list of all other install sections QStringList sections = installlog.childGroups(); @@ -80,8 +77,8 @@ void Uninstaller::uninstall(ProgressloggerInterface* dp) if(toDelete.isFile()) // if it is a file remove it { if(deleteFile && !QFile::remove(toDelete.filePath())) - m_dp->addItem(tr("Could not delete %1") - .arg(toDelete.filePath()),LOGWARNING); + emit logItem(tr("Could not delete %1") + .arg(toDelete.filePath()), LOGWARNING); installlog.remove(toDeleteList.at(j)); qDebug() << "deleted: " << toDelete.filePath() ; } @@ -108,10 +105,9 @@ void Uninstaller::uninstall(ProgressloggerInterface* dp) } uninstallSections.clear(); installlog.sync(); - m_dp->setProgressMax(1); - m_dp->setProgressValue(1); - m_dp->addItem(tr("Uninstallation finished"),LOGOK); - m_dp->setFinished(); + emit logProgress(1, 1); + emit logItem(tr("Uninstallation finished"), LOGOK); + emit logFinished(); } QStringList Uninstaller::getAllSections() diff --git a/rbutil/rbutilqt/base/uninstall.h b/rbutil/rbutilqt/base/uninstall.h index 34faf9a4d7..072ec651da 100644 --- a/rbutil/rbutilqt/base/uninstall.h +++ b/rbutil/rbutilqt/base/uninstall.h @@ -35,8 +35,8 @@ public: Uninstaller(QObject* parent,QString mountpoint) ; ~Uninstaller(){} - void deleteAll(ProgressloggerInterface* dp); - void uninstall(ProgressloggerInterface* dp); + void deleteAll(void); + void uninstall(void); bool uninstallPossible(); @@ -44,6 +44,10 @@ public: void setSections(QStringList sections) {uninstallSections = sections;} +signals: + void logItem(QString, int); //! set logger item + void logProgress(int, int); //! set progress bar. + void logFinished(void); private slots: @@ -52,8 +56,6 @@ private: QString m_mountpoint; QStringList uninstallSections; - - ProgressloggerInterface* m_dp; }; diff --git a/rbutil/rbutilqt/rbutilqt.cpp b/rbutil/rbutilqt/rbutilqt.cpp index 4485bacaec..274efb46af 100644 --- a/rbutil/rbutilqt/rbutilqt.cpp +++ b/rbutil/rbutilqt/rbutilqt.cpp @@ -899,7 +899,8 @@ void RbUtilQt::installVoice() QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return; - QDate date = QDate::fromString(ServerInfo::value(ServerInfo::DailyDate).toString(),Qt::ISODate); + QDate date = QDate::fromString( + ServerInfo::value(ServerInfo::DailyDate).toString(), Qt::ISODate); QString model = SystemInfo::value(SystemInfo::CurBuildserverModel).toString(); // replace placeholder in voice url voiceurl.replace("%DATE%", date.toString("yyyyMMdd")); diff --git a/rbutil/rbutilqt/uninstallwindow.cpp b/rbutil/rbutilqt/uninstallwindow.cpp index 4abfe93b1e..fc47840b78 100644 --- a/rbutil/rbutilqt/uninstallwindow.cpp +++ b/rbutil/rbutilqt/uninstallwindow.cpp @@ -31,6 +31,11 @@ UninstallWindow::UninstallWindow(QWidget *parent) : QDialog(parent) QString mountpoint = RbSettings::value(RbSettings::Mountpoint).toString(); uninstaller = new Uninstaller(this,mountpoint); + logger = new ProgressLoggerGui(this); + connect(uninstaller, SIGNAL(logItem(QString, int)), logger, SLOT(addItem(QString, int))); + connect(uninstaller, SIGNAL(logProgress(int, int)), logger, SLOT(setProgress(int, int))); + connect(uninstaller, SIGNAL(logFinished(void)), logger, SLOT(setFinished(void))); + connect(logger, SIGNAL(closed()), this, SLOT(close())); // disable smart uninstall, if not possible if(!uninstaller->uninstallPossible()) @@ -50,17 +55,15 @@ UninstallWindow::UninstallWindow(QWidget *parent) : QDialog(parent) void UninstallWindow::accept() { - logger = new ProgressLoggerGui(this); logger->show(); - connect(logger,SIGNAL(closed()),this,SLOT(close())); if(ui.CompleteRadioBtn->isChecked()) { - uninstaller->deleteAll(logger); + uninstaller->deleteAll(); } else { - uninstaller->uninstall(logger); + uninstaller->uninstall(); } } -- cgit v1.2.3