summaryrefslogtreecommitdiffstats
path: root/rbutil/rbutilqt
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2010-06-11 17:14:00 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2010-06-11 17:14:00 +0000
commita1209350d4c54767d374bc8ae6035050ef99155e (patch)
treee634cb009e0aeb62f9a4688b8a31fc645ae0a596 /rbutil/rbutilqt
parentf2e048493e59ec824d99fb9b3b077b42daa128c6 (diff)
downloadrockbox-a1209350d4c54767d374bc8ae6035050ef99155e.tar.gz
rockbox-a1209350d4c54767d374bc8ae6035050ef99155e.tar.bz2
rockbox-a1209350d4c54767d374bc8ae6035050ef99155e.zip
Convert uninstallation to use signals / slots for logging.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26782 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil/rbutilqt')
-rw-r--r--rbutil/rbutilqt/base/uninstall.cpp34
-rw-r--r--rbutil/rbutilqt/base/uninstall.h10
-rw-r--r--rbutil/rbutilqt/rbutilqt.cpp3
-rw-r--r--rbutil/rbutilqt/uninstallwindow.cpp11
4 files changed, 30 insertions, 28 deletions
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();
}
}