42 lines
1.1 KiB
Rust
42 lines
1.1 KiB
Rust
use gpui::Pixels;
|
|
use settings::{RegisterSetting, Settings};
|
|
use ui::px;
|
|
use workspace::dock::DockPosition;
|
|
|
|
#[derive(Debug, RegisterSetting)]
|
|
pub struct CollaborationPanelSettings {
|
|
pub button: bool,
|
|
pub dock: DockPosition,
|
|
pub default_width: Pixels,
|
|
}
|
|
|
|
#[derive(Debug, RegisterSetting)]
|
|
pub struct NotificationPanelSettings {
|
|
pub button: bool,
|
|
pub dock: DockPosition,
|
|
pub default_width: Pixels,
|
|
}
|
|
|
|
impl Settings for CollaborationPanelSettings {
|
|
fn from_settings(content: &settings::SettingsContent) -> Self {
|
|
let panel = content.collaboration_panel.as_ref().unwrap();
|
|
|
|
Self {
|
|
button: panel.button.unwrap(),
|
|
dock: panel.dock.unwrap().into(),
|
|
default_width: panel.default_width.map(px).unwrap(),
|
|
}
|
|
}
|
|
}
|
|
|
|
impl Settings for NotificationPanelSettings {
|
|
fn from_settings(content: &settings::SettingsContent) -> Self {
|
|
let panel = content.notification_panel.as_ref().unwrap();
|
|
return Self {
|
|
button: panel.button.unwrap(),
|
|
dock: panel.dock.unwrap().into(),
|
|
default_width: panel.default_width.map(px).unwrap(),
|
|
};
|
|
}
|
|
}
|