From 6ec86d65c5b3cf87bebca8c35f867b037e4ad32a Mon Sep 17 00:00:00 2001 From: natinusala Date: Wed, 27 Feb 2019 18:29:57 +0100 Subject: [PATCH] ozone: make the sidebar collapse only if the highlight is in the main entries --- menu/drivers/ozone/ozone_sidebar.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/menu/drivers/ozone/ozone_sidebar.c b/menu/drivers/ozone/ozone_sidebar.c index a7ee2cdc70..b28aecf934 100644 --- a/menu/drivers/ozone/ozone_sidebar.c +++ b/menu/drivers/ozone/ozone_sidebar.c @@ -281,6 +281,8 @@ void ozone_go_to_sidebar(ozone_handle_t *ozone, uintptr_t tag) entry.userdata = NULL; menu_animation_push(&entry); + + ozone_sidebar_update_collapse(ozone, true); } void ozone_leave_sidebar(ozone_handle_t *ozone, uintptr_t tag) @@ -306,6 +308,8 @@ void ozone_leave_sidebar(ozone_handle_t *ozone, uintptr_t tag) entry.userdata = NULL; menu_animation_push(&entry); + + ozone_sidebar_update_collapse(ozone, true); } unsigned ozone_get_selected_sidebar_y_position(ozone_handle_t *ozone) @@ -343,7 +347,7 @@ void ozone_sidebar_update_collapse(ozone_handle_t *ozone, bool allow_animation) entry.userdata = ozone; entry.duration = ANIMATION_CURSOR_DURATION; - if (settings->bools.ozone_collapse_sidebar || (is_playlist && !ozone->sidebar_collapsed)) + if (settings->bools.ozone_collapse_sidebar || (is_playlist && !ozone->cursor_in_sidebar && !ozone->sidebar_collapsed)) { if (allow_animation) { @@ -368,7 +372,7 @@ void ozone_sidebar_update_collapse(ozone_handle_t *ozone, bool allow_animation) ozone_sidebar_collapse_end(ozone); } } - else if (!is_playlist && ozone->sidebar_collapsed) + else if (ozone->cursor_in_sidebar && ozone->sidebar_collapsed) { if (allow_animation) { @@ -476,8 +480,6 @@ void ozone_sidebar_goto(ozone_handle_t *ozone, unsigned new_selection) { ozone_change_tab(ozone, ozone_system_tabs_idx[ozone->tabs[new_selection]], ozone_system_tabs_type[ozone->tabs[new_selection]]); } - - ozone_sidebar_update_collapse(ozone, true); } void ozone_change_tab(ozone_handle_t *ozone,