summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/gui/selectiveinstallwidget.cpp
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2020-11-22 11:19:41 +0100
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2020-11-22 14:43:01 +0100
commitba2bbd60bd3d8a9fa204b17686c33dfb0337b07c (patch)
tree1c2865adab8e956fe65180e56d87f8380754ba7a /rbutil/rbutilqt/gui/selectiveinstallwidget.cpp
parent5f36aed4bfd5e78a9edc322b8dae2c1e10ff733d (diff)
downloadrockbox-ba2bbd60bd3d8a9fa204b17686c33dfb0337b07c.tar.gz
rockbox-ba2bbd60bd3d8a9fa204b17686c33dfb0337b07c.zip
rbutil: Move Manual installation to main tab.
The manual tab didn't show the manual, so it's clearer to have that as part of the main tab. Also fixes the wrong manual getting downloaded for releases. Change-Id: I5d4a287102af037f94f0de8464e025d9ff5f76ed
Diffstat (limited to 'rbutil/rbutilqt/gui/selectiveinstallwidget.cpp')
-rw-r--r--rbutil/rbutilqt/gui/selectiveinstallwidget.cpp64
1 files changed, 61 insertions, 3 deletions
diff --git a/rbutil/rbutilqt/gui/selectiveinstallwidget.cpp b/rbutil/rbutilqt/gui/selectiveinstallwidget.cpp
index 88b085e9b3..50017e65d4 100644
--- a/rbutil/rbutilqt/gui/selectiveinstallwidget.cpp
+++ b/rbutil/rbutilqt/gui/selectiveinstallwidget.cpp
@@ -40,6 +40,11 @@ SelectiveInstallWidget::SelectiveInstallWidget(QWidget* parent) : QWidget(parent
40 ui.themesCheckbox->setChecked(RbSettings::value(RbSettings::InstallThemes).toBool()); 40 ui.themesCheckbox->setChecked(RbSettings::value(RbSettings::InstallThemes).toBool());
41 ui.gamefileCheckbox->setChecked(RbSettings::value(RbSettings::InstallGamefiles).toBool()); 41 ui.gamefileCheckbox->setChecked(RbSettings::value(RbSettings::InstallGamefiles).toBool());
42 ui.voiceCheckbox->setChecked(RbSettings::value(RbSettings::InstallVoice).toBool()); 42 ui.voiceCheckbox->setChecked(RbSettings::value(RbSettings::InstallVoice).toBool());
43 ui.manualCheckbox->setChecked(RbSettings::value(RbSettings::InstallManual).toBool());
44
45 ui.manualCombobox->addItem("PDF", "pdf");
46 ui.manualCombobox->addItem("HTML (zip)", "zip");
47 ui.manualCombobox->addItem("HTML", "html");
43 48
44 // check if Rockbox is installed by looking after rockbox-info.txt. 49 // check if Rockbox is installed by looking after rockbox-info.txt.
45 // If installed uncheck bootloader installation. 50 // If installed uncheck bootloader installation.
@@ -201,6 +206,7 @@ void SelectiveInstallWidget::saveSettings(void)
201 RbSettings::setValue(RbSettings::InstallThemes, ui.themesCheckbox->isChecked()); 206 RbSettings::setValue(RbSettings::InstallThemes, ui.themesCheckbox->isChecked());
202 RbSettings::setValue(RbSettings::InstallGamefiles, ui.gamefileCheckbox->isChecked()); 207 RbSettings::setValue(RbSettings::InstallGamefiles, ui.gamefileCheckbox->isChecked());
203 RbSettings::setValue(RbSettings::InstallVoice, ui.voiceCheckbox->isChecked()); 208 RbSettings::setValue(RbSettings::InstallVoice, ui.voiceCheckbox->isChecked());
209 RbSettings::setValue(RbSettings::InstallManual, ui.manualCheckbox->isChecked());
204 RbSettings::setValue(RbSettings::VoiceLanguage, ui.voiceCombobox->currentData().toString()); 210 RbSettings::setValue(RbSettings::VoiceLanguage, ui.voiceCombobox->currentData().toString());
205} 211}
206 212
@@ -244,7 +250,7 @@ void SelectiveInstallWidget::continueInstall(bool error)
244 if(error) { 250 if(error) {
245 LOG_ERROR() << "Last part returned error."; 251 LOG_ERROR() << "Last part returned error.";
246 m_logger->setFinished(); 252 m_logger->setFinished();
247 m_installStage = 7; 253 m_installStage = 9;
248 } 254 }
249 m_installStage++; 255 m_installStage++;
250 switch(m_installStage) { 256 switch(m_installStage) {
@@ -255,11 +261,12 @@ void SelectiveInstallWidget::continueInstall(bool error)
255 case 4: installThemes(); break; 261 case 4: installThemes(); break;
256 case 5: installGamefiles(); break; 262 case 5: installGamefiles(); break;
257 case 6: installVoicefile(); break; 263 case 6: installVoicefile(); break;
258 case 7: installBootloaderPost(); break; 264 case 7: installManual(); break;
265 case 8: installBootloaderPost(); break;
259 default: break; 266 default: break;
260 } 267 }
261 268
262 if(m_installStage > 6) { 269 if(m_installStage > 8) {
263 LOG_INFO() << "All install stages done."; 270 LOG_INFO() << "All install stages done.";
264 m_logger->setFinished(); 271 m_logger->setFinished();
265 if(m_blmethod != "none") { 272 if(m_blmethod != "none") {
@@ -548,6 +555,57 @@ void SelectiveInstallWidget::installVoicefile(void)
548 } 555 }
549} 556}
550 557
558void SelectiveInstallWidget::installManual(void)
559{
560 if(ui.manualCheckbox->isChecked() && ui.manualCheckbox->isEnabled()) {
561 LOG_INFO() << "installing Manual";
562 QString mantype = ui.manualCombobox->currentData().toString();
563
564 RockboxInfo installInfo(m_mountpoint);
565 QString manualurl;
566 QString logversion;
567 QString relversion = installInfo.release();
568 if(m_buildtype != SystemInfo::BuildRelease) {
569 // release is empty for non-release versions (i.e. daily / current)
570 logversion = installInfo.release();
571 }
572
573 manualurl = SystemInfo::value(SystemInfo::ManualUrl, m_buildtype).toString();
574 manualurl.replace("%RELVERSION%", m_versions[m_buildtype]);
575 QString model = SystemInfo::platformValue(SystemInfo::Manual, m_target).toString();
576 if(model.isEmpty())
577 model = m_target;
578 manualurl.replace("%MODEL%", model);
579
580 if(mantype == "pdf")
581 manualurl.replace("%FORMAT%", ".pdf");
582 else
583 manualurl.replace("%FORMAT%", "-html.zip");
584
585 // create new zip installer
586 if(m_zipinstaller != nullptr) m_zipinstaller->deleteLater();
587 m_zipinstaller = new ZipInstaller(this);
588 m_zipinstaller->setUrl(manualurl);
589 m_zipinstaller->setLogSection("Manual Voice (" + mantype + ")");
590 m_zipinstaller->setLogVersion(logversion);
591 m_zipinstaller->setMountPoint(m_mountpoint);
592 if(!RbSettings::value(RbSettings::CacheDisabled).toBool())
593 m_zipinstaller->setCache(true);
594 // if type is html extract it.
595 m_zipinstaller->setUnzip(mantype == "html");
596
597 connect(m_zipinstaller, SIGNAL(done(bool)), this, SLOT(continueInstall(bool)));
598 connect(m_zipinstaller, SIGNAL(logItem(QString, int)), m_logger, SLOT(addItem(QString, int)));
599 connect(m_zipinstaller, SIGNAL(logProgress(int, int)), m_logger, SLOT(setProgress(int, int)));
600 connect(m_logger, SIGNAL(aborted()), m_zipinstaller, SLOT(abort()));
601 m_zipinstaller->install();
602 }
603 else {
604 LOG_INFO() << "Manual install disabled.";
605 emit installSkipped(false);
606 }
607}
608
551void SelectiveInstallWidget::customizeThemes(void) 609void SelectiveInstallWidget::customizeThemes(void)
552{ 610{
553 if(m_themesinstaller == nullptr) 611 if(m_themesinstaller == nullptr)