Start implementing 'Dump Disc' as deferred list

This commit is contained in:
twinaphex 2019-07-03 03:50:37 +02:00
parent 4cedaaefe1
commit 72eed727d0
7 changed files with 44 additions and 9 deletions

View File

@ -653,6 +653,10 @@ MSG_HASH(MENU_ENUM_LABEL_LOAD_ARCHIVE_DETECT_CORE,
"load_archive_detect_core")
MSG_HASH(MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY,
"load_recent")
MSG_HASH(MENU_ENUM_LABEL_LOAD_DISC,
"load_disc")
MSG_HASH(MENU_ENUM_LABEL_DUMP_DISC,
"dump_disc")
MSG_HASH(MENU_ENUM_LABEL_LOAD_CONTENT_SPECIAL,
"load_special")
MSG_HASH(MENU_ENUM_LABEL_LOAD_CONTENT_LIST,
@ -899,6 +903,8 @@ MSG_HASH(MENU_ENUM_LABEL_RDB_ENTRY_CRC32,
"rdb_entry_crc32")
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_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,

View File

@ -95,6 +95,7 @@ generic_deferred_push(deferred_push_content_collection_list, DISPLAYLIST_
generic_deferred_push(deferred_push_configurations_list, DISPLAYLIST_CONFIGURATIONS_LIST)
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_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)
@ -639,7 +640,12 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
menu_file_list_cbs_t *cbs,
const char *label, uint32_t label_hash)
{
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_FAVORITES_LIST)))
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DUMP_DISC_LIST)))
{
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_FAVORITES_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_favorites_list);
return 0;
@ -1369,6 +1375,9 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
case MENU_ENUM_LABEL_DEFERRED_CORE_SETTINGS_LIST:
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_core_settings_list);
break;
case MENU_ENUM_LABEL_DEFERRED_DUMP_DISC_LIST:
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_dump_disk_list);
break;
case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST:
case MENU_ENUM_LABEL_FAVORITES:
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_detect_core_list);
@ -1621,6 +1630,8 @@ int menu_cbs_init_bind_deferred_push(menu_file_list_cbs_t *cbs,
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_default);
RARCH_LOG("Label: %s\n", label);
if (cbs->enum_idx != MENU_ENUM_LABEL_PLAYLIST_ENTRY &&
menu_cbs_init_bind_deferred_push_compare_label(cbs, label, label_hash) == 0)
return 0;

View File

@ -264,6 +264,8 @@ static enum msg_hash_enums action_ok_dl_to_enum(unsigned lbl)
return MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_CHEEVOS_LIST;
case ACTION_OK_DL_ACCOUNTS_TWITCH_LIST:
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_ACCOUNTS_YOUTUBE_LIST:
return MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_YOUTUBE_LIST;
case ACTION_OK_DL_PLAYLIST_COLLECTION:
@ -940,6 +942,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_DUMP_DISC_LIST:
action_ok_dl_lbl(action_ok_dl_to_enum(action_type), DISPLAYLIST_GENERIC);
break;
case ACTION_OK_DL_CONTENT_SETTINGS:
@ -4343,6 +4346,7 @@ default_action_ok_func(action_ok_push_user_binds_list, ACTION_OK_DL_USER_BINDS_L
default_action_ok_func(action_ok_push_accounts_cheevos_list, ACTION_OK_DL_ACCOUNTS_CHEEVOS_LIST)
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_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)
@ -4809,13 +4813,6 @@ static int action_ok_push_load_disc(const char *path,
return 0;
}
static int action_ok_push_dump_disc(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
/* TODO/FIXME - fill in - call a task here */
return 0;
}
int action_ok_push_filebrowser_list_dir_select(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
@ -5923,7 +5920,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
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);
BIND_ACTION_OK(cbs, action_ok_push_dump_disc_list);
break;
case MENU_ENUM_LABEL_SHADER_OPTIONS:
case MENU_ENUM_LABEL_CORE_OPTIONS:

View File

@ -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_DUMP_DISC_LIST,
ACTION_OK_DL_DEFERRED_CORE_LIST,
ACTION_OK_DL_DEFERRED_CORE_LIST_SET,
ACTION_OK_DL_MIXER_STREAM_SETTINGS_LIST,
@ -150,6 +151,7 @@ enum
ACTION_OK_DL_DIRECTORY_SETTINGS_LIST,
ACTION_OK_DL_PRIVACY_SETTINGS_LIST,
ACTION_OK_DL_MIDI_SETTINGS_LIST,
ACTION_OK_DL_DUMP_DISC_LIST,
ACTION_OK_DL_BROWSE_URL_START,
ACTION_OK_DL_CONTENT_SETTINGS,
ACTION_OK_DL_RGUI_MENU_THEME_PRESET

View File

@ -4881,6 +4881,23 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
switch (type)
{
case DISPLAYLIST_DUMP_DISC:
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
count = 0;
/* TODO/FIXME - remove 'count = 0;' and implement disk list */
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);
info->need_push = true;
info->need_refresh = true;
info->need_clear = true;
break;
#if defined(HAVE_LAKKA_SWITCH) || defined(HAVE_LIBNX)
case DISPLAYLIST_SWITCH_CPU_PROFILE:
{

View File

@ -115,6 +115,7 @@ enum menu_displaylist_ctl_state
DISPLAYLIST_CONTENT_HISTORY,
DISPLAYLIST_IMAGES,
DISPLAYLIST_FONTS,
DISPLAYLIST_DUMP_DISC,
DISPLAYLIST_OVERLAYS,
#ifdef HAVE_VIDEO_LAYOUT
DISPLAYLIST_VIDEO_LAYOUT_PATH,

View File

@ -1135,6 +1135,7 @@ enum msg_hash_enums
MENU_LABEL(BROWSE_URL),
MENU_LABEL(BROWSE_START),
/* Deferred */
MENU_ENUM_LABEL_DEFERRED_DUMP_DISC_LIST,
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST,
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_SPECIAL,
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_RESOLUTION,