Remove menu tracking state

This commit is contained in:
Mikayla Maki 2023-06-28 09:06:06 -07:00
parent 88b30dea10
commit cb782c5a7b
No known key found for this signature in database

View file

@ -50,7 +50,6 @@ pub struct CollabTitlebarItem {
workspace: WeakViewHandle<Workspace>, workspace: WeakViewHandle<Workspace>,
contacts_popover: Option<ViewHandle<ContactsPopover>>, contacts_popover: Option<ViewHandle<ContactsPopover>>,
user_menu: ViewHandle<ContextMenu>, user_menu: ViewHandle<ContextMenu>,
user_menu_is_visible: bool,
_subscriptions: Vec<Subscription>, _subscriptions: Vec<Subscription>,
} }
@ -183,7 +182,6 @@ impl CollabTitlebarItem {
menu.set_position_mode(OverlayPositionMode::Local); menu.set_position_mode(OverlayPositionMode::Local);
menu menu
}), }),
user_menu_is_visible: false,
_subscriptions: subscriptions, _subscriptions: subscriptions,
} }
} }
@ -296,35 +294,31 @@ impl CollabTitlebarItem {
} }
pub fn toggle_user_menu(&mut self, _: &ToggleUserMenu, cx: &mut ViewContext<Self>) { pub fn toggle_user_menu(&mut self, _: &ToggleUserMenu, cx: &mut ViewContext<Self>) {
if !self.user_menu_is_visible { self.user_menu.update(cx, |user_menu, cx| {
self.user_menu.update(cx, |user_menu, cx| { let items = if let Some(_) = self.user_store.read(cx).current_user() {
let items = if let Some(_) = self.user_store.read(cx).current_user() { vec![
vec![ ContextMenuItem::action("Settings", zed_actions::OpenSettings),
ContextMenuItem::action("Settings", zed_actions::OpenSettings), ContextMenuItem::action("Theme", theme_selector::Toggle),
ContextMenuItem::action("Theme", theme_selector::Toggle), ContextMenuItem::separator(),
ContextMenuItem::separator(), ContextMenuItem::action(
ContextMenuItem::action( "Share Feedback",
"Share Feedback", feedback::feedback_editor::GiveFeedback,
feedback::feedback_editor::GiveFeedback, ),
), ContextMenuItem::action("Sign out", SignOut),
ContextMenuItem::action("Sign out", SignOut), ]
] } else {
} else { vec![
vec![ ContextMenuItem::action("Settings", zed_actions::OpenSettings),
ContextMenuItem::action("Settings", zed_actions::OpenSettings), ContextMenuItem::action("Theme", theme_selector::Toggle),
ContextMenuItem::action("Theme", theme_selector::Toggle), ContextMenuItem::separator(),
ContextMenuItem::separator(), ContextMenuItem::action(
ContextMenuItem::action( "Share Feedback",
"Share Feedback", feedback::feedback_editor::GiveFeedback,
feedback::feedback_editor::GiveFeedback, ),
), ]
] };
}; user_menu.show(Default::default(), AnchorCorner::TopRight, items, cx);
});
user_menu.show(Default::default(), AnchorCorner::TopRight, items, cx);
});
}
self.user_menu_is_visible = !self.user_menu_is_visible;
} }
fn render_toggle_contacts_button( fn render_toggle_contacts_button(
@ -701,12 +695,12 @@ impl CollabTitlebarItem {
) )
.contained(), .contained(),
) )
.with_children(self.user_menu_is_visible.then(|| { .with_child(
ChildView::new(&self.user_menu, cx) ChildView::new(&self.user_menu, cx)
.aligned() .aligned()
.bottom() .bottom()
.right() .right(),
})) )
.into_any() .into_any()
} }