Flip the optionality of the auto_update
setting (#10302)
This PR flips the optionality of the `AutoUpdateSettingContent` to make it a bit easier to work with. #### Before ```rs struct AutoUpdateSettingContent(Option<bool>); type FileContent = AutoUpdateSettingContent; ``` #### After ```rs struct AutoUpdateSettingContent(bool); type FileContent = Option<AutoUpdateSettingContent>; ``` Release Notes: - N/A
This commit is contained in:
parent
def87a8d76
commit
843aad80c6
2 changed files with 9 additions and 19 deletions
|
@ -82,29 +82,22 @@ struct AutoUpdateSetting(bool);
|
||||||
/// Whether or not to automatically check for updates.
|
/// Whether or not to automatically check for updates.
|
||||||
///
|
///
|
||||||
/// Default: true
|
/// Default: true
|
||||||
#[derive(Clone, Default, JsonSchema, Deserialize, Serialize)]
|
#[derive(Clone, Copy, Default, JsonSchema, Deserialize, Serialize)]
|
||||||
#[serde(transparent)]
|
#[serde(transparent)]
|
||||||
struct AutoUpdateSettingOverride(Option<bool>);
|
struct AutoUpdateSettingContent(bool);
|
||||||
|
|
||||||
impl Settings for AutoUpdateSetting {
|
impl Settings for AutoUpdateSetting {
|
||||||
const KEY: Option<&'static str> = Some("auto_update");
|
const KEY: Option<&'static str> = Some("auto_update");
|
||||||
|
|
||||||
type FileContent = AutoUpdateSettingOverride;
|
type FileContent = Option<AutoUpdateSettingContent>;
|
||||||
|
|
||||||
fn load(sources: SettingsSources<Self::FileContent>, _: &mut AppContext) -> Result<Self> {
|
fn load(sources: SettingsSources<Self::FileContent>, _: &mut AppContext) -> Result<Self> {
|
||||||
if let Some(release_channel_value) = sources.release_channel {
|
let auto_update = [sources.release_channel, sources.user]
|
||||||
if let Some(value) = release_channel_value.0 {
|
.into_iter()
|
||||||
return Ok(Self(value));
|
.find_map(|value| value.copied().flatten())
|
||||||
}
|
.unwrap_or(sources.default.ok_or_else(Self::missing_default)?);
|
||||||
}
|
|
||||||
|
|
||||||
if let Some(user_value) = sources.user {
|
Ok(Self(auto_update.0))
|
||||||
if let Some(value) = user_value.0 {
|
|
||||||
return Ok(Self(value));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Ok(Self(sources.default.0.ok_or_else(Self::missing_default)?))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -97,10 +97,7 @@ impl Settings for ClientSettings {
|
||||||
|
|
||||||
type FileContent = ClientSettingsContent;
|
type FileContent = ClientSettingsContent;
|
||||||
|
|
||||||
fn load(sources: SettingsSources<Self::FileContent>, _: &mut AppContext) -> Result<Self>
|
fn load(sources: SettingsSources<Self::FileContent>, _: &mut AppContext) -> Result<Self> {
|
||||||
where
|
|
||||||
Self: Sized,
|
|
||||||
{
|
|
||||||
let mut result = sources.json_merge::<Self>()?;
|
let mut result = sources.json_merge::<Self>()?;
|
||||||
if let Some(server_url) = &*ZED_SERVER_URL {
|
if let Some(server_url) = &*ZED_SERVER_URL {
|
||||||
result.server_url = server_url.clone()
|
result.server_url = server_url.clone()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue