Refactor menu_displaylist_push_list to menu_displaylist_ctl

This commit is contained in:
twinaphex 2016-02-24 22:56:41 +01:00
parent e8a5f6194e
commit 7968914453
10 changed files with 38 additions and 29 deletions

View File

@ -47,7 +47,7 @@ enum
static int deferred_push_dlist(menu_displaylist_info_t *info, unsigned val)
{
if (menu_displaylist_push_list(info, val) != 0)
if (menu_displaylist_ctl(val, info) != 0)
return menu_cbs_exit();
menu_displaylist_push_list_process(info);
return 0;

View File

@ -42,11 +42,15 @@ static int action_info_default(unsigned type, const char *label)
menu_hash_to_str(MENU_LABEL_INFO_SCREEN),
sizeof(info.label));
ret = menu_displaylist_push_list(&info, DISPLAYLIST_HELP);
if (ret != 0)
return ret;
menu_displaylist_push_list_process(&info);
return 0;
ret = menu_displaylist_ctl(DISPLAYLIST_HELP, &info);
if (ret == 0)
{
menu_displaylist_push_list_process(&info);
return 0;
}
return ret;
}
int menu_cbs_init_bind_info(menu_file_list_cbs_t *cbs,

View File

@ -432,7 +432,7 @@ int generic_action_ok_displaylist_push(const char *path,
if (info_path)
strlcpy(info.path, info_path, sizeof(info.path));
ret = menu_displaylist_push_list(&info, dl_type);
ret = menu_displaylist_ctl(dl_type, &info);
if (ret != 0)
return menu_cbs_exit();

View File

@ -361,7 +361,7 @@ int generic_menu_iterate(void *data, void *userdata, enum menu_action action)
menu_hash_to_str(MENU_LABEL_HELP),
sizeof(info.label));
menu_displaylist_push_list(&info, DISPLAYLIST_HELP);
menu_displaylist_ctl(DISPLAYLIST_HELP, &info);
}
break;
}
@ -397,7 +397,7 @@ bool generic_menu_init_list(void *data)
info.label, info.type, info.flags, 0);
info.list = selection_buf;
menu_displaylist_push_list(&info, DISPLAYLIST_MAIN_MENU);
menu_displaylist_ctl(DISPLAYLIST_MAIN_MENU, &info);
menu_displaylist_push_list_process(&info);

View File

@ -1079,7 +1079,7 @@ static void xmb_init_horizontal_list(xmb_handle_t *xmb)
strlcpy(info.path, settings->playlist_directory, sizeof(info.path));
strlcpy(info.exts, "lpl", sizeof(info.exts));
if (menu_displaylist_push_list(&info, DISPLAYLIST_DATABASE_PLAYLISTS_HORIZONTAL) == 0)
if (menu_displaylist_ctl(DISPLAYLIST_DATABASE_PLAYLISTS_HORIZONTAL, &info) == 0)
menu_displaylist_push_list_process(&info);
}
@ -2688,8 +2688,8 @@ static void xmb_toggle(void *userdata, bool menu_on)
static int deferred_push_content_actions(menu_displaylist_info_t *info)
{
int ret = menu_displaylist_push_list(info,
DISPLAYLIST_HORIZONTAL_CONTENT_ACTIONS);
int ret = menu_displaylist_ctl(
DISPLAYLIST_HORIZONTAL_CONTENT_ACTIONS, info);
if (ret != 0)
return ret;
menu_displaylist_push_list_process(info);
@ -2802,7 +2802,7 @@ static bool xmb_menu_init_list(void *data)
info.label, info.type, info.flags, 0);
info.list = selection_buf;
menu_displaylist_push_list(&info, DISPLAYLIST_MAIN_MENU);
menu_displaylist_ctl(DISPLAYLIST_MAIN_MENU, &info);
info.need_push = true;

View File

@ -1330,7 +1330,7 @@ static bool zarch_menu_init_list(void *data)
event_cmd_ctl(EVENT_CMD_HISTORY_INIT, NULL);
info.list = selection_buf;
menu_displaylist_push_list(&info, DISPLAYLIST_HISTORY);
menu_displaylist_ctl(DISPLAYLIST_HISTORY, &info);
info.need_push = true;

View File

