1use gpui::Pixels;
2use settings::Settings;
3use ui::px;
4use workspace::dock::DockPosition;
5
6#[derive(Debug)]
7pub struct CollaborationPanelSettings {
8 pub button: bool,
9 pub dock: DockPosition,
10 pub default_width: Pixels,
11}
12
13#[derive(Debug)]
14pub struct NotificationPanelSettings {
15 pub button: bool,
16 pub dock: DockPosition,
17 pub default_width: Pixels,
18}
19
20impl Settings for CollaborationPanelSettings {
21 fn from_settings(content: &settings::SettingsContent) -> Self {
22 let panel = content.collaboration_panel.as_ref().unwrap();
23
24 Self {
25 button: panel.button.unwrap(),
26 dock: panel.dock.unwrap().into(),
27 default_width: panel.default_width.map(px).unwrap(),
28 }
29 }
30}
31
32impl Settings for NotificationPanelSettings {
33 fn from_settings(content: &settings::SettingsContent) -> Self {
34 let panel = content.notification_panel.as_ref().unwrap();
35 return Self {
36 button: panel.button.unwrap(),
37 dock: panel.dock.unwrap().into(),
38 default_width: panel.default_width.map(px).unwrap(),
39 };
40 }
41}