Create Configurations list

This commit is contained in:
twinaphex 2016-11-04 15:03:09 +01:00
parent c35d723b40
commit 1a1b221ddd
10 changed files with 75 additions and 21 deletions

View File

@ -1908,6 +1908,8 @@ static const char *menu_hash_to_str_us_label_enum(enum msg_hash_enums msg)
return "achievement_list";
case MENU_ENUM_LABEL_ADD_CONTENT_LIST:
return "add_content";
case MENU_ENUM_LABEL_CONFIGURATIONS_LIST:
return "configurations_list";
case MENU_ENUM_LABEL_ADD_TAB:
return "add_tab";
case MENU_ENUM_LABEL_ARCHIVE_MODE:
@ -3010,6 +3012,8 @@ const char *msg_hash_to_str_us(enum msg_hash_enums msg)
return "Achievement List";
case MENU_ENUM_LABEL_VALUE_ADD_CONTENT_LIST:
return "Scan Content";
case MENU_ENUM_LABEL_VALUE_CONFIGURATIONS_LIST:
return "Configurations";
case MENU_ENUM_LABEL_VALUE_ADD_TAB:
return "Import content";
case MENU_ENUM_LABEL_VALUE_ARCHIVE_MODE:

View File

@ -307,6 +307,11 @@ static int deferred_push_add_content_list(menu_displaylist_info_t *info)
return deferred_push_dlist(info, DISPLAYLIST_ADD_CONTENT_LIST);
}
static int deferred_push_configurations_list(menu_displaylist_info_t *info)
{
return deferred_push_dlist(info, DISPLAYLIST_CONFIGURATIONS_LIST);
}
static int deferred_push_load_content_list(menu_displaylist_info_t *info)
{
return deferred_push_dlist(info, DISPLAYLIST_LOAD_CONTENT_LIST);
@ -931,6 +936,9 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
case MENU_ENUM_LABEL_ADD_CONTENT_LIST:
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_add_content_list);
break;
case MENU_ENUM_LABEL_CONFIGURATIONS_LIST:
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_configurations_list);
break;
case MENU_ENUM_LABEL_LOAD_CONTENT_LIST:
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_load_content_list);
break;
@ -1093,6 +1101,9 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
{
switch (label_hash)
{
case MENU_LABEL_DEFERRED_CONFIGURATIONS_LIST:
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_configurations_list);
break;
case MENU_LABEL_DEFERRED_USER_BINDS_LIST:
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_user_binds_list);
break;

View File

@ -3701,6 +3701,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_NETPLAY:
case MENU_ENUM_LABEL_LOAD_CONTENT_LIST:
case MENU_ENUM_LABEL_ADD_CONTENT_LIST:
case MENU_ENUM_LABEL_CONFIGURATIONS_LIST:
case MENU_ENUM_LABEL_HELP_LIST:
case MENU_ENUM_LABEL_INFORMATION_LIST:
case MENU_ENUM_LABEL_CONTENT_SETTINGS:

View File

