mirror of
https://github.com/zed-industries/zed.git
synced 2024-11-08 07:35:01 +03:00
Implement user menu
This commit is contained in:
parent
426d298173
commit
3094cb749e
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -1957,6 +1957,7 @@ dependencies = [
|
||||
"db2",
|
||||
"editor2",
|
||||
"feature_flags2",
|
||||
"feedback2",
|
||||
"futures 0.3.28",
|
||||
"fuzzy2",
|
||||
"gpui2",
|
||||
@ -1978,6 +1979,7 @@ dependencies = [
|
||||
"settings2",
|
||||
"smallvec",
|
||||
"theme2",
|
||||
"theme_selector2",
|
||||
"time",
|
||||
"tree-sitter-markdown",
|
||||
"ui2",
|
||||
|
@ -32,7 +32,7 @@ collections = { path = "../collections" }
|
||||
# context_menu = { path = "../context_menu" }
|
||||
# drag_and_drop = { path = "../drag_and_drop" }
|
||||
editor = { package="editor2", path = "../editor2" }
|
||||
#feedback = { path = "../feedback" }
|
||||
feedback = { package = "feedback2", path = "../feedback2" }
|
||||
fuzzy = { package = "fuzzy2", path = "../fuzzy2" }
|
||||
gpui = { package = "gpui2", path = "../gpui2" }
|
||||
language = { package = "language2", path = "../language2" }
|
||||
@ -46,7 +46,7 @@ rpc = { package ="rpc2", path = "../rpc2" }
|
||||
settings = { package = "settings2", path = "../settings2" }
|
||||
feature_flags = { package = "feature_flags2", path = "../feature_flags2"}
|
||||
theme = { package = "theme2", path = "../theme2" }
|
||||
# theme_selector = { path = "../theme_selector" }
|
||||
theme_selector = { package = "theme_selector2", path = "../theme_selector2" }
|
||||
# vcs_menu = { path = "../vcs_menu" }
|
||||
ui = { package = "ui2", path = "../ui2" }
|
||||
util = { path = "../util" }
|
||||
|
@ -1,8 +1,8 @@
|
||||
use crate::face_pile::FacePile;
|
||||
use call::{ActiveCall, ParticipantLocation, Room};
|
||||
use client::{proto::PeerId, Client, ParticipantIndex, User, UserStore};
|
||||
use client::{proto::PeerId, Client, ParticipantIndex, SignOut, User, UserStore};
|
||||
use gpui::{
|
||||
actions, canvas, div, overlay, point, px, rems, AppContext, DismissEvent, Div, Element,
|
||||
actions, canvas, div, overlay, point, px, rems, Action, AppContext, DismissEvent, Div, Element,
|
||||
FocusableView, Hsla, InteractiveElement, IntoElement, Model, ParentElement, Path, Render,
|
||||
Stateful, StatefulInteractiveElement, Styled, Subscription, ViewContext, VisualContext,
|
||||
WeakView, WindowBounds,
|
||||
@ -16,7 +16,7 @@ use ui::{
|
||||
IconButton, IconElement, KeyBinding, Tooltip,
|
||||
};
|
||||
use util::ResultExt;
|
||||
use workspace::{notifications::NotifyResultExt, Workspace, WORKSPACE_DB};
|
||||
use workspace::{notifications::NotifyResultExt, Feedback, Workspace, WORKSPACE_DB};
|
||||
|
||||
const MAX_PROJECT_NAME_LENGTH: usize = 40;
|
||||
const MAX_BRANCH_NAME_LENGTH: usize = 40;
|
||||
@ -239,7 +239,19 @@ impl Render for CollabTitlebarItem {
|
||||
this.child(
|
||||
popover_menu("user-menu")
|
||||
.menu(|cx| {
|
||||
ContextMenu::build(cx, |menu, _| menu.header("ADADA"))
|
||||
ContextMenu::build(cx, |menu, _| {
|
||||
menu.action(
|
||||
"Settings",
|
||||
zed_actions::OpenSettings.boxed_clone(),
|
||||
)
|
||||
.action("Theme", theme_selector::Toggle.boxed_clone())
|
||||
.separator()
|
||||
.action(
|
||||
"Share Feedback",
|
||||
feedback::GiveFeedback.boxed_clone(),
|
||||
)
|
||||
.action("Sign Out", client::SignOut.boxed_clone())
|
||||
})
|
||||
})
|
||||
.trigger(
|
||||
ButtonLike::new("user-menu")
|
||||
@ -259,16 +271,6 @@ impl Render for CollabTitlebarItem {
|
||||
)
|
||||
.anchor(gpui::AnchorCorner::TopRight),
|
||||
)
|
||||
// this.child(
|
||||
// ButtonLike::new("user-menu")
|
||||
// .child(
|
||||
// h_stack().gap_0p5().child(Avatar::data(avatar)).child(
|
||||
// IconElement::new(Icon::ChevronDown).color(Color::Muted),
|
||||
// ),
|
||||
// )
|
||||
// .style(ButtonStyle::Subtle)
|
||||
// .tooltip(move |cx| Tooltip::text("Toggle User Menu", cx)),
|
||||
// )
|
||||
} else {
|
||||
this.child(Button::new("sign_in", "Sign in").on_click(move |_, cx| {
|
||||
let client = client.clone();
|
||||
@ -280,6 +282,36 @@ impl Render for CollabTitlebarItem {
|
||||
})
|
||||
.detach();
|
||||
}))
|
||||
.child(
|
||||
popover_menu("user-menu")
|
||||
.menu(|cx| {
|
||||
ContextMenu::build(cx, |menu, _| {
|
||||
menu.action(
|
||||
"Settings",
|
||||
zed_actions::OpenSettings.boxed_clone(),
|
||||
)
|
||||
.action("Theme", theme_selector::Toggle.boxed_clone())
|
||||
.separator()
|
||||
.action(
|
||||
"Share Feedback",
|
||||
feedback::GiveFeedback.boxed_clone(),
|
||||
)
|
||||
})
|
||||
})
|
||||
.trigger(
|
||||
ButtonLike::new("user-menu")
|
||||
.child(
|
||||
h_stack().gap_0p5().child(
|
||||
IconElement::new(Icon::ChevronDown)
|
||||
.color(Color::Muted),
|
||||
),
|
||||
)
|
||||
.style(ButtonStyle::Subtle)
|
||||
.tooltip(move |cx| {
|
||||
Tooltip::text("Toggle User Menu", cx)
|
||||
}),
|
||||
),
|
||||
)
|
||||
}
|
||||
})),
|
||||
)
|
||||
|
@ -41,7 +41,7 @@ use workspace::{
|
||||
notifications::simple_message_notification::MessageNotification, open_new, AppState, NewFile,
|
||||
NewWindow, Workspace, WorkspaceSettings,
|
||||
};
|
||||
use zed_actions::{OpenBrowser, OpenZedURL, Quit};
|
||||
use zed_actions::{OpenBrowser, OpenSettings, OpenZedURL, Quit};
|
||||
|
||||
actions!(
|
||||
zed,
|
||||
@ -59,7 +59,6 @@ actions!(
|
||||
OpenLicenses,
|
||||
OpenLocalSettings,
|
||||
OpenLog,
|
||||
OpenSettings,
|
||||
OpenTelemetryLog,
|
||||
ResetBufferFontSize,
|
||||
ResetDatabase,
|
||||
|
@ -22,4 +22,4 @@ pub struct OpenZedURL {
|
||||
|
||||
impl_actions!(zed, [OpenBrowser, OpenZedURL]);
|
||||
|
||||
actions!(zed, [Quit]);
|
||||
actions!(zed, [OpenSettings, Quit]);
|
||||
|
Loading…
Reference in New Issue
Block a user