1
0
Fork 0
forked from len0rd/rockbox

Convert uninstallation to use signals / slots for logging.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26782 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dominik Riebeling 2010-06-11 17:14:00 +00:00
parent f2e048493e
commit a1209350d4
4 changed files with 30 additions and 28 deletions

View file

@ -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()

View file

@ -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;
};