diff --git a/intl/msg_hash_us.c b/intl/msg_hash_us.c index 57a3116c8a..7449d6e61d 100644 --- a/intl/msg_hash_us.c +++ b/intl/msg_hash_us.c @@ -1354,6 +1354,8 @@ static const char *menu_hash_to_str_us_label_enum(enum msg_hash_enums msg) return "deferred_lakka_list"; case MENU_ENUM_LABEL_DOWNLOAD_CORE_CONTENT: return "download_core_content"; + case MENU_ENUM_LABEL_DOWNLOAD_CORE_CONTENT_DIRS: + return "download_core_content_dirs"; case MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY: return "scan_this_directory"; case MENU_ENUM_LABEL_SCAN_FILE: diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index db92d1b4b0..64b8daed2e 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -277,6 +277,11 @@ static int deferred_push_core_content_list(menu_displaylist_info_t *info) return deferred_push_dlist(info, DISPLAYLIST_CORE_CONTENT); } +static int deferred_push_core_content_dirs_list(menu_displaylist_info_t *info) +{ + return deferred_push_dlist(info, DISPLAYLIST_CORE_CONTENT_DIRS); +} + static int deferred_push_lakka_list(menu_displaylist_info_t *info) { return deferred_push_dlist(info, DISPLAYLIST_LAKKA); @@ -661,6 +666,11 @@ static int menu_cbs_init_bind_deferred_push_compare_label( case MENU_ENUM_LABEL_DEFERRED_CORE_CONTENT_LIST: #ifdef HAVE_NETWORKING BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_core_content_list); +#endif + break; + case MENU_ENUM_LABEL_DEFERRED_CORE_CONTENT_DIRS_LIST: +#ifdef HAVE_NETWORKING + BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_core_content_dirs_list); #endif break; case MENU_ENUM_LABEL_DEFERRED_CORE_UPDATER_LIST: diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index d24cbe4c9a..d4420a7c94 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -2035,6 +2035,13 @@ static int action_ok_core_content_list(const char *path, MENU_ENUM_LABEL_CB_CORE_CONTENT_LIST); } +static int action_ok_core_content_dirs_list(const char *path, + const char *label, unsigned type, size_t idx, size_t entry_idx) +{ + return generic_action_ok_network(path, label, type, idx, entry_idx, + MENU_ENUM_LABEL_CB_CORE_CONTENT_DIRS_LIST); +} + static int action_ok_core_updater_list(const char *path, const char *label, unsigned type, size_t idx, size_t entry_idx) { @@ -2692,6 +2699,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_DOWNLOAD_CORE_CONTENT: BIND_ACTION_OK(cbs, action_ok_core_content_list); break; + case MENU_ENUM_LABEL_DOWNLOAD_CORE_CONTENT_DIRS: + BIND_ACTION_OK(cbs, action_ok_core_content_dirs_list); + break; case MENU_ENUM_LABEL_CORE_UPDATER_LIST: BIND_ACTION_OK(cbs, action_ok_core_updater_list); break; diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 9ac58a33f2..ed9ce8850d 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -3674,6 +3674,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) case DISPLAYLIST_DATABASE_QUERY: case DISPLAYLIST_OPTIONS_SHADERS: case DISPLAYLIST_CORE_CONTENT: + case DISPLAYLIST_CORE_CONTENT_DIRS: case DISPLAYLIST_PLAYLIST_COLLECTION: case DISPLAYLIST_HISTORY: case DISPLAYLIST_OPTIONS_DISK: @@ -4429,6 +4430,14 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) core_len, FILE_TYPE_DOWNLOAD_CORE_CONTENT); info->need_push = true; info->need_refresh = true; +#endif + break; + case DISPLAYLIST_CORE_CONTENT_DIRS: +#ifdef HAVE_NETWORKING + print_buf_lines(info->list, core_buf, + core_len, FILE_TYPE_DOWNLOAD_CORE_CONTENT); + info->need_push = true; + info->need_refresh = true; #endif break; case DISPLAYLIST_CORES_UPDATER: diff --git a/menu/menu_displaylist.h b/menu/menu_displaylist.h index 2fb05949aa..bedac8384b 100644 --- a/menu/menu_displaylist.h +++ b/menu/menu_displaylist.h @@ -122,6 +122,7 @@ enum menu_displaylist_ctl_state DISPLAYLIST_ARCHIVE_ACTION, DISPLAYLIST_ARCHIVE_ACTION_DETECT_CORE, DISPLAYLIST_CORE_CONTENT, + DISPLAYLIST_CORE_CONTENT_DIRS, DISPLAYLIST_PROCESS, DISPLAYLIST_PUSH_ONTO_STACK, DISPLAYLIST_PENDING_CLEAR diff --git a/msg_hash.h b/msg_hash.h index afd08f09c1..2dfc1dfbf2 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -635,6 +635,7 @@ enum msg_hash_enums MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT, MENU_ENUM_LABEL_DOWNLOAD_CORE_CONTENT, + MENU_ENUM_LABEL_DOWNLOAD_CORE_CONTENT_DIRS, MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY, MENU_ENUM_LABEL_VALUE_SCAN_THIS_DIRECTORY,