mirror of
https://github.com/libretro/RetroArch
synced 2025-03-16 07:21:03 +00:00
(Ozone) Cleanups
This commit is contained in:
parent
05eca53290
commit
d9948c00e1
@ -3392,24 +3392,23 @@ static bool ozone_is_playlist(ozone_handle_t *ozone, bool depth)
|
||||
|
||||
static void ozone_sidebar_update_collapse(
|
||||
ozone_handle_t *ozone,
|
||||
settings_t *settings,
|
||||
bool ozone_collapse_sidebar,
|
||||
bool allow_animation)
|
||||
{
|
||||
/* Collapse sidebar if needed */
|
||||
struct gfx_animation_ctx_entry entry;
|
||||
bool is_playlist = ozone_is_playlist(ozone, false);
|
||||
uintptr_t tag = (uintptr_t)&ozone->sidebar_collapsed;
|
||||
bool collapse_sidebar = settings->bools.ozone_collapse_sidebar;
|
||||
|
||||
entry.easing_enum = EASING_OUT_QUAD;
|
||||
entry.tag = tag;
|
||||
entry.userdata = ozone;
|
||||
entry.duration = ANIMATION_CURSOR_DURATION;
|
||||
entry.easing_enum = EASING_OUT_QUAD;
|
||||
entry.tag = tag;
|
||||
entry.userdata = ozone;
|
||||
entry.duration = ANIMATION_CURSOR_DURATION;
|
||||
|
||||
gfx_animation_kill_by_tag(&tag);
|
||||
|
||||
/* Collapse it */
|
||||
if (collapse_sidebar || (is_playlist && !ozone->cursor_in_sidebar))
|
||||
if (ozone_collapse_sidebar || (is_playlist && !ozone->cursor_in_sidebar))
|
||||
{
|
||||
if (allow_animation)
|
||||
{
|
||||
@ -3436,7 +3435,7 @@ static void ozone_sidebar_update_collapse(
|
||||
}
|
||||
}
|
||||
/* Show it */
|
||||
else if (ozone->cursor_in_sidebar || (!is_playlist && !collapse_sidebar))
|
||||
else if (ozone->cursor_in_sidebar || (!is_playlist && !ozone_collapse_sidebar))
|
||||
{
|
||||
if (allow_animation)
|
||||
{
|
||||
@ -3469,7 +3468,7 @@ static void ozone_sidebar_update_collapse(
|
||||
|
||||
|
||||
static void ozone_go_to_sidebar(ozone_handle_t *ozone,
|
||||
settings_t *settings,
|
||||
bool ozone_collapse_sidebar,
|
||||
uintptr_t tag)
|
||||
{
|
||||
struct gfx_animation_ctx_entry entry;
|
||||
@ -3491,7 +3490,7 @@ static void ozone_go_to_sidebar(ozone_handle_t *ozone,
|
||||
|
||||
gfx_animation_push(&entry);
|
||||
|
||||
ozone_sidebar_update_collapse(ozone, settings, true);
|
||||
ozone_sidebar_update_collapse(ozone, ozone_collapse_sidebar, true);
|
||||
}
|
||||
|
||||
static void ozone_update_content_metadata(ozone_handle_t *ozone)
|
||||
@ -3631,14 +3630,11 @@ static void ozone_update_content_metadata(ozone_handle_t *ozone)
|
||||
|
||||
|
||||
static void ozone_leave_sidebar(ozone_handle_t *ozone,
|
||||
settings_t *settings,
|
||||
bool ozone_collapse_sidebar,
|
||||
uintptr_t tag)
|
||||
{
|
||||
struct gfx_animation_ctx_entry entry;
|
||||
|
||||
if (ozone->empty_playlist)
|
||||
return;
|
||||
|
||||
ozone_update_content_metadata(ozone);
|
||||
|
||||
ozone->categories_active_idx_old = ozone->categories_selection_ptr;
|
||||
@ -3648,17 +3644,16 @@ static void ozone_leave_sidebar(ozone_handle_t *ozone,
|
||||
/* Cursor animation */
|
||||
ozone->animations.cursor_alpha = 0.0f;
|
||||
|
||||
entry.cb = NULL;
|
||||
entry.duration = ANIMATION_CURSOR_DURATION;
|
||||
entry.easing_enum = EASING_OUT_QUAD;
|
||||
entry.subject = &ozone->animations.cursor_alpha;
|
||||
entry.tag = tag;
|
||||
entry.target_value = 1.0f;
|
||||
entry.userdata = NULL;
|
||||
entry.cb = NULL;
|
||||
entry.duration = ANIMATION_CURSOR_DURATION;
|
||||
entry.easing_enum = EASING_OUT_QUAD;
|
||||
entry.subject = &ozone->animations.cursor_alpha;
|
||||
entry.tag = tag;
|
||||
entry.target_value = 1.0f;
|
||||
entry.userdata = NULL;
|
||||
|
||||
gfx_animation_push(&entry);
|
||||
|
||||
ozone_sidebar_update_collapse(ozone, settings, true);
|
||||
ozone_sidebar_update_collapse(ozone, ozone_collapse_sidebar, true);
|
||||
}
|
||||
|
||||
static void ozone_free_node(ozone_node_t *node)
|
||||
@ -3931,7 +3926,7 @@ static void ozone_sidebar_goto(ozone_handle_t *ozone, unsigned new_selection)
|
||||
|
||||
static void ozone_refresh_sidebars(
|
||||
ozone_handle_t *ozone,
|
||||
settings_t *settings,
|
||||
bool ozone_collapse_sidebar,
|
||||
unsigned video_height)
|
||||
{
|
||||
uintptr_t collapsed_tag = (uintptr_t)&ozone->sidebar_collapsed;
|
||||
@ -3939,7 +3934,6 @@ static void ozone_refresh_sidebars(
|
||||
uintptr_t thumbnail_tag = (uintptr_t)&ozone->show_thumbnail_bar;
|
||||
uintptr_t scroll_tag = (uintptr_t)ozone;
|
||||
bool is_playlist = ozone_is_playlist(ozone, false);
|
||||
bool collapse_sidebar = settings->bools.ozone_collapse_sidebar;
|
||||
|
||||
/* Kill any existing animations */
|
||||
gfx_animation_kill_by_tag(&collapsed_tag);
|
||||
@ -3949,13 +3943,13 @@ static void ozone_refresh_sidebars(
|
||||
gfx_animation_kill_by_tag(&scroll_tag);
|
||||
|
||||
/* Set sidebar width */
|
||||
if (collapse_sidebar || (is_playlist && !ozone->cursor_in_sidebar))
|
||||
if (ozone_collapse_sidebar || (is_playlist && !ozone->cursor_in_sidebar))
|
||||
{
|
||||
ozone->animations.sidebar_text_alpha = 0.0f;
|
||||
ozone->dimensions_sidebar_width = ozone->dimensions.sidebar_width_collapsed;
|
||||
ozone->sidebar_collapsed = true;
|
||||
}
|
||||
else if (ozone->cursor_in_sidebar || (!is_playlist && !collapse_sidebar))
|
||||
else if (ozone->cursor_in_sidebar || (!is_playlist && !ozone_collapse_sidebar))
|
||||
{
|
||||
ozone->animations.sidebar_text_alpha = 1.0f;
|
||||
ozone->dimensions_sidebar_width = ozone->dimensions.sidebar_width_normal;
|
||||
@ -4584,7 +4578,7 @@ static void ozone_update_scroll(ozone_handle_t *ozone,
|
||||
|
||||
static void ozone_compute_entries_position(
|
||||
ozone_handle_t *ozone,
|
||||
settings_t *settings,
|
||||
bool menu_show_sublabels,
|
||||
size_t entries_end)
|
||||
{
|
||||
/* Compute entries height and adjust scrolling if needed */
|
||||
@ -4594,7 +4588,6 @@ static void ozone_compute_entries_position(
|
||||
file_list_t *selection_buf = NULL;
|
||||
int entry_padding = ozone_get_entries_padding(ozone);
|
||||
float scale_factor = ozone->last_scale_factor;
|
||||
bool menu_show_sublabels = settings->bools.menu_show_sublabels;
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_START_GET, &i);
|
||||
|
||||
@ -6802,7 +6795,9 @@ static void ozone_start_cursor_wiggle(
|
||||
|
||||
|
||||
static enum menu_action ozone_parse_menu_entry_action(
|
||||
ozone_handle_t *ozone, settings_t *settings,
|
||||
ozone_handle_t *ozone,
|
||||
bool menu_navigation_wraparound_enable,
|
||||
bool ozone_collapse_sidebar,
|
||||
enum menu_action action)
|
||||
{
|
||||
uintptr_t tag;
|
||||
@ -6810,7 +6805,6 @@ static enum menu_action ozone_parse_menu_entry_action(
|
||||
enum menu_action new_action = action;
|
||||
file_list_t *selection_buf = NULL;
|
||||
unsigned horizontal_list_size = 0;
|
||||
bool menu_navigation_wraparound_enable;
|
||||
bool is_current_entry_settings;
|
||||
size_t selection;
|
||||
size_t selection_total;
|
||||
@ -6867,8 +6861,6 @@ static enum menu_action ozone_parse_menu_entry_action(
|
||||
selection = menu_navigation_get_selection();
|
||||
selection_total = menu_entries_get_size();
|
||||
|
||||
menu_navigation_wraparound_enable = settings->bools.menu_navigation_wraparound_enable;
|
||||
|
||||
/* Don't wiggle left or right if the current entry is a setting. This is
|
||||
partially wrong because some settings don't use left and right to change their value, such as
|
||||
free input fields (passwords...). This is good enough. */
|
||||
@ -6972,7 +6964,7 @@ static enum menu_action ozone_parse_menu_entry_action(
|
||||
break;
|
||||
}
|
||||
|
||||
ozone_go_to_sidebar(ozone, settings, tag);
|
||||
ozone_go_to_sidebar(ozone, ozone_collapse_sidebar, tag);
|
||||
|
||||
new_action = MENU_ACTION_ACCESSIBILITY_SPEAK_TITLE;
|
||||
break;
|
||||
@ -6994,7 +6986,8 @@ static enum menu_action ozone_parse_menu_entry_action(
|
||||
break;
|
||||
}
|
||||
|
||||
ozone_leave_sidebar(ozone, settings, tag);
|
||||
if (!ozone->empty_playlist)
|
||||
ozone_leave_sidebar(ozone, ozone_collapse_sidebar, tag);
|
||||
|
||||
new_action = MENU_ACTION_ACCESSIBILITY_SPEAK_LABEL;
|
||||
break;
|
||||
@ -7002,7 +6995,8 @@ static enum menu_action ozone_parse_menu_entry_action(
|
||||
ozone->cursor_mode = false;
|
||||
if (ozone->cursor_in_sidebar)
|
||||
{
|
||||
ozone_leave_sidebar(ozone, settings, tag);
|
||||
if (!ozone->empty_playlist)
|
||||
ozone_leave_sidebar(ozone, ozone_collapse_sidebar, tag);
|
||||
new_action = MENU_ACTION_ACCESSIBILITY_SPEAK_LABEL;
|
||||
break;
|
||||
}
|
||||
@ -7028,7 +7022,7 @@ static enum menu_action ozone_parse_menu_entry_action(
|
||||
|
||||
if (menu_entries_get_stack_size(0) == 1)
|
||||
{
|
||||
ozone_go_to_sidebar(ozone, settings, tag);
|
||||
ozone_go_to_sidebar(ozone, ozone_collapse_sidebar, tag);
|
||||
new_action = MENU_ACTION_ACCESSIBILITY_SPEAK_TITLE;
|
||||
}
|
||||
break;
|
||||
@ -7104,7 +7098,6 @@ static enum menu_action ozone_parse_menu_entry_action(
|
||||
return new_action;
|
||||
}
|
||||
|
||||
|
||||
/* Menu entry action callback */
|
||||
static int ozone_menu_entry_action(
|
||||
void *userdata, menu_entry_t *entry,
|
||||
@ -7116,7 +7109,9 @@ static int ozone_menu_entry_action(
|
||||
settings_t *settings = config_get_ptr();
|
||||
size_t selection = i;
|
||||
/* Process input action */
|
||||
enum menu_action new_action = ozone_parse_menu_entry_action(ozone, settings,
|
||||
enum menu_action new_action = ozone_parse_menu_entry_action(ozone,
|
||||
settings->bools.menu_navigation_wraparound_enable,
|
||||
settings->bools.ozone_collapse_sidebar,
|
||||
action);
|
||||
/* Check whether current selection has changed
|
||||
* (due to automatic on screen entry selection...) */
|
||||
@ -7239,7 +7234,7 @@ static void *ozone_init(void **userdata, bool video_is_threaded)
|
||||
gfx_thumbnail_set_fade_duration(-1.0f);
|
||||
gfx_thumbnail_set_fade_missing(false);
|
||||
|
||||
ozone_sidebar_update_collapse(ozone, settings, false);
|
||||
ozone_sidebar_update_collapse(ozone, settings->bools.ozone_collapse_sidebar, false);
|
||||
|
||||
ozone->system_tab_end = 0;
|
||||
ozone->tabs[ozone->system_tab_end] = OZONE_SYSTEM_TAB_MAIN;
|
||||
@ -7359,7 +7354,7 @@ static void *ozone_init(void **userdata, bool video_is_threaded)
|
||||
APPLICATION_SPECIAL_DIRECTORY_ASSETS_OZONE_ICONS);
|
||||
|
||||
ozone_last_use_preferred_system_color_theme = settings->bools.menu_use_preferred_system_color_theme;
|
||||
p_anim->updatetime_cb = ozone_menu_animation_update_time;
|
||||
p_anim->updatetime_cb = ozone_menu_animation_update_time;
|
||||
|
||||
/* set word_wrap function pointer */
|
||||
ozone->word_wrap = msg_hash_get_wideglyph_str() ? word_wrap_wideglyph : word_wrap;
|
||||
@ -7555,20 +7550,15 @@ static void ozone_cache_footer_labels(ozone_handle_t *ozone)
|
||||
/* Determines the size of all menu elements */
|
||||
static void ozone_set_layout(
|
||||
ozone_handle_t *ozone,
|
||||
settings_t *settings,
|
||||
bool ozone_collapse_sidebar,
|
||||
bool is_threaded)
|
||||
{
|
||||
char s1[PATH_MAX_LENGTH];
|
||||
char font_path[PATH_MAX_LENGTH];
|
||||
float scale_factor = 0.0f;
|
||||
bool font_inited = false;
|
||||
float scale_factor = ozone->last_scale_factor;
|
||||
|
||||
font_path[0] = s1[0]= '\0';
|
||||
|
||||
if (!ozone)
|
||||
return;
|
||||
|
||||
scale_factor = ozone->last_scale_factor;
|
||||
font_path[0] = s1[0]= '\0';
|
||||
|
||||
/* Calculate dimensions */
|
||||
ozone->dimensions.header_height = HEADER_HEIGHT * scale_factor;
|
||||
@ -7702,7 +7692,7 @@ static void ozone_set_layout(
|
||||
* > ozone_refresh_sidebars() cancels any existing
|
||||
* animations and 'force updates' the affected
|
||||
* variables with newly scaled values */
|
||||
ozone_refresh_sidebars(ozone, settings, ozone->last_height);
|
||||
ozone_refresh_sidebars(ozone, ozone_collapse_sidebar, ozone->last_height);
|
||||
|
||||
/* Entry dimensions must be recalculated after
|
||||
* updating menu layout */
|
||||
@ -7730,13 +7720,12 @@ static void ozone_context_reset(void *data, bool is_threaded)
|
||||
};
|
||||
unsigned i;
|
||||
ozone_handle_t *ozone = (ozone_handle_t*) data;
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
if (ozone)
|
||||
{
|
||||
ozone->has_all_assets = true;
|
||||
|
||||
ozone_set_layout(ozone, settings, is_threaded);
|
||||
ozone_set_layout(ozone, config_get_ptr()->bools.ozone_collapse_sidebar, is_threaded);
|
||||
|
||||
/* Textures init */
|
||||
for (i = 0; i < OZONE_TEXTURE_LAST; i++)
|
||||
@ -8266,13 +8255,16 @@ static void ozone_render(void *data,
|
||||
* (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=323#c87) */
|
||||
volatile float scale_factor;
|
||||
volatile float thumbnail_scale_factor;
|
||||
unsigned entries_end = (unsigned)menu_entries_get_size();
|
||||
bool pointer_enabled = false;
|
||||
unsigned language = *msg_hash_get_uint(MSG_HASH_USER_LANGUAGE);
|
||||
ozone_handle_t *ozone = (ozone_handle_t*)data;
|
||||
gfx_display_t *p_disp = disp_get_ptr();
|
||||
gfx_animation_t *p_anim = anim_get_ptr();
|
||||
settings_t *settings = config_get_ptr();
|
||||
unsigned entries_end = (unsigned)menu_entries_get_size();
|
||||
bool pointer_enabled = false;
|
||||
unsigned language = *msg_hash_get_uint(MSG_HASH_USER_LANGUAGE);
|
||||
ozone_handle_t *ozone = (ozone_handle_t*)data;
|
||||
gfx_display_t *p_disp = disp_get_ptr();
|
||||
gfx_animation_t *p_anim = anim_get_ptr();
|
||||
settings_t *settings = config_get_ptr();
|
||||
bool ozone_collapse_sidebar = settings->bools.ozone_collapse_sidebar;
|
||||
float ozone_thumbnail_scale_factor =
|
||||
settings->floats.ozone_thumbnail_scale_factor;
|
||||
if (!ozone)
|
||||
return;
|
||||
|
||||
@ -8280,27 +8272,26 @@ static void ozone_render(void *data,
|
||||
* factor have changed */
|
||||
scale_factor = gfx_display_get_dpi_scale(p_disp, settings,
|
||||
width, height, false, false);
|
||||
thumbnail_scale_factor = settings->floats.ozone_thumbnail_scale_factor;
|
||||
|
||||
if ((scale_factor != ozone->last_scale_factor) ||
|
||||
(thumbnail_scale_factor != ozone->last_thumbnail_scale_factor) ||
|
||||
(width != ozone->last_width) ||
|
||||
(height != ozone->last_height))
|
||||
{
|
||||
ozone->last_scale_factor = scale_factor;
|
||||
ozone->last_scale_factor = scale_factor;
|
||||
ozone->last_thumbnail_scale_factor = thumbnail_scale_factor;
|
||||
ozone->last_width = width;
|
||||
ozone->last_height = height;
|
||||
ozone->last_width = width;
|
||||
ozone->last_height = height;
|
||||
|
||||
/* Note: We don't need a full context reset here
|
||||
* > Just rescale layout, and reset frame time counter */
|
||||
ozone_set_layout(ozone, settings, video_driver_is_threaded());
|
||||
ozone_set_layout(ozone, ozone_collapse_sidebar, video_driver_is_threaded());
|
||||
video_driver_monitor_reset();
|
||||
}
|
||||
|
||||
if (ozone->need_compute)
|
||||
{
|
||||
ozone_compute_entries_position(ozone, settings, entries_end);
|
||||
ozone_compute_entries_position(ozone, settings->bools.menu_show_sublabels, entries_end);
|
||||
ozone->need_compute = false;
|
||||
}
|
||||
|
||||
@ -8439,11 +8430,12 @@ static void ozone_render(void *data,
|
||||
if (ozone->pointer_in_sidebar &&
|
||||
!ozone->last_pointer_in_sidebar &&
|
||||
!ozone->cursor_in_sidebar)
|
||||
ozone_go_to_sidebar(ozone, settings, animation_tag);
|
||||
ozone_go_to_sidebar(ozone, ozone_collapse_sidebar, animation_tag);
|
||||
else if (!ozone->pointer_in_sidebar &&
|
||||
ozone->last_pointer_in_sidebar &&
|
||||
ozone->cursor_in_sidebar)
|
||||
ozone_leave_sidebar(ozone, settings, animation_tag);
|
||||
if (!ozone->empty_playlist)
|
||||
ozone_leave_sidebar(ozone, ozone_collapse_sidebar, animation_tag);
|
||||
}
|
||||
|
||||
/* Update scrolling - must be done first, otherwise
|
||||
@ -8584,7 +8576,10 @@ static void ozone_render(void *data,
|
||||
|
||||
/* If we are currently in the sidebar, leave it */
|
||||
if (ozone->cursor_in_sidebar)
|
||||
ozone_leave_sidebar(ozone, settings, animation_tag);
|
||||
{
|
||||
if (!ozone->empty_playlist)
|
||||
ozone_leave_sidebar(ozone, ozone_collapse_sidebar, animation_tag);
|
||||
}
|
||||
/* If this is a playlist, must update thumbnails */
|
||||
else if (ozone->is_playlist && (ozone->depth == 1))
|
||||
{
|
||||
@ -9898,7 +9893,7 @@ static void ozone_animation_end(void *userdata)
|
||||
ozone->animations.cursor_alpha = 1.0f;
|
||||
}
|
||||
|
||||
static void ozone_list_open(ozone_handle_t *ozone, settings_t *settings)
|
||||
static void ozone_list_open(ozone_handle_t *ozone, bool ozone_collapse_sidebar)
|
||||
{
|
||||
struct gfx_animation_ctx_entry entry;
|
||||
uintptr_t sidebar_tag = (uintptr_t)&ozone->sidebar_offset;
|
||||
@ -9919,7 +9914,7 @@ static void ozone_list_open(ozone_handle_t *ozone, settings_t *settings)
|
||||
gfx_animation_push(&entry);
|
||||
|
||||
/* Sidebar animation */
|
||||
ozone_sidebar_update_collapse(ozone, settings, true);
|
||||
ozone_sidebar_update_collapse(ozone, ozone_collapse_sidebar, true);
|
||||
|
||||
/* Kill any existing sidebar slide-in/out animations
|
||||
* before pushing a new one
|
||||
@ -9963,16 +9958,17 @@ static void ozone_list_open(ozone_handle_t *ozone, settings_t *settings)
|
||||
static void ozone_populate_entries(void *data,
|
||||
const char *path, const char *label, unsigned k)
|
||||
{
|
||||
settings_t *settings = NULL;
|
||||
ozone_handle_t *ozone = (ozone_handle_t*) data;
|
||||
|
||||
int new_depth;
|
||||
bool animate;
|
||||
int new_depth = 0;
|
||||
bool animate = false;
|
||||
settings_t *settings = NULL;
|
||||
ozone_handle_t *ozone = (ozone_handle_t*) data;
|
||||
bool ozone_collapse_sidebar = false;
|
||||
|
||||
if (!ozone)
|
||||
return;
|
||||
|
||||
settings = config_get_ptr();
|
||||
settings = config_get_ptr();
|
||||
ozone_collapse_sidebar = settings->bools.ozone_collapse_sidebar;
|
||||
|
||||
ozone_set_header(ozone);
|
||||
|
||||
@ -10021,7 +10017,7 @@ static void ozone_populate_entries(void *data,
|
||||
{
|
||||
gfx_animation_kill_by_tag(&animation_tag);
|
||||
ozone->empty_playlist = true;
|
||||
ozone_go_to_sidebar(ozone, settings, animation_tag);
|
||||
ozone_go_to_sidebar(ozone, ozone_collapse_sidebar, animation_tag);
|
||||
}
|
||||
}
|
||||
|
||||
@ -10032,12 +10028,12 @@ static void ozone_populate_entries(void *data,
|
||||
return;
|
||||
}
|
||||
|
||||
ozone->need_compute = true;
|
||||
ozone->need_compute = true;
|
||||
|
||||
ozone->first_onscreen_entry = 0;
|
||||
ozone->last_onscreen_entry = 0;
|
||||
ozone->first_onscreen_entry = 0;
|
||||
ozone->last_onscreen_entry = 0;
|
||||
|
||||
new_depth = (int)ozone_list_get_size(ozone, MENU_LIST_PLAIN);
|
||||
new_depth = (int)ozone_list_get_size(ozone, MENU_LIST_PLAIN);
|
||||
|
||||
animate = new_depth != ozone->depth;
|
||||
ozone->fade_direction = new_depth <= ozone->depth;
|
||||
@ -10052,7 +10048,7 @@ static void ozone_populate_entries(void *data,
|
||||
|
||||
if (animate)
|
||||
if (ozone->categories_selection_ptr == ozone->categories_active_idx_old)
|
||||
ozone_list_open(ozone, settings);
|
||||
ozone_list_open(ozone, ozone_collapse_sidebar);
|
||||
|
||||
/* Thumbnails
|
||||
* > Note: Leave current thumbnails loaded when
|
||||
@ -10114,7 +10110,7 @@ static void ozone_toggle(void *userdata, bool menu_on)
|
||||
ozone->sidebar_offset = 0.0f;
|
||||
}
|
||||
|
||||
ozone_sidebar_update_collapse(ozone, settings, false);
|
||||
ozone_sidebar_update_collapse(ozone, settings->bools.ozone_collapse_sidebar, false);
|
||||
}
|
||||
|
||||
static bool ozone_menu_init_list(void *data)
|
||||
@ -10299,6 +10295,7 @@ static int ozone_pointer_up(void *userdata,
|
||||
size_t selection = menu_navigation_get_selection();
|
||||
size_t entries_end = menu_entries_get_size();
|
||||
settings_t *settings = config_get_ptr();
|
||||
bool ozone_collapse_sidebar = settings->bools.ozone_collapse_sidebar;
|
||||
|
||||
if (!ozone)
|
||||
return -1;
|
||||
@ -10358,7 +10355,8 @@ static int ozone_pointer_up(void *userdata,
|
||||
selection, MENU_ACTION_SELECT);
|
||||
|
||||
/* If we currently in the sidebar, leave it */
|
||||
ozone_leave_sidebar(ozone, settings, sidebar_tag);
|
||||
if (!ozone->empty_playlist)
|
||||
ozone_leave_sidebar(ozone, ozone_collapse_sidebar, sidebar_tag);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -10372,7 +10370,10 @@ static int ozone_pointer_up(void *userdata,
|
||||
|
||||
/* If we are currently in the sidebar, leave it */
|
||||
if (ozone->cursor_in_sidebar)
|
||||
ozone_leave_sidebar(ozone, settings, sidebar_tag);
|
||||
{
|
||||
if (!ozone->empty_playlist)
|
||||
ozone_leave_sidebar(ozone, ozone_collapse_sidebar, sidebar_tag);
|
||||
}
|
||||
/* If this is a playlist and the selection
|
||||
* has changed, must update thumbnails */
|
||||
else if (ozone->is_playlist &&
|
||||
@ -10401,7 +10402,7 @@ static int ozone_pointer_up(void *userdata,
|
||||
{
|
||||
/* If cursor is not in sidebar, return to sidebar */
|
||||
if (!ozone->cursor_in_sidebar)
|
||||
ozone_go_to_sidebar(ozone, settings, sidebar_tag);
|
||||
ozone_go_to_sidebar(ozone, ozone_collapse_sidebar, sidebar_tag);
|
||||
/* Otherwise, select current category */
|
||||
else if (
|
||||
ozone->pointer_categories_selection
|
||||
|
Loading…
x
Reference in New Issue
Block a user