panel_settings.rs

 1use gpui::Pixels;
 2use settings::{RegisterSetting, Settings};
 3use ui::px;
 4use workspace::dock::DockPosition;
 5
 6#[derive(Debug, RegisterSetting)]
 7pub struct CollaborationPanelSettings {
 8    pub button: bool,
 9    pub dock: DockPosition,
10    pub default_width: Pixels,
11}
12
13impl Settings for CollaborationPanelSettings {
14    fn from_settings(content: &settings::SettingsContent) -> Self {
15        let panel = content.collaboration_panel.as_ref().unwrap();
16
17        Self {
18            button: panel.button.unwrap(),
19            dock: panel.dock.unwrap().into(),
20            default_width: panel.default_width.map(px).unwrap(),
21        }
22    }
23}