diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2007-08-22 22:25:04 +0000 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2007-08-22 22:25:04 +0000 |
commit | 1c69293d915ff9252d635764a954712417016eab (patch) | |
tree | a848ddf203e97a043a2013aadf0f6e6ffdf89e8b /rbutil/rbutilqt | |
parent | f919c4718ab213548d232eafc4fd78e7384bf72a (diff) | |
download | rockbox-1c69293d915ff9252d635764a954712417016eab.tar.gz rockbox-1c69293d915ff9252d635764a954712417016eab.zip |
add portable installation if built as static binary.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14434 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil/rbutilqt')
-rw-r--r-- | rbutil/rbutilqt/rbutilqt.cpp | 47 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbutilqt.h | 1 |
2 files changed, 48 insertions, 0 deletions
diff --git a/rbutil/rbutilqt/rbutilqt.cpp b/rbutil/rbutilqt/rbutilqt.cpp index 541c44608e..3b84c83c39 100644 --- a/rbutil/rbutilqt/rbutilqt.cpp +++ b/rbutil/rbutilqt/rbutilqt.cpp | |||
@@ -89,6 +89,11 @@ RbUtilQt::RbUtilQt(QWidget *parent) : QMainWindow(parent) | |||
89 | // disable unimplemented stuff | 89 | // disable unimplemented stuff |
90 | ui.buttonSmall->setEnabled(false); | 90 | ui.buttonSmall->setEnabled(false); |
91 | ui.buttonComplete->setEnabled(false); | 91 | ui.buttonComplete->setEnabled(false); |
92 | #if !defined(STATIC) | ||
93 | ui.actionInstall_Rockbox_Utility_on_player->setEnabled(false); | ||
94 | #else | ||
95 | connect(ui.actionInstall_Rockbox_Utility_on_player, SIGNAL(triggered()), this, SLOT(installPortable())); | ||
96 | #endif | ||
92 | 97 | ||
93 | initIpodpatcher(); | 98 | initIpodpatcher(); |
94 | initSansapatcher(); | 99 | initSansapatcher(); |
@@ -543,3 +548,45 @@ void RbUtilQt::downloadManual(void) | |||
543 | installer->setTarget(target); | 548 | installer->setTarget(target); |
544 | installer->install(logger); | 549 | installer->install(logger); |
545 | } | 550 | } |
551 | |||
552 | |||
553 | void RbUtilQt::installPortable(void) | ||
554 | { | ||
555 | if(QMessageBox::question(this, tr("Confirm installation"), | ||
556 | tr("Do you really want to install Rockbox Utility to your player? " | ||
557 | "After installation you can run it from the players hard drive."), | ||
558 | QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) | ||
559 | return; | ||
560 | |||
561 | ProgressLoggerGui* logger = new ProgressLoggerGui(this); | ||
562 | logger->show(); | ||
563 | logger->addItem(tr("Installing Rockbox Utility"), LOGINFO); | ||
564 | |||
565 | // check mountpoint | ||
566 | if(!QFileInfo(userSettings->value("defaults/mountpoint").toString()).isDir()) { | ||
567 | logger->addItem(tr("Mount point is wrong!"),LOGERROR); | ||
568 | logger->abort(); | ||
569 | return; | ||
570 | } | ||
571 | |||
572 | // remove old files first. | ||
573 | QFile::remove(userSettings->value("defaults/mountpoint").toString() + "/RockboxUtility.exe"); | ||
574 | QFile::remove(userSettings->value("defaults/mountpoint").toString() + "/RockboxUtility.ini"); | ||
575 | // copy currently running binary and currently used settings file | ||
576 | if(!QFile::copy(qApp->applicationFilePath(), userSettings->value("defaults/mountpoint").toString() + "/RockboxUtility.exe")) { | ||
577 | logger->addItem(tr("Error installing Rockbox Utility"), LOGERROR); | ||
578 | logger->abort(); | ||
579 | return; | ||
580 | } | ||
581 | logger->addItem(tr("Installing user configuration"), LOGINFO); | ||
582 | if(!QFile::copy(userSettings->fileName(), userSettings->value("defaults/mountpoint").toString() + "/RockboxUtility.ini")) { | ||
583 | logger->addItem(tr("Error installing user configuration"), LOGERROR); | ||
584 | logger->abort(); | ||
585 | return; | ||
586 | } | ||
587 | logger->addItem(tr("Successfully installed Rockbox Utility."), LOGOK); | ||
588 | logger->abort(); | ||
589 | |||
590 | } | ||
591 | |||
592 | |||
diff --git a/rbutil/rbutilqt/rbutilqt.h b/rbutil/rbutilqt/rbutilqt.h index ef1de913e6..0fb2bc915e 100644 --- a/rbutil/rbutilqt/rbutilqt.h +++ b/rbutil/rbutilqt/rbutilqt.h | |||
@@ -70,6 +70,7 @@ class RbUtilQt : public QMainWindow | |||
70 | void uninstall(void); | 70 | void uninstall(void); |
71 | void uninstallBootloader(void); | 71 | void uninstallBootloader(void); |
72 | void downloadManual(void); | 72 | void downloadManual(void); |
73 | void installPortable(void); | ||
73 | }; | 74 | }; |
74 | 75 | ||
75 | #endif | 76 | #endif |