GPU-accelerated UI toolkit (Vulkan)
git clone https://git.lucas.co/cce-ui.git
Close MenuBar submenu when clicking on an already open menu heading
src/widget.rs | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/widget.rs b/src/widget.rs
index fb54126..36945e3 100644
--- a/src/widget.rs
+++ b/src/widget.rs
@@ -590,7 +590,8 @@ impl Widget for MenuBar {
let iy = self.item_y_vertical(i);
let ih = self.item_h_vertical();
if ly >= iy && ly < iy + ih {
- if self.was_open == Some(i) {
+ if self.was_open == Some(i) || self.open_menu == Some(i) {
+ self.open_menu = None;
self.was_open = None;
} else {
self.open_menu = Some(i);
@@ -609,7 +610,8 @@ impl Widget for MenuBar {
for i in 0..self.menu_items.len() {
let ix = menu_item_x(&self.title, &self.menu_items, i);
if lx >= ix && lx < ix + menu_item_w(&self.menu_items, i) {
- if self.was_open == Some(i) {
+ if self.was_open == Some(i) || self.open_menu == Some(i) {
+ self.open_menu = None;
self.was_open = None;
} else {
self.open_menu = Some(i);