summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Wenger <domonoky@googlemail.com>2007-08-10 22:17:43 +0000
committerDominik Wenger <domonoky@googlemail.com>2007-08-10 22:17:43 +0000
commit6bc9abcceb04599497e7dd270a75d232f3a4a834 (patch)
tree802f8d321b4fd1952f56b77b221050b35be01aaf
parentd71339bf4425b9688aad5ddc150f4daa18783397 (diff)
downloadrockbox-6bc9abcceb04599497e7dd270a75d232f3a4a834.zip
rockbox-6bc9abcceb04599497e7dd270a75d232f3a4a834.tar.gz
rockbox-6bc9abcceb04599497e7dd270a75d232f3a4a834.tar.bz2
rockbox-6bc9abcceb04599497e7dd270a75d232f3a4a834.tar.xz
rbutilQt: Add Uninstallation for Rockbox and Bootloaders. Also add Talkfiles to the installlog
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14275 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--rbutil/rbutilqt/installtalkwindow.cpp3
-rw-r--r--rbutil/rbutilqt/installzip.cpp2
-rw-r--r--rbutil/rbutilqt/installzip.h4
-rw-r--r--rbutil/rbutilqt/rbutilqt.cpp36
-rw-r--r--rbutil/rbutilqt/rbutilqt.h2
-rw-r--r--rbutil/rbutilqt/rbutilqt.pro11
-rw-r--r--rbutil/rbutilqt/talkfile.cpp11
-rw-r--r--rbutil/rbutilqt/talkfile.h3
8 files changed, 59 insertions, 13 deletions
diff --git a/rbutil/rbutilqt/installtalkwindow.cpp b/rbutil/rbutilqt/installtalkwindow.cpp
index 82efa20..fcd5563 100644
--- a/rbutil/rbutilqt/installtalkwindow.cpp
+++ b/rbutil/rbutilqt/installtalkwindow.cpp
@@ -200,6 +200,7 @@ void InstallTalkWindow::accept()
talkcreator->setStripExtensions(ui.StripExtensions->isChecked());
talkcreator->createTalkFiles(logger);
+ connect(logger,SIGNAL(closed()),this,SLOT(close()));
}
@@ -274,7 +275,7 @@ void InstallTalkWindow::setUserSettings(QSettings *user)
{
userSettings = user;
-
+ talkcreator->setMountPoint(userSettings->value("defaults/mountpoint").toString());
setTalkFolder(userSettings->value("defaults/folderToTalk").toString());
setEncoderExec(userSettings->value("defaults/pathEncoder").toString());
diff --git a/rbutil/rbutilqt/installzip.cpp b/rbutil/rbutilqt/installzip.cpp
index 4e2ab51..ac295da 100644
--- a/rbutil/rbutilqt/installzip.cpp
+++ b/rbutil/rbutilqt/installzip.cpp
@@ -137,7 +137,7 @@ void ZipInstaller::downloadDone(bool error)
}
// add file to log
- zipContents.append(m_mountpoint + m_target);
+ zipContents.append( m_target);
}
m_dp->addItem(tr("Creating installation log"),LOGINFO);
diff --git a/rbutil/rbutilqt/installzip.h b/rbutil/rbutilqt/installzip.h
index a3d14d9..1d9d024 100644
--- a/rbutil/rbutilqt/installzip.h
+++ b/rbutil/rbutilqt/installzip.h
@@ -18,8 +18,8 @@
****************************************************************************/
-#ifndef INSTALLRB_H
-#define INSTALLRB_H
+#ifndef INSTALLZIP_H
+#define INSTALLZIP_H
diff --git a/rbutil/rbutilqt/rbutilqt.cpp b/rbutil/rbutilqt/rbutilqt.cpp
index 35b227f..2326648 100644
--- a/rbutil/rbutilqt/rbutilqt.cpp
+++ b/rbutil/rbutilqt/rbutilqt.cpp
@@ -29,6 +29,7 @@
#include "installtalkwindow.h"
#include "httpget.h"
#include "installbootloader.h"
+#include "uninstallwindow.h"
#ifdef __linux
#include <stdio.h>
@@ -80,13 +81,12 @@ RbUtilQt::RbUtilQt(QWidget *parent) : QMainWindow(parent)
connect(ui.buttonGames, SIGNAL(clicked()), this, SLOT(installDoom()));
connect(ui.buttonTalk, SIGNAL(clicked()), this, SLOT(createTalkFiles()));
connect(ui.buttonVoice, SIGNAL(clicked()), this, SLOT(installVoice()));
-
+ connect(ui.buttonRemoveRockbox, SIGNAL(clicked()), this, SLOT(uninstall()));
+ connect(ui.buttonRemoveBootloader, SIGNAL(clicked()), this, SLOT(uninstallBootloader()));
// disable unimplemented stuff
ui.buttonThemes->setEnabled(false);
ui.buttonSmall->setEnabled(false);
- ui.buttonRemoveRockbox->setEnabled(false);
- ui.buttonRemoveBootloader->setEnabled(false);
ui.buttonComplete->setEnabled(false);
initIpodpatcher();
@@ -96,6 +96,8 @@ RbUtilQt::RbUtilQt(QWidget *parent) : QMainWindow(parent)
}
+
+
void RbUtilQt::downloadInfo()
{
// try to get the current build information
@@ -396,3 +398,31 @@ void RbUtilQt::createTalkFiles(void)
installWindow->show();
}
+
+void RbUtilQt::uninstall(void)
+{
+ UninstallWindow *uninstallWindow = new UninstallWindow(this);
+ uninstallWindow->setUserSettings(userSettings);
+ uninstallWindow->setDeviceSettings(devices);
+ uninstallWindow->show();
+}
+
+void RbUtilQt::uninstallBootloader(void)
+{
+ if(QMessageBox::question(this, tr("Confirm Uninstallation"),
+ tr("Do you really want to uninstall the Bootloader?"),
+ QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return;
+ // create logger
+ ProgressLoggerGui* logger = new ProgressLoggerGui(this);
+ logger->show();
+
+ QString plattform = userSettings->value("defaults/platform").toString();
+ BootloaderInstaller blinstaller(this);
+ blinstaller.setMountPoint(userSettings->value("defaults/mountpoint").toString());
+ blinstaller.setDevice(userSettings->value("defaults/platform").toString());
+ blinstaller.setBootloaderMethod(devices->value(plattform + "/bootloadermethod").toString());
+ blinstaller.setBootloaderName(devices->value(plattform + "/bootloadername").toString());
+ blinstaller.setBootloaderBaseUrl(devices->value("bootloader_url").toString());
+ blinstaller.uninstall(logger);
+
+}
diff --git a/rbutil/rbutilqt/rbutilqt.h b/rbutil/rbutilqt/rbutilqt.h
index 7451235..fe8dd3b 100644
--- a/rbutil/rbutilqt/rbutilqt.h
+++ b/rbutil/rbutilqt/rbutilqt.h
@@ -64,6 +64,8 @@ class RbUtilQt : public QMainWindow
void downloadDone(int, bool);
void downloadInfo(void);
void installVoice(void);
+ void uninstall(void);
+ void uninstallBootloader(void);
};
#endif
diff --git a/rbutil/rbutilqt/rbutilqt.pro b/rbutil/rbutilqt/rbutilqt.pro
index ed61288..a5a03bf 100644
--- a/rbutil/rbutilqt/rbutilqt.pro
+++ b/rbutil/rbutilqt/rbutilqt.pro
@@ -30,7 +30,9 @@ SOURCES += rbutilqt.cpp \
../sansapatcher/sansapatcher.c \
irivertools/irivertools.cpp \
irivertools/md5sum.cpp \
- browsedirtree.cpp
+ browsedirtree.cpp \
+ uninstall.cpp \
+ uninstallwindow.cpp
HEADERS += rbutilqt.h \
settings.h \
@@ -62,7 +64,9 @@ HEADERS += rbutilqt.h \
irivertools/h120sums.h \
irivertools/h300sums.h \
irivertools/checksums.h \
- browsedirtree.h
+ browsedirtree.h \
+ uninstall.h \
+ uninstallwindow.h
# Needed by QT on Win
INCLUDEPATH = . irivertools zip zlib ../ipodpatcher ../sansapatcher
@@ -81,7 +85,8 @@ FORMS += rbutilqtfrm.ui \
configurefrm.ui \
installbootloaderfrm.ui \
browsedirtreefrm.ui \
- installtalkfrm.ui
+ installtalkfrm.ui \
+ uninstallfrm.ui
RESOURCES += rbutilqt.qrc
diff --git a/rbutil/rbutilqt/talkfile.cpp b/rbutil/rbutilqt/talkfile.cpp
index da532e3..18c4ede 100644
--- a/rbutil/rbutilqt/talkfile.cpp
+++ b/rbutil/rbutilqt/talkfile.cpp
@@ -85,6 +85,8 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
connect(logger,SIGNAL(aborted()),this,SLOT(abort()));
m_logger->setProgressMax(0);
QDirIterator it(m_dir,QDirIterator::Subdirectories);
+ QSettings installlog(m_mountpoint + "/.rockbox/rbutil.log", QSettings::IniFormat, 0);
+ installlog.beginGroup("talkfiles");
// iterate over all entrys
while (it.hasNext())
{
@@ -148,11 +150,16 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
{
QFile wavfile(wavfilename);
wavfile.remove();
- }
-
+ installlog.remove(wavfilename);
+ }
+ else
+ installlog.setValue(wavfilename.remove(m_mountpoint),installlog.value(wavfilename,0).toInt()+1);
+
+ installlog.setValue(filename.remove(m_mountpoint),installlog.value(filename,0).toInt()+1);
it.next();
}
+ installlog.endGroup();
m_logger->addItem("Finished creating Talkfiles",LOGOK);
m_logger->setProgressMax(1);
m_logger->setProgressValue(1);
diff --git a/rbutil/rbutilqt/talkfile.h b/rbutil/rbutilqt/talkfile.h
index 20bf1e5..7404216 100644
--- a/rbutil/rbutilqt/talkfile.h
+++ b/rbutil/rbutilqt/talkfile.h
@@ -54,6 +54,7 @@ public:
void setEncOpts(QString opts) {m_EncOpts=opts;}
void setDir(QString dir){m_dir = dir; }
+ void setMountPoint(QString mountpoint) {m_mountpoint =mountpoint; }
void setOverwriteTalk(bool ov) {m_overwriteTalk = ov;}
void setOverwriteWav(bool ov) {m_overwriteWav = ov;}
@@ -74,7 +75,7 @@ private:
bool voice(QString text,QString wavfile);
QString m_dir;
-
+ QString m_mountpoint;
QString m_curTTS;
QString m_TTSexec;
QStringList m_supportedTTS;