title_bar_settings.rs

 1use settings::{Settings, SettingsContent, WindowControlsPosition};
 2
 3#[derive(Copy, Clone, Debug)]
 4pub struct TitleBarSettings {
 5    pub show_branch_icon: bool,
 6    pub show_onboarding_banner: bool,
 7    pub show_user_picture: bool,
 8    pub show_branch_name: bool,
 9    pub show_project_items: bool,
10    pub show_sign_in: bool,
11    pub show_menus: bool,
12    pub window_controls_position: WindowControlsPosition,
13}
14
15impl Settings for TitleBarSettings {
16    fn from_settings(s: &SettingsContent) -> Self {
17        let content = s.title_bar.clone().unwrap();
18        TitleBarSettings {
19            show_branch_icon: content.show_branch_icon.unwrap(),
20            show_onboarding_banner: content.show_onboarding_banner.unwrap(),
21            show_user_picture: content.show_user_picture.unwrap(),
22            show_branch_name: content.show_branch_name.unwrap(),
23            show_project_items: content.show_project_items.unwrap(),
24            show_sign_in: content.show_sign_in.unwrap(),
25            show_menus: content.show_menus.unwrap(),
26            window_controls_position: content.window_controls_position.unwrap_or_default(),
27        }
28    }
29}