@ -2571,7 +2571,7 @@ static void menu_displaylist_parse_playlist_associations(menu_displaylist_info_t
string_list_free(stcores);
}
int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
int menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist_info_t *info)
{
size_t i;
menu_ctx_displaylist_t disp_list;
@ -2663,6 +2663,8 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
case DISPLAYLIST_ARCHIVE_ACTION_DETECT_CORE:
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
break;
default:
break;
}
switch (type)
@ -3108,7 +3110,7 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
case DISPLAYLIST_PLAYLIST_COLLECTION:
if (string_is_equal(info->path, "content_history.lpl"))
{
if (menu_displaylist_push_list(info, DISPLAYLIST_HISTORY) == 0)
if (menu_displaylist_ctl(DISPLAYLIST_HISTORY, info) == 0)
menu_displaylist_push_list_process(info);
return 0;
}
@ -3385,6 +3387,8 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
info->type_default = MENU_FILE_REMAP;
strlcpy(info->exts, "rmp", sizeof(info->exts));
break;
default:
break;
}
switch (type)
@ -3418,9 +3422,10 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
}
}
break;
default:
break;
}
return ret;
}
@ -3469,22 +3474,22 @@ int menu_displaylist_push(file_list_t *list, file_list_t *menu_list)
switch (hash_label)
{
case MENU_VALUE_MAIN_MENU:
if (menu_displaylist_push_list(&info, DISPLAYLIST_MAIN_MENU) != 0)
if (menu_displaylist_ctl(DISPLAYLIST_MAIN_MENU, &info) != 0)
return -1;
menu_displaylist_push_list_process(&info);
return 0;
case MENU_VALUE_SETTINGS_TAB:
if (menu_displaylist_push_list(&info, DISPLAYLIST_SETTINGS_ALL) != 0)
if (menu_displaylist_ctl(DISPLAYLIST_SETTINGS_ALL, &info) != 0)
return -1;
menu_displaylist_push_list_process(&info);
return 0;
case MENU_VALUE_HISTORY_TAB:
if (menu_displaylist_push_list(&info, DISPLAYLIST_HISTORY) != 0)
if (menu_displaylist_ctl(DISPLAYLIST_HISTORY, &info) != 0)
return -1;
menu_displaylist_push_list_process(&info);
return 0;
case MENU_VALUE_ADD_TAB:
if (menu_displaylist_push_list(&info, DISPLAYLIST_SCAN_DIRECTORY_LIST) != 0)
if (menu_displaylist_ctl(DISPLAYLIST_SCAN_DIRECTORY_LIST, &info) != 0)
return -1;
menu_displaylist_push_list_process(&info);
return 0;
@ -3508,13 +3513,13 @@ int menu_displaylist_push(file_list_t *list, file_list_t *menu_list)
{
strlcpy(info.path, settings->playlist_directory,
sizeof(info.path));
if (menu_displaylist_push_list(&info, DISPLAYLIST_DATABASE_PLAYLISTS_HORIZONTAL) != 0)
if (menu_displaylist_ctl(DISPLAYLIST_DATABASE_PLAYLISTS_HORIZONTAL, &info) != 0)
return -1;
}
menu_displaylist_push_list_process(&info);
return 0;
case MENU_VALUE_HORIZONTAL_MENU:
if (menu_displaylist_push_list(&info, DISPLAYLIST_HORIZONTAL) != 0)
if (menu_displaylist_ctl(DISPLAYLIST_HORIZONTAL, &info) != 0)
return -1;
menu_displaylist_push_list_process(&info);
return 0;

View File

@ -47,7 +47,7 @@ enum
PARSE_SUB_GROUP = (1 << 10)
};
enum
enum menu_displaylist_ctl_state
{
DISPLAYLIST_NONE = 0,
DISPLAYLIST_INFO,
@ -136,7 +136,7 @@ typedef struct menu_displaylist_info
rarch_setting_t *setting;
} menu_displaylist_info_t;
int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type);
int menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist_info_t *info);
void menu_displaylist_push_list_process(menu_displaylist_info_t *info);

View File

@ -663,7 +663,7 @@ static int menu_input_key_bind_set_mode_common(
strlcpy(info.label,
menu_hash_to_str(MENU_LABEL_CUSTOM_BIND), sizeof(info.label));
if (menu_displaylist_push_list(&info, DISPLAYLIST_INFO) == 0)
if (menu_displaylist_ctl(DISPLAYLIST_INFO, &info) == 0)
menu_displaylist_push_list_process(&info);
break;
case MENU_INPUT_BIND_ALL:
@ -679,7 +679,7 @@ static int menu_input_key_bind_set_mode_common(
menu_hash_to_str(MENU_LABEL_CUSTOM_BIND_ALL),
sizeof(info.label));
if (menu_displaylist_push_list(&info, DISPLAYLIST_INFO) == 0)
if (menu_displaylist_ctl(DISPLAYLIST_INFO, &info) == 0)
menu_displaylist_push_list_process(&info);
break;
}

View File

@ -1784,7 +1784,7 @@ int menu_action_handle_setting(rarch_setting_t *setting,
strlcpy(info.path, setting->default_value.string, sizeof(info.path));
strlcpy(info.label, name, sizeof(info.label));
if (menu_displaylist_push_list(&info, DISPLAYLIST_GENERIC) == 0)
if (menu_displaylist_ctl(DISPLAYLIST_GENERIC, &info) == 0)
menu_displaylist_push_list_process(&info);
}
/* fall-through. */
@ -2877,7 +2877,7 @@ void general_write_handler(void *data)
strlcpy(info.label,
menu_hash_to_str(MENU_LABEL_HELP), sizeof(info.label));
if (menu_displaylist_push_list(&info, DISPLAYLIST_GENERIC) == 0)
if (menu_displaylist_ctl(DISPLAYLIST_GENERIC, &info) == 0)
menu_displaylist_push_list_process(&info);
menu_setting_set_with_string_representation(setting, "false");
}