From 2869ef7cec7de6bc744cdba9e753dbd0df4ab65b Mon Sep 17 00:00:00 2001 From: dec05eba Date: Fri, 2 Aug 2024 23:38:23 +0200 Subject: Add widgets for settings page, add list to auto position widgets --- src/gui/DropdownButton.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/gui/DropdownButton.cpp') diff --git a/src/gui/DropdownButton.cpp b/src/gui/DropdownButton.cpp index bfda834..b20dbb4 100644 --- a/src/gui/DropdownButton.cpp +++ b/src/gui/DropdownButton.cpp @@ -37,9 +37,20 @@ namespace gsr { } } else if(event.type == mgl::Event::MouseButtonPressed) { const bool clicked_inside = mouse_inside; + + if(show_dropdown && clicked_inside && mouse_inside_item == -1) { + show_dropdown = false; + remove_widget_as_selected_in_parent(); + return false; + } + show_dropdown = clicked_inside; + if(show_dropdown) - move_to_top = true; + set_widget_as_selected_in_parent(); + else + remove_widget_as_selected_in_parent(); + if(mouse_inside_item >= 0 && mouse_inside_item < (int)items.size()) { if(on_click) on_click(items[mouse_inside_item].id); -- cgit v1.2.3