From ec789e0943864e6d8a64dd4fa69cdfa1f3551d9b Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 18 May 2015 03:25:45 +0200 Subject: [PATCH] Create DISPLAYLIST_HELP --- menu/menu_displaylist.c | 4 ++++ menu/menu_displaylist.h | 1 + menu/menu_entries_cbs_iterate.c | 7 +++++-- menu/menu_entries_cbs_ok.c | 16 +++++++--------- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 5c3f0c7188..7af0d42c78 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -1787,6 +1787,10 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type) case DISPLAYLIST_SELECT: menu_list_push(info->list, info->path, info->label, info->type, info->directory_ptr); break; + case DISPLAYLIST_HELP: + menu_list_push(info->list, info->path, info->label, info->type, info->directory_ptr); + menu->push_start_screen = false; + break; case DISPLAYLIST_MAIN_MENU: case DISPLAYLIST_SETTINGS: menu_list_clear(info->list); diff --git a/menu/menu_displaylist.h b/menu/menu_displaylist.h index 33469dfcc1..b8834c55c8 100644 --- a/menu/menu_displaylist.h +++ b/menu/menu_displaylist.h @@ -31,6 +31,7 @@ enum { DISPLAYLIST_NONE = 0, DISPLAYLIST_SELECT, + DISPLAYLIST_HELP, DISPLAYLIST_MAIN_MENU, DISPLAYLIST_GENERIC, DISPLAYLIST_SETTINGS, diff --git a/menu/menu_entries_cbs_iterate.c b/menu/menu_entries_cbs_iterate.c index 601ac8a4b5..8504417a5d 100644 --- a/menu/menu_entries_cbs_iterate.c +++ b/menu/menu_entries_cbs_iterate.c @@ -545,9 +545,12 @@ static int action_iterate_main(const char *label, unsigned action) if (menu->push_start_screen) { menu_list_t *menu_list = menu_list_get_ptr(); + menu_displaylist_info_t info = {0}; - menu_list_push(menu_list->menu_stack, "", "help", 0, 0); - menu->push_start_screen = false; + info.list = menu_list->menu_stack; + strlcpy(info.label, "help", sizeof(info.label)); + + menu_displaylist_push_list(&info, DISPLAYLIST_HELP); } return ret; diff --git a/menu/menu_entries_cbs_ok.c b/menu/menu_entries_cbs_ok.c index 2415a06d75..9bc40fe7fe 100644 --- a/menu/menu_entries_cbs_ok.c +++ b/menu/menu_entries_cbs_ok.c @@ -1255,19 +1255,17 @@ static int action_ok_rdb_entry_submenu(const char *path, static int action_ok_help(const char *path, const char *label, unsigned type, size_t idx) { + menu_displaylist_info_t info = {0}; menu_handle_t *menu = menu_driver_get_ptr(); - if (!menu) + menu_list_t *menu_list = menu_list_get_ptr(); + if (!menu || !menu_list) return -1; - menu_list_push( - menu->menu_list->menu_stack, - "", - "help", - 0, - 0); - menu->push_start_screen = false; - return 0; + info.list = menu_list->menu_stack; + strlcpy(info.label, "help", sizeof(info.label)); + + return menu_displaylist_push_list(&info, DISPLAYLIST_HELP); } static int action_ok_video_resolution(const char *path,