Add DISPLAYLIST_SETTINGS to menu_displaylist_push_list

This commit is contained in:
twinaphex 2015-05-12 10:57:00 +02:00
parent 23135e3c92
commit 9bec899fcb
3 changed files with 17 additions and 5 deletions

View File

@ -19,9 +19,9 @@
#include "menu_displaylist.h" #include "menu_displaylist.h"
#include "menu_navigation.h" #include "menu_navigation.h"
int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type) int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
{ {
int ret = 0;
menu_handle_t *menu = menu_driver_get_ptr(); menu_handle_t *menu = menu_driver_get_ptr();
menu_list_t *menu_list = menu_list_get_ptr(); menu_list_t *menu_list = menu_list_get_ptr();
menu_navigation_t *nav = menu_navigation_get_ptr(); menu_navigation_t *nav = menu_navigation_get_ptr();
@ -36,12 +36,16 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
menu_list_push(menu_list->menu_stack, menu_list_push(menu_list->menu_stack,
info->path, info->label, info->type, info->flags); info->path, info->label, info->type, info->flags);
menu_navigation_clear(nav, true); menu_navigation_clear(nav, true);
menu_entries_push_list(menu, info->list, ret = menu_entries_push_list(menu, info->list,
info->path, info->label, info->type, info->flags);
break;
case DISPLAYLIST_SETTINGS:
ret = menu_entries_push_list(menu, info->list,
info->path, info->label, info->type, info->flags); info->path, info->label, info->type, info->flags);
break; break;
} }
return 0; return ret;
} }
int menu_displaylist_deferred_push(menu_displaylist_info_t *info) int menu_displaylist_deferred_push(menu_displaylist_info_t *info)

View File

@ -28,6 +28,7 @@ enum
{ {
DISPLAYLIST_NONE = 0, DISPLAYLIST_NONE = 0,
DISPLAYLIST_MAIN_MENU, DISPLAYLIST_MAIN_MENU,
DISPLAYLIST_SETTINGS,
}; };
typedef struct menu_displaylist_info typedef struct menu_displaylist_info

View File

@ -1550,12 +1550,19 @@ static int deferred_push_settings_subgroup(void *data, void *userdata,
static int deferred_push_category(void *data, void *userdata, static int deferred_push_category(void *data, void *userdata,
const char *path, const char *label, unsigned type) const char *path, const char *label, unsigned type)
{ {
menu_displaylist_info_t info = {0};
menu_handle_t *menu = menu_driver_get_ptr(); menu_handle_t *menu = menu_driver_get_ptr();
if (!menu) if (!menu)
return -1; return -1;
return menu_entries_push_list(menu, (file_list_t*)data,
path, label, type, SL_FLAG_ALL_SETTINGS); info.list = (file_list_t*)data;
info.type = type;
info.flags = SL_FLAG_ALL_SETTINGS;
strlcpy(info.path, path, sizeof(info.path));
strlcpy(info.label, label, sizeof(info.label));
return menu_displaylist_push_list(&info, DISPLAYLIST_SETTINGS);
} }
static int deferred_push_video_options(void *data, void *userdata, static int deferred_push_video_options(void *data, void *userdata,