void RbUtilQt::updateDevice() { /* TODO: We should check the flags of the bootloaderinstall classes, and not * just check if its != none or != "fwpatcher" */ /* Enable bootloader installation, if possible */ bool bootloaderInstallable = RbSettings::value(RbSettings::CurBootloaderMethod) != "none"; ui.buttonBootloader->setEnabled(bootloaderInstallable); ui.labelBootloader->setEnabled(bootloaderInstallable); ui.actionInstall_Bootloader->setEnabled(bootloaderInstallable); /* Enable bootloader uninstallation, if possible */ bool bootloaderUninstallable = bootloaderInstallable && RbSettings::value(RbSettings::CurBootloaderMethod) != "fwpatcher"; ui.labelRemoveBootloader->setEnabled(bootloaderUninstallable); ui.buttonRemoveBootloader->setEnabled(bootloaderUninstallable); ui.actionRemove_bootloader->setEnabled(bootloaderUninstallable); /* Disable the whole tab widget if configuration is invalid */ bool configurationValid = !chkConfig(false); ui.tabWidget->setEnabled(configurationValid); ui.menuA_ctions->setEnabled(configurationValid); // displayed device info QString mountpoint = RbSettings::value(RbSettings::Mountpoint).toString(); QString brand = RbSettings::value(RbSettings::CurBrand).toString(); QString name = RbSettings::value(RbSettings::CurName).toString(); if(name.isEmpty()) name = "<none>"; if(mountpoint.isEmpty()) mountpoint = "<invalid>"; ui.labelDevice->setText(tr("<b>%1 %2</b> at <b>%3</b>") .arg(brand, name, QDir::toNativeSeparators(mountpoint))); }
void RbUtilQt::updateSettings() { qDebug() << "[RbUtil] updating current settings"; updateDevice(); manual->updateManual(); HttpGet::setGlobalProxy(proxy()); HttpGet::setGlobalCache(RbSettings::value(RbSettings::CachePath).toString()); HttpGet::setGlobalDumbCache(RbSettings::value(RbSettings::CacheOffline).toBool()); if(RbSettings::value(RbSettings::RbutilVersion) != PUREVERSION) { QApplication::processEvents(); QMessageBox::information(this, tr("New installation"), tr("This is a new installation of Rockbox Utility, or a new version. " "The configuration dialog will now open to allow you to setup the program, " " or review your settings.")); configDialog(); } else if(chkConfig(0)) { QApplication::processEvents(); QMessageBox::critical(this, tr("Configuration error"), tr("Your configuration is invalid. This is most likely due " "to a changed device path. The configuration dialog will " "now open to allow you to correct the problem.")); configDialog(); } }
void RbUtilQt::completeInstall() { if(chkConfig(true)) return; if(QMessageBox::question(this, tr("Confirm Installation"), tr("Do you really want to perform a complete installation?\n\n" "This will install Rockbox %1. To install the most recent " "development build available press \"Cancel\" and " "use the \"Installation\" tab.") .arg(versmap.value("rel_rev")), QMessageBox::Ok | QMessageBox::Cancel) != QMessageBox::Ok) return; // create logger logger = new ProgressLoggerGui(this); logger->show(); if(smallInstallInner()) return; logger->setRunning(); // Fonts m_error = false; m_installed = false; if(!installFontsAuto()) return; else { // wait for installation finished while(!m_installed) QApplication::processEvents(); } if(m_error) return; logger->setRunning(); // Doom if(hasDoom()) { m_error = false; m_installed = false; if(!installDoomAuto()) return; else { // wait for installation finished while(!m_installed) QApplication::processEvents(); } if(m_error) return; } // theme // this is a window // it has its own logger window,so close our. logger->close(); installThemes(); }
void RbUtilQt::downloadDone(bool error) { if(error) { qDebug() << "[RbUtil] network error:" << daily->error(); ui.statusbar->showMessage(tr("Can't get version information!")); QMessageBox::critical(this, tr("Network error"), tr("Can't get version information.")); return; } qDebug() << "[RbUtil] network status:" << daily->error(); buildInfo.open(); QSettings info(buildInfo.fileName(), QSettings::IniFormat, this); buildInfo.close(); versmap.insert("arch_rev", info.value("dailies/rev").toString()); versmap.insert("arch_date", info.value("dailies/date").toString()); info.beginGroup("release"); versmap.insert("rel_rev", info.value(RbSettings::value(RbSettings::CurBuildserverModel).toString()).toString()); info.endGroup(); bool installable = !versmap.value("rel_rev").isEmpty(); ui.buttonSmall->setEnabled(installable); ui.buttonComplete->setEnabled(installable); ui.actionSmall_Installation->setEnabled(installable); ui.actionComplete_Installation->setEnabled(installable); bleeding = new HttpGet(this); connect(bleeding, SIGNAL(done(bool)), this, SLOT(downloadBleedingDone(bool))); connect(bleeding, SIGNAL(requestFinished(int, bool)), this, SLOT(downloadDone(int, bool))); connect(qApp, SIGNAL(lastWindowClosed()), bleeding, SLOT(abort())); if(RbSettings::value(RbSettings::CacheOffline).toBool()) bleeding->setCache(true); bleeding->setFile(&bleedingInfo); bleeding->getFile(QUrl(RbSettings::value(RbSettings::BleedingInfo).toString())); ui.statusbar->showMessage(tr("Downloading build information, please wait ...")); if(RbSettings::value(RbSettings::RbutilVersion) != PUREVERSION) { QApplication::processEvents(); QMessageBox::information(this, tr("New installation"), tr("This is a new installation of Rockbox Utility, or a new version. " "The configuration dialog will now open to allow you to setup the program, " " or review your settings.")); configDialog(); } else if(chkConfig(false)) { QApplication::processEvents(); QMessageBox::critical(this, tr("Configuration error"), tr("Your configuration is invalid. This is most likely due " "to a changed device path. The configuration dialog will " "now open to allow you to correct the problem.")); configDialog(); } }
void RbUtilQt::updateDevice() { /* TODO: We should check the flags of the bootloaderinstall classes, and not * just check if its != none or != "fwpatcher" */ /* Enable bootloader installation, if possible */ bool bootloaderInstallable = SystemInfo::value(SystemInfo::CurBootloaderMethod) != "none"; ui.buttonBootloader->setEnabled(bootloaderInstallable); ui.labelBootloader->setEnabled(bootloaderInstallable); ui.actionInstall_Bootloader->setEnabled(bootloaderInstallable); /* Enable bootloader uninstallation, if possible */ bool bootloaderUninstallable = bootloaderInstallable && SystemInfo::value(SystemInfo::CurBootloaderMethod) != "fwpatcher"; ui.labelRemoveBootloader->setEnabled(bootloaderUninstallable); ui.buttonRemoveBootloader->setEnabled(bootloaderUninstallable); ui.actionRemove_bootloader->setEnabled(bootloaderUninstallable); /* Disable the whole tab widget if configuration is invalid */ bool configurationValid = !chkConfig(0); ui.tabWidget->setEnabled(configurationValid); ui.menuA_ctions->setEnabled(configurationValid); // displayed device info QString mountpoint = RbSettings::value(RbSettings::Mountpoint).toString(); QString brand = SystemInfo::value(SystemInfo::CurBrand).toString(); QString name = SystemInfo::value(SystemInfo::CurName).toString() + " (" + ServerInfo::value(ServerInfo::CurStatus).toString() + ")"; QString mountdisplay = QDir::toNativeSeparators(mountpoint); QString label = Utils::filesystemName(mountpoint); if(!label.isEmpty()) mountdisplay += " (" + label + ")"; if(name.isEmpty()) name = "<none>"; if(mountpoint.isEmpty()) mountpoint = "<invalid>"; ui.labelDevice->setText(tr("<b>%1 %2</b> at <b>%3</b>") .arg(brand, name, mountdisplay)); // hide quickstart buttons if no release available bool installable = !ServerInfo::value(ServerInfo::CurReleaseVersion).toString().isEmpty(); ui.buttonSmall->setEnabled(installable); ui.buttonComplete->setEnabled(installable); ui.actionSmall_Installation->setEnabled(installable); ui.actionComplete_Installation->setEnabled(installable); }
void RbUtilQt::smallInstall() { if(chkConfig(true)) return; if(QMessageBox::question(this, tr("Confirm Installation"), tr("Do you really want to perform a minimal installation? " "A minimal installation will contain only the absolutely " "necessary parts to run Rockbox.\n\n" "This will install Rockbox %1. To install the most recent " "development build available press \"Cancel\" and " "use the \"Installation\" tab.") .arg(versmap.value("rel_rev")), QMessageBox::Ok | QMessageBox::Cancel) != QMessageBox::Ok) return; // create logger logger = new ProgressLoggerGui(this); logger->show(); smallInstallInner(); }
void RbUtilQt::installBtn() { if(chkConfig(true)) return; install(); }