(menu_displaylist) Refactors

This commit is contained in:
libretroadmin 2023-04-25 15:06:56 +02:00
parent 8a6584d0df
commit c35fddad86
1 changed files with 3543 additions and 3565 deletions

View File

@ -969,8 +969,7 @@ static unsigned menu_displaylist_parse_core_backup_list(
return count; return count;
} }
static unsigned menu_displaylist_parse_core_manager_list( static unsigned menu_displaylist_parse_core_manager_list(file_list_t *list,
menu_displaylist_info_t *info,
settings_t *settings) settings_t *settings)
{ {
unsigned count = 0; unsigned count = 0;
@ -1020,16 +1019,15 @@ static unsigned menu_displaylist_parse_core_manager_list(
continue; continue;
} }
if (menu_entries_append(info->list, if (menu_entries_append(list,
core_info->path, core_info->path,
"", "",
MENU_ENUM_LABEL_CORE_MANAGER_ENTRY, MENU_ENUM_LABEL_CORE_MANAGER_ENTRY,
MENU_SETTING_ACTION_CORE_MANAGER_OPTIONS, MENU_SETTING_ACTION_CORE_MANAGER_OPTIONS,
0, 0, NULL)) 0, 0, NULL))
{ {
file_list_set_alt_at_offset( file_list_set_alt_at_offset(list, menu_index,
info->list, menu_index, core_info->display_name); core_info->display_name);
menu_index++; menu_index++;
count++; count++;
} }
@ -1039,7 +1037,7 @@ static unsigned menu_displaylist_parse_core_manager_list(
/* Add 'sideload core' entry */ /* Add 'sideload core' entry */
if (!kiosk_mode_enable) if (!kiosk_mode_enable)
if (menu_entries_append(info->list, if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SIDELOAD_CORE_LIST), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SIDELOAD_CORE_LIST),
msg_hash_to_str(MENU_ENUM_LABEL_SIDELOAD_CORE_LIST), msg_hash_to_str(MENU_ENUM_LABEL_SIDELOAD_CORE_LIST),
MENU_ENUM_LABEL_SIDELOAD_CORE_LIST, MENU_ENUM_LABEL_SIDELOAD_CORE_LIST,
@ -1051,12 +1049,10 @@ static unsigned menu_displaylist_parse_core_manager_list(
#ifdef HAVE_MIST #ifdef HAVE_MIST
static unsigned menu_displaylist_parse_core_manager_steam_list( static unsigned menu_displaylist_parse_core_manager_steam_list(
menu_displaylist_info_t *info, file_list_t *list, settings_t *settings)
settings_t *settings)
{ {
size_t i; size_t i;
steam_core_dlc_list_t *dlc_list; steam_core_dlc_list_t *dlc_list;
steam_core_dlc_t *dlc_info;
unsigned count = 0; unsigned count = 0;
MistResult result = steam_get_core_dlcs(&dlc_list, false); MistResult result = steam_get_core_dlcs(&dlc_list, false);
if (MIST_IS_ERROR(result)) if (MIST_IS_ERROR(result))
@ -1068,9 +1064,8 @@ static unsigned menu_displaylist_parse_core_manager_steam_list(
for (i = 0; i < dlc_list->count; i++) for (i = 0; i < dlc_list->count; i++)
{ {
dlc_info = steam_core_dlc_list_get(dlc_list, i); steam_core_dlc_t *dlc_info = steam_core_dlc_list_get(dlc_list, i);
if (menu_entries_append(list,
if (menu_entries_append(info->list,
dlc_info->name, dlc_info->name,
"", "",
MENU_ENUM_LABEL_CORE_MANAGER_STEAM_ENTRY, MENU_ENUM_LABEL_CORE_MANAGER_STEAM_ENTRY,
@ -1234,8 +1229,8 @@ static unsigned menu_displaylist_parse_core_option_dropdown_list(
return count; return count;
} }
static unsigned menu_displaylist_parse_core_option_override_list( static unsigned menu_displaylist_parse_core_option_override_list(file_list_t *list,
menu_displaylist_info_t *info, settings_t *settings) settings_t *settings)
{ {
unsigned count = 0; unsigned count = 0;
runloop_state_t *runloop_st = runloop_state_get_ptr(); runloop_state_t *runloop_st = runloop_state_get_ptr();
@ -1257,7 +1252,7 @@ static unsigned menu_displaylist_parse_core_option_override_list(
goto end; goto end;
/* Show currently active core options file */ /* Show currently active core options file */
if (menu_entries_append(info->list, if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_OPTION_OVERRIDE_INFO), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_OPTION_OVERRIDE_INFO),
msg_hash_to_str(MENU_ENUM_LABEL_CORE_OPTION_OVERRIDE_INFO), msg_hash_to_str(MENU_ENUM_LABEL_CORE_OPTION_OVERRIDE_INFO),
MENU_ENUM_LABEL_CORE_OPTION_OVERRIDE_INFO, MENU_ENUM_LABEL_CORE_OPTION_OVERRIDE_INFO,
@ -1267,7 +1262,7 @@ static unsigned menu_displaylist_parse_core_option_override_list(
/* Save core option overrides */ /* Save core option overrides */
if (!game_options_active) if (!game_options_active)
{ {
if (menu_entries_append(info->list, if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GAME_SPECIFIC_CORE_OPTIONS_CREATE), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GAME_SPECIFIC_CORE_OPTIONS_CREATE),
msg_hash_to_str(MENU_ENUM_LABEL_GAME_SPECIFIC_CORE_OPTIONS_CREATE), msg_hash_to_str(MENU_ENUM_LABEL_GAME_SPECIFIC_CORE_OPTIONS_CREATE),
MENU_ENUM_LABEL_GAME_SPECIFIC_CORE_OPTIONS_CREATE, MENU_ENUM_LABEL_GAME_SPECIFIC_CORE_OPTIONS_CREATE,
@ -1275,7 +1270,7 @@ static unsigned menu_displaylist_parse_core_option_override_list(
count++; count++;
if (!folder_options_active) if (!folder_options_active)
if (menu_entries_append(info->list, if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FOLDER_SPECIFIC_CORE_OPTIONS_CREATE), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FOLDER_SPECIFIC_CORE_OPTIONS_CREATE),
msg_hash_to_str(MENU_ENUM_LABEL_FOLDER_SPECIFIC_CORE_OPTIONS_CREATE), msg_hash_to_str(MENU_ENUM_LABEL_FOLDER_SPECIFIC_CORE_OPTIONS_CREATE),
MENU_ENUM_LABEL_FOLDER_SPECIFIC_CORE_OPTIONS_CREATE, MENU_ENUM_LABEL_FOLDER_SPECIFIC_CORE_OPTIONS_CREATE,
@ -1285,7 +1280,7 @@ static unsigned menu_displaylist_parse_core_option_override_list(
else else
{ {
/* Remove core option overrides */ /* Remove core option overrides */
if (menu_entries_append(info->list, if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GAME_SPECIFIC_CORE_OPTIONS_REMOVE), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GAME_SPECIFIC_CORE_OPTIONS_REMOVE),
msg_hash_to_str(MENU_ENUM_LABEL_GAME_SPECIFIC_CORE_OPTIONS_REMOVE), msg_hash_to_str(MENU_ENUM_LABEL_GAME_SPECIFIC_CORE_OPTIONS_REMOVE),
MENU_ENUM_LABEL_GAME_SPECIFIC_CORE_OPTIONS_REMOVE, MENU_ENUM_LABEL_GAME_SPECIFIC_CORE_OPTIONS_REMOVE,
@ -1294,7 +1289,7 @@ static unsigned menu_displaylist_parse_core_option_override_list(
} }
if (folder_options_active) if (folder_options_active)
if (menu_entries_append(info->list, if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FOLDER_SPECIFIC_CORE_OPTIONS_REMOVE), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FOLDER_SPECIFIC_CORE_OPTIONS_REMOVE),
msg_hash_to_str(MENU_ENUM_LABEL_FOLDER_SPECIFIC_CORE_OPTIONS_REMOVE), msg_hash_to_str(MENU_ENUM_LABEL_FOLDER_SPECIFIC_CORE_OPTIONS_REMOVE),
MENU_ENUM_LABEL_FOLDER_SPECIFIC_CORE_OPTIONS_REMOVE, MENU_ENUM_LABEL_FOLDER_SPECIFIC_CORE_OPTIONS_REMOVE,
@ -1305,7 +1300,7 @@ end:
{ {
/* Flush core options to disk */ /* Flush core options to disk */
if (show_core_options_flush) if (show_core_options_flush)
if (menu_entries_append(info->list, if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_OPTIONS_FLUSH), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_OPTIONS_FLUSH),
msg_hash_to_str(MENU_ENUM_LABEL_CORE_OPTIONS_FLUSH), msg_hash_to_str(MENU_ENUM_LABEL_CORE_OPTIONS_FLUSH),
MENU_ENUM_LABEL_CORE_OPTIONS_FLUSH, MENU_ENUM_LABEL_CORE_OPTIONS_FLUSH,
@ -1313,7 +1308,7 @@ end:
count++; count++;
/* Reset core options */ /* Reset core options */
if (menu_entries_append(info->list, if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_OPTIONS_RESET), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_OPTIONS_RESET),
msg_hash_to_str(MENU_ENUM_LABEL_CORE_OPTIONS_RESET), msg_hash_to_str(MENU_ENUM_LABEL_CORE_OPTIONS_RESET),
MENU_ENUM_LABEL_CORE_OPTIONS_RESET, MENU_ENUM_LABEL_CORE_OPTIONS_RESET,
@ -1321,21 +1316,11 @@ end:
count++; count++;
} }
/* Fallback, in case we open this menu while running
* a core without options */
if (count == 0)
if (menu_entries_append(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_SETTINGS_FOUND),
msg_hash_to_str(MENU_ENUM_LABEL_NO_SETTINGS_FOUND),
MENU_ENUM_LABEL_NO_SETTINGS_FOUND,
0, 0, 0, NULL))
count++;
return count; return count;
} }
static unsigned menu_displaylist_parse_remap_file_manager_list( static unsigned menu_displaylist_parse_remap_file_manager_list(file_list_t *list,
menu_displaylist_info_t *info, settings_t *settings) settings_t *settings)
{ {
unsigned count = 0; unsigned count = 0;
uint32_t flags = runloop_get_flags(); uint32_t flags = runloop_get_flags();
@ -1349,10 +1334,10 @@ static unsigned menu_displaylist_parse_remap_file_manager_list(
* unless a valid core is running */ * unless a valid core is running */
if ( !(flags & RUNLOOP_FLAG_CORE_RUNNING) if ( !(flags & RUNLOOP_FLAG_CORE_RUNNING)
|| retroarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL)) || retroarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL))
goto end; return 0;
/* Show currently 'active' remap file */ /* Show currently 'active' remap file */
if (menu_entries_append(info->list, if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_INFO), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_INFO),
msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_INFO), msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_INFO),
MENU_ENUM_LABEL_REMAP_FILE_INFO, MENU_ENUM_LABEL_REMAP_FILE_INFO,
@ -1360,7 +1345,7 @@ static unsigned menu_displaylist_parse_remap_file_manager_list(
count++; count++;
/* Load remap file */ /* Load remap file */
if (menu_entries_append(info->list, if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_LOAD), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_LOAD),
msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_LOAD), msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_LOAD),
MENU_ENUM_LABEL_REMAP_FILE_LOAD, MENU_ENUM_LABEL_REMAP_FILE_LOAD,
@ -1372,14 +1357,14 @@ static unsigned menu_displaylist_parse_remap_file_manager_list(
/* Save remap files */ /* Save remap files */
if (has_content) if (has_content)
{ {
if (menu_entries_append(info->list, if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_SAVE_GAME), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_SAVE_GAME),
msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_SAVE_GAME), msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_SAVE_GAME),
MENU_ENUM_LABEL_REMAP_FILE_SAVE_GAME, MENU_ENUM_LABEL_REMAP_FILE_SAVE_GAME,
MENU_SETTING_ACTION_REMAP_FILE_SAVE_GAME, 0, 0, NULL)) MENU_SETTING_ACTION_REMAP_FILE_SAVE_GAME, 0, 0, NULL))
count++; count++;
if (!content_dir_remap_active && if (!content_dir_remap_active &&
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_SAVE_CONTENT_DIR), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_SAVE_CONTENT_DIR),
msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_SAVE_CONTENT_DIR), msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_SAVE_CONTENT_DIR),
MENU_ENUM_LABEL_REMAP_FILE_SAVE_CONTENT_DIR, MENU_ENUM_LABEL_REMAP_FILE_SAVE_CONTENT_DIR,
@ -1390,7 +1375,7 @@ static unsigned menu_displaylist_parse_remap_file_manager_list(
if ( if (
!content_dir_remap_active && !content_dir_remap_active &&
!core_remap_active && !core_remap_active &&
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_SAVE_CORE), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_SAVE_CORE),
msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_SAVE_CORE), msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_SAVE_CORE),
MENU_ENUM_LABEL_REMAP_FILE_SAVE_CORE, MENU_ENUM_LABEL_REMAP_FILE_SAVE_CORE,
@ -1402,7 +1387,7 @@ static unsigned menu_displaylist_parse_remap_file_manager_list(
if (has_content) if (has_content)
{ {
if (game_remap_active && if (game_remap_active &&
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_REMOVE_GAME), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_REMOVE_GAME),
msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_REMOVE_GAME), msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_REMOVE_GAME),
MENU_ENUM_LABEL_REMAP_FILE_REMOVE_GAME, MENU_ENUM_LABEL_REMAP_FILE_REMOVE_GAME,
@ -1410,7 +1395,7 @@ static unsigned menu_displaylist_parse_remap_file_manager_list(
count++; count++;
if (content_dir_remap_active && if (content_dir_remap_active &&
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_REMOVE_CONTENT_DIR), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_REMOVE_CONTENT_DIR),
msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_REMOVE_CONTENT_DIR), msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_REMOVE_CONTENT_DIR),
MENU_ENUM_LABEL_REMAP_FILE_REMOVE_CONTENT_DIR, MENU_ENUM_LABEL_REMAP_FILE_REMOVE_CONTENT_DIR,
@ -1419,7 +1404,7 @@ static unsigned menu_displaylist_parse_remap_file_manager_list(
} }
if (core_remap_active && if (core_remap_active &&
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_REMOVE_CORE), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_REMOVE_CORE),
msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_REMOVE_CORE), msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_REMOVE_CORE),
MENU_ENUM_LABEL_REMAP_FILE_REMOVE_CORE, MENU_ENUM_LABEL_REMAP_FILE_REMOVE_CORE,
@ -1427,7 +1412,7 @@ static unsigned menu_displaylist_parse_remap_file_manager_list(
count++; count++;
/* Reset input remaps */ /* Reset input remaps */
if (menu_entries_append(info->list, if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_RESET), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_RESET),
msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_RESET), msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_RESET),
MENU_ENUM_LABEL_REMAP_FILE_RESET, MENU_ENUM_LABEL_REMAP_FILE_RESET,
@ -1439,21 +1424,12 @@ static unsigned menu_displaylist_parse_remap_file_manager_list(
(core_remap_active || (core_remap_active ||
content_dir_remap_active || content_dir_remap_active ||
game_remap_active) && game_remap_active) &&
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_FLUSH), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_REMAP_FILE_FLUSH),
msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_FLUSH), msg_hash_to_str(MENU_ENUM_LABEL_REMAP_FILE_FLUSH),
MENU_ENUM_LABEL_REMAP_FILE_FLUSH, MENU_ENUM_LABEL_REMAP_FILE_FLUSH,
MENU_SETTING_ACTION_REMAP_FILE_FLUSH, 0, 0, NULL)) MENU_SETTING_ACTION_REMAP_FILE_FLUSH, 0, 0, NULL))
count++; count++;
end:
/* Fallback */
if (count == 0)
if (menu_entries_append(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, NULL))
count++;
return count; return count;
} }
@ -3765,9 +3741,7 @@ static int menu_displaylist_parse_load_content_settings(
} }
static int menu_displaylist_parse_horizontal_content_actions( static int menu_displaylist_parse_horizontal_content_actions(
menu_handle_t *menu, menu_handle_t *menu, settings_t *settings, file_list_t *list)
settings_t *settings,
menu_displaylist_info_t *info)
{ {
bool content_loaded = false; bool content_loaded = false;
playlist_t *playlist = playlist_get_cached(); playlist_t *playlist = playlist_get_cached();
@ -3783,9 +3757,9 @@ static int menu_displaylist_parse_horizontal_content_actions(
if (content_loaded) if (content_loaded)
{ {
if (menu_displaylist_parse_load_content_settings(info->list, if (menu_displaylist_parse_load_content_settings(list,
settings, true) == 0) settings, true) == 0)
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ITEMS), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ITEMS),
msg_hash_to_str(MENU_ENUM_LABEL_NO_ITEMS), msg_hash_to_str(MENU_ENUM_LABEL_NO_ITEMS),
MENU_ENUM_LABEL_NO_ITEMS, MENU_ENUM_LABEL_NO_ITEMS,
@ -3804,13 +3778,13 @@ static int menu_displaylist_parse_horizontal_content_actions(
if (!string_is_empty(ext) && if (!string_is_empty(ext) &&
audio_driver_mixer_extension_supported(ext)) audio_driver_mixer_extension_supported(ext))
{ {
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ADD_TO_MIXER), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ADD_TO_MIXER),
msg_hash_to_str(MENU_ENUM_LABEL_ADD_TO_MIXER), msg_hash_to_str(MENU_ENUM_LABEL_ADD_TO_MIXER),
MENU_ENUM_LABEL_ADD_TO_MIXER, MENU_ENUM_LABEL_ADD_TO_MIXER,
FILE_TYPE_PLAYLIST_ENTRY, 0, idx, NULL); FILE_TYPE_PLAYLIST_ENTRY, 0, idx, NULL);
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ADD_TO_MIXER_AND_PLAY), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ADD_TO_MIXER_AND_PLAY),
msg_hash_to_str(MENU_ENUM_LABEL_ADD_TO_MIXER_AND_PLAY), msg_hash_to_str(MENU_ENUM_LABEL_ADD_TO_MIXER_AND_PLAY),
MENU_ENUM_LABEL_ADD_TO_MIXER_AND_PLAY, MENU_ENUM_LABEL_ADD_TO_MIXER_AND_PLAY,
@ -3821,14 +3795,14 @@ static int menu_displaylist_parse_horizontal_content_actions(
if (!string_is_empty(playlist_path)) if (!string_is_empty(playlist_path))
playlist_file = path_basename_nocompression(playlist_path); playlist_file = path_basename_nocompression(playlist_path);
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RUN), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RUN),
msg_hash_to_str(MENU_ENUM_LABEL_RUN), msg_hash_to_str(MENU_ENUM_LABEL_RUN),
MENU_ENUM_LABEL_RUN, FILE_TYPE_PLAYLIST_ENTRY, 0, idx, NULL); MENU_ENUM_LABEL_RUN, FILE_TYPE_PLAYLIST_ENTRY, 0, idx, NULL);
if (settings->bools.playlist_entry_rename && if (settings->bools.playlist_entry_rename &&
!settings->bools.kiosk_mode_enable) !settings->bools.kiosk_mode_enable)
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RENAME_ENTRY), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RENAME_ENTRY),
msg_hash_to_str(MENU_ENUM_LABEL_RENAME_ENTRY), msg_hash_to_str(MENU_ENUM_LABEL_RENAME_ENTRY),
MENU_ENUM_LABEL_RENAME_ENTRY, MENU_ENUM_LABEL_RENAME_ENTRY,
@ -3872,7 +3846,7 @@ static int menu_displaylist_parse_horizontal_content_actions(
} }
if (remove_entry_enabled) if (remove_entry_enabled)
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY),
msg_hash_to_str(MENU_ENUM_LABEL_DELETE_ENTRY), msg_hash_to_str(MENU_ENUM_LABEL_DELETE_ENTRY),
MENU_ENUM_LABEL_DELETE_ENTRY, MENU_ENUM_LABEL_DELETE_ENTRY,
@ -3888,7 +3862,7 @@ static int menu_displaylist_parse_horizontal_content_actions(
string_is_equal(playlist_file, FILE_PATH_CONTENT_FAVORITES)) string_is_equal(playlist_file, FILE_PATH_CONTENT_FAVORITES))
) )
{ {
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ADD_TO_FAVORITES_PLAYLIST), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ADD_TO_FAVORITES_PLAYLIST),
msg_hash_to_str(MENU_ENUM_LABEL_ADD_TO_FAVORITES_PLAYLIST), msg_hash_to_str(MENU_ENUM_LABEL_ADD_TO_FAVORITES_PLAYLIST),
MENU_ENUM_LABEL_ADD_TO_FAVORITES_PLAYLIST, FILE_TYPE_PLAYLIST_ENTRY, 0, 0, NULL); MENU_ENUM_LABEL_ADD_TO_FAVORITES_PLAYLIST, FILE_TYPE_PLAYLIST_ENTRY, 0, 0, NULL);
@ -3897,7 +3871,7 @@ static int menu_displaylist_parse_horizontal_content_actions(
if ( settings->bools.quick_menu_show_set_core_association && if ( settings->bools.quick_menu_show_set_core_association &&
!settings->bools.kiosk_mode_enable) !settings->bools.kiosk_mode_enable)
{ {
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SET_CORE_ASSOCIATION), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SET_CORE_ASSOCIATION),
msg_hash_to_str(MENU_ENUM_LABEL_SET_CORE_ASSOCIATION), msg_hash_to_str(MENU_ENUM_LABEL_SET_CORE_ASSOCIATION),
MENU_ENUM_LABEL_SET_CORE_ASSOCIATION, FILE_TYPE_PLAYLIST_ENTRY, 0, 0, NULL); MENU_ENUM_LABEL_SET_CORE_ASSOCIATION, FILE_TYPE_PLAYLIST_ENTRY, 0, 0, NULL);
@ -3907,7 +3881,7 @@ static int menu_displaylist_parse_horizontal_content_actions(
settings->bools.quick_menu_show_reset_core_association && settings->bools.quick_menu_show_reset_core_association &&
!settings->bools.kiosk_mode_enable) !settings->bools.kiosk_mode_enable)
{ {
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RESET_CORE_ASSOCIATION), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RESET_CORE_ASSOCIATION),
msg_hash_to_str(MENU_ENUM_LABEL_RESET_CORE_ASSOCIATION), msg_hash_to_str(MENU_ENUM_LABEL_RESET_CORE_ASSOCIATION),
MENU_ENUM_LABEL_RESET_CORE_ASSOCIATION, FILE_TYPE_PLAYLIST_ENTRY, 0, 0, NULL); MENU_ENUM_LABEL_RESET_CORE_ASSOCIATION, FILE_TYPE_PLAYLIST_ENTRY, 0, 0, NULL);
@ -3954,7 +3928,7 @@ static int menu_displaylist_parse_horizontal_content_actions(
download_enabled = false; download_enabled = false;
if (download_enabled) if (download_enabled)
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DOWNLOAD_PL_ENTRY_THUMBNAILS), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DOWNLOAD_PL_ENTRY_THUMBNAILS),
msg_hash_to_str(MENU_ENUM_LABEL_DOWNLOAD_PL_ENTRY_THUMBNAILS), msg_hash_to_str(MENU_ENUM_LABEL_DOWNLOAD_PL_ENTRY_THUMBNAILS),
MENU_ENUM_LABEL_DOWNLOAD_PL_ENTRY_THUMBNAILS, FILE_TYPE_PLAYLIST_ENTRY, 0, 0, NULL); MENU_ENUM_LABEL_DOWNLOAD_PL_ENTRY_THUMBNAILS, FILE_TYPE_PLAYLIST_ENTRY, 0, 0, NULL);
@ -3962,7 +3936,7 @@ static int menu_displaylist_parse_horizontal_content_actions(
#endif #endif
if (settings->bools.quick_menu_show_information) if (settings->bools.quick_menu_show_information)
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_INFORMATION), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_INFORMATION),
msg_hash_to_str(MENU_ENUM_LABEL_INFORMATION), msg_hash_to_str(MENU_ENUM_LABEL_INFORMATION),
MENU_ENUM_LABEL_INFORMATION, MENU_SETTING_ACTION, 0, 0, NULL); MENU_ENUM_LABEL_INFORMATION, MENU_SETTING_ACTION, 0, 0, NULL);
@ -4441,8 +4415,7 @@ static unsigned menu_displaylist_parse_cores(
} }
static unsigned menu_displaylist_parse_playlist_manager_list( static unsigned menu_displaylist_parse_playlist_manager_list(
menu_displaylist_info_t *info, file_list_t *list, settings_t *settings)
settings_t *settings)
{ {
unsigned count = 0; unsigned count = 0;
const char *dir_playlist = settings->paths.directory_playlist; const char *dir_playlist = settings->paths.directory_playlist;
@ -4490,7 +4463,7 @@ static unsigned menu_displaylist_parse_playlist_manager_list(
FILE_PATH_CONTENT_FAVORITES)) FILE_PATH_CONTENT_FAVORITES))
continue; continue;
menu_entries_append(info->list, menu_entries_append(list,
path, path,
"", "",
MENU_ENUM_LABEL_PLAYLIST_MANAGER_SETTINGS, MENU_ENUM_LABEL_PLAYLIST_MANAGER_SETTINGS,
@ -4507,7 +4480,7 @@ static unsigned menu_displaylist_parse_playlist_manager_list(
if (history_list_enable) if (history_list_enable)
if (g_defaults.content_history) if (g_defaults.content_history)
if (playlist_size(g_defaults.content_history) > 0) if (playlist_size(g_defaults.content_history) > 0)
if (menu_entries_append(info->list, if (menu_entries_append(list,
playlist_get_conf_path(g_defaults.content_history), playlist_get_conf_path(g_defaults.content_history),
"", "",
MENU_ENUM_LABEL_PLAYLIST_MANAGER_SETTINGS, MENU_ENUM_LABEL_PLAYLIST_MANAGER_SETTINGS,
@ -4518,7 +4491,7 @@ static unsigned menu_displaylist_parse_playlist_manager_list(
/* Add favourites */ /* Add favourites */
if (g_defaults.content_favorites) if (g_defaults.content_favorites)
if (playlist_size(g_defaults.content_favorites) > 0) if (playlist_size(g_defaults.content_favorites) > 0)
if (menu_entries_append(info->list, if (menu_entries_append(list,
playlist_get_conf_path(g_defaults.content_favorites), playlist_get_conf_path(g_defaults.content_favorites),
"", "",
MENU_ENUM_LABEL_PLAYLIST_MANAGER_SETTINGS, MENU_ENUM_LABEL_PLAYLIST_MANAGER_SETTINGS,
@ -4531,8 +4504,7 @@ static unsigned menu_displaylist_parse_playlist_manager_list(
static bool menu_displaylist_parse_playlist_manager_settings( static bool menu_displaylist_parse_playlist_manager_settings(
menu_handle_t *menu, menu_handle_t *menu,
settings_t *settings, settings_t *settings, file_list_t *list,
menu_displaylist_info_t *info,
const char *playlist_path) const char *playlist_path)
{ {
enum msg_hash_enums right_thumbnail_label_value; enum msg_hash_enums right_thumbnail_label_value;
@ -4573,21 +4545,21 @@ static bool menu_displaylist_parse_playlist_manager_settings(
* (i.e. it is not relevant for history/favourites) */ * (i.e. it is not relevant for history/favourites) */
if (!is_content_history && if (!is_content_history &&
!string_is_equal(playlist_file, FILE_PATH_CONTENT_FAVORITES)) !string_is_equal(playlist_file, FILE_PATH_CONTENT_FAVORITES))
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_DEFAULT_CORE), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_DEFAULT_CORE),
msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE), msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE),
MENU_ENUM_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE, MENU_ENUM_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE,
MENU_SETTING_PLAYLIST_MANAGER_DEFAULT_CORE, 0, 0, NULL); MENU_SETTING_PLAYLIST_MANAGER_DEFAULT_CORE, 0, 0, NULL);
/* Reset core associations */ /* Reset core associations */
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_RESET_CORES), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_RESET_CORES),
msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_RESET_CORES), msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_RESET_CORES),
MENU_ENUM_LABEL_PLAYLIST_MANAGER_RESET_CORES, MENU_ENUM_LABEL_PLAYLIST_MANAGER_RESET_CORES,
MENU_SETTING_ACTION_PLAYLIST_MANAGER_RESET_CORES, 0, 0, NULL); MENU_SETTING_ACTION_PLAYLIST_MANAGER_RESET_CORES, 0, 0, NULL);
/* Label display mode */ /* Label display mode */
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE),
msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE), msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE),
MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE, MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
@ -4621,14 +4593,14 @@ static bool menu_displaylist_parse_playlist_manager_settings(
#endif #endif
/* > Right thumbnail mode */ /* > Right thumbnail mode */
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(right_thumbnail_label_value), msg_hash_to_str(right_thumbnail_label_value),
msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_RIGHT_THUMBNAIL_MODE), msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_RIGHT_THUMBNAIL_MODE),
MENU_ENUM_LABEL_PLAYLIST_MANAGER_RIGHT_THUMBNAIL_MODE, MENU_ENUM_LABEL_PLAYLIST_MANAGER_RIGHT_THUMBNAIL_MODE,
MENU_SETTING_PLAYLIST_MANAGER_RIGHT_THUMBNAIL_MODE, 0, 0, NULL); MENU_SETTING_PLAYLIST_MANAGER_RIGHT_THUMBNAIL_MODE, 0, 0, NULL);
/* > Left thumbnail mode */ /* > Left thumbnail mode */
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(left_thumbnail_label_value), msg_hash_to_str(left_thumbnail_label_value),
msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_LEFT_THUMBNAIL_MODE), msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_LEFT_THUMBNAIL_MODE),
MENU_ENUM_LABEL_PLAYLIST_MANAGER_LEFT_THUMBNAIL_MODE, MENU_ENUM_LABEL_PLAYLIST_MANAGER_LEFT_THUMBNAIL_MODE,
@ -4637,7 +4609,7 @@ static bool menu_displaylist_parse_playlist_manager_settings(
/* Sorting mode /* Sorting mode
* > Not relevant for history playlists */ * > Not relevant for history playlists */
if (!is_content_history) if (!is_content_history)
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_SORT_MODE), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_SORT_MODE),
msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_SORT_MODE), msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_SORT_MODE),
MENU_ENUM_LABEL_PLAYLIST_MANAGER_SORT_MODE, MENU_ENUM_LABEL_PLAYLIST_MANAGER_SORT_MODE,
@ -4645,21 +4617,21 @@ static bool menu_displaylist_parse_playlist_manager_settings(
/* Refresh playlist */ /* Refresh playlist */
if (playlist_scan_refresh_enabled(playlist)) if (playlist_scan_refresh_enabled(playlist))
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_REFRESH_PLAYLIST), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_REFRESH_PLAYLIST),
msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_REFRESH_PLAYLIST), msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_REFRESH_PLAYLIST),
MENU_ENUM_LABEL_PLAYLIST_MANAGER_REFRESH_PLAYLIST, MENU_ENUM_LABEL_PLAYLIST_MANAGER_REFRESH_PLAYLIST,
MENU_SETTING_ACTION_PLAYLIST_MANAGER_REFRESH_PLAYLIST, 0, 0, NULL); MENU_SETTING_ACTION_PLAYLIST_MANAGER_REFRESH_PLAYLIST, 0, 0, NULL);
/* Clean playlist */ /* Clean playlist */
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_CLEAN_PLAYLIST), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_CLEAN_PLAYLIST),
msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_CLEAN_PLAYLIST), msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_CLEAN_PLAYLIST),
MENU_ENUM_LABEL_PLAYLIST_MANAGER_CLEAN_PLAYLIST, MENU_ENUM_LABEL_PLAYLIST_MANAGER_CLEAN_PLAYLIST,
MENU_SETTING_ACTION_PLAYLIST_MANAGER_CLEAN_PLAYLIST, 0, 0, NULL); MENU_SETTING_ACTION_PLAYLIST_MANAGER_CLEAN_PLAYLIST, 0, 0, NULL);
/* Delete playlist */ /* Delete playlist */
menu_entries_append(info->list, menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DELETE_PLAYLIST), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DELETE_PLAYLIST),
msg_hash_to_str(MENU_ENUM_LABEL_DELETE_PLAYLIST), msg_hash_to_str(MENU_ENUM_LABEL_DELETE_PLAYLIST),
MENU_ENUM_LABEL_DELETE_PLAYLIST, MENU_ENUM_LABEL_DELETE_PLAYLIST,
@ -4670,7 +4642,7 @@ static bool menu_displaylist_parse_playlist_manager_settings(
#ifdef HAVE_NETWORKING #ifdef HAVE_NETWORKING
static unsigned menu_displaylist_parse_pl_thumbnail_download_list( static unsigned menu_displaylist_parse_pl_thumbnail_download_list(
menu_displaylist_info_t *info, settings_t *settings) file_list_t *list, settings_t *settings)
{ {
unsigned count = 0; unsigned count = 0;
const char *dir_playlist = settings->paths.directory_playlist; const char *dir_playlist = settings->paths.directory_playlist;
@ -4704,7 +4676,7 @@ static unsigned menu_displaylist_parse_pl_thumbnail_download_list(
strlcpy(path_base, path, sizeof(path_base)); strlcpy(path_base, path, sizeof(path_base));
path_remove_extension(path_base); path_remove_extension(path_base);
menu_entries_append(info->list, menu_entries_append(list,
path_base, path_base,
path, path,
MENU_ENUM_LABEL_PL_THUMBNAILS_UPDATER_ENTRY, MENU_ENUM_LABEL_PL_THUMBNAILS_UPDATER_ENTRY,
@ -4723,8 +4695,7 @@ static unsigned menu_displaylist_parse_pl_thumbnail_download_list(
static unsigned menu_displaylist_parse_content_information( static unsigned menu_displaylist_parse_content_information(
menu_handle_t *menu, menu_handle_t *menu,
settings_t *settings, settings_t *settings, file_list_t *info_list)
menu_displaylist_info_t *info)
{ {
char tmp[8192]; char tmp[8192];
char core_name[256]; char core_name[256];
@ -4848,7 +4819,7 @@ static unsigned menu_displaylist_parse_content_information(
strlcat(db_path, ".rdb", sizeof(db_path)); strlcat(db_path, ".rdb", sizeof(db_path));
if (path_is_valid(db_path)) if (path_is_valid(db_path))
if (menu_entries_append(info->list, if (menu_entries_append(info_list,
content_label, content_label,
db_path, db_path,
MENU_ENUM_LABEL_RDB_ENTRY_DETAIL, MENU_ENUM_LABEL_RDB_ENTRY_DETAIL,
@ -4877,7 +4848,7 @@ static unsigned menu_displaylist_parse_content_information(
tmp[_len+1] = ' '; tmp[_len+1] = ' ';
tmp[_len+2] = '\0'; tmp[_len+2] = '\0';
strlcat(tmp, db_name_no_ext, sizeof(tmp)); strlcat(tmp, db_name_no_ext, sizeof(tmp));
if (menu_entries_append(info->list, tmp, if (menu_entries_append(info_list, tmp,
msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_INFO_DATABASE), msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_INFO_DATABASE),
MENU_ENUM_LABEL_CONTENT_INFO_DATABASE, MENU_ENUM_LABEL_CONTENT_INFO_DATABASE,
0, 0, 0, NULL)) 0, 0, 0, NULL))
@ -4902,7 +4873,7 @@ static unsigned menu_displaylist_parse_content_information(
? content_label ? content_label
: msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NOT_AVAILABLE), : msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NOT_AVAILABLE),
sizeof(tmp)); sizeof(tmp));
if (menu_entries_append(info->list, tmp, if (menu_entries_append(info_list, tmp,
msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_INFO_LABEL), msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_INFO_LABEL),
MENU_ENUM_LABEL_CONTENT_INFO_LABEL, MENU_ENUM_LABEL_CONTENT_INFO_LABEL,
0, 0, 0, NULL)) 0, 0, 0, NULL))
@ -4919,7 +4890,7 @@ static unsigned menu_displaylist_parse_content_information(
? content_path ? content_path
: msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NOT_AVAILABLE), : msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NOT_AVAILABLE),
sizeof(tmp)); sizeof(tmp));
if (menu_entries_append(info->list, tmp, if (menu_entries_append(info_list, tmp,
msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_INFO_PATH), msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_INFO_PATH),
MENU_ENUM_LABEL_CONTENT_INFO_PATH, MENU_ENUM_LABEL_CONTENT_INFO_PATH,
0, 0, 0, NULL)) 0, 0, 0, NULL))
@ -4937,7 +4908,7 @@ static unsigned menu_displaylist_parse_content_information(
tmp[_len+1] = ' '; tmp[_len+1] = ' ';
tmp[_len+2] = '\0'; tmp[_len+2] = '\0';
strlcat(tmp, core_name, sizeof(tmp)); strlcat(tmp, core_name, sizeof(tmp));
if (menu_entries_append(info->list, tmp, if (menu_entries_append(info_list, tmp,
msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_INFO_CORE_NAME), msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_INFO_CORE_NAME),
MENU_ENUM_LABEL_CONTENT_INFO_CORE_NAME, MENU_ENUM_LABEL_CONTENT_INFO_CORE_NAME,
0, 0, 0, NULL)) 0, 0, 0, NULL))
@ -4966,7 +4937,7 @@ static unsigned menu_displaylist_parse_content_information(
runtime_log_get_runtime_str(runtime_log, tmp, sizeof(tmp)); runtime_log_get_runtime_str(runtime_log, tmp, sizeof(tmp));
if (!string_is_empty(tmp)) if (!string_is_empty(tmp))
if (menu_entries_append(info->list, tmp, if (menu_entries_append(info_list, tmp,
msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_INFO_RUNTIME), msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_INFO_RUNTIME),
MENU_ENUM_LABEL_CONTENT_INFO_RUNTIME, MENU_ENUM_LABEL_CONTENT_INFO_RUNTIME,
0, 0, 0, NULL)) 0, 0, 0, NULL))
@ -4979,7 +4950,7 @@ static unsigned menu_displaylist_parse_content_information(
(enum playlist_sublabel_last_played_date_separator_type)settings->uints.menu_timedate_date_separator); (enum playlist_sublabel_last_played_date_separator_type)settings->uints.menu_timedate_date_separator);
if (!string_is_empty(tmp)) if (!string_is_empty(tmp))
if (menu_entries_append(info->list, tmp, if (menu_entries_append(info_list, tmp,
msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_INFO_LAST_PLAYED), msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_INFO_LAST_PLAYED),
MENU_ENUM_LABEL_CONTENT_INFO_LAST_PLAYED, MENU_ENUM_LABEL_CONTENT_INFO_LAST_PLAYED,
0, 0, 0, NULL)) 0, 0, 0, NULL))
@ -5003,7 +4974,7 @@ static unsigned menu_displaylist_parse_content_information(
tmp[_len+2] = '\n'; tmp[_len+2] = '\n';
tmp[_len+3] = '\0'; tmp[_len+3] = '\0';
strlcat(tmp, rcheevos_get_hash(), sizeof(tmp)); strlcat(tmp, rcheevos_get_hash(), sizeof(tmp));
if (menu_entries_append(info->list, tmp, cheevos_hash_str, if (menu_entries_append(info_list, tmp, cheevos_hash_str,
MENU_ENUM_LABEL_VALUE_CONTENT_INFO_CHEEVOS_HASH, MENU_ENUM_LABEL_VALUE_CONTENT_INFO_CHEEVOS_HASH,
0, 0, 0, NULL)) 0, 0, 0, NULL))
count++; count++;
@ -5022,10 +4993,9 @@ static unsigned menu_displaylist_parse_disk_options(
/* Sanity Check */ /* Sanity Check */
if (!sys_info) if (!sys_info)
return count; return 0;
if (!disk_control_enabled(&sys_info->disk_control)) if (!disk_control_enabled(&sys_info->disk_control))
return count; return 0;
/* Check whether disk is currently ejected */ /* Check whether disk is currently ejected */
disk_ejected = disk_control_get_eject_state(&sys_info->disk_control); disk_ejected = disk_control_get_eject_state(&sys_info->disk_control);
@ -5041,6 +5011,14 @@ static unsigned menu_displaylist_parse_disk_options(
MENU_ENUM_LABEL_DISK_TRAY_INSERT, MENU_ENUM_LABEL_DISK_TRAY_INSERT,
MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_CYCLE_TRAY_STATUS, 0, 0, NULL)) MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_CYCLE_TRAY_STATUS, 0, 0, NULL))
count++; count++;
/* Only show disk index if disk is currently ejected */
if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISK_INDEX),
msg_hash_to_str(MENU_ENUM_LABEL_DISK_INDEX),
MENU_ENUM_LABEL_DISK_INDEX,
MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_INDEX, 0, 0, NULL))
count++;
} }
else else
if (menu_entries_append(list, if (menu_entries_append(list,
@ -5050,15 +5028,6 @@ static unsigned menu_displaylist_parse_disk_options(
MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_CYCLE_TRAY_STATUS, 0, 0, NULL)) MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_CYCLE_TRAY_STATUS, 0, 0, NULL))
count++; count++;
/* Only show disk index if disk is currently ejected */
if (disk_ejected)
if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISK_INDEX),
msg_hash_to_str(MENU_ENUM_LABEL_DISK_INDEX),
MENU_ENUM_LABEL_DISK_INDEX,
MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_INDEX, 0, 0, NULL))
count++;
/* If core does not support appending images, /* If core does not support appending images,
* can stop here */ * can stop here */
if (!disk_control_append_enabled(&sys_info->disk_control)) if (!disk_control_append_enabled(&sys_info->disk_control))
@ -5556,22 +5525,17 @@ end:
#ifdef HAVE_NETWORKING #ifdef HAVE_NETWORKING
static unsigned menu_displaylist_parse_netplay_mitm_server_list( static unsigned menu_displaylist_parse_netplay_mitm_server_list(
menu_displaylist_info_t *info, settings_t *settings) file_list_t *info_list, settings_t *settings)
{ {
size_t i; size_t i;
const char *netplay_mitm_server;
unsigned count = 0; unsigned count = 0;
const char *netplay_mitm_server = settings->arrays.netplay_mitm_server;
if (!settings)
goto end;
netplay_mitm_server = settings->arrays.netplay_mitm_server;
for (i = 0; i < ARRAY_SIZE(netplay_mitm_server_list); i++) for (i = 0; i < ARRAY_SIZE(netplay_mitm_server_list); i++)
{ {
const mitm_server_t *server = &netplay_mitm_server_list[i]; const mitm_server_t *server = &netplay_mitm_server_list[i];
if (menu_entries_append(info->list, if (menu_entries_append(info_list,
msg_hash_to_str(server->description), server->name, msg_hash_to_str(server->description), server->name,
MENU_ENUM_LABEL_NETPLAY_MITM_SERVER_LOCATION, MENU_ENUM_LABEL_NETPLAY_MITM_SERVER_LOCATION,
MENU_SETTING_DROPDOWN_ITEM_NETPLAY_MITM_SERVER, MENU_SETTING_DROPDOWN_ITEM_NETPLAY_MITM_SERVER,
@ -5580,7 +5544,7 @@ static unsigned menu_displaylist_parse_netplay_mitm_server_list(
if (string_is_equal(server->name, netplay_mitm_server)) if (string_is_equal(server->name, netplay_mitm_server))
{ {
menu_file_list_cbs_t *cbs = menu_file_list_cbs_t *cbs =
(menu_file_list_cbs_t*)info->list->list[count].actiondata; (menu_file_list_cbs_t*)info_list->list[count].actiondata;
if (cbs) if (cbs)
cbs->checked = true; cbs->checked = true;
@ -5592,21 +5556,10 @@ static unsigned menu_displaylist_parse_netplay_mitm_server_list(
} }
} }
end:
/* Fallback */
if (count == 0)
if (menu_entries_append(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,
0, 0, 0, NULL))
count++;
return count; return count;
} }
#endif #endif
static int menu_displaylist_parse_input_description_kbd_list( static int menu_displaylist_parse_input_description_kbd_list(
menu_displaylist_info_t *info, settings_t *settings) menu_displaylist_info_t *info, settings_t *settings)
{ {
@ -5985,13 +5938,13 @@ static unsigned populate_playlist_thumbnail_mode_dropdown_list(
return count; return count;
} }
static bool menu_displaylist_parse_manual_content_scan_list( static unsigned menu_displaylist_parse_manual_content_scan_list(
menu_displaylist_info_t *info) file_list_t *info_list)
{ {
unsigned count = 0; unsigned count = 0;
/* Content directory */ /* Content directory */
if (menu_entries_append(info->list, if (menu_entries_append(info_list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MANUAL_CONTENT_SCAN_DIR), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MANUAL_CONTENT_SCAN_DIR),
msg_hash_to_str(MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_DIR), msg_hash_to_str(MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_DIR),
MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_DIR, MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_DIR,
@ -5999,7 +5952,7 @@ static bool menu_displaylist_parse_manual_content_scan_list(
count++; count++;
/* System name */ /* System name */
if (menu_entries_append(info->list, if (menu_entries_append(info_list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MANUAL_CONTENT_SCAN_SYSTEM_NAME), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MANUAL_CONTENT_SCAN_SYSTEM_NAME),
msg_hash_to_str(MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_SYSTEM_NAME), msg_hash_to_str(MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_SYSTEM_NAME),
MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_SYSTEM_NAME, MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_SYSTEM_NAME,
@ -6007,13 +5960,13 @@ static bool menu_displaylist_parse_manual_content_scan_list(
count++; count++;
/* Custom system name */ /* Custom system name */
if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(info->list, if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(info_list,
MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_SYSTEM_NAME_CUSTOM, PARSE_ONLY_STRING, MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_SYSTEM_NAME_CUSTOM, PARSE_ONLY_STRING,
false) == 0) false) == 0)
count++; count++;
/* Core name */ /* Core name */
if (menu_entries_append(info->list, if (menu_entries_append(info_list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MANUAL_CONTENT_SCAN_CORE_NAME), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MANUAL_CONTENT_SCAN_CORE_NAME),
msg_hash_to_str(MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_CORE_NAME), msg_hash_to_str(MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_CORE_NAME),
MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_CORE_NAME, MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_CORE_NAME,
@ -6021,57 +5974,57 @@ static bool menu_displaylist_parse_manual_content_scan_list(
count++; count++;
/* File extensions */ /* File extensions */
if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(info->list, if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(info_list,
MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_FILE_EXTS, PARSE_ONLY_STRING, MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_FILE_EXTS, PARSE_ONLY_STRING,
false) == 0) false) == 0)
count++; count++;
/* Search recursively */ /* Search recursively */
if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(info->list, if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(info_list,
MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_SEARCH_RECURSIVELY, PARSE_ONLY_BOOL, MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_SEARCH_RECURSIVELY, PARSE_ONLY_BOOL,
false) == 0) false) == 0)
count++; count++;
/* Search inside archive files */ /* Search inside archive files */
if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(info->list, if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(info_list,
MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_SEARCH_ARCHIVES, PARSE_ONLY_BOOL, MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_SEARCH_ARCHIVES, PARSE_ONLY_BOOL,
false) == 0) false) == 0)
count++; count++;
/* Arcade DAT file */ /* Arcade DAT file */
if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(info->list, if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(info_list,
MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_DAT_FILE, PARSE_ONLY_PATH, MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_DAT_FILE, PARSE_ONLY_PATH,
false) == 0) false) == 0)
count++; count++;
/* Arcade DAT filter */ /* Arcade DAT filter */
if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(info->list, if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(info_list,
MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_DAT_FILE_FILTER, PARSE_ONLY_BOOL, MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_DAT_FILE_FILTER, PARSE_ONLY_BOOL,
false) == 0) false) == 0)
count++; count++;
/* Overwrite playlist */ /* Overwrite playlist */
if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(info->list, if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(info_list,
MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_OVERWRITE, PARSE_ONLY_BOOL, MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_OVERWRITE, PARSE_ONLY_BOOL,
false) == 0) false) == 0)
count++; count++;
/* Validate existing entries */ /* Validate existing entries */
if (!(*manual_content_scan_get_overwrite_playlist_ptr()) && if (!(*manual_content_scan_get_overwrite_playlist_ptr()) &&
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(info->list, MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(info_list,
MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_VALIDATE_ENTRIES, PARSE_ONLY_BOOL, MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_VALIDATE_ENTRIES, PARSE_ONLY_BOOL,
false) == 0) false) == 0)
count++; count++;
/* Start scan */ /* Start scan */
if (menu_entries_append(info->list, if (menu_entries_append(info_list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MANUAL_CONTENT_SCAN_START), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MANUAL_CONTENT_SCAN_START),
msg_hash_to_str(MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_START), msg_hash_to_str(MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_START),
MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_START, MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_START,
MENU_SETTING_ACTION_MANUAL_CONTENT_SCAN_START, 0, 0, NULL)) MENU_SETTING_ACTION_MANUAL_CONTENT_SCAN_START, 0, 0, NULL))
count++; count++;
return (count > 0); return count;
} }
#ifdef HAVE_CDROM #ifdef HAVE_CDROM
@ -10829,9 +10782,7 @@ static bool history_needs_navigation_clear(
} }
static unsigned menu_displaylist_build_shader_parameter( static unsigned menu_displaylist_build_shader_parameter(
menu_displaylist_info_t *info, file_list_t *list, unsigned entry_type, unsigned _offset,
file_list_t *list,
unsigned entry_type, unsigned _offset,
unsigned setting_type) unsigned setting_type)
{ {
video_shader_ctx_t shader_info; video_shader_ctx_t shader_info;
@ -10887,7 +10838,7 @@ static unsigned menu_displaylist_build_shader_parameter(
if (checked_found) if (checked_found)
{ {
menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*)info->list->list[checked].actiondata; menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*)list->list[checked].actiondata;
if (cbs) if (cbs)
cbs->checked = true; cbs->checked = true;
menu_navigation_set_selection(checked); menu_navigation_set_selection(checked);
@ -11166,14 +11117,6 @@ static unsigned menu_displaylist_netplay_kick(file_list_t *list)
} }
} }
if (count == 0)
if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_NETPLAY_CLIENTS_FOUND),
msg_hash_to_str(MENU_ENUM_LABEL_NO_NETPLAY_CLIENTS_FOUND),
MENU_ENUM_LABEL_NO_NETPLAY_CLIENTS_FOUND,
0, 0, 0, NULL))
count++;
return count; return count;
} }
@ -11199,14 +11142,6 @@ static unsigned menu_displaylist_netplay_ban(file_list_t *list)
} }
} }
if (count == 0)
if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_NETPLAY_CLIENTS_FOUND),
msg_hash_to_str(MENU_ENUM_LABEL_NO_NETPLAY_CLIENTS_FOUND),
MENU_ENUM_LABEL_NO_NETPLAY_CLIENTS_FOUND,
0, 0, 0, NULL))
count++;
return count; return count;
} }
#endif #endif
@ -11229,19 +11164,18 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
settings_t *settings) settings_t *settings)
{ {
menu_ctx_displaylist_t disp_list; menu_ctx_displaylist_t disp_list;
bool load_content = true;
bool use_filebrowser = false;
static bool core_selected = false; static bool core_selected = false;
unsigned count = 0;
int ret = 0;
menu_handle_t *menu = menu_state_get_ptr()->driver_data;
disp_list.info = info; disp_list.info = info;
disp_list.type = type; disp_list.type = type;
if (menu_driver_push_list(&disp_list)) if (!menu_driver_push_list(&disp_list))
return true; {
menu_handle_t *menu = menu_state_get_ptr()->driver_data;
bool load_content = true;
bool use_filebrowser = false;
unsigned count = 0;
int ret = 0;
switch (type) switch (type)
{ {
case DISPLAYLIST_NETWORK_HOSTING_SETTINGS_LIST: case DISPLAYLIST_NETWORK_HOSTING_SETTINGS_LIST:
@ -11339,6 +11273,13 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
#ifdef HAVE_NETWORKING #ifdef HAVE_NETWORKING
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
count = menu_displaylist_netplay_kick(info->list); count = menu_displaylist_netplay_kick(info->list);
if (count == 0)
if (menu_entries_append(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_NETPLAY_CLIENTS_FOUND),
msg_hash_to_str(MENU_ENUM_LABEL_NO_NETPLAY_CLIENTS_FOUND),
MENU_ENUM_LABEL_NO_NETPLAY_CLIENTS_FOUND,
0, 0, 0, NULL))
count++;
#endif #endif
info->flags |= MD_FLAG_NEED_REFRESH info->flags |= MD_FLAG_NEED_REFRESH
| MD_FLAG_NEED_PUSH; | MD_FLAG_NEED_PUSH;
@ -11347,6 +11288,13 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
#ifdef HAVE_NETWORKING #ifdef HAVE_NETWORKING
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
count = menu_displaylist_netplay_ban(info->list); count = menu_displaylist_netplay_ban(info->list);
if (count == 0)
if (menu_entries_append(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_NETPLAY_CLIENTS_FOUND),
msg_hash_to_str(MENU_ENUM_LABEL_NO_NETPLAY_CLIENTS_FOUND),
MENU_ENUM_LABEL_NO_NETPLAY_CLIENTS_FOUND,
0, 0, 0, NULL))
count++;
#endif #endif
info->flags |= MD_FLAG_NEED_REFRESH info->flags |= MD_FLAG_NEED_REFRESH
| MD_FLAG_NEED_PUSH; | MD_FLAG_NEED_PUSH;
@ -12147,7 +12095,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
if (settings) if (settings)
count = menu_displaylist_parse_content_information(menu, count = menu_displaylist_parse_content_information(menu,
settings, info); settings, info->list);
if (count == 0) if (count == 0)
menu_entries_append(info->list, menu_entries_append(info->list,
@ -12600,7 +12548,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
case DISPLAYLIST_PL_THUMBNAILS_UPDATER: case DISPLAYLIST_PL_THUMBNAILS_UPDATER:
#ifdef HAVE_NETWORKING #ifdef HAVE_NETWORKING
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
count = menu_displaylist_parse_pl_thumbnail_download_list(info, count = menu_displaylist_parse_pl_thumbnail_download_list(info->list,
settings); settings);
if (count == 0) if (count == 0)
@ -12943,7 +12891,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
size_t selection = menu_navigation_get_selection(); size_t selection = menu_navigation_get_selection();
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
count = menu_displaylist_parse_core_manager_list count = menu_displaylist_parse_core_manager_list
(info, settings); (info->list, settings);
if (count == 0) if (count == 0)
menu_entries_append(info->list, menu_entries_append(info->list,
@ -12966,7 +12914,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
#ifdef HAVE_MIST #ifdef HAVE_MIST
case DISPLAYLIST_CORE_MANAGER_STEAM_LIST: case DISPLAYLIST_CORE_MANAGER_STEAM_LIST:
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
count = menu_displaylist_parse_core_manager_steam_list(info, settings); count = menu_displaylist_parse_core_manager_steam_list(info->list, settings);
info->flags &= ~MD_FLAG_NEED_REFRESH; info->flags &= ~MD_FLAG_NEED_REFRESH;
info->flags |= MD_FLAG_NEED_PUSH info->flags |= MD_FLAG_NEED_PUSH
| MD_FLAG_NEED_NAVIGATION_CLEAR; | MD_FLAG_NEED_NAVIGATION_CLEAR;
@ -13243,7 +13191,17 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
size_t selection = menu_navigation_get_selection(); size_t selection = menu_navigation_get_selection();
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
count = menu_displaylist_parse_core_option_override_list(info, settings); count = menu_displaylist_parse_core_option_override_list(info->list, settings);
/* Fallback, in case we open this menu while running
* a core without options */
if (count == 0)
if (menu_entries_append(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_SETTINGS_FOUND),
msg_hash_to_str(MENU_ENUM_LABEL_NO_SETTINGS_FOUND),
MENU_ENUM_LABEL_NO_SETTINGS_FOUND,
0, 0, 0, NULL))
count++;
if (selection >= count) if (selection >= count)
info->flags |= MD_FLAG_NEED_REFRESH info->flags |= MD_FLAG_NEED_REFRESH
@ -13264,7 +13222,16 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
size_t selection = menu_navigation_get_selection(); size_t selection = menu_navigation_get_selection();
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
count = menu_displaylist_parse_remap_file_manager_list(info, settings); count = menu_displaylist_parse_remap_file_manager_list(info->list, settings);
/* Fallback */
if (count == 0)
if (menu_entries_append(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, NULL))
count++;
if (selection >= count) if (selection >= count)
info->flags |= MD_FLAG_NEED_REFRESH info->flags |= MD_FLAG_NEED_REFRESH
@ -13293,7 +13260,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
break; break;
case DISPLAYLIST_PLAYLIST_MANAGER_LIST: case DISPLAYLIST_PLAYLIST_MANAGER_LIST:
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
count = menu_displaylist_parse_playlist_manager_list(info, settings); count = menu_displaylist_parse_playlist_manager_list(info->list, settings);
if (count == 0) if (count == 0)
menu_entries_append(info->list, menu_entries_append(info->list,
@ -13308,7 +13275,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
if (!menu_displaylist_parse_playlist_manager_settings(menu, if (!menu_displaylist_parse_playlist_manager_settings(menu,
settings, settings,
info, info->path)) info->list, info->path))
menu_entries_append(info->list, menu_entries_append(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ENTRIES_TO_DISPLAY), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ENTRIES_TO_DISPLAY),
msg_hash_to_str(MENU_ENUM_LABEL_NO_ENTRIES_TO_DISPLAY), msg_hash_to_str(MENU_ENUM_LABEL_NO_ENTRIES_TO_DISPLAY),
@ -13321,7 +13288,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
count = menu_displaylist_build_shader_parameter( count = menu_displaylist_build_shader_parameter(
info, info->list, info->type, info->list, info->type,
MENU_SETTINGS_SHADER_PARAMETER_0, MENU_SETTINGS_SHADER_PARAMETER_0,
MENU_SETTING_DROPDOWN_ITEM_VIDEO_SHADER_PARAM); MENU_SETTING_DROPDOWN_ITEM_VIDEO_SHADER_PARAM);
@ -13332,7 +13299,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
count = menu_displaylist_build_shader_parameter( count = menu_displaylist_build_shader_parameter(
info, info->list, info->type, info->list, info->type,
MENU_SETTINGS_SHADER_PRESET_PARAMETER_0, MENU_SETTINGS_SHADER_PRESET_PARAMETER_0,
MENU_SETTING_DROPDOWN_ITEM_VIDEO_SHADER_PRESET_PARAM); MENU_SETTING_DROPDOWN_ITEM_VIDEO_SHADER_PRESET_PARAM);
info->flags |= MD_FLAG_NEED_REFRESH info->flags |= MD_FLAG_NEED_REFRESH
@ -13373,7 +13340,16 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
#ifdef HAVE_NETWORKING #ifdef HAVE_NETWORKING
case DISPLAYLIST_DROPDOWN_LIST_NETPLAY_MITM_SERVER: case DISPLAYLIST_DROPDOWN_LIST_NETPLAY_MITM_SERVER:
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
count = menu_displaylist_parse_netplay_mitm_server_list(info, settings); count = menu_displaylist_parse_netplay_mitm_server_list(info->list, settings);
if (count == 0)
if (menu_entries_append(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,
0, 0, 0, NULL))
count++;
info->flags |= MD_FLAG_NEED_REFRESH info->flags |= MD_FLAG_NEED_REFRESH
| MD_FLAG_NEED_PUSH; | MD_FLAG_NEED_PUSH;
break; break;
@ -13595,7 +13571,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
case DISPLAYLIST_HORIZONTAL_CONTENT_ACTIONS: case DISPLAYLIST_HORIZONTAL_CONTENT_ACTIONS:
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
ret = menu_displaylist_parse_horizontal_content_actions ret = menu_displaylist_parse_horizontal_content_actions
(menu, settings, info); (menu, settings, info->list);
info->flags |= MD_FLAG_NEED_REFRESH info->flags |= MD_FLAG_NEED_REFRESH
| MD_FLAG_NEED_PUSH; | MD_FLAG_NEED_PUSH;
@ -14452,8 +14428,9 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
break; break;
case DISPLAYLIST_MANUAL_CONTENT_SCAN_LIST: case DISPLAYLIST_MANUAL_CONTENT_SCAN_LIST:
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
count = menu_displaylist_parse_manual_content_scan_list(info->list);
if (!menu_displaylist_parse_manual_content_scan_list(info)) if (count == 0)
menu_entries_append(info->list, menu_entries_append(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ENTRIES_TO_DISPLAY), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ENTRIES_TO_DISPLAY),
msg_hash_to_str(MENU_ENUM_LABEL_NO_ENTRIES_TO_DISPLAY), msg_hash_to_str(MENU_ENUM_LABEL_NO_ENTRIES_TO_DISPLAY),
@ -15160,6 +15137,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
if (ret != 0) if (ret != 0)
return false; return false;
}
return true; return true;
} }