From 4ec1a9e33780a39674632ac9cdbf210e8ded50c2 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 17 Jun 2016 14:54:29 +0200 Subject: [PATCH] Update menu_entries_prepend --- menu/intl/menu_hash_us.c | 4 ++++ menu/menu_displaylist.c | 7 ++++++- menu/menu_entries.c | 7 +++---- menu/menu_entries.h | 1 + menu/menu_hash.h | 3 +++ 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/menu/intl/menu_hash_us.c b/menu/intl/menu_hash_us.c index 22e9e0e6f0..4e90aff801 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_enum(enum menu_hash_enums msg) { switch (msg) { + case MENU_ENUM_LABEL_PARENT_DIRECTORY: + return "parent_directory"; case MENU_ENUM_LABEL_INPUT_PLAYER_ANALOG_DPAD_MODE: return "input_player%u_analog_dpad_mode"; case MENU_ENUM_LABEL_INPUT_LIBRETRO_DEVICE: @@ -834,6 +836,8 @@ const char *menu_hash_to_str_us_enum(enum menu_hash_enums msg) switch (msg) { + case MENU_ENUM_LABEL_VALUE_PARENT_DIRECTORY: + return ".."; case MENU_ENUM_LABEL_VALUE_RUN: return "Run"; case MENU_ENUM_LABEL_VALUE_VIDEO_VIEWPORT_CUSTOM_X: diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index d6399cde55..8eb26495e4 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -3117,12 +3117,14 @@ static int menu_displaylist_parse_generic( menu_entries_prepend(info->list, menu_hash_to_str_enum(MENU_ENUM_LABEL_VALUE_SCAN_THIS_DIRECTORY), menu_hash_to_str_enum(MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY), + MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY, MENU_FILE_SCAN_DIRECTORY, 0 ,0); if (push_dir) menu_entries_prepend(info->list, menu_hash_to_str_enum(MENU_ENUM_LABEL_VALUE_USE_THIS_DIRECTORY), menu_hash_to_str_enum(MENU_ENUM_LABEL_USE_THIS_DIRECTORY), + MENU_ENUM_LABEL_USE_THIS_DIRECTORY, MENU_FILE_USE_DIRECTORY, 0 ,0); if (!horizontal && hash_label != MENU_LABEL_CORE_LIST) @@ -3132,7 +3134,10 @@ static int menu_displaylist_parse_generic( if (!string_is_empty(out_dir)) { - menu_entries_prepend(info->list, "..", info->path, + menu_entries_prepend(info->list, + menu_hash_to_str_enum(MENU_ENUM_LABEL_VALUE_PARENT_DIRECTORY), + info->path, + MENU_ENUM_LABEL_PARENT_DIRECTORY, MENU_FILE_PARENT_DIRECTORY, 0, 0); } } diff --git a/menu/menu_entries.c b/menu/menu_entries.c index aa3139a291..14a6cc8598 100644 --- a/menu/menu_entries.c +++ b/menu/menu_entries.c @@ -576,6 +576,7 @@ void menu_entries_add_enum(file_list_t *list, const char *path, const char *labe } void menu_entries_prepend(file_list_t *list, const char *path, const char *label, + enum menu_hash_enums enum_idx, unsigned type, size_t directory_ptr, size_t entry_idx) { menu_ctx_list_t list_info; @@ -604,10 +605,8 @@ void menu_entries_prepend(file_list_t *list, const char *path, const char *label file_list_set_actiondata(list, idx, cbs); - if (cbs->enum_idx == MENU_ENUM_LABEL_UNKNOWN) - cbs->setting = menu_setting_find(label); - else - cbs->setting = menu_setting_find_enum(cbs->enum_idx); + cbs->enum_idx = enum_idx; + cbs->setting = menu_setting_find_enum(cbs->enum_idx); menu_cbs_init(list, cbs, path, label, type, idx); } diff --git a/menu/menu_entries.h b/menu/menu_entries.h index 57daa4bba1..f69930ed89 100644 --- a/menu/menu_entries.h +++ b/menu/menu_entries.h @@ -175,6 +175,7 @@ void menu_entries_set_alt_at_offset(file_list_t *list, size_t idx, rarch_setting_t *menu_entries_get_setting(uint32_t i); void menu_entries_prepend(file_list_t *list, const char *path, const char *label, + enum menu_hash_enums enum_idx, unsigned type, size_t directory_ptr, size_t entry_idx); void menu_entries_add_enum(file_list_t *list, const char *path, const char *label, diff --git a/menu/menu_hash.h b/menu/menu_hash.h index 067a1ad719..a7c94bef31 100644 --- a/menu/menu_hash.h +++ b/menu/menu_hash.h @@ -43,6 +43,9 @@ enum menu_hash_enums MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE, + MENU_ENUM_LABEL_VALUE_PARENT_DIRECTORY, + MENU_ENUM_LABEL_PARENT_DIRECTORY, + MENU_ENUM_LABEL_RUN, MENU_ENUM_LABEL_CB_THUMBNAILS_UPDATER_DOWNLOAD,