diff options
author | Dominik Wenger <domonoky@googlemail.com> | 2008-05-10 17:53:15 +0000 |
---|---|---|
committer | Dominik Wenger <domonoky@googlemail.com> | 2008-05-10 17:53:15 +0000 |
commit | acccee479a2e0ef1b373c7de85a70abb816682c3 (patch) | |
tree | 0f52f57d05188226721ff0b96850a1319df5a5ec /rbutil/rbutilqt | |
parent | 251db062949edf0adb89ae609a53919d9a348e6e (diff) | |
download | rockbox-acccee479a2e0ef1b373c7de85a70abb816682c3.tar.gz rockbox-acccee479a2e0ef1b373c7de85a70abb816682c3.zip |
rbutil: Detect if Rockbox is already installed, and allow Backup bevor installing a new build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17440 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil/rbutilqt')
-rw-r--r-- | rbutil/rbutilqt/install.cpp | 18 | ||||
-rw-r--r-- | rbutil/rbutilqt/progressloggergui.cpp | 4 | ||||
-rw-r--r-- | rbutil/rbutilqt/progressloggergui.h | 2 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbutilqt.cpp | 18 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbutilqt.pro | 6 | ||||
-rw-r--r-- | rbutil/rbutilqt/zip/zip.cpp | 8 | ||||
-rw-r--r-- | rbutil/rbutilqt/zip/zip.h | 4 |
7 files changed, 49 insertions, 11 deletions
diff --git a/rbutil/rbutilqt/install.cpp b/rbutil/rbutilqt/install.cpp index 45004cb2b0..4461a6a633 100644 --- a/rbutil/rbutilqt/install.cpp +++ b/rbutil/rbutilqt/install.cpp | |||
@@ -19,6 +19,7 @@ | |||
19 | 19 | ||
20 | #include "install.h" | 20 | #include "install.h" |
21 | #include "ui_installfrm.h" | 21 | #include "ui_installfrm.h" |
22 | #include "rbzip.h" | ||
22 | 23 | ||
23 | Install::Install(QWidget *parent) : QDialog(parent) | 24 | Install::Install(QWidget *parent) : QDialog(parent) |
24 | { | 25 | { |
@@ -82,7 +83,22 @@ void Install::accept() | |||
82 | return; | 83 | return; |
83 | } | 84 | } |
84 | settings->sync(); | 85 | settings->sync(); |
85 | 86 | ||
87 | //! check if rockbox is already installed | ||
88 | if(QDir(settings->mountpoint() + "/.rockbox").exists()) | ||
89 | { | ||
90 | if(QMessageBox::question(this, tr("Installed Rockbox detected"), | ||
91 | tr("Rockbox installation detected. Do you want to backup first?"), | ||
92 | QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) | ||
93 | { | ||
94 | QString backupName = QFileDialog::getSaveFileName(this,"Select Backup Filename",settings->mountpoint()); | ||
95 | logger->show(); | ||
96 | RbZip backup; | ||
97 | backup.createZip(backupName,settings->mountpoint() + "/.rockbox",logger); | ||
98 | } | ||
99 | } | ||
100 | |||
101 | //! install build | ||
86 | installer = new ZipInstaller(this); | 102 | installer = new ZipInstaller(this); |
87 | installer->setUrl(file); | 103 | installer->setUrl(file); |
88 | installer->setLogSection("Rockbox (Base)"); | 104 | installer->setLogSection("Rockbox (Base)"); |
diff --git a/rbutil/rbutilqt/progressloggergui.cpp b/rbutil/rbutilqt/progressloggergui.cpp index b66ec89a25..15ddc18663 100644 --- a/rbutil/rbutilqt/progressloggergui.cpp +++ b/rbutil/rbutilqt/progressloggergui.cpp | |||
@@ -19,9 +19,9 @@ | |||
19 | 19 | ||
20 | #include "progressloggergui.h" | 20 | #include "progressloggergui.h" |
21 | 21 | ||
22 | ProgressLoggerGui::ProgressLoggerGui(QObject* parent): ProgressloggerInterface(parent) | 22 | ProgressLoggerGui::ProgressLoggerGui(QWidget* parent): ProgressloggerInterface(parent) |
23 | { | 23 | { |
24 | downloadProgress = new QDialog(); | 24 | downloadProgress = new QDialog(parent); |
25 | downloadProgress->setModal(true); | 25 | downloadProgress->setModal(true); |
26 | dp.setupUi(downloadProgress); | 26 | dp.setupUi(downloadProgress); |
27 | dp.listProgress->setAlternatingRowColors(true); | 27 | dp.listProgress->setAlternatingRowColors(true); |
diff --git a/rbutil/rbutilqt/progressloggergui.h b/rbutil/rbutilqt/progressloggergui.h index 6086330ebb..785e309bd0 100644 --- a/rbutil/rbutilqt/progressloggergui.h +++ b/rbutil/rbutilqt/progressloggergui.h | |||
@@ -28,7 +28,7 @@ class ProgressLoggerGui :public ProgressloggerInterface | |||
28 | { | 28 | { |
29 | Q_OBJECT | 29 | Q_OBJECT |
30 | public: | 30 | public: |
31 | ProgressLoggerGui(QObject * parent); | 31 | ProgressLoggerGui(QWidget * parent); |
32 | 32 | ||
33 | virtual void addItem(const QString &text); //adds a string to the list | 33 | virtual void addItem(const QString &text); //adds a string to the list |
34 | 34 | ||
diff --git a/rbutil/rbutilqt/rbutilqt.cpp b/rbutil/rbutilqt/rbutilqt.cpp index 564d9d8352..f9fbd48568 100644 --- a/rbutil/rbutilqt/rbutilqt.cpp +++ b/rbutil/rbutilqt/rbutilqt.cpp | |||
@@ -33,6 +33,7 @@ | |||
33 | #include "uninstallwindow.h" | 33 | #include "uninstallwindow.h" |
34 | #include "browseof.h" | 34 | #include "browseof.h" |
35 | #include "utils.h" | 35 | #include "utils.h" |
36 | #include "rbzip.h" | ||
36 | 37 | ||
37 | #if defined(Q_OS_LINUX) | 38 | #if defined(Q_OS_LINUX) |
38 | #include <stdio.h> | 39 | #include <stdio.h> |
@@ -462,7 +463,22 @@ bool RbUtilQt::installAuto() | |||
462 | } | 463 | } |
463 | 464 | ||
464 | QString myversion = "r" + versmap.value("bleed_rev"); | 465 | QString myversion = "r" + versmap.value("bleed_rev"); |
465 | 466 | ||
467 | //! check if rockbox is already installed | ||
468 | if(QDir(settings->mountpoint() + "/.rockbox").exists()) | ||
469 | { | ||
470 | if(QMessageBox::question(this, tr("Installed Rockbox detected"), | ||
471 | tr("Rockbox installation detected. Do you want to backup first?"), | ||
472 | QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) | ||
473 | { | ||
474 | QString backupName = QFileDialog::getSaveFileName(this,"Select Backup Filename",settings->mountpoint()); | ||
475 | logger->show(); | ||
476 | RbZip backup; | ||
477 | backup.createZip(backupName,settings->mountpoint() + "/.rockbox",logger); | ||
478 | } | ||
479 | } | ||
480 | |||
481 | //! install current build | ||
466 | ZipInstaller* installer = new ZipInstaller(this); | 482 | ZipInstaller* installer = new ZipInstaller(this); |
467 | installer->setUrl(file); | 483 | installer->setUrl(file); |
468 | installer->setLogSection("Rockbox (Base)"); | 484 | installer->setLogSection("Rockbox (Base)"); |
diff --git a/rbutil/rbutilqt/rbutilqt.pro b/rbutil/rbutilqt/rbutilqt.pro index 1485f4d8a9..ba04159d58 100644 --- a/rbutil/rbutilqt/rbutilqt.pro +++ b/rbutil/rbutilqt/rbutilqt.pro | |||
@@ -56,7 +56,8 @@ SOURCES += rbutilqt.cpp \ | |||
56 | voicefile.cpp \ | 56 | voicefile.cpp \ |
57 | createvoicewindow.cpp \ | 57 | createvoicewindow.cpp \ |
58 | rbsettings.cpp \ | 58 | rbsettings.cpp \ |
59 | rbunzip.cpp | 59 | rbunzip.cpp \ |
60 | rbzip.cpp | ||
60 | 61 | ||
61 | HEADERS += rbutilqt.h \ | 62 | HEADERS += rbutilqt.h \ |
62 | install.h \ | 63 | install.h \ |
@@ -102,7 +103,8 @@ HEADERS += rbutilqt.h \ | |||
102 | voicefile.h \ | 103 | voicefile.h \ |
103 | createvoicewindow.h \ | 104 | createvoicewindow.h \ |
104 | rbsettings.h \ | 105 | rbsettings.h \ |
105 | rbunzip.h | 106 | rbunzip.h \ |
107 | rbzip.h | ||
106 | 108 | ||
107 | # Needed by QT on Win | 109 | # Needed by QT on Win |
108 | INCLUDEPATH = . irivertools zip zlib ../ipodpatcher ../sansapatcher ../../tools/rbspeex ../../tools | 110 | INCLUDEPATH = . irivertools zip zlib ../ipodpatcher ../sansapatcher ../../tools/rbspeex ../../tools |
diff --git a/rbutil/rbutilqt/zip/zip.cpp b/rbutil/rbutilqt/zip/zip.cpp index bb02147da3..ac1eaaea0b 100644 --- a/rbutil/rbutilqt/zip/zip.cpp +++ b/rbutil/rbutilqt/zip/zip.cpp | |||
@@ -441,13 +441,15 @@ Zip::ErrorCode Zip::addDirectory(const QString& path, const QString& root, Compr | |||
441 | if (info.isDir()) | 441 | if (info.isDir()) |
442 | { | 442 | { |
443 | // Recursion :) | 443 | // Recursion :) |
444 | ec = addDirectory(info.absoluteFilePath(), actualRoot, recursionOptions, level); | 444 | progress(); |
445 | ec = addDirectory(info.absoluteFilePath(), actualRoot, recursionOptions, level); | ||
445 | } | 446 | } |
446 | else | 447 | else |
447 | { | 448 | { |
449 | progress(); | ||
448 | ec = d->createEntry(info, actualRoot, level); | 450 | ec = d->createEntry(info, actualRoot, level); |
449 | filesAdded = true; | 451 | filesAdded = true; |
450 | } | 452 | } |
451 | } | 453 | } |
452 | 454 | ||
453 | 455 | ||
@@ -455,7 +457,7 @@ Zip::ErrorCode Zip::addDirectory(const QString& path, const QString& root, Compr | |||
455 | // Non-empty directories don't need it because they have a path component in the filename | 457 | // Non-empty directories don't need it because they have a path component in the filename |
456 | if (!filesAdded && !options.testFlag(IgnorePaths)) | 458 | if (!filesAdded && !options.testFlag(IgnorePaths)) |
457 | ec = d->createEntry(current, actualRoot, level); | 459 | ec = d->createEntry(current, actualRoot, level); |
458 | 460 | ||
459 | return ec; | 461 | return ec; |
460 | } | 462 | } |
461 | 463 | ||
diff --git a/rbutil/rbutilqt/zip/zip.h b/rbutil/rbutilqt/zip/zip.h index 03c4d8af0b..44fdd08b5f 100644 --- a/rbutil/rbutilqt/zip/zip.h +++ b/rbutil/rbutilqt/zip/zip.h | |||
@@ -103,7 +103,9 @@ public: | |||
103 | ErrorCode closeArchive(); | 103 | ErrorCode closeArchive(); |
104 | 104 | ||
105 | QString formatError(ErrorCode c) const; | 105 | QString formatError(ErrorCode c) const; |
106 | 106 | ||
107 | virtual void progress() {} | ||
108 | |||
107 | private: | 109 | private: |
108 | ZipPrivate* d; | 110 | ZipPrivate* d; |
109 | }; | 111 | }; |