mirror of
https://github.com/libretro/RetroArch
synced 2025-01-31 15:32:59 +00:00
Explore menu usability improvements
This commit is contained in:
parent
459fa1b838
commit
27d5152247
@ -1580,8 +1580,8 @@ static void xmb_selection_pointer_changed(
|
|||||||
update_thumbnails = true;
|
update_thumbnails = true;
|
||||||
}
|
}
|
||||||
/* Database + Explore list updates */
|
/* Database + Explore list updates */
|
||||||
else if ((xmb->is_db_manager_list && depth <= 4) ||
|
else if ((xmb->is_db_manager_list && depth <= 4)
|
||||||
xmb->is_explore_list)
|
|| xmb->is_explore_list)
|
||||||
{
|
{
|
||||||
xmb_set_thumbnail_content(xmb, NULL);
|
xmb_set_thumbnail_content(xmb, NULL);
|
||||||
update_thumbnails = true;
|
update_thumbnails = true;
|
||||||
@ -1828,7 +1828,7 @@ static void xmb_list_open_new(xmb_handle_t *xmb,
|
|||||||
if ( gfx_thumbnail_is_enabled(menu_st->thumbnail_path_data, GFX_THUMBNAIL_RIGHT)
|
if ( gfx_thumbnail_is_enabled(menu_st->thumbnail_path_data, GFX_THUMBNAIL_RIGHT)
|
||||||
|| gfx_thumbnail_is_enabled(menu_st->thumbnail_path_data, GFX_THUMBNAIL_LEFT))
|
|| gfx_thumbnail_is_enabled(menu_st->thumbnail_path_data, GFX_THUMBNAIL_LEFT))
|
||||||
{
|
{
|
||||||
if (xmb->is_playlist || xmb->is_db_manager_list)
|
if (xmb->is_playlist || xmb->is_db_manager_list || xmb->is_explore_list)
|
||||||
{
|
{
|
||||||
if (!(xmb->is_db_manager_list && xmb->depth > 4))
|
if (!(xmb->is_db_manager_list && xmb->depth > 4))
|
||||||
xmb_unload_thumbnail_textures(xmb);
|
xmb_unload_thumbnail_textures(xmb);
|
||||||
@ -2204,7 +2204,7 @@ static void xmb_list_switch(xmb_handle_t *xmb)
|
|||||||
{
|
{
|
||||||
xmb_unload_thumbnail_textures(xmb);
|
xmb_unload_thumbnail_textures(xmb);
|
||||||
|
|
||||||
if (xmb->is_playlist)
|
if (xmb->is_playlist || xmb->is_explore_list)
|
||||||
{
|
{
|
||||||
xmb_set_thumbnail_content(xmb, NULL);
|
xmb_set_thumbnail_content(xmb, NULL);
|
||||||
xmb_update_thumbnail_image(xmb);
|
xmb_update_thumbnail_image(xmb);
|
||||||
@ -2667,10 +2667,12 @@ static void xmb_populate_entries(void *data,
|
|||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
struct menu_state *menu_st = menu_state_get_ptr();
|
struct menu_state *menu_st = menu_state_get_ptr();
|
||||||
menu_list_t *menu_list = menu_st->entries.list;
|
menu_list_t *menu_list = menu_st->entries.list;
|
||||||
bool menu_dynamic_wallpaper_enable =
|
bool menu_dynamic_wallpaper_enable = settings
|
||||||
settings ? settings->bools.menu_dynamic_wallpaper_enable : false;
|
? settings->bools.menu_dynamic_wallpaper_enable : false;
|
||||||
bool show_entry_idx = settings ? settings->bools.playlist_show_entry_idx : false;
|
bool show_entry_idx = settings
|
||||||
|
? settings->bools.playlist_show_entry_idx : false;
|
||||||
bool was_db_manager_list = false;
|
bool was_db_manager_list = false;
|
||||||
|
static unsigned depth_prev = 0;
|
||||||
unsigned depth = (unsigned)xmb_list_get_size(xmb, MENU_LIST_PLAIN);
|
unsigned depth = (unsigned)xmb_list_get_size(xmb, MENU_LIST_PLAIN);
|
||||||
if (!xmb)
|
if (!xmb)
|
||||||
return;
|
return;
|
||||||
@ -2751,8 +2753,10 @@ static void xmb_populate_entries(void *data,
|
|||||||
xmb->is_quick_menu |= menu_is_nonrunning_quick_menu() || menu_is_running_quick_menu();
|
xmb->is_quick_menu |= menu_is_nonrunning_quick_menu() || menu_is_running_quick_menu();
|
||||||
if (!menu_explore_is_content_list() || xmb->is_quick_menu)
|
if (!menu_explore_is_content_list() || xmb->is_quick_menu)
|
||||||
xmb->is_explore_list = false;
|
xmb->is_explore_list = false;
|
||||||
else if (!xmb->is_quick_menu)
|
else if (!xmb->is_quick_menu && depth < depth_prev)
|
||||||
xmb->skip_thumbnail_reset = true;
|
xmb->skip_thumbnail_reset = true;
|
||||||
|
else
|
||||||
|
xmb->skip_thumbnail_reset = false;
|
||||||
|
|
||||||
/* 'is_playlist' must be cleared for 'xmb_set_thumbnail_content' */
|
/* 'is_playlist' must be cleared for 'xmb_set_thumbnail_content' */
|
||||||
if (xmb->is_explore_list)
|
if (xmb->is_explore_list)
|
||||||
@ -2775,6 +2779,8 @@ static void xmb_populate_entries(void *data,
|
|||||||
else
|
else
|
||||||
xmb_list_open(xmb);
|
xmb_list_open(xmb);
|
||||||
|
|
||||||
|
depth_prev = depth;
|
||||||
|
|
||||||
xmb_set_title(xmb);
|
xmb_set_title(xmb);
|
||||||
if (menu_dynamic_wallpaper_enable)
|
if (menu_dynamic_wallpaper_enable)
|
||||||
xmb_update_dynamic_wallpaper(xmb);
|
xmb_update_dynamic_wallpaper(xmb);
|
||||||
|
@ -1424,6 +1424,10 @@ unsigned menu_displaylist_explore(file_list_t *list, settings_t *settings)
|
|||||||
|
|
||||||
if (!*state->view_search)
|
if (!*state->view_search)
|
||||||
{
|
{
|
||||||
|
/* Start navigation from first item */
|
||||||
|
if (menu_st->selection_ptr < 1)
|
||||||
|
menu_st->selection_ptr = 1;
|
||||||
|
|
||||||
explore_menu_entry(
|
explore_menu_entry(
|
||||||
list, state,
|
list, state,
|
||||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_EXPLORE_SEARCH_NAME),
|
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_EXPLORE_SEARCH_NAME),
|
||||||
@ -1555,6 +1559,10 @@ unsigned menu_displaylist_explore(file_list_t *list, settings_t *settings)
|
|||||||
}
|
}
|
||||||
else if (current_type == EXPLORE_TYPE_VIEW)
|
else if (current_type == EXPLORE_TYPE_VIEW)
|
||||||
{
|
{
|
||||||
|
/* Start navigation from first item */
|
||||||
|
if (menu_st->selection_ptr < 1)
|
||||||
|
menu_st->selection_ptr = 1;
|
||||||
|
|
||||||
/* Show a saved view */
|
/* Show a saved view */
|
||||||
state->show_icons = EXPLORE_ICONS_CONTENT;
|
state->show_icons = EXPLORE_ICONS_CONTENT;
|
||||||
explore_menu_entry(list, state,
|
explore_menu_entry(list, state,
|
||||||
@ -1566,6 +1574,10 @@ unsigned menu_displaylist_explore(file_list_t *list, settings_t *settings)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
/* Start navigation from first item */
|
||||||
|
if (menu_st->selection_ptr < 2)
|
||||||
|
menu_st->selection_ptr = 2;
|
||||||
|
|
||||||
/* Game list */
|
/* Game list */
|
||||||
state->show_icons = EXPLORE_ICONS_CONTENT;
|
state->show_icons = EXPLORE_ICONS_CONTENT;
|
||||||
explore_menu_entry(list, state,
|
explore_menu_entry(list, state,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user