diff --git a/configuration.c b/configuration.c index dd0a9d18b9..c5d9b1df6c 100644 --- a/configuration.c +++ b/configuration.c @@ -1200,6 +1200,7 @@ static struct config_bool_setting *populate_settings_bool(settings_t *settings, SETTING_BOOL("xmb_show_add", &settings->bools.menu_xmb_show_add, true, xmb_show_add, false); #endif #endif + SETTING_BOOL("filter_by_current_core", &settings->bools.filter_by_current_core, false, false /* TODO */, false); SETTING_BOOL("rgui_show_start_screen", &settings->bools.menu_show_start_screen, false, false /* TODO */, false); SETTING_BOOL("menu_navigation_wraparound_enable", &settings->bools.menu_navigation_wraparound_enable, true, true, false); SETTING_BOOL("menu_navigation_browser_filter_supported_extensions_enable", diff --git a/configuration.h b/configuration.h index 078ea977b2..8183212f45 100644 --- a/configuration.h +++ b/configuration.h @@ -102,6 +102,7 @@ typedef struct settings #ifdef HAVE_MENU /* Menu */ + bool filter_by_current_core; bool menu_show_start_screen; bool menu_pause_libretro; bool menu_timedate_enable; diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index b3c82466b1..90410418ed 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -1229,3 +1229,5 @@ MSG_HASH(MENU_ENUM_LABEL_ADD_TO_MIXER, "audio_add_to_mixer") MSG_HASH(MENU_ENUM_LABEL_ADD_TO_MIXER_AND_COLLECTION, "audio_add_to_mixer_and_collection") +MSG_HASH(MENU_ENUM_LABEL_FILTER_BY_CURRENT_CORE, + "filter_by_current_Core") diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index f9a82f1541..62567e1355 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -3015,3 +3015,5 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_ADD_TO_MIXER, "Add to mixer") MSG_HASH(MENU_ENUM_LABEL_VALUE_ADD_TO_MIXER_AND_COLLECTION, "Add to mixer") +MSG_HASH(MENU_ENUM_LABEL_VALUE_FILTER_BY_CURRENT_CORE, + "Filter by current core") diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index d97900114b..ba97c857bb 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -706,7 +706,7 @@ static int general_push(menu_displaylist_info_t *info, } } - if (menu_entries_current_core_is_no_core()) + if (!settings->bools.filter_by_current_core) { if (list && !string_is_empty(list->all_ext)) { diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 9e6dbed634..33b6ae8c97 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -4972,6 +4972,9 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) menu_displaylist_parse_settings_enum(menu, info, MENU_ENUM_LABEL_USE_BUILTIN_PLAYER, PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_FILTER_BY_CURRENT_CORE, + PARSE_ONLY_BOOL, false); info->need_refresh = true; info->need_push = true; break; diff --git a/menu/menu_setting.c b/menu/menu_setting.c index ab5ff3b15a..844fdc2e69 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -5467,23 +5467,20 @@ static bool setting_append_list( START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group); - if (string_is_not_equal_fast(settings->arrays.record_driver, "null", 4)) - { - CONFIG_BOOL( - list, list_info, - &settings->bools.multimedia_builtin_mediaplayer_enable, - MENU_ENUM_LABEL_USE_BUILTIN_PLAYER, - MENU_ENUM_LABEL_VALUE_USE_BUILTIN_PLAYER, - true, - 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.multimedia_builtin_mediaplayer_enable, + MENU_ENUM_LABEL_USE_BUILTIN_PLAYER, + MENU_ENUM_LABEL_VALUE_USE_BUILTIN_PLAYER, + true, + 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); #ifdef HAVE_IMAGEVIEWER @@ -5503,6 +5500,21 @@ static bool setting_append_list( SD_FLAG_NONE); #endif + CONFIG_BOOL( + list, list_info, + &settings->bools.filter_by_current_core, + MENU_ENUM_LABEL_FILTER_BY_CURRENT_CORE, + MENU_ENUM_LABEL_VALUE_FILTER_BY_CURRENT_CORE, + true, + 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); + END_SUB_GROUP(list, list_info, parent_group); END_GROUP(list, list_info, parent_group); break; diff --git a/msg_hash.h b/msg_hash.h index 6af1e33210..4807d060fc 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -380,6 +380,8 @@ enum msg_hash_enums MENU_LABEL(ADD_TO_MIXER_AND_COLLECTION), MENU_ENUM_LABEL_MENU_TOGGLE, + MENU_LABEL(FILTER_BY_CURRENT_CORE), + MENU_LABEL(NO_HISTORY_AVAILABLE), MENU_ENUM_LABEL_VALUE_REMAP_FILE,