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