Merge pull request #293 from zigurana/UIModeConfirmationPopUp

Add confirmation popup when changing to UI mode Kid or Kiosk.
This commit is contained in:
Jools Wills 2017-11-10 03:48:24 +00:00 committed by GitHub
commit a6d826a1e9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -166,10 +166,23 @@ void GuiMenu::openUISettings()
UImodeSelection->add(*it, *it, Settings::getInstance()->getString("UIMode") == *it);
s->addWithLabel("UI MODE", UImodeSelection);
Window* window = mWindow;
s->addSaveFunc([UImodeSelection, window]
s->addSaveFunc([ UImodeSelection, window]
{
LOG(LogDebug) << "Setting UI mode to" << UImodeSelection->getSelected();
Settings::getInstance()->setString("UIMode", UImodeSelection->getSelected());
std::string selectedMode = UImodeSelection->getSelected();
if (selectedMode != "Full")
{
std::string msg = "You are changing the UI to a restricted mode:\n" + selectedMode + "\n";
msg += "This will hide most menu-options to prevent changes to the system.\n";
msg += "To unlock and return to the full UI, enter this code: \n";
msg += "Up, up, down, down, left, right, left, right, B, A. \n\n";
msg += "Do you want to proceed?";
window->pushGui(new GuiMsgBox(window, msg, "YES",
[selectedMode] {
LOG(LogDebug) << "Setting UI mode to" << selectedMode;
Settings::getInstance()->setString("UIMode", selectedMode);
}, "NO", nullptr));
}
});
// screensaver