From e2a6a7ad1728dfd0c6989b8d9481cb6e3174ed46 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 26 May 2017 15:52:38 +0200 Subject: [PATCH] Add 'load_content' parameter to parse_drive_list --- frontend/drivers/platform_ctr.c | 7 ++++-- frontend/drivers/platform_darwin.m | 9 ++++--- frontend/drivers/platform_gx.c | 13 ++++++---- frontend/drivers/platform_linux.c | 17 +++++++------ frontend/drivers/platform_ps3.c | 29 +++++++++++++---------- frontend/drivers/platform_psp.c | 17 +++++++------ frontend/drivers/platform_wiiu.c | 9 ++++--- frontend/drivers/platform_win32.c | 7 ++++-- frontend/drivers/platform_xdk.cpp | 17 +++++++------ frontend/frontend_driver.c | 4 ++-- frontend/frontend_driver.h | 4 ++-- menu/drivers/materialui.c | 2 +- menu/drivers/nuklear/nk_wnd_file_picker.c | 2 +- menu/menu_displaylist.c | 8 +++---- menu/menu_entries.c | 3 ++- 15 files changed, 88 insertions(+), 60 deletions(-) diff --git a/frontend/drivers/platform_ctr.c b/frontend/drivers/platform_ctr.c index 52da6795b3..872a68f72c 100644 --- a/frontend/drivers/platform_ctr.c +++ b/frontend/drivers/platform_ctr.c @@ -381,10 +381,13 @@ enum frontend_architecture frontend_ctr_get_architecture(void) return FRONTEND_ARCH_ARM; } -static int frontend_ctr_parse_drive_list(void *data) +static int frontend_ctr_parse_drive_list(void *data, bool load_content) { #ifndef IS_SALAMANDER file_list_t *list = (file_list_t*)data; + enum msg_hash_enums enum_idx = load_content ? + MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR : + MSG_UNKNOWN; if (!list) return -1; @@ -392,7 +395,7 @@ static int frontend_ctr_parse_drive_list(void *data) menu_entries_append_enum(list, "sdmc:/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); #endif diff --git a/frontend/drivers/platform_darwin.m b/frontend/drivers/platform_darwin.m index 3671f5df68..36059fe907 100644 --- a/frontend/drivers/platform_darwin.m +++ b/frontend/drivers/platform_darwin.m @@ -625,7 +625,7 @@ static enum frontend_architecture frontend_darwin_get_architecture(void) #endif } -static int frontend_darwin_parse_drive_list(void *data) +static int frontend_darwin_parse_drive_list(void *data, bool load_content) { int ret = -1; #if TARGET_OS_IPHONE @@ -636,6 +636,9 @@ static int frontend_darwin_parse_drive_list(void *data) char bundle_path_buf[PATH_MAX_LENGTH] = {0}; char home_dir_buf[PATH_MAX_LENGTH] = {0}; CFBundleRef bundle = CFBundleGetMainBundle(); + enum msg_hash_enums enum_idx = load_content ? + MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR : + MSG_UNKNOWN; bundle_url = CFBundleCopyBundleURL(bundle); bundle_path = CFURLCopyPath(bundle_url); @@ -648,11 +651,11 @@ static int frontend_darwin_parse_drive_list(void *data) menu_entries_append_enum(list, home_dir_buf, msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); ret = 0; diff --git a/frontend/drivers/platform_gx.c b/frontend/drivers/platform_gx.c index d2934bd6ab..d2b33384cf 100644 --- a/frontend/drivers/platform_gx.c +++ b/frontend/drivers/platform_gx.c @@ -469,31 +469,34 @@ static enum frontend_architecture frontend_gx_get_architecture(void) return FRONTEND_ARCH_PPC; } -static int frontend_gx_parse_drive_list(void *data) +static int frontend_gx_parse_drive_list(void *data, bool load_content) { #ifndef IS_SALAMANDER file_list_t *list = (file_list_t*)data; + enum msg_hash_enums enum_idx = load_content ? + MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR : + MSG_UNKNOWN; #ifdef HW_RVL menu_entries_append_enum(list, "sd:/", msg_hash_to_str(MSG_EXTERNAL_APPLICATION_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "usb:/", msg_hash_to_str(MSG_EXTERNAL_APPLICATION_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); #endif menu_entries_append_enum(list, "carda:/", msg_hash_to_str(MSG_EXTERNAL_APPLICATION_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "cardb:/", msg_hash_to_str(MSG_EXTERNAL_APPLICATION_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); #endif diff --git a/frontend/drivers/platform_linux.c b/frontend/drivers/platform_linux.c index 663ff27fbf..20b8152ab1 100644 --- a/frontend/drivers/platform_linux.c +++ b/frontend/drivers/platform_linux.c @@ -1965,10 +1965,13 @@ static void frontend_linux_init(void *data) } -static int frontend_linux_parse_drive_list(void *data) +static int frontend_linux_parse_drive_list(void *data, bool load_content) { #ifdef HAVE_MENU file_list_t *list = (file_list_t*)data; + enum msg_hash_enums enum_idx = load_content ? + MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR : + MSG_UNKNOWN; #ifdef ANDROID if (!string_is_empty(app_dir)) @@ -1976,7 +1979,7 @@ static int frontend_linux_parse_drive_list(void *data) menu_entries_append_enum(list, app_dir, msg_hash_to_str(MSG_APPLICATION_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); } if (!string_is_empty(internal_storage_app_path)) @@ -1984,7 +1987,7 @@ static int frontend_linux_parse_drive_list(void *data) menu_entries_append_enum(list, internal_storage_app_path, msg_hash_to_str(MSG_EXTERNAL_APPLICATION_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); } if (!string_is_empty(internal_storage_path)) @@ -1992,7 +1995,7 @@ static int frontend_linux_parse_drive_list(void *data) menu_entries_append_enum(list, internal_storage_path, msg_hash_to_str(MSG_INTERNAL_STORAGE), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); } else @@ -2000,19 +2003,19 @@ static int frontend_linux_parse_drive_list(void *data) menu_entries_append_enum(list, "/storage/emulated/0", msg_hash_to_str(MSG_REMOVABLE_STORAGE), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); } menu_entries_append_enum(list, "/storage", msg_hash_to_str(MSG_REMOVABLE_STORAGE), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); #endif menu_entries_append_enum(list, "/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); #endif diff --git a/frontend/drivers/platform_ps3.c b/frontend/drivers/platform_ps3.c index 980361d14e..f38686529b 100644 --- a/frontend/drivers/platform_ps3.c +++ b/frontend/drivers/platform_ps3.c @@ -504,70 +504,73 @@ enum frontend_architecture frontend_ps3_get_architecture(void) return FRONTEND_ARCH_PPC; } -static int frontend_ps3_parse_drive_list(void *data) +static int frontend_ps3_parse_drive_list(void *data, bool load_content) { #ifndef IS_SALAMANDER file_list_t *list = (file_list_t*)data; + enum msg_hash_enums enum_idx = load_content ? + MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR : + MSG_UNKNOWN; menu_entries_append_enum(list, "/app_home/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "/dev_hdd0/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "/dev_hdd1/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "/dev_bdvd/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "/host_root/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "/dev_usb000/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "/dev_usb001/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "/dev_usb002/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "/dev_usb003/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "/dev_usb004/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "/dev_usb005/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "/dev_usb006/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); #endif diff --git a/frontend/drivers/platform_psp.c b/frontend/drivers/platform_psp.c index dacb1c82e9..54e5501141 100644 --- a/frontend/drivers/platform_psp.c +++ b/frontend/drivers/platform_psp.c @@ -438,42 +438,45 @@ enum frontend_architecture frontend_psp_get_architecture(void) #endif } -static int frontend_psp_parse_drive_list(void *data) +static int frontend_psp_parse_drive_list(void *data, bool load_content) { #ifndef IS_SALAMANDER file_list_t *list = (file_list_t*)data; + enum msg_hash_enums enum_idx = load_content ? + MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR : + MSG_UNKNOWN; #ifdef VITA menu_entries_append_enum(list, "app0:/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "ur0:/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "ux0:/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); #else menu_entries_append_enum(list, "ms0:/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "ef0:/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "host0:/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); #endif #endif diff --git a/frontend/drivers/platform_wiiu.c b/frontend/drivers/platform_wiiu.c index 27a92b4af2..6f243c8467 100644 --- a/frontend/drivers/platform_wiiu.c +++ b/frontend/drivers/platform_wiiu.c @@ -152,22 +152,25 @@ enum frontend_architecture frontend_wiiu_get_architecture(void) return FRONTEND_ARCH_PPC; } -static int frontend_wiiu_parse_drive_list(void *data) +static int frontend_wiiu_parse_drive_list(void *data, bool load_content) { #ifndef IS_SALAMANDER file_list_t *list = (file_list_t *)data; + enum msg_hash_enums enum_idx = load_content ? + MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR : + MSG_UNKNOWN; if (!list) return -1; menu_entries_append_enum(list, WIIU_SD_PATH, msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, WIIU_USB_PATH, msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); #endif return 0; diff --git a/frontend/drivers/platform_win32.c b/frontend/drivers/platform_win32.c index 179317527a..4441e8e62b 100644 --- a/frontend/drivers/platform_win32.c +++ b/frontend/drivers/platform_win32.c @@ -232,13 +232,16 @@ enum frontend_architecture frontend_win32_get_architecture(void) return FRONTEND_ARCH_NONE; } -static int frontend_win32_parse_drive_list(void *data) +static int frontend_win32_parse_drive_list(void *data, bool load_content) { #ifdef HAVE_MENU size_t i = 0; unsigned drives = GetLogicalDrives(); char drive[] = " :\\"; file_list_t *list = (file_list_t*)data; + enum msg_hash_enums enum_idx = load_content ? + MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR : + MSG_UNKNOWN; for (i = 0; i < 32; i++) { @@ -247,7 +250,7 @@ static int frontend_win32_parse_drive_list(void *data) menu_entries_append_enum(list, drive, msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); } #endif diff --git a/frontend/drivers/platform_xdk.cpp b/frontend/drivers/platform_xdk.cpp index 9268fb6df4..2c68f31e7d 100644 --- a/frontend/drivers/platform_xdk.cpp +++ b/frontend/drivers/platform_xdk.cpp @@ -1383,42 +1383,45 @@ enum frontend_architecture frontend_xdk_get_architecture(void) #endif } -static int frontend_xdk_parse_drive_list(void *data) +static int frontend_xdk_parse_drive_list(void *data, bool load_content) { #ifndef IS_SALAMANDER file_list_t *list = (file_list_t*)data; + enum msg_hash_enums enum_idx = load_content ? + MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR : + MSG_UNKNOWN; #if defined(_XBOX1) menu_entries_append_enum(list, "C:", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "D:", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "E:", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "F:", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "G:", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); #elif defined(_XBOX360) menu_entries_append_enum(list, "game:", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), - MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + enum_idx, MENU_SETTING_ACTION, 0, 0); #endif #endif diff --git a/frontend/frontend_driver.c b/frontend/frontend_driver.c index bb114ee15f..9cc9e9ef2d 100644 --- a/frontend/frontend_driver.c +++ b/frontend/frontend_driver.c @@ -202,13 +202,13 @@ frontend_ctx_driver_t *frontend_get_ptr(void) return current_frontend_ctx; } -int frontend_driver_parse_drive_list(void *data) +int frontend_driver_parse_drive_list(void *data, bool load_content) { frontend_ctx_driver_t *frontend = frontend_get_ptr(); if (!frontend || !frontend->parse_drive_list) return -1; - return frontend->parse_drive_list(data); + return frontend->parse_drive_list(data, load_content); } void frontend_driver_content_loaded(void) diff --git a/frontend/frontend_driver.h b/frontend/frontend_driver.h index a0e5b30ae4..c7a2895ef6 100644 --- a/frontend/frontend_driver.h +++ b/frontend/frontend_driver.h @@ -76,7 +76,7 @@ typedef struct frontend_ctx_driver void (*content_loaded)(void); enum frontend_architecture (*get_architecture)(void); enum frontend_powerstate (*get_powerstate)(int *seconds, int *percent); - int (*parse_drive_list)(void*); + int (*parse_drive_list)(void*, bool); uint64_t (*get_total_mem)(void); uint64_t (*get_used_mem)(void); void (*install_signal_handler)(void); @@ -131,7 +131,7 @@ frontend_ctx_driver_t *frontend_get_ptr(void); **/ frontend_ctx_driver_t *frontend_ctx_init_first(void); -int frontend_driver_parse_drive_list(void *data); +int frontend_driver_parse_drive_list(void *data, bool load_content); void frontend_driver_content_loaded(void); diff --git a/menu/drivers/materialui.c b/menu/drivers/materialui.c index 42aad716ec..8696bd0aa3 100644 --- a/menu/drivers/materialui.c +++ b/menu/drivers/materialui.c @@ -1780,7 +1780,7 @@ static int mui_list_push(void *data, void *userdata, MENU_SETTING_ACTION, 0, 0); } - if (frontend_driver_parse_drive_list(info->list) != 0) + if (frontend_driver_parse_drive_list(info->list, true) != 0) menu_entries_append_enum(info->list, "/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, diff --git a/menu/drivers/nuklear/nk_wnd_file_picker.c b/menu/drivers/nuklear/nk_wnd_file_picker.c index 0abc7abcd2..09467cc758 100644 --- a/menu/drivers/nuklear/nk_wnd_file_picker.c +++ b/menu/drivers/nuklear/nk_wnd_file_picker.c @@ -76,7 +76,7 @@ bool nk_wnd_file_picker(nk_menu_handle_t *nk, char* title, char* in, char* out, if (!drives) { drives = (file_list_t*)calloc(1, sizeof(file_list_t)); - frontend_driver_parse_drive_list(drives); + frontend_driver_parse_drive_list(drives, false); } if (!string_is_empty(in) && string_is_empty(path)) diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 73aeee956a..8ca4c5de17 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -3380,7 +3380,7 @@ static int menu_displaylist_parse_playlists( if (string_is_empty(info->path)) { - if (frontend_driver_parse_drive_list(info->list) != 0) + if (frontend_driver_parse_drive_list(info->list, true) != 0) menu_entries_append_enum(info->list, "/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0); return 0; @@ -3492,7 +3492,7 @@ static int menu_displaylist_parse_cores( if (string_is_empty(info->path)) { - if (frontend_driver_parse_drive_list(info->list) != 0) + if (frontend_driver_parse_drive_list(info->list, true) != 0) menu_entries_append_enum(info->list, "/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0); return 0; @@ -5914,7 +5914,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) MENU_SETTING_ACTION, 0, 0); #endif - if (frontend_driver_parse_drive_list(info->list) != 0) + if (frontend_driver_parse_drive_list(info->list, true) != 0) menu_entries_append_enum(info->list, "/", msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, @@ -6526,7 +6526,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) { if (string_is_empty(info->path)) { - if (frontend_driver_parse_drive_list(info->list) != 0) + if (frontend_driver_parse_drive_list(info->list, true) != 0) menu_entries_append_enum(info->list, "/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0); info->need_refresh = true; diff --git a/menu/menu_entries.c b/menu/menu_entries.c index 00a82fda3f..d6a1a9b638 100644 --- a/menu/menu_entries.c +++ b/menu/menu_entries.c @@ -405,7 +405,8 @@ void menu_entries_append(file_list_t *list, const char *path, const char *label, menu_cbs_init(list, cbs, path, label, type, idx); } -void menu_entries_append_enum(file_list_t *list, const char *path, const char *label, +void menu_entries_append_enum(file_list_t *list, const char *path, + const char *label, enum msg_hash_enums enum_idx, unsigned type, size_t directory_ptr, size_t entry_idx) {