Add bool pending_push parameter to menu_clear_navigation

This commit is contained in:
twinaphex 2014-10-12 23:44:10 +02:00
parent 5f8fb88d19
commit 94110ea997
9 changed files with 20 additions and 16 deletions

View File

@ -226,7 +226,7 @@ static int menu_settings_iterate(unsigned action)
file_list_get_size(driver.menu->selection_buf))
menu_increment_navigation(driver.menu);
else
menu_clear_navigation(driver.menu);
menu_clear_navigation(driver.menu, false);
break;
case MENU_ACTION_CANCEL:
@ -600,7 +600,7 @@ static int menu_common_iterate(unsigned action)
menu_set_navigation(driver.menu,
driver.menu->selection_ptr + scroll_speed);
else
menu_clear_navigation(driver.menu);
menu_clear_navigation(driver.menu, false);
break;
case MENU_ACTION_LEFT:
@ -608,7 +608,7 @@ static int menu_common_iterate(unsigned action)
menu_set_navigation(driver.menu,
driver.menu->selection_ptr - fast_scroll_speed);
else
menu_clear_navigation(driver.menu);
menu_clear_navigation(driver.menu, false);
break;
case MENU_ACTION_RIGHT:

View File

@ -20,7 +20,7 @@ typedef struct menu_ctx_driver
unsigned);
void (*iterate)(void*, unsigned);
int (*input_postprocess)(uint64_t, uint64_t);
void (*navigation_clear)(void *);
void (*navigation_clear)(void *, bool);
void (*navigation_decrement)(void *);
void (*navigation_increment)(void *);
void (*navigation_set)(void *);

View File

@ -465,10 +465,14 @@ static void rmenu_xui_populate_entries(void *data, const char *path,
XuiListSetCurSelVisible(m_menulist, menu->selection_ptr);
}
static void rmenu_xui_navigation_clear(void *data)
static void rmenu_xui_navigation_clear(void *data, bool pending_push)
{
menu_handle_t *menu = (menu_handle_t*)data;
XuiListSetCurSelVisible(m_menulist, menu->selection_ptr);
(void)pending_push;
if (menu)
XuiListSetCurSelVisible(m_menulist, menu->selection_ptr);
}
static void rmenu_xui_navigation_set_visible(void *data)

View File

@ -771,9 +771,10 @@ static void xmb_context_reset(void *data)
xmb->textures[k].id = xmb_png_texture_load(xmb->textures[k].path);
}
static void xmb_navigation_clear(void *data)
static void xmb_navigation_clear(void *data, bool pending_push)
{
(void)data;
(void)pending_push;
}
static void xmb_navigation_decrement(void *data)

View File

@ -192,7 +192,7 @@ bool menu_init_list(void *data)
menu->list_settings = setting_data_new(SL_FLAG_ALL_SETTINGS);
file_list_push(menu->menu_stack, "", "Main Menu", MENU_SETTINGS, 0);
menu_clear_navigation(menu);
menu_clear_navigation(menu, true);
menu_entries_push_list(menu, menu->selection_buf,
"", "Main Menu", 0);

View File

@ -30,7 +30,7 @@ static void entries_refresh(file_list_t *list)
&& file_list_get_size(list))
menu_set_navigation(driver.menu, file_list_get_size(list) - 1);
else if (!file_list_get_size(list))
menu_clear_navigation(driver.menu);
menu_clear_navigation(driver.menu, true);
}
static inline struct gfx_shader *shader_manager_get_current_shader(
@ -168,7 +168,7 @@ void menu_entries_push(
size_t directory_ptr)
{
file_list_push(list, path, label, type, directory_ptr);
menu_clear_navigation(driver.menu);
menu_clear_navigation(driver.menu, true);
driver.menu->need_refresh = true;
}

View File

@ -62,7 +62,6 @@ static int action_ok_push_history_list(const char *path,
menu_entries_push(driver.menu->menu_stack,
"", label, type, driver.menu->selection_ptr);
menu_clear_navigation(driver.menu);
menu_entries_push_list(driver.menu, driver.menu->selection_buf,
path, label, type);
return 0;
@ -285,7 +284,7 @@ static int action_ok_config_load(const char *path,
driver.menu->msg_force = true;
if (rarch_replace_config(config))
{
menu_clear_navigation(driver.menu);
menu_clear_navigation(driver.menu, false);
return -1;
}
@ -341,7 +340,7 @@ static int action_ok_file_load_with_detect_core(const char *path,
"deferred_core_list",
0,
driver.menu->selection_ptr);
menu_clear_navigation(driver.menu);
menu_clear_navigation(driver.menu, true);
menu_entries_push_list(
driver.menu,
driver.menu->selection_buf,

View File

@ -23,12 +23,12 @@
#include "menu_common.h"
#include "menu_navigation.h"
void menu_clear_navigation(menu_handle_t *menu)
void menu_clear_navigation(menu_handle_t *menu, bool pending_push)
{
menu->selection_ptr = 0;
if (driver.menu_ctx && driver.menu_ctx->navigation_clear)
driver.menu_ctx->navigation_clear(menu);
driver.menu_ctx->navigation_clear(menu, pending_push);
}
void menu_decrement_navigation(menu_handle_t *menu)

View File

@ -23,7 +23,7 @@
extern "C" {
#endif
void menu_clear_navigation(menu_handle_t *menu);
void menu_clear_navigation(menu_handle_t *menu, bool pending_push);
void menu_decrement_navigation(menu_handle_t *menu);