From 6636fbaf1520381537c2777735d7e7bc5dd63e13 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 17 Jul 2015 22:11:24 +0200 Subject: [PATCH] (Help) Add 'Loading Content' --- menu/cbs/menu_cbs_iterate.c | 5 +++++ menu/cbs/menu_cbs_ok.c | 21 +++++++++++++++++++++ menu/intl/menu_hash_us.c | 4 ++++ menu/menu_displaylist.c | 4 ++++ menu/menu_driver.h | 1 + menu/menu_hash.h | 2 ++ 6 files changed, 37 insertions(+) diff --git a/menu/cbs/menu_cbs_iterate.c b/menu/cbs/menu_cbs_iterate.c index b733bbe5e0..755450c8e8 100644 --- a/menu/cbs/menu_cbs_iterate.c +++ b/menu/cbs/menu_cbs_iterate.c @@ -133,6 +133,10 @@ static int action_iterate_help(char *s, size_t len, const char *label) ); } break; + case MENU_HELP_LOADING_CONTENT: + menu_hash_get_help(MENU_LABEL_LOAD_CONTENT, + s, len); + break; case MENU_HELP_EXTRACT: menu_hash_get_help(MENU_LABEL_VALUE_EXTRACTING_PLEASE_WAIT, s, len); @@ -388,6 +392,7 @@ static enum action_iterate_type action_iterate_type(uint32_t hash) { case MENU_LABEL_HELP: case MENU_LABEL_HELP_CONTROLS: + case MENU_LABEL_HELP_LOADING_CONTENT: return ITERATE_TYPE_HELP; case MENU_LABEL_INFO_SCREEN: return ITERATE_TYPE_INFO; diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 39241286dd..51fd3e6bad 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -1865,7 +1865,25 @@ static int action_ok_help_controls(const char *path, menu->help_screen_type = MENU_HELP_CONTROLS; return menu_displaylist_push_list(&info, DISPLAYLIST_HELP); +} +static int action_ok_help_load_content(const char *path, + const char *label, unsigned type, size_t idx, size_t entry_idx) +{ + menu_displaylist_info_t info = {0}; + menu_list_t *menu_list = menu_list_get_ptr(); + menu_handle_t *menu = menu_driver_get_ptr(); + if (!menu_list) + return -1; + + info.list = menu_list->menu_stack; + strlcpy(info.label, + menu_hash_to_str(MENU_LABEL_HELP_LOADING_CONTENT), + sizeof(info.label)); + menu->push_help_screen = true; + menu->help_screen_type = MENU_HELP_LOADING_CONTENT; + + return menu_displaylist_push_list(&info, DISPLAYLIST_HELP); } static int action_ok_video_resolution(const char *path, @@ -2006,6 +2024,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, case MENU_LABEL_HELP_CONTROLS: cbs->action_ok = action_ok_help_controls; break; + case MENU_LABEL_HELP_LOADING_CONTENT: + cbs->action_ok = action_ok_help_load_content; + break; case MENU_LABEL_VIDEO_SHADER_PASS: cbs->action_ok = action_ok_shader_pass; break; diff --git a/menu/intl/menu_hash_us.c b/menu/intl/menu_hash_us.c index fb3b5f8dc8..9362f53809 100644 --- a/menu/intl/menu_hash_us.c +++ b/menu/intl/menu_hash_us.c @@ -26,6 +26,8 @@ static const char *menu_hash_to_str_us_label(uint32_t hash) { switch (hash) { + case MENU_LABEL_HELP_LOADING_CONTENT: + return "help_loading_content"; case MENU_LABEL_HELP_LIST: return "help_list"; case MENU_LABEL_HELP_CONTROLS: @@ -640,6 +642,8 @@ const char *menu_hash_to_str_us(uint32_t hash) switch (hash) { + case MENU_LABEL_VALUE_HELP_LOADING_CONTENT: + return "Loading Content"; case MENU_LABEL_VALUE_HELP_LIST: return "Help"; case MENU_LABEL_VALUE_HELP_CONTROLS: diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index f8514a8491..bd075cde7d 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -2182,6 +2182,10 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type) menu_hash_to_str(MENU_LABEL_VALUE_HELP_CONTROLS), menu_hash_to_str(MENU_LABEL_HELP_CONTROLS), 0, 0, 0); + menu_list_push(info->list, + menu_hash_to_str(MENU_LABEL_VALUE_HELP_LOADING_CONTENT), + menu_hash_to_str(MENU_LABEL_HELP_LOADING_CONTENT), + 0, 0, 0); need_refresh = true; need_push = true; break; diff --git a/menu/menu_driver.h b/menu/menu_driver.h index 2bb9add986..7fea3b0bb7 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -56,6 +56,7 @@ typedef enum MENU_HELP_WELCOME, MENU_HELP_EXTRACT, MENU_HELP_CONTROLS, + MENU_HELP_LOADING_CONTENT, MENU_HELP_LAST } menu_help_type_t; diff --git a/menu/menu_hash.h b/menu/menu_hash.h index 34f39b6c07..2f7aa095f6 100644 --- a/menu/menu_hash.h +++ b/menu/menu_hash.h @@ -22,6 +22,8 @@ extern "C" { #endif +#define MENU_LABEL_HELP_LOADING_CONTENT 0x231d8245U +#define MENU_LABEL_VALUE_HELP_LOADING_CONTENT 0x70bab027U #define MENU_LABEL_HELP_LIST 0x006af669U #define MENU_LABEL_VALUE_HELP_LIST 0x6c57426aU