Add 'idx' to menu_entries functions

This commit is contained in:
twinaphex 2015-10-27 10:29:50 +01:00
parent 41344960f5
commit ab9006f21e
7 changed files with 28 additions and 28 deletions

View File

@ -533,7 +533,7 @@ static int action_ok_playlist_entry(const char *path,
{
case MENU_LABEL_COLLECTION:
case MENU_LABEL_RDB_ENTRY_START_CONTENT:
menu_entries_pop_stack(&selection);
menu_entries_pop_stack(&selection, 0);
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
break;
default:
@ -911,7 +911,7 @@ static int action_ok_core_deferred_set(const char *path,
content_playlist_write_file(menu->playlist);
menu_entries_pop_stack(&selection);
menu_entries_pop_stack(&selection, 0);
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
return -1;

View File

@ -243,7 +243,7 @@ int generic_menu_iterate(enum menu_action action)
case ITERATE_TYPE_BIND:
if (menu_input_key_bind_iterate(menu->menu_state.msg, sizeof(menu->menu_state.msg)))
{
menu_entries_pop_stack(&selection);
menu_entries_pop_stack(&selection, 0);
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
}
else
@ -304,7 +304,7 @@ int generic_menu_iterate(enum menu_action action)
if (BIT64_GET(menu->state, MENU_STATE_POP_STACK))
{
size_t new_selection_ptr = selection;
menu_entries_pop_stack(&new_selection_ptr);
menu_entries_pop_stack(&new_selection_ptr, 0);
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
}

View File

@ -306,7 +306,7 @@ static size_t xmb_list_get_size(void *data, menu_list_type_t type)
switch (type)
{
case MENU_LIST_PLAIN:
list_size = menu_entries_get_stack_size();
list_size = menu_entries_get_stack_size(0);
break;
case MENU_LIST_HORIZONTAL:
if (xmb && xmb->horizontal_list)
@ -328,7 +328,7 @@ static void *xmb_list_get_entry(void *data, menu_list_type_t type, unsigned i)
switch (type)
{
case MENU_LIST_PLAIN:
list_size = menu_entries_get_stack_size();
list_size = menu_entries_get_stack_size(0);
if (i < list_size)
ptr = (void*)&menu_stack->list[i];
break;

View File

@ -109,11 +109,11 @@ error:
return NULL;
}
static size_t menu_list_get_stack_size(menu_list_t *list)
static size_t menu_list_get_stack_size(menu_list_t *list, size_t idx)
{
if (!list)
return 0;
return file_list_get_size(list->menu_stack[0]);
return file_list_get_size(list->menu_stack[idx]);
}
void menu_entries_get_at_offset(const file_list_t *list, size_t idx,
@ -155,15 +155,15 @@ static INLINE int menu_entries_flush_stack_type(
return needle ? strcmp(needle, label) : (type != final_type);
}
static bool menu_list_pop_stack(menu_list_t *list, size_t *directory_ptr)
static bool menu_list_pop_stack(menu_list_t *list, size_t idx, size_t *directory_ptr)
{
file_list_t *menu_list = NULL;
if (!list)
return false;
menu_list = list->menu_stack[0];
menu_list = list->menu_stack[idx];
if (menu_list_get_stack_size(list) <= 1)
if (menu_list_get_stack_size(list, idx) <= 1)
return false;
menu_driver_list_cache(MENU_LIST_PLAIN, 0);
@ -180,7 +180,7 @@ static bool menu_list_pop_stack(menu_list_t *list, size_t *directory_ptr)
}
static void menu_list_flush_stack(menu_list_t *list,
const char *needle, unsigned final_type)
size_t idx, const char *needle, unsigned final_type)
{
const char *path = NULL;
const char *label = NULL;
@ -190,7 +190,7 @@ static void menu_list_flush_stack(menu_list_t *list,
return;
menu_entries_set_refresh(false);
menu_entries_get_last(list->menu_stack[0],
menu_entries_get_last(list->menu_stack[idx],
&path, &label, &type, &entry_idx);
while (menu_entries_flush_stack_type(
@ -200,12 +200,12 @@ static void menu_list_flush_stack(menu_list_t *list,
menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION, &new_selection_ptr);
if (!menu_list_pop_stack(list, &new_selection_ptr))
if (!menu_list_pop_stack(list, idx, &new_selection_ptr))
break;
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &new_selection_ptr);
menu_entries_get_last(list->menu_stack[0],
menu_entries_get_last(list->menu_stack[idx],
&path, &label, &type, &entry_idx);
}
}
@ -450,7 +450,7 @@ int menu_entries_get_title(char *s, size_t len)
* one level deep in the menu hierarchy). */
bool menu_entries_show_back(void)
{
return (menu_entries_get_stack_size() > 1);
return (menu_entries_get_stack_size(0) > 1);
}
/* Sets 's' to the name of the current core
@ -633,22 +633,22 @@ void menu_entries_flush_stack(const char *needle, unsigned final_type)
{
menu_list_t *menu_list = menu_list_get_ptr();
if (menu_list)
menu_list_flush_stack(menu_list, needle, final_type);
menu_list_flush_stack(menu_list, 0, needle, final_type);
}
void menu_entries_pop_stack(size_t *ptr)
void menu_entries_pop_stack(size_t *ptr, size_t idx)
{
menu_list_t *menu_list = menu_list_get_ptr();
if (menu_list)
menu_list_pop_stack(menu_list, ptr);
menu_list_pop_stack(menu_list, idx, ptr);
}
size_t menu_entries_get_stack_size(void)
size_t menu_entries_get_stack_size(size_t idx)
{
menu_list_t *menu_list = menu_list_get_ptr();
if (!menu_list)
return 0;
return menu_list_get_stack_size(menu_list);
return menu_list_get_stack_size(menu_list, idx);
}
size_t menu_entries_get_size(void)

View File

@ -141,11 +141,11 @@ void menu_entries_get_last_stack(const char **path, const char **label,
menu_file_list_cbs_t *menu_entries_get_last_stack_actiondata(void);
void menu_entries_pop_stack(size_t *ptr);
void menu_entries_pop_stack(size_t *ptr, size_t idx);
void menu_entries_flush_stack(const char *needle, unsigned final_type);
size_t menu_entries_get_stack_size(void);
size_t menu_entries_get_stack_size(size_t idx);
size_t menu_entries_get_size(void);

View File

@ -37,7 +37,7 @@ int menu_entry_go_back(void)
size_t new_selection_ptr;
menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION, &new_selection_ptr);
menu_entries_pop_stack(&new_selection_ptr);
menu_entries_pop_stack(&new_selection_ptr, 0);
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &new_selection_ptr);
return 0;

View File

@ -904,7 +904,7 @@ static int menu_input_mouse_frame(
if (BIT64_GET(input_mouse, MOUSE_ACTION_BUTTON_R))
{
menu_entries_pop_stack(&selection);
menu_entries_pop_stack(&selection, 0);
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
}
@ -960,7 +960,7 @@ static int menu_input_mouse_post_iterate(uint64_t *input_mouse,
if ((unsigned)menu_input->mouse.y < header_height)
{
menu_entries_pop_stack(&selection);
menu_entries_pop_stack(&selection, 0);
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
return 0;
}
@ -1143,7 +1143,7 @@ static int menu_input_pointer_post_iterate(menu_file_list_cbs_t *cbs,
{
if ((unsigned)menu_input->pointer.start_y < header_height)
{
menu_entries_pop_stack(&selection);
menu_entries_pop_stack(&selection, 0);
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
}
else if (menu_input->pointer.ptr <= (menu_entries_get_size() - 1))
@ -1169,7 +1169,7 @@ static int menu_input_pointer_post_iterate(menu_file_list_cbs_t *cbs,
if (!menu_input->pointer.oldback)
{
menu_input->pointer.oldback = true;
menu_entries_pop_stack(&selection);
menu_entries_pop_stack(&selection, 0);
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
}
}