mirror of
https://github.com/libretro/RetroArch
synced 2025-02-20 06:40:18 +00:00
Refactor menu_displaylist_ctl
This commit is contained in:
parent
7968914453
commit
e8eaa54218
@ -47,7 +47,7 @@ enum
|
||||
|
||||
static int deferred_push_dlist(menu_displaylist_info_t *info, unsigned val)
|
||||
{
|
||||
if (menu_displaylist_ctl(val, info) != 0)
|
||||
if (!menu_displaylist_ctl(val, info))
|
||||
return menu_cbs_exit();
|
||||
menu_displaylist_push_list_process(info);
|
||||
return 0;
|
||||
|
@ -28,7 +28,6 @@
|
||||
|
||||
static int action_info_default(unsigned type, const char *label)
|
||||
{
|
||||
int ret;
|
||||
size_t selection = 0;
|
||||
menu_displaylist_info_t info = {0};
|
||||
file_list_t *menu_stack = menu_entries_get_menu_stack_ptr(0);
|
||||
@ -42,15 +41,13 @@ static int action_info_default(unsigned type, const char *label)
|
||||
menu_hash_to_str(MENU_LABEL_INFO_SCREEN),
|
||||
sizeof(info.label));
|
||||
|
||||
ret = menu_displaylist_ctl(DISPLAYLIST_HELP, &info);
|
||||
|
||||
if (ret == 0)
|
||||
if (menu_displaylist_ctl(DISPLAYLIST_HELP, &info))
|
||||
{
|
||||
menu_displaylist_push_list_process(&info);
|
||||
return 0;
|
||||
}
|
||||
|
||||
return ret;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int menu_cbs_init_bind_info(menu_file_list_cbs_t *cbs,
|
||||
|
@ -111,10 +111,9 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx,
|
||||
unsigned action_type)
|
||||
{
|
||||
int ret;
|
||||
char tmp[PATH_MAX_LENGTH];
|
||||
char action_path[PATH_MAX_LENGTH];
|
||||
unsigned dl_type = DISPLAYLIST_GENERIC;
|
||||
enum menu_displaylist_ctl_state dl_type = DISPLAYLIST_GENERIC;
|
||||
menu_displaylist_info_t info = {0};
|
||||
const char *menu_label = NULL;
|
||||
const char *menu_path = NULL;
|
||||
@ -432,8 +431,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
if (info_path)
|
||||
strlcpy(info.path, info_path, sizeof(info.path));
|
||||
|
||||
ret = menu_displaylist_ctl(dl_type, &info);
|
||||
if (ret != 0)
|
||||
if (!menu_displaylist_ctl(dl_type, &info))
|
||||
return menu_cbs_exit();
|
||||
|
||||
menu_displaylist_push_list_process(&info);
|
||||
|
@ -397,9 +397,9 @@ bool generic_menu_init_list(void *data)
|
||||
info.label, info.type, info.flags, 0);
|
||||
|
||||
info.list = selection_buf;
|
||||
menu_displaylist_ctl(DISPLAYLIST_MAIN_MENU, &info);
|
||||
|
||||
menu_displaylist_push_list_process(&info);
|
||||
if (menu_displaylist_ctl(DISPLAYLIST_MAIN_MENU, &info))
|
||||
menu_displaylist_push_list_process(&info);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -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_ctl(DISPLAYLIST_DATABASE_PLAYLISTS_HORIZONTAL, &info) == 0)
|
||||
if (menu_displaylist_ctl(DISPLAYLIST_DATABASE_PLAYLISTS_HORIZONTAL, &info))
|
||||
menu_displaylist_push_list_process(&info);
|
||||
}
|
||||
|
||||
@ -2688,10 +2688,9 @@ static void xmb_toggle(void *userdata, bool menu_on)
|
||||
|
||||
static int deferred_push_content_actions(menu_displaylist_info_t *info)
|
||||
{
|
||||
int ret = menu_displaylist_ctl(
|
||||
DISPLAYLIST_HORIZONTAL_CONTENT_ACTIONS, info);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
if (!menu_displaylist_ctl(
|
||||
DISPLAYLIST_HORIZONTAL_CONTENT_ACTIONS, info))
|
||||
return -1;
|
||||
menu_displaylist_push_list_process(info);
|
||||
return 0;
|
||||
}
|
||||
|
@ -2571,7 +2571,7 @@ static void menu_displaylist_parse_playlist_associations(menu_displaylist_info_t
|
||||
string_list_free(stcores);
|
||||
}
|
||||
|
||||
int menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist_info_t *info)
|
||||
bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist_info_t *info)
|
||||
{
|
||||
size_t i;
|
||||
menu_ctx_displaylist_t disp_list;
|
||||
@ -2585,7 +2585,7 @@ int menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist_
|
||||
settings_t *settings = NULL;
|
||||
|
||||
if (!menu_driver_ctl(RARCH_MENU_CTL_DRIVER_DATA_GET, &menu))
|
||||
return -1;
|
||||
return false;
|
||||
|
||||
settings = config_get_ptr();
|
||||
|
||||
@ -2596,7 +2596,7 @@ int menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist_
|
||||
disp_list.type = type;
|
||||
|
||||
if (menu_driver_ctl(RARCH_MENU_CTL_LIST_PUSH, &disp_list))
|
||||
return 0;
|
||||
return true;
|
||||
|
||||
switch (type)
|
||||
{
|
||||
@ -3061,7 +3061,7 @@ int menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist_
|
||||
struct string_list *str_list = string_split(info->label, "|");
|
||||
|
||||
if (!str_list)
|
||||
return -1;
|
||||
return false;
|
||||
|
||||
strlcpy(info->path_b, str_list->elems[1].data, sizeof(info->path_b));
|
||||
strlcpy(info->label, str_list->elems[0].data, sizeof(info->label));
|
||||
@ -3110,9 +3110,9 @@ int menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist_
|
||||
case DISPLAYLIST_PLAYLIST_COLLECTION:
|
||||
if (string_is_equal(info->path, "content_history.lpl"))
|
||||
{
|
||||
if (menu_displaylist_ctl(DISPLAYLIST_HISTORY, info) == 0)
|
||||
if (menu_displaylist_ctl(DISPLAYLIST_HISTORY, info))
|
||||
menu_displaylist_push_list_process(info);
|
||||
return 0;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3426,7 +3426,10 @@ int menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist_
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
if (ret != 0)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void menu_displaylist_push_list_process(menu_displaylist_info_t *info)
|
||||
@ -3474,22 +3477,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_ctl(DISPLAYLIST_MAIN_MENU, &info) != 0)
|
||||
if (!menu_displaylist_ctl(DISPLAYLIST_MAIN_MENU, &info))
|
||||
return -1;
|
||||
menu_displaylist_push_list_process(&info);
|
||||
return 0;
|
||||
case MENU_VALUE_SETTINGS_TAB:
|
||||
if (menu_displaylist_ctl(DISPLAYLIST_SETTINGS_ALL, &info) != 0)
|
||||
if (!menu_displaylist_ctl(DISPLAYLIST_SETTINGS_ALL, &info))
|
||||
return -1;
|
||||
menu_displaylist_push_list_process(&info);
|
||||
return 0;
|
||||
case MENU_VALUE_HISTORY_TAB:
|
||||
if (menu_displaylist_ctl(DISPLAYLIST_HISTORY, &info) != 0)
|
||||
if (!menu_displaylist_ctl(DISPLAYLIST_HISTORY, &info))
|
||||
return -1;
|
||||
menu_displaylist_push_list_process(&info);
|
||||
return 0;
|
||||
case MENU_VALUE_ADD_TAB:
|
||||
if (menu_displaylist_ctl(DISPLAYLIST_SCAN_DIRECTORY_LIST, &info) != 0)
|
||||
if (!menu_displaylist_ctl(DISPLAYLIST_SCAN_DIRECTORY_LIST, &info))
|
||||
return -1;
|
||||
menu_displaylist_push_list_process(&info);
|
||||
return 0;
|
||||
@ -3513,13 +3516,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_ctl(DISPLAYLIST_DATABASE_PLAYLISTS_HORIZONTAL, &info) != 0)
|
||||
if (!menu_displaylist_ctl(DISPLAYLIST_DATABASE_PLAYLISTS_HORIZONTAL, &info))
|
||||
return -1;
|
||||
}
|
||||
menu_displaylist_push_list_process(&info);
|
||||
return 0;
|
||||
case MENU_VALUE_HORIZONTAL_MENU:
|
||||
if (menu_displaylist_ctl(DISPLAYLIST_HORIZONTAL, &info) != 0)
|
||||
if (!menu_displaylist_ctl(DISPLAYLIST_HORIZONTAL, &info))
|
||||
return -1;
|
||||
menu_displaylist_push_list_process(&info);
|
||||
return 0;
|
||||
|
@ -136,7 +136,7 @@ typedef struct menu_displaylist_info
|
||||
rarch_setting_t *setting;
|
||||
} menu_displaylist_info_t;
|
||||
|
||||
int menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist_info_t *info);
|
||||
bool 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);
|
||||
|
||||
|
@ -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_ctl(DISPLAYLIST_INFO, &info) == 0)
|
||||
if (menu_displaylist_ctl(DISPLAYLIST_INFO, &info))
|
||||
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_ctl(DISPLAYLIST_INFO, &info) == 0)
|
||||
if (menu_displaylist_ctl(DISPLAYLIST_INFO, &info))
|
||||
menu_displaylist_push_list_process(&info);
|
||||
break;
|
||||
}
|
||||
|
@ -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_ctl(DISPLAYLIST_GENERIC, &info) == 0)
|
||||
if (menu_displaylist_ctl(DISPLAYLIST_GENERIC, &info))
|
||||
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_ctl(DISPLAYLIST_GENERIC, &info) == 0)
|
||||
if (menu_displaylist_ctl(DISPLAYLIST_GENERIC, &info))
|
||||
menu_displaylist_push_list_process(&info);
|
||||
menu_setting_set_with_string_representation(setting, "false");
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user