Explore menu usability improvements

This commit is contained in:
sonninnos 2023-07-18 15:14:07 +03:00 committed by LibretroAdmin
parent 459fa1b838
commit 27d5152247
2 changed files with 28 additions and 10 deletions

View File

@ -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);

View File

@ -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,