From cb782c5a7b0c306056c76734f72997592210248a Mon Sep 17 00:00:00 2001 From: Mikayla Maki Date: Wed, 28 Jun 2023 09:06:06 -0700 Subject: [PATCH] Remove menu tracking state --- crates/collab_ui/src/collab_titlebar_item.rs | 62 +++++++++----------- 1 file changed, 28 insertions(+), 34 deletions(-) diff --git a/crates/collab_ui/src/collab_titlebar_item.rs b/crates/collab_ui/src/collab_titlebar_item.rs index e76778b2cd..2ab8928166 100644 --- a/crates/collab_ui/src/collab_titlebar_item.rs +++ b/crates/collab_ui/src/collab_titlebar_item.rs @@ -50,7 +50,6 @@ pub struct CollabTitlebarItem { workspace: WeakViewHandle, contacts_popover: Option>, user_menu: ViewHandle, - user_menu_is_visible: bool, _subscriptions: Vec, } @@ -183,7 +182,6 @@ impl CollabTitlebarItem { menu.set_position_mode(OverlayPositionMode::Local); menu }), - user_menu_is_visible: false, _subscriptions: subscriptions, } } @@ -296,35 +294,31 @@ impl CollabTitlebarItem { } pub fn toggle_user_menu(&mut self, _: &ToggleUserMenu, cx: &mut ViewContext) { - if !self.user_menu_is_visible { - self.user_menu.update(cx, |user_menu, cx| { - let items = if let Some(_) = self.user_store.read(cx).current_user() { - vec![ - ContextMenuItem::action("Settings", zed_actions::OpenSettings), - ContextMenuItem::action("Theme", theme_selector::Toggle), - ContextMenuItem::separator(), - ContextMenuItem::action( - "Share Feedback", - feedback::feedback_editor::GiveFeedback, - ), - ContextMenuItem::action("Sign out", SignOut), - ] - } else { - vec![ - ContextMenuItem::action("Settings", zed_actions::OpenSettings), - ContextMenuItem::action("Theme", theme_selector::Toggle), - ContextMenuItem::separator(), - ContextMenuItem::action( - "Share Feedback", - feedback::feedback_editor::GiveFeedback, - ), - ] - }; - - user_menu.show(Default::default(), AnchorCorner::TopRight, items, cx); - }); - } - self.user_menu_is_visible = !self.user_menu_is_visible; + self.user_menu.update(cx, |user_menu, cx| { + let items = if let Some(_) = self.user_store.read(cx).current_user() { + vec![ + ContextMenuItem::action("Settings", zed_actions::OpenSettings), + ContextMenuItem::action("Theme", theme_selector::Toggle), + ContextMenuItem::separator(), + ContextMenuItem::action( + "Share Feedback", + feedback::feedback_editor::GiveFeedback, + ), + ContextMenuItem::action("Sign out", SignOut), + ] + } else { + vec![ + ContextMenuItem::action("Settings", zed_actions::OpenSettings), + ContextMenuItem::action("Theme", theme_selector::Toggle), + ContextMenuItem::separator(), + ContextMenuItem::action( + "Share Feedback", + feedback::feedback_editor::GiveFeedback, + ), + ] + }; + user_menu.show(Default::default(), AnchorCorner::TopRight, items, cx); + }); } fn render_toggle_contacts_button( @@ -701,12 +695,12 @@ impl CollabTitlebarItem { ) .contained(), ) - .with_children(self.user_menu_is_visible.then(|| { + .with_child( ChildView::new(&self.user_menu, cx) .aligned() .bottom() - .right() - })) + .right(), + ) .into_any() }