diff --git a/menu/cbs/menu_cbs_info.c b/menu/cbs/menu_cbs_info.c index c797d06224..94697c2bc9 100644 --- a/menu/cbs/menu_cbs_info.c +++ b/menu/cbs/menu_cbs_info.c @@ -37,6 +37,7 @@ static int action_info_default(unsigned type, const char *label) info.list = menu_stack; info.directory_ptr = selection; + info.enum_idx = MENU_ENUM_LABEL_INFO_SCREEN; strlcpy(info.label, menu_hash_to_str_enum(MENU_ENUM_LABEL_INFO_SCREEN), sizeof(info.label)); diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 7dc23f7a8b..c4cb670bb2 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -149,6 +149,7 @@ int generic_action_ok_displaylist_push(const char *path, info_path = label; info_label = menu_hash_to_str_enum( MENU_ENUM_LABEL_DEFERRED_USER_BINDS_LIST); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_USER_BINDS_LIST; break; case ACTION_OK_DL_OPEN_ARCHIVE_DETECT_CORE: case ACTION_OK_DL_OPEN_ARCHIVE: @@ -166,10 +167,12 @@ int generic_action_ok_displaylist_push(const char *path, case ACTION_OK_DL_OPEN_ARCHIVE_DETECT_CORE: info_label = menu_hash_to_str_enum( MENU_ENUM_LABEL_DEFERRED_ARCHIVE_OPEN_DETECT_CORE); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_ARCHIVE_OPEN_DETECT_CORE; break; case ACTION_OK_DL_OPEN_ARCHIVE: info_label = menu_hash_to_str_enum( MENU_ENUM_LABEL_DEFERRED_ARCHIVE_OPEN); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_ARCHIVE_OPEN; break; } info_path = path; @@ -184,6 +187,7 @@ int generic_action_ok_displaylist_push(const char *path, case ACTION_OK_DL_RPL_ENTRY: strlcpy(menu->deferred_path, label, sizeof(menu->deferred_path)); info_label = menu_hash_to_str_enum(MENU_ENUM_LABEL_DEFERRED_RPL_ENTRY_ACTIONS); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_RPL_ENTRY_ACTIONS; info.directory_ptr = idx; rpl_entry_selection_ptr = idx; break; @@ -191,6 +195,7 @@ int generic_action_ok_displaylist_push(const char *path, info.directory_ptr = idx; info_path = settings->directory.audio_filter; info_label = menu_hash_to_str_enum(MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN); + info.enum_idx = MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN; break; case ACTION_OK_DL_SHADER_PASS: info.type = type; @@ -201,7 +206,7 @@ int generic_action_ok_displaylist_push(const char *path, case ACTION_OK_DL_SHADER_PARAMETERS: info.type = MENU_SETTING_ACTION; info.directory_ptr = idx; - info_label = label; + info_label = label; break; case ACTION_OK_DL_GENERIC: if (path) @@ -210,19 +215,19 @@ int generic_action_ok_displaylist_push(const char *path, info.type = type; info.directory_ptr = idx; - info_label = label; + info_label = label; break; case ACTION_OK_DL_PUSH_DEFAULT: info.type = type; info.directory_ptr = idx; info_path = label; - info_label = label; + info_label = label; break; case ACTION_OK_DL_SHADER_PRESET: info.type = type; info.directory_ptr = idx; info_path = settings->directory.video_shader; - info_label = label; + info_label = label; break; case ACTION_OK_DL_DOWNLOADS_DIR: info.type = MENU_FILE_DIRECTORY; @@ -309,12 +314,14 @@ int generic_action_ok_displaylist_push(const char *path, switch (action_type) { case ACTION_OK_DL_COMPRESSED_ARCHIVE_PUSH_DETECT_CORE: - info_label = menu_hash_to_str_enum( + info_label = menu_hash_to_str_enum( MENU_ENUM_LABEL_DEFERRED_ARCHIVE_ACTION_DETECT_CORE); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_ARCHIVE_ACTION_DETECT_CORE; break; case ACTION_OK_DL_COMPRESSED_ARCHIVE_PUSH: - info_label = menu_hash_to_str_enum( + info_label = menu_hash_to_str_enum( MENU_ENUM_LABEL_DEFERRED_ARCHIVE_ACTION); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_ARCHIVE_ACTION; break; } @@ -349,6 +356,7 @@ int generic_action_ok_displaylist_push(const char *path, info_path = tmp; info_label = menu_hash_to_str_enum( MENU_ENUM_LABEL_DEFERRED_DATABASE_MANAGER_LIST); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_DATABASE_MANAGER_LIST; break; case ACTION_OK_DL_CURSOR_MANAGER_LIST: fill_pathname_join(tmp, settings->directory.cursor, @@ -358,6 +366,7 @@ int generic_action_ok_displaylist_push(const char *path, info_path = tmp; info_label = menu_hash_to_str_enum( MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST; break; case ACTION_OK_DL_CORE_UPDATER_LIST: dl_type = DISPLAYLIST_PENDING_CLEAR; @@ -366,6 +375,7 @@ int generic_action_ok_displaylist_push(const char *path, info_path = path; info_label = menu_hash_to_str_enum( MENU_ENUM_LABEL_DEFERRED_CORE_UPDATER_LIST); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_CORE_UPDATER_LIST; break; case ACTION_OK_DL_THUMBNAILS_UPDATER_LIST: dl_type = DISPLAYLIST_PENDING_CLEAR; @@ -374,6 +384,7 @@ int generic_action_ok_displaylist_push(const char *path, info_path = path; info_label = menu_hash_to_str_enum( MENU_ENUM_LABEL_DEFERRED_THUMBNAILS_UPDATER_LIST); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_THUMBNAILS_UPDATER_LIST; break; case ACTION_OK_DL_CORE_CONTENT_LIST: dl_type = DISPLAYLIST_PENDING_CLEAR; @@ -382,6 +393,7 @@ int generic_action_ok_displaylist_push(const char *path, info_path = path; info_label = menu_hash_to_str_enum( MENU_ENUM_LABEL_DEFERRED_CORE_CONTENT_LIST); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_CORE_CONTENT_LIST; break; case ACTION_OK_DL_LAKKA_LIST: dl_type = DISPLAYLIST_PENDING_CLEAR; @@ -389,11 +401,13 @@ int generic_action_ok_displaylist_push(const char *path, info.directory_ptr = idx; info_path = path; info_label = menu_hash_to_str_enum(MENU_ENUM_LABEL_DEFERRED_LAKKA_LIST); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_LAKKA_LIST; break; case ACTION_OK_DL_DEFERRED_CORE_LIST: info.directory_ptr = idx; info_path = settings->directory.libretro; info_label = menu_hash_to_str_enum(MENU_ENUM_LABEL_DEFERRED_CORE_LIST); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_CORE_LIST; break; case ACTION_OK_DL_DEFERRED_CORE_LIST_SET: info.directory_ptr = idx; @@ -401,60 +415,70 @@ int generic_action_ok_displaylist_push(const char *path, info_path = settings->directory.libretro; info_label = menu_hash_to_str_enum( MENU_ENUM_LABEL_DEFERRED_CORE_LIST_SET); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_CORE_LIST_SET; break; case ACTION_OK_DL_ACCOUNTS_LIST: info.directory_ptr = idx; info.type = type; info_path = path; info_label = menu_hash_to_str_enum(MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_LIST); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_LIST; break; case ACTION_OK_DL_INPUT_SETTINGS_LIST: info.directory_ptr = idx; info.type = type; info_path = path; info_label = menu_hash_to_str_enum(MENU_ENUM_LABEL_DEFERRED_INPUT_SETTINGS_LIST); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_INPUT_SETTINGS_LIST; break; case ACTION_OK_DL_DRIVER_SETTINGS_LIST: info.directory_ptr = idx; info.type = type; info_path = path; info_label = menu_hash_to_str_enum(MENU_ENUM_LABEL_DEFERRED_DRIVER_SETTINGS_LIST); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_DRIVER_SETTINGS_LIST; break; case ACTION_OK_DL_VIDEO_SETTINGS_LIST: info.directory_ptr = idx; info.type = type; info_path = path; info_label = menu_hash_to_str_enum(MENU_ENUM_LABEL_DEFERRED_VIDEO_SETTINGS_LIST); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_VIDEO_SETTINGS_LIST; break; case ACTION_OK_DL_AUDIO_SETTINGS_LIST: info.directory_ptr = idx; info.type = type; info_path = path; info_label = menu_hash_to_str_enum(MENU_ENUM_LABEL_DEFERRED_AUDIO_SETTINGS_LIST); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_AUDIO_SETTINGS_LIST; break; case ACTION_OK_DL_INPUT_HOTKEY_BINDS_LIST: info.directory_ptr = idx; info.type = type; info_path = path; info_label = menu_hash_to_str_enum(MENU_ENUM_LABEL_DEFERRED_INPUT_HOTKEY_BINDS_LIST); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_INPUT_HOTKEY_BINDS_LIST; break; case ACTION_OK_DL_PLAYLIST_SETTINGS_LIST: info.directory_ptr = idx; info.type = type; info_path = path; info_label = menu_hash_to_str_enum(MENU_ENUM_LABEL_DEFERRED_PLAYLIST_SETTINGS_LIST); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_PLAYLIST_SETTINGS_LIST; break; case ACTION_OK_DL_ACCOUNTS_CHEEVOS_LIST: info.directory_ptr = idx; info.type = type; info_path = path; info_label = menu_hash_to_str_enum(MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_CHEEVOS_LIST); + info.enum_idx = MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_CHEEVOS_LIST; break; case ACTION_OK_DL_CONTENT_SETTINGS: dl_type = DISPLAYLIST_CONTENT_SETTINGS; info.list = selection_buf; info_path = menu_hash_to_str_enum(MENU_ENUM_LABEL_VALUE_CONTENT_SETTINGS); info_label = menu_hash_to_str_enum(MENU_ENUM_LABEL_CONTENT_SETTINGS); + info.enum_idx = MENU_ENUM_LABEL_CONTENT_SETTINGS; menu_entries_add_enum(menu_stack, info_path, info_label, MENU_ENUM_LABEL_CONTENT_SETTINGS, 0, 0, 0); diff --git a/menu/drivers/menu_generic.c b/menu/drivers/menu_generic.c index 73510bfdf4..c02b28675f 100644 --- a/menu/drivers/menu_generic.c +++ b/menu/drivers/menu_generic.c @@ -369,6 +369,7 @@ int generic_menu_iterate(void *data, void *userdata, enum menu_action action) strlcpy(info.label, menu_hash_to_str_enum(MENU_ENUM_LABEL_HELP), sizeof(info.label)); + info.enum_idx = MENU_ENUM_LABEL_HELP; menu_displaylist_ctl(DISPLAYLIST_HELP, &info); } @@ -401,6 +402,7 @@ bool generic_menu_init_list(void *data) strlcpy(info.label, menu_hash_to_str_enum(MENU_ENUM_LABEL_MAIN_MENU), sizeof(info.label)); + info.enum_idx = MENU_ENUM_LABEL_MAIN_MENU; menu_entries_add_enum(menu_stack, info.path, info.label, diff --git a/menu/drivers/nuklear.c b/menu/drivers/nuklear.c index 5cd5313ba8..916db78198 100644 --- a/menu/drivers/nuklear.c +++ b/menu/drivers/nuklear.c @@ -389,6 +389,7 @@ static bool nk_menu_init_list(void *data) strlcpy(info.label, menu_hash_to_str_enum(MENU_ENUM_LABEL_HISTORY_TAB), sizeof(info.label)); + info.enum_idx = MENU_ENUM_LABEL_HISTORY_TAB; menu_entries_add_enum(menu_stack, info.path, info.label, MENU_ENUM_LABEL_UNKNOWN, diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 5ed62bea77..89a0c30f4b 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -1274,6 +1274,7 @@ static void xmb_init_horizontal_list(xmb_handle_t *xmb) info.type = 0; info.type_default = MENU_FILE_PLAIN; info.flags = SL_FLAG_ALLOW_EMPTY_LIST; + info.enum_idx = MENU_ENUM_LABEL_CONTENT_COLLECTION_LIST; strlcpy(info.label, menu_hash_to_str_enum(MENU_ENUM_LABEL_CONTENT_COLLECTION_LIST), sizeof(info.label)); @@ -3192,6 +3193,7 @@ static bool xmb_menu_init_list(void *data) strlcpy(info.label, menu_hash_to_str_enum(MENU_ENUM_LABEL_MAIN_MENU), sizeof(info.label)); + info.enum_idx = MENU_ENUM_LABEL_MAIN_MENU; menu_entries_add_enum(menu_stack, info.path, info.label, diff --git a/menu/drivers/zarch.c b/menu/drivers/zarch.c index 535cc18d63..116f6e3456 100644 --- a/menu/drivers/zarch.c +++ b/menu/drivers/zarch.c @@ -1130,6 +1130,7 @@ static bool zarch_menu_init_list(void *data) strlcpy(info.label, menu_hash_to_str_enum(MENU_ENUM_LABEL_HISTORY_TAB), sizeof(info.label)); + info.enum_idx = MENU_ENUM_LABEL_HISTORY_TAB; menu_entries_add_enum(menu_stack, info.path, info.label, MENU_ENUM_LABEL_UNKNOWN, info.type, info.flags, 0); diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index a19d6ccade..02f05c8f51 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -3581,6 +3581,7 @@ static bool menu_displaylist_push(menu_displaylist_ctx_entry_t *entry) info.list = entry->list; info.menu_list = entry->stack; info.type = type; + info.enum_idx = enum_idx; strlcpy(info.path, path, sizeof(info.path)); strlcpy(info.label, label, sizeof(info.label)); diff --git a/menu/menu_input.c b/menu/menu_input.c index 83cb74803a..2e9d66f18e 100644 --- a/menu/menu_input.c +++ b/menu/menu_input.c @@ -280,6 +280,7 @@ static int menu_input_key_bind_set_mode_common( info.list = menu_stack; info.type = MENU_SETTINGS_CUSTOM_BIND_KEYBOARD; info.directory_ptr = selection; + info.enum_idx = MENU_ENUM_LABEL_CUSTOM_BIND; strlcpy(info.label, menu_hash_to_str_enum(MENU_ENUM_LABEL_CUSTOM_BIND), sizeof(info.label)); @@ -295,6 +296,7 @@ static int menu_input_key_bind_set_mode_common( info.list = menu_stack; info.type = MENU_SETTINGS_CUSTOM_BIND_KEYBOARD; info.directory_ptr = selection; + info.enum_idx = MENU_ENUM_LABEL_CUSTOM_BIND_ALL; strlcpy(info.label, menu_hash_to_str_enum(MENU_ENUM_LABEL_CUSTOM_BIND_ALL), sizeof(info.label)); diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 05a2b8c6ea..abdd737913 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -3396,6 +3396,7 @@ void general_write_handler(void *data) info.directory_ptr = 0; strlcpy(info.label, menu_hash_to_str_enum(MENU_ENUM_LABEL_HELP), sizeof(info.label)); + info.enum_idx = MENU_ENUM_LABEL_HELP; if (menu_displaylist_ctl(DISPLAYLIST_GENERIC, &info)) menu_displaylist_ctl(DISPLAYLIST_PROCESS, &info);