diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 673feb3c56..83ffc14223 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -2248,8 +2248,7 @@ static int menu_displaylist_parse_horizontal_content_actions( return 0; } -static unsigned menu_displaylist_parse_information_list( - menu_displaylist_info_t *info) +static unsigned menu_displaylist_parse_information_list(file_list_t *info_list) { unsigned count = 0; core_info_t *core_info = NULL; @@ -2264,7 +2263,7 @@ static unsigned menu_displaylist_parse_information_list( ) && core_info && core_info->config_data ) - if (menu_entries_append_enum(info->list, + if (menu_entries_append_enum(info_list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_INFORMATION), msg_hash_to_str(MENU_ENUM_LABEL_CORE_INFORMATION), MENU_ENUM_LABEL_CORE_INFORMATION, @@ -2279,7 +2278,7 @@ static unsigned menu_displaylist_parse_information_list( { if (drive_list->size) { - if (menu_entries_append_enum(info->list, + if (menu_entries_append_enum(info_list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISC_INFORMATION), msg_hash_to_str(MENU_ENUM_LABEL_DISC_INFORMATION), MENU_ENUM_LABEL_DISC_INFORMATION, @@ -2294,7 +2293,7 @@ static unsigned menu_displaylist_parse_information_list( #ifdef HAVE_NETWORKING #ifndef HAVE_SOCKET_LEGACY - if (menu_entries_append_enum(info->list, + if (menu_entries_append_enum(info_list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETWORK_INFORMATION), msg_hash_to_str(MENU_ENUM_LABEL_NETWORK_INFORMATION), MENU_ENUM_LABEL_NETWORK_INFORMATION, @@ -2303,7 +2302,7 @@ static unsigned menu_displaylist_parse_information_list( #endif #endif - if (menu_entries_append_enum(info->list, + if (menu_entries_append_enum(info_list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SYSTEM_INFORMATION), msg_hash_to_str(MENU_ENUM_LABEL_SYSTEM_INFORMATION), MENU_ENUM_LABEL_SYSTEM_INFORMATION, @@ -2311,13 +2310,13 @@ static unsigned menu_displaylist_parse_information_list( count++; #ifdef HAVE_LIBRETRODB - if (menu_entries_append_enum(info->list, + if (menu_entries_append_enum(info_list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DATABASE_MANAGER), msg_hash_to_str(MENU_ENUM_LABEL_DATABASE_MANAGER_LIST), MENU_ENUM_LABEL_DATABASE_MANAGER_LIST, MENU_SETTING_ACTION, 0, 0)) count++; - if (menu_entries_append_enum(info->list, + if (menu_entries_append_enum(info_list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CURSOR_MANAGER), msg_hash_to_str(MENU_ENUM_LABEL_CURSOR_MANAGER_LIST), MENU_ENUM_LABEL_CURSOR_MANAGER_LIST, @@ -2327,14 +2326,14 @@ static unsigned menu_displaylist_parse_information_list( if (rarch_ctl(RARCH_CTL_IS_PERFCNT_ENABLE, NULL)) { - if (menu_entries_append_enum(info->list, + if (menu_entries_append_enum(info_list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FRONTEND_COUNTERS), msg_hash_to_str(MENU_ENUM_LABEL_FRONTEND_COUNTERS), MENU_ENUM_LABEL_FRONTEND_COUNTERS, MENU_SETTING_ACTION, 0, 0)) count++; - if (menu_entries_append_enum(info->list, + if (menu_entries_append_enum(info_list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_COUNTERS), msg_hash_to_str(MENU_ENUM_LABEL_CORE_COUNTERS), MENU_ENUM_LABEL_CORE_COUNTERS, @@ -3816,6 +3815,31 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct switch (type) { + case DISPLAYLIST_SCAN_DIRECTORY_LIST: +#ifdef HAVE_LIBRETRODB + if (menu_entries_append_enum(list, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_DIRECTORY), + msg_hash_to_str(MENU_ENUM_LABEL_SCAN_DIRECTORY), + MENU_ENUM_LABEL_SCAN_DIRECTORY, + MENU_SETTING_ACTION, 0, 0)) + count++; + if (menu_entries_append_enum(list, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_FILE), + msg_hash_to_str(MENU_ENUM_LABEL_SCAN_FILE), + MENU_ENUM_LABEL_SCAN_FILE, + MENU_SETTING_ACTION, 0, 0)) + count++; +#endif + if (menu_entries_append_enum(list, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MANUAL_CONTENT_SCAN_LIST), + msg_hash_to_str(MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_LIST), + MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_LIST, + MENU_SETTING_ACTION, 0, 0)) + count++; + break; + case DISPLAYLIST_INFORMATION_LIST: + count = menu_displaylist_parse_information_list(list); + break; case DISPLAYLIST_HELP_SCREEN_LIST: if (menu_entries_append_enum(list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_HELP_CONTROLS), @@ -8017,6 +8041,8 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, case DISPLAYLIST_VIDEO_SETTINGS_LIST: case DISPLAYLIST_AUDIO_SETTINGS_LIST: case DISPLAYLIST_HELP_SCREEN_LIST: + case DISPLAYLIST_INFORMATION_LIST: + case DISPLAYLIST_SCAN_DIRECTORY_LIST: menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); count = menu_displaylist_build_list(info->list, type); @@ -8035,6 +8061,8 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, case DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_LEFT_THUMBNAIL_MODE: case DISPLAYLIST_DROPDOWN_LIST_MANUAL_CONTENT_SCAN_SYSTEM_NAME: case DISPLAYLIST_DROPDOWN_LIST_MANUAL_CONTENT_SCAN_CORE_NAME: + case DISPLAYLIST_INFORMATION_LIST: + case DISPLAYLIST_SCAN_DIRECTORY_LIST: menu_entries_append_enum(info->list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ENTRIES_TO_DISPLAY), msg_hash_to_str(MENU_ENUM_LABEL_NO_ENTRIES_TO_DISPLAY), @@ -8187,57 +8215,6 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, info->need_refresh = true; info->need_push = true; break; - case DISPLAYLIST_INFORMATION_LIST: - menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); - count = menu_displaylist_parse_information_list(info); - - if (count == 0) - menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ENTRIES_TO_DISPLAY), - msg_hash_to_str(MENU_ENUM_LABEL_NO_ENTRIES_TO_DISPLAY), - MENU_ENUM_LABEL_NO_ENTRIES_TO_DISPLAY, - FILE_TYPE_NONE, 0, 0); - - ret = 0; - - info->need_push = true; - info->need_refresh = true; - break; - case DISPLAYLIST_SCAN_DIRECTORY_LIST: - menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); - -#ifdef HAVE_LIBRETRODB - if (menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_DIRECTORY), - msg_hash_to_str(MENU_ENUM_LABEL_SCAN_DIRECTORY), - MENU_ENUM_LABEL_SCAN_DIRECTORY, - MENU_SETTING_ACTION, 0, 0)) - count++; - if (menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_FILE), - msg_hash_to_str(MENU_ENUM_LABEL_SCAN_FILE), - MENU_ENUM_LABEL_SCAN_FILE, - MENU_SETTING_ACTION, 0, 0)) - count++; -#endif - if (menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MANUAL_CONTENT_SCAN_LIST), - msg_hash_to_str(MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_LIST), - MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_LIST, - MENU_SETTING_ACTION, 0, 0)) - count++; - - if (count == 0) - menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ENTRIES_TO_DISPLAY), - msg_hash_to_str(MENU_ENUM_LABEL_NO_ENTRIES_TO_DISPLAY), - MENU_ENUM_LABEL_NO_ENTRIES_TO_DISPLAY, - FILE_TYPE_NONE, 0, 0); - - ret = 0; - info->need_push = true; - info->need_refresh = true; - break; case DISPLAYLIST_NETPLAY_ROOM_LIST: menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);