From fcda911a1004d263a6d422ab4a4908bbd8f67075 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 14 Jun 2016 19:09:47 +0200 Subject: [PATCH] Revert "Start breaking up menu_displaylist_push_internal into separate" This reverts commit 244b147b0cdf5df67080f25fcf580507918c26a6. --- menu/cbs/menu_cbs_refresh.c | 14 ----- menu/menu_displaylist.c | 109 ++++++++++-------------------------- menu/menu_displaylist.h | 1 - 3 files changed, 31 insertions(+), 93 deletions(-) diff --git a/menu/cbs/menu_cbs_refresh.c b/menu/cbs/menu_cbs_refresh.c index 36f7f9153e..793f754c0d 100644 --- a/menu/cbs/menu_cbs_refresh.c +++ b/menu/cbs/menu_cbs_refresh.c @@ -37,20 +37,6 @@ int action_refresh_default(file_list_t *list, file_list_t *menu_list) return 0; } -int action_refresh_playlist(file_list_t *list, file_list_t *menu_list) -{ - menu_displaylist_ctx_entry_t entry; - if (!menu_list) - return -1; - - entry.list = list; - entry.stack = menu_list; - - if (!menu_displaylist_ctl(DISPLAYLIST_PUSH_PLAYLIST_ONTO_STACK, &entry)) - return -1; - return 0; -} - int menu_cbs_init_bind_refresh(menu_file_list_cbs_t *cbs, const char *path, const char *label, unsigned type, size_t idx, const char *elem0, const char *elem1, diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index c9c098cb1b..f35b233eba 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -3195,6 +3195,37 @@ static bool menu_displaylist_push_internal( if (!menu_displaylist_ctl(DISPLAYLIST_SCAN_DIRECTORY_LIST, info)) break; return true; + case MENU_VALUE_PLAYLISTS_TAB: + info->type = 42; + strlcpy(info->exts, "lpl", sizeof(info->exts)); + strlcpy(info->label, + menu_hash_to_str(MENU_LABEL_CONTENT_COLLECTION_LIST), + sizeof(info->label)); + + if (string_is_empty(settings->directory.playlist)) + { + menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); + menu_entries_add(info->list, + menu_hash_to_str( + MENU_LABEL_VALUE_NO_PLAYLIST_ENTRIES_AVAILABLE), + menu_hash_to_str( + MENU_LABEL_NO_PLAYLIST_ENTRIES_AVAILABLE), + MENU_INFO_MESSAGE, 0, 0); + info->need_refresh = true; + info->need_push = true; + } + else + { + strlcpy( + info->path, + settings->directory.playlist, + sizeof(info->path)); + + if (!menu_displaylist_ctl( + DISPLAYLIST_DATABASE_PLAYLISTS_HORIZONTAL, info)) + break; + } + return true; case MENU_VALUE_HORIZONTAL_MENU: if (!menu_displaylist_ctl(DISPLAYLIST_HORIZONTAL, info)) break; @@ -3204,82 +3235,6 @@ static bool menu_displaylist_push_internal( return false; } -static bool menu_displaylist_push_internal_playlist( - const char *label, - menu_displaylist_ctx_entry_t *entry, - menu_displaylist_info_t *info) -{ - settings_t *settings = config_get_ptr(); - - info->type = 42; - strlcpy(info->exts, "lpl", sizeof(info->exts)); - strlcpy(info->label, - menu_hash_to_str(MENU_LABEL_CONTENT_COLLECTION_LIST), - sizeof(info->label)); - - if (string_is_empty(settings->directory.playlist)) - { - menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); - menu_entries_add(info->list, - menu_hash_to_str( - MENU_LABEL_VALUE_NO_PLAYLIST_ENTRIES_AVAILABLE), - menu_hash_to_str( - MENU_LABEL_NO_PLAYLIST_ENTRIES_AVAILABLE), - MENU_INFO_MESSAGE, 0, 0); - info->need_refresh = true; - info->need_push = true; - } - else - { - strlcpy( - info->path, - settings->directory.playlist, - sizeof(info->path)); - - if (!menu_displaylist_ctl( - DISPLAYLIST_DATABASE_PLAYLISTS_HORIZONTAL, info)) - return false; - } - - return true; -} - -static bool menu_displaylist_push_playlist(menu_displaylist_ctx_entry_t *entry) -{ - menu_file_list_cbs_t *cbs = NULL; - const char *path = NULL; - const char *label = NULL; - unsigned type = 0; - menu_displaylist_info_t info = {0}; - - if (!entry) - return false; - - menu_entries_get_last_stack(&path, &label, &type, NULL); - - info.list = entry->list; - info.menu_list = entry->stack; - info.type = type; - strlcpy(info.path, path, sizeof(info.path)); - strlcpy(info.label, label, sizeof(info.label)); - - if (!info.list) - return false; - - if (menu_displaylist_push_internal_playlist(label, entry, &info)) - return menu_displaylist_push_list_process(&info); - - cbs = menu_entries_get_last_stack_actiondata(); - - if (cbs && cbs->action_deferred_push) - { - if (cbs->action_deferred_push(&info) != 0) - return -1; - } - - return true; -} - static bool menu_displaylist_push(menu_displaylist_ctx_entry_t *entry) { menu_file_list_cbs_t *cbs = NULL; @@ -3333,8 +3288,6 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) { case DISPLAYLIST_PROCESS: return menu_displaylist_push_list_process(info); - case DISPLAYLIST_PUSH_PLAYLIST_ONTO_STACK: - return menu_displaylist_push_playlist((menu_displaylist_ctx_entry_t*)data); case DISPLAYLIST_PUSH_ONTO_STACK: return menu_displaylist_push((menu_displaylist_ctx_entry_t*)data); default: diff --git a/menu/menu_displaylist.h b/menu/menu_displaylist.h index 95ac124eac..4fac743eae 100644 --- a/menu/menu_displaylist.h +++ b/menu/menu_displaylist.h @@ -115,7 +115,6 @@ enum menu_displaylist_ctl_state DISPLAYLIST_CORE_CONTENT, DISPLAYLIST_PROCESS, DISPLAYLIST_PUSH_ONTO_STACK, - DISPLAYLIST_PUSH_PLAYLIST_ONTO_STACK, DISPLAYLIST_PENDING_CLEAR };