From 99425a0e9ca84141c2604fe6a1c9e5d1eef4ee36 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 7 Sep 2015 02:43:52 +0200 Subject: [PATCH] Refactor away menu_common_push_content_settings --- menu/cbs/menu_cbs_ok.c | 53 +++++++++++------------------------------- menu/menu.c | 21 +++-------------- menu/menu_cbs.h | 42 +++++++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 58 deletions(-) diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 7749ec74ed..dcdcc87333 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -34,44 +34,7 @@ size_t hack_shader_pass = 0; char core_updater_path[PATH_MAX_LENGTH]; #endif -enum -{ - ACTION_OK_DL_DEFAULT = 0, - ACTION_OK_DL_OPEN_ARCHIVE, - ACTION_OK_DL_OPEN_ARCHIVE_DETECT_CORE, - ACTION_OK_DL_HELP, - ACTION_OK_DL_RPL_ENTRY, - ACTION_OK_DL_RDB_ENTRY, - ACTION_OK_DL_RDB_ENTRY_SUBMENU, - ACTION_OK_DL_AUDIO_DSP_PLUGIN, - ACTION_OK_DL_SHADER_PASS, - ACTION_OK_DL_SHADER_PARAMETERS, - ACTION_OK_DL_SHADER_PRESET, - ACTION_OK_DL_GENERIC, - ACTION_OK_DL_PUSH_DEFAULT, - ACTION_OK_DL_DOWNLOADS_DIR, - ACTION_OK_DL_CONTENT_LIST, - ACTION_OK_DL_REMAP_FILE, - ACTION_OK_DL_RECORD_CONFIGFILE, - ACTION_OK_DL_DISK_IMAGE_APPEND_LIST, - ACTION_OK_DL_PLAYLIST_COLLECTION, - ACTION_OK_DL_CONTENT_COLLECTION_LIST, - ACTION_OK_DL_CHEAT_FILE, - ACTION_OK_DL_CORE_LIST, - ACTION_OK_DL_CONFIGURATIONS_LIST, - ACTION_OK_DL_COMPRESSED_ARCHIVE_PUSH, - ACTION_OK_DL_COMPRESSED_ARCHIVE_PUSH_DETECT_CORE, - ACTION_OK_DL_DIRECTORY_PUSH, - ACTION_OK_DL_DATABASE_MANAGER_LIST, - ACTION_OK_DL_CURSOR_MANAGER_LIST, - ACTION_OK_DL_CUSTOM_VIEWPORT, - ACTION_OK_DL_CORE_UPDATER_LIST, - ACTION_OK_DL_CORE_CONTENT_LIST, - ACTION_OK_DL_DEFERRED_CORE_LIST, - ACTION_OK_DL_DEFERRED_CORE_LIST_SET -}; - -static int generic_action_ok_displaylist_push(const char *path, +int generic_action_ok_displaylist_push(const char *path, const char *label, unsigned type, size_t idx, size_t entry_idx, unsigned action_type) { @@ -95,7 +58,8 @@ static int generic_action_ok_displaylist_push(const char *path, menu_list_get_last_stack(menu_list, &menu_path, &menu_label, NULL, NULL); - fill_pathname_join(action_path, menu_path, path, sizeof(action_path)); + if (path && menu_path) + fill_pathname_join(action_path, menu_path, path, sizeof(action_path)); info.list = menu_list->menu_stack; @@ -316,6 +280,14 @@ static int generic_action_ok_displaylist_push(const char *path, info_path = settings->libretro_directory; info_label = menu_hash_to_str(MENU_LABEL_DEFERRED_CORE_LIST_SET); break; + case ACTION_OK_DL_CONTENT_SETTINGS: + dl_type = DISPLAYLIST_CONTENT_SETTINGS; + info.list = menu_list->selection_buf; + info_path = menu_hash_to_str(MENU_LABEL_VALUE_CONTENT_SETTINGS); + info_label = menu_hash_to_str(MENU_LABEL_CONTENT_SETTINGS); + menu_list_push(menu_list->menu_stack, + info_path, info_label, 0, 0, 0); + break; } if (info_label) @@ -492,7 +464,8 @@ static int action_ok_playlist_entry(const char *path, break; } - menu_common_push_content_settings(); + generic_action_ok_displaylist_push("", + "", 0, 0, 0, ACTION_OK_DL_CONTENT_SETTINGS); } return -1; diff --git a/menu/menu.c b/menu/menu.c index 8cef6a9f58..c49b7cb625 100644 --- a/menu/menu.c +++ b/menu/menu.c @@ -17,6 +17,7 @@ #include #include "menu.h" +#include "menu_cbs.h" #include "menu_hash.h" #include "menu_shader.h" @@ -126,23 +127,6 @@ bool menu_load_content(enum rarch_core_type type) return true; } -void menu_common_push_content_settings(void) -{ - menu_list_t *menu_list = menu_list_get_ptr(); - menu_displaylist_info_t info = {0}; - - if (!menu_list) - return; - - info.list = menu_list->selection_buf; - strlcpy(info.path, menu_hash_to_str(MENU_LABEL_VALUE_CONTENT_SETTINGS), sizeof(info.path)); - strlcpy(info.label, menu_hash_to_str(MENU_LABEL_CONTENT_SETTINGS), sizeof(info.label)); - - menu_list_push(menu_list->menu_stack, - info.path, info.label, info.type, info.flags, 0); - menu_displaylist_push_list(&info, DISPLAYLIST_CONTENT_SETTINGS); -} - int menu_common_load_content( const char *core_path, const char *fullpath, bool persist, enum rarch_core_type type) @@ -188,7 +172,8 @@ int menu_common_load_content( menu_list_flush_stack(menu_list, NULL, MENU_SETTINGS); disp->msg_force = true; - menu_common_push_content_settings(); + generic_action_ok_displaylist_push("", + "", 0, 0, 0, ACTION_OK_DL_CONTENT_SETTINGS); return -1; } diff --git a/menu/menu_cbs.h b/menu/menu_cbs.h index d42723f299..b737369649 100644 --- a/menu/menu_cbs.h +++ b/menu/menu_cbs.h @@ -25,6 +25,44 @@ extern "C" { #endif +enum +{ + ACTION_OK_DL_DEFAULT = 0, + ACTION_OK_DL_OPEN_ARCHIVE, + ACTION_OK_DL_OPEN_ARCHIVE_DETECT_CORE, + ACTION_OK_DL_HELP, + ACTION_OK_DL_RPL_ENTRY, + ACTION_OK_DL_RDB_ENTRY, + ACTION_OK_DL_RDB_ENTRY_SUBMENU, + ACTION_OK_DL_AUDIO_DSP_PLUGIN, + ACTION_OK_DL_SHADER_PASS, + ACTION_OK_DL_SHADER_PARAMETERS, + ACTION_OK_DL_SHADER_PRESET, + ACTION_OK_DL_GENERIC, + ACTION_OK_DL_PUSH_DEFAULT, + ACTION_OK_DL_DOWNLOADS_DIR, + ACTION_OK_DL_CONTENT_LIST, + ACTION_OK_DL_REMAP_FILE, + ACTION_OK_DL_RECORD_CONFIGFILE, + ACTION_OK_DL_DISK_IMAGE_APPEND_LIST, + ACTION_OK_DL_PLAYLIST_COLLECTION, + ACTION_OK_DL_CONTENT_COLLECTION_LIST, + ACTION_OK_DL_CHEAT_FILE, + ACTION_OK_DL_CORE_LIST, + ACTION_OK_DL_CONFIGURATIONS_LIST, + ACTION_OK_DL_COMPRESSED_ARCHIVE_PUSH, + ACTION_OK_DL_COMPRESSED_ARCHIVE_PUSH_DETECT_CORE, + ACTION_OK_DL_DIRECTORY_PUSH, + ACTION_OK_DL_DATABASE_MANAGER_LIST, + ACTION_OK_DL_CURSOR_MANAGER_LIST, + ACTION_OK_DL_CUSTOM_VIEWPORT, + ACTION_OK_DL_CORE_UPDATER_LIST, + ACTION_OK_DL_CORE_CONTENT_LIST, + ACTION_OK_DL_DEFERRED_CORE_LIST, + ACTION_OK_DL_DEFERRED_CORE_LIST_SET, + ACTION_OK_DL_CONTENT_SETTINGS +}; + /* FIXME - Externs, refactor */ extern size_t hack_shader_pass; #ifdef HAVE_NETWORKING @@ -58,6 +96,10 @@ int action_right_input_desc(unsigned type, const char *label, int action_right_cheat(unsigned type, const char *label, bool wraparound); + +int generic_action_ok_displaylist_push(const char *path, + const char *label, unsigned type, size_t idx, size_t entry_idx, + unsigned action_type); /* End of function callbacks */ int menu_cbs_init_bind_left(menu_file_list_cbs_t *cbs,