@@ -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,