diff --git a/config.def.h b/config.def.h index a22c2a9e02..6543c298ac 100644 --- a/config.def.h +++ b/config.def.h @@ -335,6 +335,12 @@ #define DEFAULT_OZONE_TRUNCATE_PLAYLIST_NAME true #endif +#define DEFAULT_QUICK_MENU_SHOW_RESUME_CONTENT true + +#define DEFAULT_QUICK_MENU_SHOW_RESTART_CONTENT true + +#define DEFAULT_QUICK_MENU_SHOW_CLOSE_CONTENT true + static bool quick_menu_show_take_screenshot = true; static bool quick_menu_show_save_load_state = true; static bool quick_menu_show_undo_save_load_state = true; diff --git a/configuration.c b/configuration.c index 8a23065ad0..37c84fe3fb 100644 --- a/configuration.c +++ b/configuration.c @@ -1453,6 +1453,9 @@ static struct config_bool_setting *populate_settings_bool(settings_t *settings, SETTING_BOOL("menu_core_enable", &settings->bools.menu_core_enable, true, true, false); SETTING_BOOL("menu_show_sublabels", &settings->bools.menu_show_sublabels, true, menu_show_sublabels, false); SETTING_BOOL("menu_dynamic_wallpaper_enable", &settings->bools.menu_dynamic_wallpaper_enable, true, false, false); + SETTING_BOOL("quick_menu_show_resume_content", &settings->bools.quick_menu_show_resume_content, true, DEFAULT_QUICK_MENU_SHOW_RESUME_CONTENT, false); + SETTING_BOOL("quick_menu_show_restart_content", &settings->bools.quick_menu_show_restart_content, true, DEFAULT_QUICK_MENU_SHOW_RESTART_CONTENT, false); + SETTING_BOOL("quick_menu_show_close_content", &settings->bools.quick_menu_show_close_content, true, DEFAULT_QUICK_MENU_SHOW_CLOSE_CONTENT, false); SETTING_BOOL("quick_menu_show_recording", &settings->bools.quick_menu_show_recording, true, quick_menu_show_recording, false); SETTING_BOOL("quick_menu_show_streaming", &settings->bools.quick_menu_show_streaming, true, quick_menu_show_streaming, false); SETTING_BOOL("quick_menu_show_save_load_state", &settings->bools.quick_menu_show_save_load_state, true, quick_menu_show_save_load_state, false); diff --git a/configuration.h b/configuration.h index 330710e01c..c931eacf5f 100644 --- a/configuration.h +++ b/configuration.h @@ -203,6 +203,9 @@ typedef struct settings bool menu_use_preferred_system_color_theme; bool menu_preferred_system_color_theme_set; bool menu_unified_controls; + bool quick_menu_show_resume_content; + bool quick_menu_show_restart_content; + bool quick_menu_show_close_content; bool quick_menu_show_take_screenshot; bool quick_menu_show_save_load_state; bool quick_menu_show_undo_save_load_state; diff --git a/intl/msg_hash_ar.h b/intl/msg_hash_ar.h index b36bc33888..dd27ccd196 100644 --- a/intl/msg_hash_ar.h +++ b/intl/msg_hash_ar.h @@ -3830,3 +3830,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_chs.h b/intl/msg_hash_chs.h index 9304fbf90e..29d1533f0c 100644 --- a/intl/msg_hash_chs.h +++ b/intl/msg_hash_chs.h @@ -4848,3 +4848,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_cht.h b/intl/msg_hash_cht.h index b1801f0fac..f3940f52e7 100644 --- a/intl/msg_hash_cht.h +++ b/intl/msg_hash_cht.h @@ -3606,3 +3606,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_de.h b/intl/msg_hash_de.h index fab29e69f1..469f70d672 100644 --- a/intl/msg_hash_de.h +++ b/intl/msg_hash_de.h @@ -3735,3 +3735,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_el.h b/intl/msg_hash_el.h index b14f53b730..e94daae289 100644 --- a/intl/msg_hash_el.h +++ b/intl/msg_hash_el.h @@ -7812,3 +7812,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_eo.h b/intl/msg_hash_eo.h index 4601a75209..8308113271 100644 --- a/intl/msg_hash_eo.h +++ b/intl/msg_hash_eo.h @@ -3494,3 +3494,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_es.h b/intl/msg_hash_es.h index d68e69852b..0ee5c8be04 100644 --- a/intl/msg_hash_es.h +++ b/intl/msg_hash_es.h @@ -7964,3 +7964,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_fr.h b/intl/msg_hash_fr.h index 167acf31e0..a7aeafc343 100644 --- a/intl/msg_hash_fr.h +++ b/intl/msg_hash_fr.h @@ -8752,3 +8752,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_it.h b/intl/msg_hash_it.h index 8c9ac254de..fa8ebb16c5 100644 --- a/intl/msg_hash_it.h +++ b/intl/msg_hash_it.h @@ -3715,3 +3715,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_ja.h b/intl/msg_hash_ja.h index 677aa48f79..363de2b366 100644 --- a/intl/msg_hash_ja.h +++ b/intl/msg_hash_ja.h @@ -9127,3 +9127,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_ko.h b/intl/msg_hash_ko.h index 18c7d32f60..5b05c26003 100644 --- a/intl/msg_hash_ko.h +++ b/intl/msg_hash_ko.h @@ -8959,3 +8959,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index 9a9d4febc9..78d6b41a1e 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -1979,3 +1979,9 @@ MSG_HASH(MENU_ENUM_LABEL_VIDEO_GPU_INDEX, "gpu_index") MSG_HASH(MENU_ENUM_LABEL_FPS_UPDATE_INTERVAL, "fps_update_interval") +MSG_HASH(MENU_ENUM_LABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "quick_menu_show_resume_content") +MSG_HASH(MENU_ENUM_LABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "quick_menu_show_restart_content") +MSG_HASH(MENU_ENUM_LABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "quick_menu_show_close_content") diff --git a/intl/msg_hash_nl.h b/intl/msg_hash_nl.h index 9fec302911..fc05b3e517 100644 --- a/intl/msg_hash_nl.h +++ b/intl/msg_hash_nl.h @@ -3488,3 +3488,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_pl.h b/intl/msg_hash_pl.h index 098184b85e..a71c2f713b 100644 --- a/intl/msg_hash_pl.h +++ b/intl/msg_hash_pl.h @@ -4279,3 +4279,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_pt_br.h b/intl/msg_hash_pt_br.h index 6c5e828ad0..82be29b917 100644 --- a/intl/msg_hash_pt_br.h +++ b/intl/msg_hash_pt_br.h @@ -9039,3 +9039,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_pt_pt.h b/intl/msg_hash_pt_pt.h index 1be3b9362a..423dc864b2 100644 --- a/intl/msg_hash_pt_pt.h +++ b/intl/msg_hash_pt_pt.h @@ -3560,3 +3560,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_ru.h b/intl/msg_hash_ru.h index 76159dabd8..6d389d58ea 100644 --- a/intl/msg_hash_ru.h +++ b/intl/msg_hash_ru.h @@ -3758,3 +3758,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_tr.h b/intl/msg_hash_tr.h index b985f46660..48a905cfc3 100644 --- a/intl/msg_hash_tr.h +++ b/intl/msg_hash_tr.h @@ -8764,3 +8764,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index cbfbbec855..c2e92d1028 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -9087,3 +9087,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/intl/msg_hash_vn.h b/intl/msg_hash_vn.h index 85c009f953..c6a880e63a 100644 --- a/intl/msg_hash_vn.h +++ b/intl/msg_hash_vn.h @@ -3650,3 +3650,27 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_FPS_UPDATE_INTERVAL, "Framerate Update Interval (in frames)") MSG_HASH(MENU_ENUM_SUBLABEL_FPS_UPDATE_INTERVAL, "Framerate display will be updated at the set interval (in frames).") +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show Restart Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + "Show/hide the 'Restart Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show Close Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + "Show/hide the 'Close Content' option." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show Resume Content" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + "Show/hide the 'Resume Content' option." + ) diff --git a/menu/cbs/menu_cbs_sublabel.c b/menu/cbs/menu_cbs_sublabel.c index 5126b517b0..fa91b6f64e 100644 --- a/menu/cbs/menu_cbs_sublabel.c +++ b/menu/cbs/menu_cbs_sublabel.c @@ -470,6 +470,9 @@ default_sublabel_macro(action_bind_sublabel_menu_horizontal_animation, default_sublabel_macro(action_bind_sublabel_menu_ribbon_enable, MENU_ENUM_SUBLABEL_XMB_RIBBON_ENABLE) default_sublabel_macro(action_bind_sublabel_menu_font, MENU_ENUM_SUBLABEL_XMB_FONT) default_sublabel_macro(action_bind_sublabel_quick_menu_show_take_screenshot, MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_TAKE_SCREENSHOT) +default_sublabel_macro(action_bind_sublabel_quick_menu_show_resume_content, MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESUME_CONTENT) +default_sublabel_macro(action_bind_sublabel_quick_menu_show_restart_content, MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_RESTART_CONTENT) +default_sublabel_macro(action_bind_sublabel_quick_menu_show_close_content, MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CLOSE_CONTENT) default_sublabel_macro(action_bind_sublabel_quick_menu_show_save_load_state, MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_SAVE_LOAD_STATE) default_sublabel_macro(action_bind_sublabel_quick_menu_show_undo_save_load_state, MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_UNDO_SAVE_LOAD_STATE) default_sublabel_macro(action_bind_sublabel_quick_menu_show_add_to_favorites, MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_ADD_TO_FAVORITES) @@ -1380,6 +1383,15 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_GOTO_FAVORITES: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_goto_favorites); break; + case MENU_ENUM_LABEL_QUICK_MENU_SHOW_RESUME_CONTENT: + BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_quick_menu_show_resume_content); + break; + case MENU_ENUM_LABEL_QUICK_MENU_SHOW_RESTART_CONTENT: + BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_quick_menu_show_restart_content); + break; + case MENU_ENUM_LABEL_QUICK_MENU_SHOW_CLOSE_CONTENT: + BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_quick_menu_show_close_content); + break; case MENU_ENUM_LABEL_QUICK_MENU_SHOW_TAKE_SCREENSHOT: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_quick_menu_show_take_screenshot); break; diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 7d55d3253b..f1956c899c 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -1803,23 +1803,26 @@ static int menu_displaylist_parse_load_content_settings( #endif rarch_system_info_t *system = runloop_get_system_info(); - menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RESUME_CONTENT), - msg_hash_to_str(MENU_ENUM_LABEL_RESUME_CONTENT), - MENU_ENUM_LABEL_RESUME_CONTENT, - MENU_SETTING_ACTION_RUN, 0, 0); + if (settings->bools.quick_menu_show_resume_content) + menu_entries_append_enum(info->list, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RESUME_CONTENT), + msg_hash_to_str(MENU_ENUM_LABEL_RESUME_CONTENT), + MENU_ENUM_LABEL_RESUME_CONTENT, + MENU_SETTING_ACTION_RUN, 0, 0); - menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RESTART_CONTENT), - msg_hash_to_str(MENU_ENUM_LABEL_RESTART_CONTENT), - MENU_ENUM_LABEL_RESTART_CONTENT, - MENU_SETTING_ACTION_RUN, 0, 0); + if (settings->bools.quick_menu_show_restart_content) + menu_entries_append_enum(info->list, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RESTART_CONTENT), + msg_hash_to_str(MENU_ENUM_LABEL_RESTART_CONTENT), + MENU_ENUM_LABEL_RESTART_CONTENT, + MENU_SETTING_ACTION_RUN, 0, 0); - menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CLOSE_CONTENT), - msg_hash_to_str(MENU_ENUM_LABEL_CLOSE_CONTENT), - MENU_ENUM_LABEL_CLOSE_CONTENT, - MENU_SETTING_ACTION_CLOSE, 0, 0); + if (settings->bools.quick_menu_show_close_content) + menu_entries_append_enum(info->list, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CLOSE_CONTENT), + msg_hash_to_str(MENU_ENUM_LABEL_CLOSE_CONTENT), + MENU_ENUM_LABEL_CLOSE_CONTENT, + MENU_SETTING_ACTION_CLOSE, 0, 0); if (settings->bools.quick_menu_show_take_screenshot) { @@ -4900,6 +4903,9 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct case DISPLAYLIST_QUICK_MENU_VIEWS_SETTINGS_LIST: { menu_displaylist_build_info_t build_list[] = { + {MENU_ENUM_LABEL_QUICK_MENU_SHOW_RESUME_CONTENT, PARSE_ONLY_BOOL}, + {MENU_ENUM_LABEL_QUICK_MENU_SHOW_RESTART_CONTENT, PARSE_ONLY_BOOL}, + {MENU_ENUM_LABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, PARSE_ONLY_BOOL}, {MENU_ENUM_LABEL_QUICK_MENU_SHOW_TAKE_SCREENSHOT, PARSE_ONLY_BOOL}, {MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_LOAD_STATE, PARSE_ONLY_BOOL}, {MENU_ENUM_LABEL_QUICK_MENU_SHOW_UNDO_SAVE_LOAD_STATE, PARSE_ONLY_BOOL}, diff --git a/menu/menu_driver.c b/menu/menu_driver.c index 1914102cbe..ce264ec5f7 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -3130,16 +3130,6 @@ bool menu_driver_get_load_content_animation_data(menu_texture_item *icon, char * && menu_driver_ctx->get_load_content_animation_data(menu_userdata, icon, playlist_name); } -/* Checks if the menu framebuffer is set. - * This would usually only return true - * for framebuffer-based menu drivers, like RGUI. */ -bool menu_driver_is_texture_set(void) -{ - if (menu_driver_ctx && menu_driver_ctx->set_texture) - return true; - return false; -} - /* Iterate the menu driver for one frame. */ bool menu_driver_iterate(menu_ctx_iterate_t *iterate) { diff --git a/menu/menu_driver.h b/menu/menu_driver.h index ca37cfa752..426efe47a1 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -513,10 +513,6 @@ void menu_driver_frame(video_frame_info_t *video_info); bool menu_driver_get_load_content_animation_data(menu_texture_item *icon, char **playlist_name); -/* Is a background texture set for the current menu driver? Should - * return true for RGUI, for instance. */ -bool menu_driver_is_texture_set(void); - bool menu_driver_iterate(menu_ctx_iterate_t *iterate); bool menu_driver_list_clear(file_list_t *list); diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 54161552e7..e44aff2513 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -13105,6 +13105,51 @@ static bool setting_append_list( SD_FLAG_NONE); #endif + CONFIG_BOOL( + list, list_info, + &settings->bools.quick_menu_show_resume_content, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_RESUME_CONTENT, + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESUME_CONTENT, + DEFAULT_QUICK_MENU_SHOW_RESUME_CONTENT, + MENU_ENUM_LABEL_VALUE_OFF, + MENU_ENUM_LABEL_VALUE_ON, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler, + SD_FLAG_NONE); + + CONFIG_BOOL( + list, list_info, + &settings->bools.quick_menu_show_restart_content, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_RESTART_CONTENT, + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_RESTART_CONTENT, + DEFAULT_QUICK_MENU_SHOW_RESTART_CONTENT, + MENU_ENUM_LABEL_VALUE_OFF, + MENU_ENUM_LABEL_VALUE_ON, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler, + SD_FLAG_NONE); + + CONFIG_BOOL( + list, list_info, + &settings->bools.quick_menu_show_close_content, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_CLOSE_CONTENT, + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CLOSE_CONTENT, + DEFAULT_QUICK_MENU_SHOW_CLOSE_CONTENT, + MENU_ENUM_LABEL_VALUE_OFF, + MENU_ENUM_LABEL_VALUE_ON, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler, + SD_FLAG_NONE); + CONFIG_BOOL( list, list_info, &settings->bools.quick_menu_show_options, diff --git a/msg_hash.h b/msg_hash.h index 36bd44c36c..122d41d44a 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -960,6 +960,9 @@ enum msg_hash_enums MENU_LABEL(OZONE_TRUNCATE_PLAYLIST_NAME), MENU_LABEL(MATERIALUI_MENU_COLOR_THEME), MENU_LABEL(QUICK_MENU_OVERRIDE_OPTIONS), + MENU_LABEL(QUICK_MENU_SHOW_RESUME_CONTENT), + MENU_LABEL(QUICK_MENU_SHOW_RESTART_CONTENT), + MENU_LABEL(QUICK_MENU_SHOW_CLOSE_CONTENT), MENU_LABEL(QUICK_MENU_SHOW_TAKE_SCREENSHOT), MENU_LABEL(QUICK_MENU_SHOW_SAVE_LOAD_STATE), MENU_LABEL(QUICK_MENU_SHOW_UNDO_SAVE_LOAD_STATE), diff --git a/retroarch.c b/retroarch.c index 6714487ba1..2537973fbf 100644 --- a/retroarch.c +++ b/retroarch.c @@ -11780,7 +11780,14 @@ static unsigned menu_event( size_t fb_pitch; unsigned fb_width, fb_height; const struct retro_keybind *binds[MAX_USERS] = {NULL}; - int pointer_device = menu_driver_is_texture_set() + menu_handle_t *menu_data = menu_driver_get_ptr(); + /* Is a background texture set for the current menu driver? + * Checks if the menu framebuffer is set. + * This would usually only return true + * for framebuffer-based menu drivers, like RGUI. */ + int pointer_device = (menu_data + && menu_data->driver_ctx + && menu_data->driver_ctx->set_texture) ? RETRO_DEVICE_POINTER : RARCH_DEVICE_POINTER_SCREEN;