summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt')
-rw-r--r--rbutil/rbutilqt/rbutilqt.cpp38
-rw-r--r--rbutil/rbutilqt/rbutilqt.h1
2 files changed, 39 insertions, 0 deletions
diff --git a/rbutil/rbutilqt/rbutilqt.cpp b/rbutil/rbutilqt/rbutilqt.cpp
index 0f6a856bd2..4cb52504e4 100644
--- a/rbutil/rbutilqt/rbutilqt.cpp
+++ b/rbutil/rbutilqt/rbutilqt.cpp
@@ -161,6 +161,16 @@ void RbUtilQt::downloadDone(bool error)
161 bleeding->setCache(userSettings->value("cachepath", QDir::tempPath()).toString()); 161 bleeding->setCache(userSettings->value("cachepath", QDir::tempPath()).toString());
162 bleeding->setFile(&bleedingInfo); 162 bleeding->setFile(&bleedingInfo);
163 bleeding->getFile(QUrl(devices->value("bleeding_info").toString())); 163 bleeding->getFile(QUrl(devices->value("bleeding_info").toString()));
164
165 if(chkConfig(false)) {
166 QApplication::processEvents();
167 QMessageBox::critical(this, tr("Configuration error"),
168 tr("Your configuration is invalid. This is most likely due "
169 "to a new installation of Rockbox Utility or a changed device "
170 "path. The configuation dialog will now open to allow you "
171 "correcting the problem."));
172 configDialog();
173 }
164} 174}
165 175
166 176
@@ -311,6 +321,7 @@ void RbUtilQt::updateManual()
311 321
312void RbUtilQt::completeInstall() 322void RbUtilQt::completeInstall()
313{ 323{
324 if(chkConfig(true)) return;
314 if(QMessageBox::question(this, tr("Confirm Installation"), 325 if(QMessageBox::question(this, tr("Confirm Installation"),
315 tr("Do you really want to make a complete Installation?"), 326 tr("Do you really want to make a complete Installation?"),
316 QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return; 327 QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return;
@@ -362,6 +373,7 @@ void RbUtilQt::completeInstall()
362 373
363void RbUtilQt::smallInstall() 374void RbUtilQt::smallInstall()
364{ 375{
376 if(chkConfig(true)) return;
365 if(QMessageBox::question(this, tr("Confirm Installation"), 377 if(QMessageBox::question(this, tr("Confirm Installation"),
366 tr("Do you really want to make a small Installation?"), 378 tr("Do you really want to make a small Installation?"),
367 QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return; 379 QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return;
@@ -424,6 +436,7 @@ void RbUtilQt::installdone(bool error)
424 436
425void RbUtilQt::installBtn() 437void RbUtilQt::installBtn()
426{ 438{
439 if(chkConfig(true)) return;
427 install(); 440 install();
428} 441}
429 442
@@ -498,6 +511,7 @@ bool RbUtilQt::installBootloaderAuto()
498 511
499void RbUtilQt::installBootloaderBtn() 512void RbUtilQt::installBootloaderBtn()
500{ 513{
514 if(chkConfig(true)) return;
501 if(QMessageBox::question(this, tr("Confirm Installation"), 515 if(QMessageBox::question(this, tr("Confirm Installation"),
502 tr("Do you really want to install the Bootloader?"), 516 tr("Do you really want to install the Bootloader?"),
503 QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return; 517 QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return;
@@ -593,6 +607,7 @@ void RbUtilQt::installBootloader()
593 607
594void RbUtilQt::installFontsBtn() 608void RbUtilQt::installFontsBtn()
595{ 609{
610 if(chkConfig(true)) return;
596 if(QMessageBox::question(this, tr("Confirm Installation"), 611 if(QMessageBox::question(this, tr("Confirm Installation"),
597 tr("Do you really want to install the fonts package?"), 612 tr("Do you really want to install the fonts package?"),
598 QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return; 613 QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return;
@@ -627,6 +642,7 @@ void RbUtilQt::installFonts()
627 642
628void RbUtilQt::installVoice() 643void RbUtilQt::installVoice()
629{ 644{
645 if(chkConfig(true)) return;
630 if(QMessageBox::question(this, tr("Confirm Installation"), 646 if(QMessageBox::question(this, tr("Confirm Installation"),
631 tr("Do you really want to install the voice file?"), 647 tr("Do you really want to install the voice file?"),
632 QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return; 648 QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return;
@@ -658,6 +674,7 @@ void RbUtilQt::installVoice()
658 674
659void RbUtilQt::installDoomBtn() 675void RbUtilQt::installDoomBtn()
660{ 676{
677 if(chkConfig(true)) return;
661 if(!hasDoom()){ 678 if(!hasDoom()){
662 QMessageBox::critical(this, tr("Error"), tr("Your device doesn't have a doom plugin. Aborting.")); 679 QMessageBox::critical(this, tr("Error"), tr("Your device doesn't have a doom plugin. Aborting."));
663 return; 680 return;
@@ -704,6 +721,7 @@ void RbUtilQt::installDoom()
704 721
705void RbUtilQt::installThemes() 722void RbUtilQt::installThemes()
706{ 723{
724 if(chkConfig(true)) return;
707 ThemesInstallWindow* tw = new ThemesInstallWindow(this); 725 ThemesInstallWindow* tw = new ThemesInstallWindow(this);
708 tw->setDeviceSettings(devices); 726 tw->setDeviceSettings(devices);
709 tw->setUserSettings(userSettings); 727 tw->setUserSettings(userSettings);
@@ -715,6 +733,7 @@ void RbUtilQt::installThemes()
715 733
716void RbUtilQt::createTalkFiles(void) 734void RbUtilQt::createTalkFiles(void)
717{ 735{
736 if(chkConfig(true)) return;
718 InstallTalkWindow *installWindow = new InstallTalkWindow(this); 737 InstallTalkWindow *installWindow = new InstallTalkWindow(this);
719 installWindow->setUserSettings(userSettings); 738 installWindow->setUserSettings(userSettings);
720 installWindow->setDeviceSettings(devices); 739 installWindow->setDeviceSettings(devices);
@@ -724,6 +743,7 @@ void RbUtilQt::createTalkFiles(void)
724 743
725void RbUtilQt::uninstall(void) 744void RbUtilQt::uninstall(void)
726{ 745{
746 if(chkConfig(true)) return;
727 UninstallWindow *uninstallWindow = new UninstallWindow(this); 747 UninstallWindow *uninstallWindow = new UninstallWindow(this);
728 uninstallWindow->setUserSettings(userSettings); 748 uninstallWindow->setUserSettings(userSettings);
729 uninstallWindow->setDeviceSettings(devices); 749 uninstallWindow->setDeviceSettings(devices);
@@ -732,6 +752,7 @@ void RbUtilQt::uninstall(void)
732 752
733void RbUtilQt::uninstallBootloader(void) 753void RbUtilQt::uninstallBootloader(void)
734{ 754{
755 if(chkConfig(true)) return;
735 if(QMessageBox::question(this, tr("Confirm Uninstallation"), 756 if(QMessageBox::question(this, tr("Confirm Uninstallation"),
736 tr("Do you really want to uninstall the Bootloader?"), 757 tr("Do you really want to uninstall the Bootloader?"),
737 QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return; 758 QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return;
@@ -761,6 +782,7 @@ void RbUtilQt::uninstallBootloader(void)
761 782
762void RbUtilQt::downloadManual(void) 783void RbUtilQt::downloadManual(void)
763{ 784{
785 if(chkConfig(true)) return;
764 if(QMessageBox::question(this, tr("Confirm download"), 786 if(QMessageBox::question(this, tr("Confirm download"),
765 tr("Do you really want to download the manual? The manual will be saved " 787 tr("Do you really want to download the manual? The manual will be saved "
766 "to the root folder of your player."), 788 "to the root folder of your player."),
@@ -921,3 +943,19 @@ QUrl RbUtilQt::proxy()
921 return QUrl(""); 943 return QUrl("");
922} 944}
923 945
946
947bool RbUtilQt::chkConfig(bool warn)
948{
949 bool error = false;
950 if(userSettings->value("platform").toString().isEmpty()
951 || userSettings->value("mountpoint").toString().isEmpty()
952 || !QFileInfo(userSettings->value("mountpoint").toString()).isWritable()) {
953 error = true;
954
955 if(warn) QMessageBox::critical(this, tr("Configuration error"),
956 tr("You configuration is invalid. Please go to the configuration "
957 "dialog and make sure the selected values are correct."));
958 }
959 return error;
960}
961
diff --git a/rbutil/rbutilqt/rbutilqt.h b/rbutil/rbutilqt/rbutilqt.h
index cdabd6c571..f656caf451 100644
--- a/rbutil/rbutilqt/rbutilqt.h
+++ b/rbutil/rbutilqt/rbutilqt.h
@@ -56,6 +56,7 @@ class RbUtilQt : public QMainWindow
56 BootloaderInstaller* blinstaller; 56 BootloaderInstaller* blinstaller;
57 QUrl proxy(void); 57 QUrl proxy(void);
58 QMap<QString, QString> versmap; 58 QMap<QString, QString> versmap;
59 bool chkConfig(bool);
59 60
60 volatile bool m_installed; 61 volatile bool m_installed;
61 volatile bool m_error; 62 volatile bool m_error;