mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-23 16:09:47 +00:00
Show playlist entry as 'Quick Menu' header title (#14350)
This commit is contained in:
parent
e45958b25a
commit
8fd0961c9a
@ -10483,11 +10483,15 @@ static void ozone_frame(void *data, video_frame_info_t *video_info)
|
|||||||
|
|
||||||
static void ozone_set_header(ozone_handle_t *ozone)
|
static void ozone_set_header(ozone_handle_t *ozone)
|
||||||
{
|
{
|
||||||
if (ozone->categories_selection_ptr <= ozone->system_tab_end)
|
if (ozone->categories_selection_ptr <= ozone->system_tab_end ||
|
||||||
|
(ozone->is_quick_menu && !menu_is_running_quick_menu()) ||
|
||||||
|
ozone->depth > 1)
|
||||||
menu_entries_get_title(ozone->title, sizeof(ozone->title));
|
menu_entries_get_title(ozone->title, sizeof(ozone->title));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ozone_node_t *node = (ozone_node_t*)file_list_get_userdata_at_offset(&ozone->horizontal_list, ozone->categories_selection_ptr - ozone->system_tab_end-1);
|
ozone_node_t *node = (ozone_node_t*)file_list_get_userdata_at_offset(
|
||||||
|
&ozone->horizontal_list,
|
||||||
|
ozone->categories_selection_ptr - ozone->system_tab_end-1);
|
||||||
|
|
||||||
if (node && node->console_name)
|
if (node && node->console_name)
|
||||||
{
|
{
|
||||||
@ -10600,8 +10604,6 @@ static void ozone_populate_entries(void *data,
|
|||||||
settings = config_get_ptr();
|
settings = config_get_ptr();
|
||||||
ozone_collapse_sidebar = settings->bools.ozone_collapse_sidebar;
|
ozone_collapse_sidebar = settings->bools.ozone_collapse_sidebar;
|
||||||
|
|
||||||
ozone_set_header(ozone);
|
|
||||||
|
|
||||||
if (menu_driver_ctl(RARCH_MENU_CTL_IS_PREVENT_POPULATE, NULL))
|
if (menu_driver_ctl(RARCH_MENU_CTL_IS_PREVENT_POPULATE, NULL))
|
||||||
{
|
{
|
||||||
menu_driver_ctl(RARCH_MENU_CTL_UNSET_PREVENT_POPULATE, NULL);
|
menu_driver_ctl(RARCH_MENU_CTL_UNSET_PREVENT_POPULATE, NULL);
|
||||||
@ -10679,6 +10681,8 @@ static void ozone_populate_entries(void *data,
|
|||||||
ozone->is_state_slot = string_to_unsigned(path) == MENU_ENUM_LABEL_STATE_SLOT;
|
ozone->is_state_slot = string_to_unsigned(path) == MENU_ENUM_LABEL_STATE_SLOT;
|
||||||
ozone->is_playlist = ozone_is_playlist(ozone, true);
|
ozone->is_playlist = ozone_is_playlist(ozone, true);
|
||||||
|
|
||||||
|
ozone_set_header(ozone);
|
||||||
|
|
||||||
if (was_db_manager_list)
|
if (was_db_manager_list)
|
||||||
{
|
{
|
||||||
ozone->is_db_manager_list = true;
|
ozone->is_db_manager_list = true;
|
||||||
|
@ -1101,7 +1101,8 @@ static char* xmb_path_dynamic_wallpaper(xmb_handle_t *xmb)
|
|||||||
unsigned depth = (unsigned)xmb_list_get_size(xmb, MENU_LIST_PLAIN);
|
unsigned depth = (unsigned)xmb_list_get_size(xmb, MENU_LIST_PLAIN);
|
||||||
|
|
||||||
/* Do not update wallpaper in "Load Content" playlists */
|
/* Do not update wallpaper in "Load Content" playlists */
|
||||||
if (xmb->categories_selection_ptr == 0 && depth > 4)
|
if ((xmb->categories_selection_ptr == 0 && depth > 4) ||
|
||||||
|
(xmb->categories_selection_ptr > xmb->system_tab_end && depth > 1))
|
||||||
return strdup(xmb->bg_file_path);
|
return strdup(xmb->bg_file_path);
|
||||||
|
|
||||||
if (tmp)
|
if (tmp)
|
||||||
@ -1963,7 +1964,9 @@ static void xmb_list_switch_new(xmb_handle_t *xmb,
|
|||||||
|
|
||||||
static void xmb_set_title(xmb_handle_t *xmb)
|
static void xmb_set_title(xmb_handle_t *xmb)
|
||||||
{
|
{
|
||||||
if (xmb->categories_selection_ptr <= xmb->system_tab_end)
|
if (xmb->categories_selection_ptr <= xmb->system_tab_end ||
|
||||||
|
(xmb->is_quick_menu && !menu_is_running_quick_menu()) ||
|
||||||
|
xmb->depth > 1)
|
||||||
menu_entries_get_title(xmb->title_name, sizeof(xmb->title_name));
|
menu_entries_get_title(xmb->title_name, sizeof(xmb->title_name));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2592,10 +2595,6 @@ static void xmb_populate_entries(void *data,
|
|||||||
if (settings->bools.menu_content_show_video)
|
if (settings->bools.menu_content_show_video)
|
||||||
xmb->playlist_collection_offset++;
|
xmb->playlist_collection_offset++;
|
||||||
|
|
||||||
xmb_set_title(xmb);
|
|
||||||
if (menu_dynamic_wallpaper_enable)
|
|
||||||
xmb_update_dynamic_wallpaper(xmb);
|
|
||||||
|
|
||||||
if (menu_driver_ctl(RARCH_MENU_CTL_IS_PREVENT_POPULATE, NULL))
|
if (menu_driver_ctl(RARCH_MENU_CTL_IS_PREVENT_POPULATE, NULL))
|
||||||
{
|
{
|
||||||
xmb_selection_pointer_changed(xmb, false);
|
xmb_selection_pointer_changed(xmb, false);
|
||||||
@ -2608,6 +2607,10 @@ static void xmb_populate_entries(void *data,
|
|||||||
else
|
else
|
||||||
xmb_list_open(xmb);
|
xmb_list_open(xmb);
|
||||||
|
|
||||||
|
xmb_set_title(xmb);
|
||||||
|
if (menu_dynamic_wallpaper_enable)
|
||||||
|
xmb_update_dynamic_wallpaper(xmb);
|
||||||
|
|
||||||
/* Determine whether to show entry index */
|
/* Determine whether to show entry index */
|
||||||
/* Update list size & entry index texts */
|
/* Update list size & entry index texts */
|
||||||
if ((xmb->entry_idx_enabled = show_entry_idx && xmb->is_playlist))
|
if ((xmb->entry_idx_enabled = show_entry_idx && xmb->is_playlist))
|
||||||
@ -6808,7 +6811,7 @@ static void xmb_context_reset_internal(xmb_handle_t *xmb,
|
|||||||
APPLICATION_SPECIAL_DIRECTORY_ASSETS_XMB_BG);
|
APPLICATION_SPECIAL_DIRECTORY_ASSETS_XMB_BG);
|
||||||
|
|
||||||
/* Do not reset wallpaper in "Load Content" playlists. */
|
/* Do not reset wallpaper in "Load Content" playlists. */
|
||||||
if (!string_is_empty(bg_file_path) && xmb->depth < 4)
|
if (!string_is_empty(bg_file_path) && xmb->depth < 2)
|
||||||
{
|
{
|
||||||
if (!string_is_empty(xmb->bg_file_path))
|
if (!string_is_empty(xmb->bg_file_path))
|
||||||
free(xmb->bg_file_path);
|
free(xmb->bg_file_path);
|
||||||
|
@ -1094,7 +1094,7 @@ int menu_entries_get_title(char *s, size_t len)
|
|||||||
|
|
||||||
if (cbs && cbs->action_get_title)
|
if (cbs && cbs->action_get_title)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret = 0;
|
||||||
if (!string_is_empty(cbs->action_title_cache))
|
if (!string_is_empty(cbs->action_title_cache))
|
||||||
{
|
{
|
||||||
strlcpy(s, cbs->action_title_cache, len);
|
strlcpy(s, cbs->action_title_cache, len);
|
||||||
@ -1102,7 +1102,26 @@ int menu_entries_get_title(char *s, size_t len)
|
|||||||
}
|
}
|
||||||
file_list_get_last(MENU_LIST_GET(menu_st->entries.list, 0),
|
file_list_get_last(MENU_LIST_GET(menu_st->entries.list, 0),
|
||||||
&path, &label, &menu_type, NULL);
|
&path, &label, &menu_type, NULL);
|
||||||
ret = cbs->action_get_title(path, label, menu_type, s, len);
|
|
||||||
|
/* Show playlist entry instead of "Quick Menu" */
|
||||||
|
if (string_is_equal(label, "deferred_rpl_entry_actions"))
|
||||||
|
{
|
||||||
|
const struct playlist_entry *entry = NULL;
|
||||||
|
playlist_t *playlist = playlist_get_cached();
|
||||||
|
if (playlist)
|
||||||
|
{
|
||||||
|
menu_handle_t *menu = menu_state_get_ptr()->driver_data;
|
||||||
|
playlist_get_index(playlist, menu->rpl_entry_selection_ptr, &entry);
|
||||||
|
|
||||||
|
if (entry)
|
||||||
|
strlcpy(s,
|
||||||
|
!string_is_empty(entry->label) ? entry->label : entry->path,
|
||||||
|
len);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
ret = cbs->action_get_title(path, label, menu_type, s, len);
|
||||||
|
|
||||||
if (ret == 1)
|
if (ret == 1)
|
||||||
strlcpy(cbs->action_title_cache, s, sizeof(cbs->action_title_cache));
|
strlcpy(cbs->action_title_cache, s, sizeof(cbs->action_title_cache));
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
Reference in New Issue
Block a user