diff --git a/crates/title_bar/src/title_bar_settings.rs b/crates/title_bar/src/title_bar_settings.rs index b6695bf6fb..cb8f3fa565 100644 --- a/crates/title_bar/src/title_bar_settings.rs +++ b/crates/title_bar/src/title_bar_settings.rs @@ -3,52 +3,48 @@ use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use settings::{Settings, SettingsSources}; -#[derive(Copy, Clone, Serialize, Deserialize, JsonSchema, Debug)] -#[serde(default)] +#[derive(Copy, Clone, Deserialize, Debug)] pub struct TitleBarSettings { - /// Whether to show the branch icon beside branch switcher in the title bar. - /// - /// Default: false pub show_branch_icon: bool, - /// Whether to show onboarding banners in the title bar. - /// - /// Default: true pub show_onboarding_banner: bool, - /// Whether to show user avatar in the title bar. - /// - /// Default: true pub show_user_picture: bool, - /// Whether to show the branch name button in the titlebar. - /// - /// Default: true pub show_branch_name: bool, - /// Whether to show the project host and name in the titlebar. - /// - /// Default: true pub show_project_items: bool, - /// Whether to show the sign in button in the title bar. - /// - /// Default: true pub show_sign_in: bool, } -impl Default for TitleBarSettings { - fn default() -> Self { - Self { - show_branch_icon: false, - show_onboarding_banner: true, - show_user_picture: true, - show_branch_name: true, - show_project_items: true, - show_sign_in: true, - } - } +#[derive(Copy, Clone, Default, Serialize, Deserialize, JsonSchema, Debug)] +pub struct TitleBarSettingsContent { + /// Whether to show the branch icon beside branch switcher in the title bar. + /// + /// Default: false + pub show_branch_icon: Option, + /// Whether to show onboarding banners in the title bar. + /// + /// Default: true + pub show_onboarding_banner: Option, + /// Whether to show user avatar in the title bar. + /// + /// Default: true + pub show_user_picture: Option, + /// Whether to show the branch name button in the titlebar. + /// + /// Default: true + pub show_branch_name: Option, + /// Whether to show the project host and name in the titlebar. + /// + /// Default: true + pub show_project_items: Option, + /// Whether to show the sign in button in the title bar. + /// + /// Default: true + pub show_sign_in: Option, } impl Settings for TitleBarSettings { const KEY: Option<&'static str> = Some("title_bar"); - type FileContent = Self; + type FileContent = TitleBarSettingsContent; fn load(sources: SettingsSources, _: &mut gpui::App) -> anyhow::Result where