aboutsummaryrefslogtreecommitdiff
path: root/gui/updates-dialog.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2016-03-31 09:09:23 +0200
committerEugene Sandulenko2016-03-31 09:09:23 +0200
commit556b7ffa29fc7f98904fce4e2fdeb07a5369558d (patch)
treef66fd48a290a1d914548af15b15cebf45671f328 /gui/updates-dialog.cpp
parent47985debe12a77513843f672df912d340cca5c7c (diff)
downloadscummvm-rg350-556b7ffa29fc7f98904fce4e2fdeb07a5369558d.tar.gz
scummvm-rg350-556b7ffa29fc7f98904fce4e2fdeb07a5369558d.tar.bz2
scummvm-rg350-556b7ffa29fc7f98904fce4e2fdeb07a5369558d.zip
UPDATES: Merge two steps into one
Diffstat (limited to 'gui/updates-dialog.cpp')
-rw-r--r--gui/updates-dialog.cpp51
1 files changed, 23 insertions, 28 deletions
diff --git a/gui/updates-dialog.cpp b/gui/updates-dialog.cpp
index 56d8085c31..260bc590d6 100644
--- a/gui/updates-dialog.cpp
+++ b/gui/updates-dialog.cpp
@@ -34,7 +34,8 @@ namespace GUI {
enum {
kYesCmd = 'YES ',
- kNoCmd = 'NO '
+ kNoCmd = 'NO ',
+ kCheckBoxCmd = 'CHK '
};
@@ -88,7 +89,8 @@ UpdatesDialog::UpdatesDialog() : Dialog(30, 20, 260, 124) {
}
y += kLineHeight;
- _updatesPopUpDesc = new StaticTextWidget(this, 10, y, _w, kLineHeight, _("How often you would like to check for updates?"), Graphics::kTextAlignCenter);
+ _updatesCheckbox = new CheckboxWidget(this, 10, y, _w, kLineHeight, _("Check for updates automatically"), 0, kCheckBoxCmd);
+
y += kLineHeight + 3;
_updatesPopUp = new PopUpWidget(this, 10, y, _w - 20, g_gui.xmlEval()->getVar("Globals.PopUp.Height", kLineHeight));
@@ -100,49 +102,42 @@ UpdatesDialog::UpdatesDialog() : Dialog(30, 20, 260, 124) {
_updatesPopUp->setSelectedTag(Common::UpdateManager::kUpdateIntervalOneWeek);
- _updatesPopUp->setVisible(false);
- _updatesPopUpDesc->setVisible(false);
-
int yesButtonPos = (_w - (buttonWidth * 2)) / 2;
int noButtonPos = ((_w - (buttonWidth * 2)) / 2) + buttonWidth + 10;
_yesButton = new ButtonWidget(this, yesButtonPos, _h - buttonHeight - 8, buttonWidth, buttonHeight,
- _("Yes"), 0, kYesCmd, Common::ASCII_RETURN);
+ _("Proceed"), 0, kYesCmd, Common::ASCII_RETURN);
_noButton = new ButtonWidget(this, noButtonPos, _h - buttonHeight - 8, buttonWidth, buttonHeight,
- _("No"), 0, kNoCmd, Common::ASCII_ESCAPE);
+ _("Cancel"), 0, kNoCmd, Common::ASCII_ESCAPE);
- _state = 0;
+ _updatesPopUp->setEnabled(false);
+ _yesButton->setEnabled(false);
}
void UpdatesDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) {
if (cmd == kYesCmd) {
- if (_state == 0) {
- _yesButton->setLabel(_("Proceed"));
- _noButton->setLabel(_("Cancel"));
- _updatesPopUp->setVisible(true);
- _updatesPopUpDesc->setVisible(true);
-
- _state = 1;
-
- draw();
- } else {
- ConfMan.setInt("updates_check", _updatesPopUp->getSelectedTag());
-
- if (g_system->getUpdateManager()) {
- if (_updatesPopUp->getSelectedTag() == Common::UpdateManager::kUpdateIntervalNotSupported) {
- g_system->getUpdateManager()->setAutomaticallyChecksForUpdates(Common::UpdateManager::kUpdateStateDisabled);
- } else {
- g_system->getUpdateManager()->setAutomaticallyChecksForUpdates(Common::UpdateManager::kUpdateStateEnabled);
- g_system->getUpdateManager()->setUpdateCheckInterval(_updatesPopUp->getSelectedTag());
- }
+ ConfMan.setInt("updates_check", _updatesPopUp->getSelectedTag());
+
+ if (g_system->getUpdateManager()) {
+ if (_updatesCheckbox->getState() == false ||
+ _updatesPopUp->getSelectedTag() == Common::UpdateManager::kUpdateIntervalNotSupported) {
+ g_system->getUpdateManager()->setAutomaticallyChecksForUpdates(Common::UpdateManager::kUpdateStateDisabled);
+ } else {
+ g_system->getUpdateManager()->setAutomaticallyChecksForUpdates(Common::UpdateManager::kUpdateStateEnabled);
+ g_system->getUpdateManager()->setUpdateCheckInterval(_updatesPopUp->getSelectedTag());
}
- close();
}
+ close();
} else if (cmd == kNoCmd) {
ConfMan.setInt("updates_check", Common::UpdateManager::kUpdateIntervalNotSupported);
g_system->getUpdateManager()->setAutomaticallyChecksForUpdates(Common::UpdateManager::kUpdateStateDisabled);
close();
+ } else if (cmd == kCheckBoxCmd) {
+ _updatesPopUp->setEnabled(_updatesCheckbox->getState());
+ _yesButton->setEnabled(_updatesCheckbox->getState());
+
+ draw();
} else {
Dialog::handleCommand(sender, cmd, data);
}