mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2024-11-22 14:15:38 +00:00
Expanded the random system or game button from an on/off entry to a selection of games only, games and systems or disabled.
This commit is contained in:
parent
ee9d3cacc8
commit
03a44249af
|
@ -691,6 +691,29 @@ void GuiMenu::openUIOptions()
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Random entry button.
|
||||||
|
auto randomEntryButton = std::make_shared<OptionListComponent<std::string>>(
|
||||||
|
getHelpStyle(), "RANDOM ENTRY BUTTON", false);
|
||||||
|
const std::string selectedRandomEntryButton {
|
||||||
|
Settings::getInstance()->getString("RandomEntryButton")};
|
||||||
|
randomEntryButton->add("GAMES ONLY", "games", selectedRandomEntryButton == "games");
|
||||||
|
randomEntryButton->add("GAMES AND SYSTEMS", "gamessystems",
|
||||||
|
selectedRandomEntryButton == "gamessystems");
|
||||||
|
randomEntryButton->add("DISABLED", "disabled", selectedRandomEntryButton == "disabled");
|
||||||
|
// If there are no objects returned, then there must be a manually modified entry in the
|
||||||
|
// configuration file. Simply set the random entry button to "games" in this case.
|
||||||
|
if (randomEntryButton->getSelectedObjects().size() == 0)
|
||||||
|
randomEntryButton->selectEntry(0);
|
||||||
|
s->addWithLabel("RANDOM ENTRY BUTTON", randomEntryButton);
|
||||||
|
s->addSaveFunc([randomEntryButton, s] {
|
||||||
|
if (randomEntryButton->getSelected() !=
|
||||||
|
Settings::getInstance()->getString("RandomEntryButton")) {
|
||||||
|
Settings::getInstance()->setString("RandomEntryButton",
|
||||||
|
randomEntryButton->getSelected());
|
||||||
|
s->setNeedsSaving();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// Media viewer.
|
// Media viewer.
|
||||||
ComponentListRow mediaViewerRow;
|
ComponentListRow mediaViewerRow;
|
||||||
mediaViewerRow.elements.clear();
|
mediaViewerRow.elements.clear();
|
||||||
|
@ -854,17 +877,6 @@ void GuiMenu::openUIOptions()
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Enable the thumbstick click buttons for jumping to a random system or game.
|
|
||||||
auto randomAddButton = std::make_shared<SwitchComponent>();
|
|
||||||
randomAddButton->setState(Settings::getInstance()->getBool("RandomAddButton"));
|
|
||||||
s->addWithLabel("ENABLE RANDOM SYSTEM OR GAME BUTTON", randomAddButton);
|
|
||||||
s->addSaveFunc([randomAddButton, s] {
|
|
||||||
if (Settings::getInstance()->getBool("RandomAddButton") != randomAddButton->getState()) {
|
|
||||||
Settings::getInstance()->setBool("RandomAddButton", randomAddButton->getState());
|
|
||||||
s->setNeedsSaving();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Gamelist filters.
|
// Gamelist filters.
|
||||||
auto gamelistFilters = std::make_shared<SwitchComponent>();
|
auto gamelistFilters = std::make_shared<SwitchComponent>();
|
||||||
gamelistFilters->setState(Settings::getInstance()->getBool("GamelistFilters"));
|
gamelistFilters->setState(Settings::getInstance()->getBool("GamelistFilters"));
|
||||||
|
|
|
@ -216,7 +216,8 @@ bool GamelistBase::input(InputConfig* config, Input input)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (Settings::getInstance()->getBool("RandomAddButton") &&
|
else if ((Settings::getInstance()->getString("RandomEntryButton") == "games" ||
|
||||||
|
Settings::getInstance()->getString("RandomEntryButton") == "gamessystems") &&
|
||||||
(config->isMappedTo("leftthumbstickclick", input) ||
|
(config->isMappedTo("leftthumbstickclick", input) ||
|
||||||
config->isMappedTo("rightthumbstickclick", input))) {
|
config->isMappedTo("rightthumbstickclick", input))) {
|
||||||
if (mRoot->getSystem()->isGameSystem() && getCursor()->getType() != PLACEHOLDER) {
|
if (mRoot->getSystem()->isGameSystem() && getCursor()->getType() != PLACEHOLDER) {
|
||||||
|
|
|
@ -455,7 +455,9 @@ std::vector<HelpPrompt> GamelistView::getHelpPrompts()
|
||||||
|
|
||||||
if (!UIModeController::getInstance()->isUIModeKid())
|
if (!UIModeController::getInstance()->isUIModeKid())
|
||||||
prompts.push_back(HelpPrompt("back", "options"));
|
prompts.push_back(HelpPrompt("back", "options"));
|
||||||
if (mRoot->getSystem()->isGameSystem() && Settings::getInstance()->getBool("RandomAddButton"))
|
if (mRoot->getSystem()->isGameSystem() &&
|
||||||
|
(Settings::getInstance()->getString("RandomEntryButton") == "games" ||
|
||||||
|
Settings::getInstance()->getString("RandomEntryButton") == "gamessystems"))
|
||||||
prompts.push_back(HelpPrompt("thumbstickclick", "random"));
|
prompts.push_back(HelpPrompt("thumbstickclick", "random"));
|
||||||
|
|
||||||
if (mRoot->getSystem()->getThemeFolder() == "custom-collections" &&
|
if (mRoot->getSystem()->getThemeFolder() == "custom-collections" &&
|
||||||
|
|
|
@ -119,12 +119,13 @@ bool SystemView::input(InputConfig* config, Input input)
|
||||||
NavigationSounds::getInstance().playThemeNavigationSound(SELECTSOUND);
|
NavigationSounds::getInstance().playThemeNavigationSound(SELECTSOUND);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (Settings::getInstance()->getBool("RandomAddButton") &&
|
if (Settings::getInstance()->getString("RandomEntryButton") == "gamessystems" &&
|
||||||
(config->isMappedTo("leftthumbstickclick", input) ||
|
(config->isMappedTo("leftthumbstickclick", input) ||
|
||||||
config->isMappedTo("rightthumbstickclick", input))) {
|
config->isMappedTo("rightthumbstickclick", input))) {
|
||||||
// Get a random system and jump to it.
|
// Get a random system and jump to it.
|
||||||
NavigationSounds::getInstance().playThemeNavigationSound(SYSTEMBROWSESOUND);
|
NavigationSounds::getInstance().playThemeNavigationSound(SYSTEMBROWSESOUND);
|
||||||
mPrimary->stopScrolling();
|
mPrimary->stopScrolling();
|
||||||
|
ViewController::getInstance()->cancelViewTransitions();
|
||||||
mPrimary->setCursor(SystemData::getRandomSystem(mPrimary->getSelected()));
|
mPrimary->setCursor(SystemData::getRandomSystem(mPrimary->getSelected()));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -215,7 +216,7 @@ std::vector<HelpPrompt> SystemView::getHelpPrompts()
|
||||||
|
|
||||||
prompts.push_back(HelpPrompt("a", "select"));
|
prompts.push_back(HelpPrompt("a", "select"));
|
||||||
|
|
||||||
if (Settings::getInstance()->getBool("RandomAddButton"))
|
if (Settings::getInstance()->getString("RandomEntryButton") == "gamessystems")
|
||||||
prompts.push_back(HelpPrompt("thumbstickclick", "random"));
|
prompts.push_back(HelpPrompt("thumbstickclick", "random"));
|
||||||
|
|
||||||
if (Settings::getInstance()->getBool("ScreensaverControls"))
|
if (Settings::getInstance()->getBool("ScreensaverControls"))
|
||||||
|
|
|
@ -163,6 +163,7 @@ void Settings::setDefaults()
|
||||||
mStringMap["MenuOpeningEffect"] = {"scale-up", "scale-up"};
|
mStringMap["MenuOpeningEffect"] = {"scale-up", "scale-up"};
|
||||||
mStringMap["LaunchScreenDuration"] = {"normal", "normal"};
|
mStringMap["LaunchScreenDuration"] = {"normal", "normal"};
|
||||||
mStringMap["UIMode"] = {"full", "full"};
|
mStringMap["UIMode"] = {"full", "full"};
|
||||||
|
mStringMap["RandomEntryButton"] = {"games", "games"};
|
||||||
|
|
||||||
// UI settings -> media viewer settings.
|
// UI settings -> media viewer settings.
|
||||||
mBoolMap["MediaViewerKeepVideoRunning"] = {true, true};
|
mBoolMap["MediaViewerKeepVideoRunning"] = {true, true};
|
||||||
|
@ -211,7 +212,6 @@ void Settings::setDefaults()
|
||||||
mBoolMap["ListScrollOverlay"] = {false, false};
|
mBoolMap["ListScrollOverlay"] = {false, false};
|
||||||
mBoolMap["VirtualKeyboard"] = {true, true};
|
mBoolMap["VirtualKeyboard"] = {true, true};
|
||||||
mBoolMap["FavoritesAddButton"] = {true, true};
|
mBoolMap["FavoritesAddButton"] = {true, true};
|
||||||
mBoolMap["RandomAddButton"] = {false, false};
|
|
||||||
mBoolMap["GamelistFilters"] = {true, true};
|
mBoolMap["GamelistFilters"] = {true, true};
|
||||||
mBoolMap["ShowHelpPrompts"] = {true, true};
|
mBoolMap["ShowHelpPrompts"] = {true, true};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue