Added option to disable the favorite game toggling shortcut.

Also modified some setting descriptions and updated the corresponding documentation.
This commit is contained in:
Leon Styhre 2020-10-31 10:01:19 +01:00
parent 774d0b04aa
commit 893dee2bab
5 changed files with 43 additions and 19 deletions

View file

@ -605,7 +605,7 @@ The order in which to sort your gamelists. This can be overriden per game system
Animation to play when opening the main menu or the game options menu. Can be set to _scale-up_, _fade-in_ or _none_.
**Carousel transitions**
**Display carousel transitions**
Whether to perform an animation when transitioning between systems in the system view.
@ -625,15 +625,19 @@ Whether to sort your favorite games above your other games in the gamelists.
With this setting enabled, there is a star symbol added at the beginning of the game name in the gamelist views. It's strongly recommended to keep this setting enabled if the option to sort favorite games above non-favorites has been enabled. If not, favorite games would be sorted on top of the gamelist with no visual indication that they are favorites, which would be very confusing.
**Gamelist filters**
**Enable button shortcut to toggle favorites**
This setting enables the 'Y' button for quickly toggling a game as favorite. Although this may be convenient at times, it's also quite easy to accidentally remove a favorite tagging of a game when using the application more casually. As such it could sometimes make sense to disable this functionality. It's of course still possible to mark a game as favorite using the metadata editor when this setting is disabled. For additional restrictions, the application can be set to Kid or Kiosk mode as is explained elsewhere in this document. Note that this setting does not affect the functionality to use the 'Y' button to add games to custom collections.
**Enable gamelist filters**
Activating or deactivating the ability to filter your gamelists. Can normally be left on.
**Quick system select**
**Enable quick system select**
If activated, it will be possible to jump between gamelists using the Left and Right buttons without having to first go back to the system view.
**On-screen help**
**Display on-screen help**
Activating or deactivating the built-in help systems that provides contextual information regarding button usage.
@ -734,7 +738,7 @@ As the name implies, this sets the overall system volume and not the volume spec
With this turned off, audio won't play for you game videos in the gamelists.
**Navigation sounds**
**Enable navigation sounds**
Enable or disable navigation sounds throughout the application. Sounds are played when browsing systems and lists, starting games, adding and removing games as favorites etc. The sounds can be customized per theme, but if the theme does not support navigation sounds, ES will fall back to built-in sounds.
@ -805,13 +809,13 @@ If enabled, you can override the launch command defined in es_systems.cfg on a p
**Show hidden files and folders (requires restart)**
Allows hiding of hidden files, which on Unix means files and directories starting with a dot, and on Windows it's directories set as hidden as an NTFS option.
Allows hiding of hidden files, which on Unix means files and directories starting with a dot, and on Windows it's directories and files set as hidden using an NTFS option. Not to be confused with the next option which hides files based on metadata configuration within ES.
**Show hidden games (requires restart)**
You can mark games as hidden in the metadata editor, which is useful for instance for DOS games where you may not want to see some batch files and executables inside ES.
You can mark games as hidden in the metadata editor, which is useful for instance for DOS games where you may not want to see some batch files and executables inside ES. This is entirely different that the previous option as this is based on metadata configured within ES and the previous options relates to files that are hidden on the operating system level.
**Custom event scripts**
**Enable custom event scripts**
It's possible to trigger custom scripts for a number of actions in ES. _(Details on how this works are discussed later in this guide.)_
@ -827,11 +831,11 @@ Using this option, you can locate game images in the ROM directory tree. The ima
Displays the framerate and VRAM statistics as an overlay. You normally never need to use this. **Note:** As of version 1.0.0 the VRAM usage statistics is not accurate; this issue will be addressed in future ES versions.
**Show "reboot system" menu entry - Unix and Windows only**
**Show 'Reboot System' menu entry - Unix and Windows only**
Gives the ability to hide the "Reboot system" entry on the quit menu. Anyone who has accidentally rebooted a system from such a menu will appreciate this.
**Show "power off system" menu entry - Unix and Windows only**
**Show 'Power Off System' menu entry - Unix and Windows only**
Gives the ability to hide the "Power off system" entry on the quit menu. Anyone who has accidentally powered off a system from such a menu will appreciate this.

View file

@ -197,7 +197,7 @@ void GuiMenu::openSoundSettings()
auto navigation_sounds = std::make_shared<SwitchComponent>(mWindow);
navigation_sounds->setState(Settings::getInstance()->
getBool("NavigationSounds"));
s->addWithLabel("NAVIGATION SOUNDS", navigation_sounds);
s->addWithLabel("ENABLE NAVIGATION SOUNDS", navigation_sounds);
s->addSaveFunc([navigation_sounds] {
if (navigation_sounds->getState() &&
!Settings::getInstance()->getBool("NavigationSounds") &&
@ -410,7 +410,7 @@ void GuiMenu::openUISettings()
// Carousel transition option.
auto move_carousel = std::make_shared<SwitchComponent>(mWindow);
move_carousel->setState(Settings::getInstance()->getBool("MoveCarousel"));
s->addWithLabel("CAROUSEL TRANSITIONS", move_carousel);
s->addWithLabel("DISPLAY CAROUSEL TRANSITIONS", move_carousel);
s->addSaveFunc([move_carousel] {
if (move_carousel->getState() &&
!Settings::getInstance()->getBool("MoveCarousel") &&
@ -493,10 +493,22 @@ void GuiMenu::openUISettings()
}
});
// Enable the 'Y' button for tagging games as favorites.
auto favorites_add_button = std::make_shared<SwitchComponent>(mWindow);
favorites_add_button->setState(Settings::getInstance()->getBool("FavoritesAddButton"));
s->addWithLabel("ENABLE BUTTON SHORTCUT TO TOGGLE FAVORITES", favorites_add_button);
s->addSaveFunc([favorites_add_button] {
if (Settings::getInstance()->getBool("FavoritesAddButton") !=
favorites_add_button->getState()) {
Settings::getInstance()->setBool("FavoritesAddButton",
favorites_add_button->getState());
}
});
// Enable filters (ForceDisableFilters).
auto enable_filter = std::make_shared<SwitchComponent>(mWindow);
enable_filter->setState(!Settings::getInstance()->getBool("ForceDisableFilters"));
s->addWithLabel("GAMELIST FILTERS", enable_filter);
s->addWithLabel("ENABLE GAMELIST FILTERS", enable_filter);
s->addSaveFunc([enable_filter] {
bool filter_is_enabled = !Settings::getInstance()->getBool("ForceDisableFilters");
Settings::getInstance()->setBool("ForceDisableFilters", !enable_filter->getState());
@ -507,14 +519,14 @@ void GuiMenu::openUISettings()
// Quick system select (left/right in game list view).
auto quick_sys_select = std::make_shared<SwitchComponent>(mWindow);
quick_sys_select->setState(Settings::getInstance()->getBool("QuickSystemSelect"));
s->addWithLabel("QUICK SYSTEM SELECT", quick_sys_select);
s->addWithLabel("ENABLE QUICK SYSTEM SELECT", quick_sys_select);
s->addSaveFunc([quick_sys_select] { Settings::getInstance()->setBool("QuickSystemSelect",
quick_sys_select->getState()); });
// Show help.
auto show_help = std::make_shared<SwitchComponent>(mWindow);
show_help->setState(Settings::getInstance()->getBool("ShowHelpPrompts"));
s->addWithLabel("ON-SCREEN HELP", show_help);
s->addWithLabel("DISPLAY ON-SCREEN HELP", show_help);
s->addSaveFunc([show_help] { Settings::getInstance()->setBool("ShowHelpPrompts",
show_help->getState()); });
@ -719,7 +731,7 @@ void GuiMenu::openOtherSettings()
// Custom event scripts, fired using Scripting::fireEvent().
auto custom_eventscripts = std::make_shared<SwitchComponent>(mWindow);
custom_eventscripts->setState(Settings::getInstance()->getBool("CustomEventScripts"));
s->addWithLabel("CUSTOM EVENT SCRIPTS", custom_eventscripts);
s->addWithLabel("ENABLE CUSTOM EVENT SCRIPTS", custom_eventscripts);
s->addSaveFunc([custom_eventscripts] { Settings::getInstance()->
setBool("CustomEventScripts", custom_eventscripts->getState()); });
@ -748,14 +760,14 @@ void GuiMenu::openOtherSettings()
// Hide Reboot System option in the quit menu.
auto show_rebootsystem = std::make_shared<SwitchComponent>(mWindow);
show_rebootsystem->setState(Settings::getInstance()->getBool("ShowRebootSystem"));
s->addWithLabel("SHOW \"REBOOT SYSTEM\" MENU ENTRY", show_rebootsystem);
s->addWithLabel("SHOW 'REBOOT SYSTEM' MENU ENTRY", show_rebootsystem);
s->addSaveFunc([show_rebootsystem] { Settings::getInstance()->setBool("ShowRebootSystem",
show_rebootsystem->getState()); });
// Hide Power Off System option in the quit menu.
auto show_poweroffsystem = std::make_shared<SwitchComponent>(mWindow);
show_poweroffsystem->setState(Settings::getInstance()->getBool("ShowPoweroffSystem"));
s->addWithLabel("SHOW \"POWER OFF SYSTEM\" MENU ENTRY", show_poweroffsystem);
s->addWithLabel("SHOW 'POWER OFF SYSTEM' MENU ENTRY", show_poweroffsystem);
s->addSaveFunc([show_poweroffsystem] { Settings::getInstance()->setBool("ShowPoweroffSystem",
show_poweroffsystem->getState()); });
#endif

View file

@ -264,7 +264,9 @@ std::vector<HelpPrompt> BasicGameListView::getHelpPrompts()
if (mRoot->getSystem()->isGameSystem())
prompts.push_back(HelpPrompt("x", "random"));
if (mRoot->getSystem()->isGameSystem() && !UIModeController::getInstance()->isUIModeKid() &&
!UIModeController::getInstance()->isUIModeKiosk()) {
!UIModeController::getInstance()->isUIModeKiosk() &&
(Settings::getInstance()->getBool("FavoritesAddButton") ||
CollectionSystemManager::get()->isEditing())) {
std::string prompt = CollectionSystemManager::get()->getEditingCollection();
prompts.push_back(HelpPrompt("y", prompt));
}

View file

@ -174,6 +174,11 @@ bool ISimpleGameListView::input(InputConfig* config, Input input)
return true;
}
}
else if (config->isMappedTo("y", input) &&
!Settings::getInstance()->getBool("FavoritesAddButton") &&
!CollectionSystemManager::get()->isEditing()) {
return true;
}
else if (config->isMappedTo("y", input) &&
!UIModeController::getInstance()->isUIModeKid() &&
!UIModeController::getInstance()->isUIModeKiosk()) {

View file

@ -92,6 +92,7 @@ void Settings::setDefaults()
mBoolMap["FoldersOnTop"] = true;
mBoolMap["FavoritesFirst"] = true;
mBoolMap["FavoritesStar"] = true;
mBoolMap["FavoritesAddButton"] = true;
mBoolMap["ForceDisableFilters"] = false;
mBoolMap["QuickSystemSelect"] = true;
mBoolMap["ShowHelpPrompts"] = true;