@ -116,6 +116,13 @@ static int action_get_add_content_list(const char *path, const char *label,
return 0;
}
static int action_get_configurations_list(const char *path, const char *label,
unsigned menu_type, char *s, size_t len)
{
sanitize_to_string(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CONFIGURATIONS_LIST), len);
return 0;
}
static int action_get_core_options_list(const char *path, const char *label,
unsigned menu_type, char *s, size_t len)
{
@ -1198,6 +1205,9 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_ADD_CONTENT_LIST:
BIND_ACTION_GET_TITLE(cbs, action_get_add_content_list);
break;
case MENU_ENUM_LABEL_CONFIGURATIONS_LIST:
BIND_ACTION_GET_TITLE(cbs, action_get_configurations_list);
break;
case MENU_ENUM_LABEL_CORE_OPTIONS:
BIND_ACTION_GET_TITLE(cbs, action_get_core_options_list);
break;
@ -1501,6 +1511,9 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs,
case MENU_LABEL_DEFERRED_CORE_UPDATER_LIST:
BIND_ACTION_GET_TITLE(cbs, action_get_core_updater_list);
break;
case MENU_LABEL_DEFERRED_CONFIGURATIONS_LIST:
BIND_ACTION_GET_TITLE(cbs, action_get_configurations_list);
break;
case MENU_LABEL_ADD_CONTENT_LIST:
BIND_ACTION_GET_TITLE(cbs, action_get_add_content_list);
break;

View File

@ -1738,13 +1738,7 @@ static int mui_list_push(void *data, void *userdata,
entry.enum_idx = MENU_ENUM_LABEL_RESTART_RETROARCH;
menu_displaylist_ctl(DISPLAYLIST_SETTING_ENUM, &entry);
#endif
entry.enum_idx = MENU_ENUM_LABEL_CONFIGURATIONS;
menu_displaylist_ctl(DISPLAYLIST_SETTING_ENUM, &entry);
entry.enum_idx = MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG;
menu_displaylist_ctl(DISPLAYLIST_SETTING_ENUM, &entry);
entry.enum_idx = MENU_ENUM_LABEL_SAVE_NEW_CONFIG;
entry.enum_idx = MENU_ENUM_LABEL_CONFIGURATIONS_LIST;
menu_displaylist_ctl(DISPLAYLIST_SETTING_ENUM, &entry);
entry.enum_idx = MENU_ENUM_LABEL_START_VIDEO_PROCESSOR;

View File

@ -3594,13 +3594,7 @@ static int xmb_list_push(void *data, void *userdata,
entry.enum_idx = MENU_ENUM_LABEL_RESTART_RETROARCH;
menu_displaylist_ctl(DISPLAYLIST_SETTING_ENUM, &entry);
#endif
entry.enum_idx = MENU_ENUM_LABEL_CONFIGURATIONS;
menu_displaylist_ctl(DISPLAYLIST_SETTING_ENUM, &entry);
entry.enum_idx = MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG;
menu_displaylist_ctl(DISPLAYLIST_SETTING_ENUM, &entry);
entry.enum_idx = MENU_ENUM_LABEL_SAVE_NEW_CONFIG;
entry.enum_idx = MENU_ENUM_LABEL_CONFIGURATIONS_LIST;
menu_displaylist_ctl(DISPLAYLIST_SETTING_ENUM, &entry);
entry.enum_idx = MENU_ENUM_LABEL_START_VIDEO_PROCESSOR;

View File

@ -2869,6 +2869,29 @@ static int menu_displaylist_parse_information_list(
return 0;
}
static int menu_displaylist_parse_configurations_list(
menu_displaylist_info_t *info)
{
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CONFIGURATIONS),
msg_hash_to_str(MENU_ENUM_LABEL_CONFIGURATIONS),
MENU_ENUM_LABEL_CONFIGURATIONS,
MENU_SETTING_ACTION, 0, 0);
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SAVE_CURRENT_CONFIG),
msg_hash_to_str(MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG),
MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG,
MENU_SETTING_ACTION, 0, 0);
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SAVE_NEW_CONFIG),
msg_hash_to_str(MENU_ENUM_LABEL_SAVE_NEW_CONFIG),
MENU_ENUM_LABEL_SAVE_NEW_CONFIG,
MENU_SETTING_ACTION, 0, 0);
return 0;
}
static int menu_displaylist_parse_add_content_list(
menu_displaylist_info_t *info)
{
@ -4111,6 +4134,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
case DISPLAYLIST_CONTENT_SETTINGS:
case DISPLAYLIST_INFORMATION_LIST:
case DISPLAYLIST_ADD_CONTENT_LIST:
case DISPLAYLIST_CONFIGURATIONS_LIST:
case DISPLAYLIST_SCAN_DIRECTORY_LIST:
case DISPLAYLIST_LOAD_CONTENT_LIST:
case DISPLAYLIST_USER_BINDS_LIST:
@ -4421,13 +4445,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
PARSE_ACTION, false);
#endif
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_CONFIGURATIONS,
PARSE_ACTION, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG,
PARSE_ACTION, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_SAVE_NEW_CONFIG,
MENU_ENUM_LABEL_CONFIGURATIONS_LIST,
PARSE_ACTION, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_HELP_LIST,
@ -5390,6 +5408,12 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
case DISPLAYLIST_ADD_CONTENT_LIST:
ret = menu_displaylist_parse_add_content_list(info);
info->need_push = true;
info->need_refresh = true;
break;
case DISPLAYLIST_CONFIGURATIONS_LIST:
ret = menu_displaylist_parse_configurations_list(info);
info->need_push = true;
info->need_refresh = true;
break;

View File

@ -144,6 +144,7 @@ enum menu_displaylist_ctl_state
DISPLAYLIST_OPTIONS_SHADERS,
DISPLAYLIST_NETPLAY,
DISPLAYLIST_ADD_CONTENT_LIST,
DISPLAYLIST_CONFIGURATIONS_LIST,
DISPLAYLIST_SCAN_DIRECTORY_LIST,
DISPLAYLIST_ARCHIVE_ACTION,
DISPLAYLIST_ARCHIVE_ACTION_DETECT_CORE,

View File

@ -2235,6 +2235,14 @@ static bool setting_append_list(
menu_settings_list_current_add_cmd(list, list_info, CMD_EVENT_RESTART_RETROARCH);
#endif
CONFIG_ACTION(
list, list_info,
MENU_ENUM_LABEL_CONFIGURATIONS_LIST,
MENU_ENUM_LABEL_VALUE_CONFIGURATIONS_LIST,
&group_info,
&subgroup_info,
parent_group);
CONFIG_ACTION(
list, list_info,
MENU_ENUM_LABEL_CONFIGURATIONS,

View File

@ -973,6 +973,8 @@ enum msg_hash_enums
MENU_ENUM_LABEL_ADD_CONTENT_LIST,
MENU_ENUM_LABEL_VALUE_ADD_CONTENT_LIST,
MENU_ENUM_LABEL_CONFIGURATIONS_LIST,
MENU_ENUM_LABEL_VALUE_CONFIGURATIONS_LIST,
MENU_ENUM_LABEL_VALUE_DONT_CARE,
MENU_ENUM_LABEL_VALUE_LINEAR,
@ -2013,6 +2015,8 @@ enum msg_hash_enums
#define MENU_LABEL_DEFERRED_CORE_CONTENT_LIST 0x76150c63U
#define MENU_LABEL_DEFERRED_LAKKA_LIST 0x3db437c4U
#define MENU_LABEL_DEFERRED_INPUT_HOTKEY_BINDS_LIST 0x10b41d97U
#define MENU_LABEL_DEFERRED_CONFIGURATIONS_LIST 0x679a1b0bU
/* Cheevos settings */