Add label_display_mode to playlist.
Add label_display_mode to JSON format. Add label_display_mode to old playlist format. Add label_display_mode to configuration. Add label sanitization functions to libretro common.
This commit is contained in:
parent
fcf5d6bcdd
commit
55f4c04ff2
16 changed files with 428 additions and 136 deletions
|
@ -177,6 +177,8 @@ static enum msg_hash_enums action_ok_dl_to_enum(unsigned lbl)
|
|||
return MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_RESOLUTION;
|
||||
case ACTION_OK_DL_DROPDOWN_BOX_LIST_PLAYLIST_DEFAULT_CORE:
|
||||
return MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_DEFAULT_CORE;
|
||||
case ACTION_OK_DL_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE:
|
||||
return MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE;
|
||||
case ACTION_OK_DL_MIXER_STREAM_SETTINGS_LIST:
|
||||
return MENU_ENUM_LABEL_DEFERRED_MIXER_STREAM_SETTINGS_LIST;
|
||||
case ACTION_OK_DL_ACCOUNTS_LIST:
|
||||
|
@ -390,6 +392,15 @@ int generic_action_ok_displaylist_push(const char *path,
|
|||
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_DEFAULT_CORE;
|
||||
dl_type = DISPLAYLIST_GENERIC;
|
||||
break;
|
||||
case ACTION_OK_DL_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE:
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
info_path = path;
|
||||
info_label = msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE);
|
||||
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE;
|
||||
dl_type = DISPLAYLIST_GENERIC;
|
||||
break;
|
||||
case ACTION_OK_DL_USER_BINDS_LIST:
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
|
@ -5359,6 +5370,19 @@ static int action_ok_push_dropdown_item_playlist_default_core(const char *path,
|
|||
return action_cancel_pop_default(NULL, NULL, 0, 0);
|
||||
}
|
||||
|
||||
static int action_ok_push_dropdown_item_playlist_label_display_mode(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
playlist_t *playlist = playlist_get_cached();
|
||||
|
||||
playlist_set_label_display_mode(playlist, idx);
|
||||
|
||||
/* In all cases, update file on disk */
|
||||
playlist_write_file(playlist);
|
||||
|
||||
return action_cancel_pop_default(NULL, NULL, 0, 0);
|
||||
}
|
||||
|
||||
static int action_ok_push_default(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
|
@ -5547,6 +5571,16 @@ static int action_ok_playlist_default_core(const char *path,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int action_ok_playlist_label_display_mode(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
generic_action_ok_displaylist_push(
|
||||
NULL,
|
||||
NULL, NULL, 0, 0, 0,
|
||||
ACTION_OK_DL_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int action_ok_netplay_enable_host(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
|
@ -6364,6 +6398,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
|||
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE:
|
||||
BIND_ACTION_OK(cbs, action_ok_playlist_default_core);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE:
|
||||
BIND_ACTION_OK(cbs, action_ok_playlist_label_display_mode);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_UPDATE_ASSETS:
|
||||
BIND_ACTION_OK(cbs, action_ok_update_assets);
|
||||
break;
|
||||
|
@ -6530,6 +6567,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
|||
case MENU_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE:
|
||||
BIND_ACTION_OK(cbs, action_ok_playlist_default_core);
|
||||
break;
|
||||
case MENU_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE:
|
||||
BIND_ACTION_OK(cbs, action_ok_playlist_label_display_mode);
|
||||
break;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
|
@ -6653,6 +6693,9 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs,
|
|||
case MENU_SETTING_DROPDOWN_ITEM_PLAYLIST_DEFAULT_CORE:
|
||||
BIND_ACTION_OK(cbs, action_ok_push_dropdown_item_playlist_default_core);
|
||||
break;
|
||||
case MENU_SETTING_DROPDOWN_ITEM_PLAYLIST_LABEL_DISPLAY_MODE:
|
||||
BIND_ACTION_OK(cbs, action_ok_push_dropdown_item_playlist_label_display_mode);
|
||||
break;
|
||||
case MENU_SETTING_ACTION_CORE_DISK_OPTIONS:
|
||||
BIND_ACTION_OK(cbs, action_ok_push_default);
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue