mirror of
https://github.com/libretro/RetroArch
synced 2025-03-02 19:13:34 +00:00
Implement deferred list for Load CD
This commit is contained in:
parent
d116784249
commit
a115b6bd84
@ -907,6 +907,8 @@ MSG_HASH(MENU_ENUM_LABEL_RDB_ENTRY_DESCRIPTION,
|
||||
"rdb_entry_description")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_DUMP_DISC_LIST,
|
||||
"deferred_dump_disc_list")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_LOAD_DISC_LIST,
|
||||
"deferred_load_disc_list")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_DEVELOPER,
|
||||
"deferred_cursor_manager_list_rdb_entry_developer")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_PUBLISHER,
|
||||
|
@ -96,6 +96,7 @@ generic_deferred_push(deferred_push_configurations_list, DISPLAYLIST_
|
||||
generic_deferred_push(deferred_push_load_content_special, DISPLAYLIST_LOAD_CONTENT_LIST)
|
||||
generic_deferred_push(deferred_push_load_content_list, DISPLAYLIST_LOAD_CONTENT_LIST)
|
||||
generic_deferred_push(deferred_push_dump_disk_list, DISPLAYLIST_DUMP_DISC)
|
||||
generic_deferred_push(deferred_push_load_disk_list, DISPLAYLIST_LOAD_DISC)
|
||||
generic_deferred_push(deferred_push_information_list, DISPLAYLIST_INFORMATION_LIST)
|
||||
generic_deferred_push(deferred_push_information, DISPLAYLIST_INFORMATION)
|
||||
generic_deferred_push(deferred_archive_action_detect_core, DISPLAYLIST_ARCHIVE_ACTION_DETECT_CORE)
|
||||
@ -645,6 +646,11 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
|
||||
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_dump_disk_list);
|
||||
return 0;
|
||||
}
|
||||
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_LOAD_DISC_LIST)))
|
||||
{
|
||||
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_load_disk_list);
|
||||
return 0;
|
||||
}
|
||||
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_FAVORITES_LIST)))
|
||||
{
|
||||
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_favorites_list);
|
||||
|
@ -266,6 +266,8 @@ static enum msg_hash_enums action_ok_dl_to_enum(unsigned lbl)
|
||||
return MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_TWITCH_LIST;
|
||||
case ACTION_OK_DL_DUMP_DISC_LIST:
|
||||
return MENU_ENUM_LABEL_DEFERRED_DUMP_DISC_LIST;
|
||||
case ACTION_OK_DL_LOAD_DISC_LIST:
|
||||
return MENU_ENUM_LABEL_DEFERRED_LOAD_DISC_LIST;
|
||||
case ACTION_OK_DL_ACCOUNTS_YOUTUBE_LIST:
|
||||
return MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_YOUTUBE_LIST;
|
||||
case ACTION_OK_DL_PLAYLIST_COLLECTION:
|
||||
@ -942,6 +944,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
case ACTION_OK_DL_BROWSE_URL_LIST:
|
||||
case ACTION_OK_DL_MUSIC_LIST:
|
||||
case ACTION_OK_DL_IMAGES_LIST:
|
||||
case ACTION_OK_DL_LOAD_DISC_LIST:
|
||||
case ACTION_OK_DL_DUMP_DISC_LIST:
|
||||
action_ok_dl_lbl(action_ok_dl_to_enum(action_type), DISPLAYLIST_GENERIC);
|
||||
break;
|
||||
@ -2128,9 +2131,17 @@ static int action_ok_mixer_stream_action_stop(const char *path,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int action_ok_load_cdrom(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
/* TODO/FIXME - implement */
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int action_ok_dump_cdrom(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
/* TODO/FIXME - implement */
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -4378,6 +4389,7 @@ default_action_ok_func(action_ok_push_accounts_cheevos_list, ACTION_OK_DL_ACCOUN
|
||||
default_action_ok_func(action_ok_push_accounts_youtube_list, ACTION_OK_DL_ACCOUNTS_YOUTUBE_LIST)
|
||||
default_action_ok_func(action_ok_push_accounts_twitch_list, ACTION_OK_DL_ACCOUNTS_TWITCH_LIST)
|
||||
default_action_ok_func(action_ok_push_dump_disc_list, ACTION_OK_DL_DUMP_DISC_LIST)
|
||||
default_action_ok_func(action_ok_push_load_disc_list, ACTION_OK_DL_LOAD_DISC_LIST)
|
||||
default_action_ok_func(action_ok_open_archive, ACTION_OK_DL_OPEN_ARCHIVE)
|
||||
default_action_ok_func(action_ok_rgui_menu_theme_preset, ACTION_OK_DL_RGUI_MENU_THEME_PRESET)
|
||||
default_action_ok_func(action_ok_pl_thumbnails_updater_list, ACTION_OK_DL_PL_THUMBNAILS_UPDATER_LIST)
|
||||
@ -5950,12 +5962,12 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
||||
case MENU_ENUM_LABEL_ACCOUNTS_TWITCH:
|
||||
BIND_ACTION_OK(cbs, action_ok_push_accounts_twitch_list);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_LOAD_DISC:
|
||||
BIND_ACTION_OK(cbs, action_ok_push_load_disc);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_DUMP_DISC:
|
||||
BIND_ACTION_OK(cbs, action_ok_push_dump_disc_list);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_LOAD_DISC:
|
||||
BIND_ACTION_OK(cbs, action_ok_push_load_disc_list);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SHADER_OPTIONS:
|
||||
case MENU_ENUM_LABEL_CORE_OPTIONS:
|
||||
case MENU_ENUM_LABEL_CORE_CHEAT_OPTIONS:
|
||||
@ -6345,6 +6357,10 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs,
|
||||
{
|
||||
BIND_ACTION_OK(cbs, action_ok_dump_cdrom);
|
||||
}
|
||||
else if (type == MENU_SET_LOAD_CDROM_LIST)
|
||||
{
|
||||
BIND_ACTION_OK(cbs, action_ok_load_cdrom);
|
||||
}
|
||||
else if (type == MENU_SETTINGS_CUSTOM_BIND_KEYBOARD ||
|
||||
type == MENU_SETTINGS_CUSTOM_BIND)
|
||||
{
|
||||
|
@ -123,6 +123,7 @@ enum
|
||||
ACTION_OK_DL_CORE_CONTENT_LIST,
|
||||
ACTION_OK_DL_CORE_CONTENT_DIRS_LIST,
|
||||
ACTION_OK_DL_CORE_CONTENT_DIRS_SUBDIR_LIST,
|
||||
ACTION_OK_DL_DEFERRED_LOAD_DISC_LIST,
|
||||
ACTION_OK_DL_DEFERRED_DUMP_DISC_LIST,
|
||||
ACTION_OK_DL_DEFERRED_CORE_LIST,
|
||||
ACTION_OK_DL_DEFERRED_CORE_LIST_SET,
|
||||
@ -151,6 +152,7 @@ enum
|
||||
ACTION_OK_DL_DIRECTORY_SETTINGS_LIST,
|
||||
ACTION_OK_DL_PRIVACY_SETTINGS_LIST,
|
||||
ACTION_OK_DL_MIDI_SETTINGS_LIST,
|
||||
ACTION_OK_DL_LOAD_DISC_LIST,
|
||||
ACTION_OK_DL_DUMP_DISC_LIST,
|
||||
ACTION_OK_DL_BROWSE_URL_START,
|
||||
ACTION_OK_DL_CONTENT_SETTINGS,
|
||||
|
@ -4923,12 +4923,45 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
|
||||
|
||||
string_list_free(list);
|
||||
|
||||
info->need_push = true;
|
||||
info->need_refresh = true;
|
||||
info->need_clear = true;
|
||||
break;
|
||||
}
|
||||
case DISPLAYLIST_LOAD_DISC:
|
||||
{
|
||||
int i;
|
||||
struct string_list *list = cdrom_get_available_drives();
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
|
||||
count = 0;
|
||||
|
||||
for (i = 0; list && i < list->size; i++)
|
||||
{
|
||||
menu_entries_append_enum(info->list,
|
||||
list->elems[i].data,
|
||||
"",
|
||||
0,
|
||||
MENU_SET_LOAD_CDROM_LIST,
|
||||
0, i);
|
||||
}
|
||||
|
||||
if (list->size == 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);
|
||||
|
||||
string_list_free(list);
|
||||
|
||||
info->need_push = true;
|
||||
info->need_refresh = true;
|
||||
info->need_clear = true;
|
||||
break;
|
||||
}
|
||||
#else
|
||||
case DISPLAYLIST_LOAD_DISC:
|
||||
case DISPLAYLIST_DUMP_DISC:
|
||||
/* No-op */
|
||||
break;
|
||||
|
@ -115,6 +115,7 @@ enum menu_displaylist_ctl_state
|
||||
DISPLAYLIST_CONTENT_HISTORY,
|
||||
DISPLAYLIST_IMAGES,
|
||||
DISPLAYLIST_FONTS,
|
||||
DISPLAYLIST_LOAD_DISC,
|
||||
DISPLAYLIST_DUMP_DISC,
|
||||
DISPLAYLIST_OVERLAYS,
|
||||
#ifdef HAVE_VIDEO_LAYOUT
|
||||
|
@ -195,6 +195,7 @@ enum menu_settings_type
|
||||
#endif
|
||||
|
||||
MENU_SET_CDROM_LIST,
|
||||
MENU_SET_LOAD_CDROM_LIST,
|
||||
|
||||
MENU_SETTINGS_LAST
|
||||
};
|
||||
|
@ -1138,6 +1138,7 @@ enum msg_hash_enums
|
||||
MENU_LABEL(BROWSE_URL),
|
||||
MENU_LABEL(BROWSE_START),
|
||||
/* Deferred */
|
||||
MENU_ENUM_LABEL_DEFERRED_LOAD_DISC_LIST,
|
||||
MENU_ENUM_LABEL_DEFERRED_DUMP_DISC_LIST,
|
||||
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST,
|
||||
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_SPECIAL,
|
||||
|
Loading…
x
Reference in New Issue
Block a user