diff --git a/src/modules/AdvancedPaste/AdvancedPaste/Helpers/UserSettings.cs b/src/modules/AdvancedPaste/AdvancedPaste/Helpers/UserSettings.cs index 2f6ba81b55..b43944b5eb 100644 --- a/src/modules/AdvancedPaste/AdvancedPaste/Helpers/UserSettings.cs +++ b/src/modules/AdvancedPaste/AdvancedPaste/Helpers/UserSettings.cs @@ -213,10 +213,11 @@ namespace AdvancedPaste.Settings RemoveLegacyOpenAICredential(); } + bool shouldEnableAI = legacyCredential is not null; bool enabledUpdated = false; - if (!properties.IsAIEnabled && legacyCredential is not null) + if (properties.IsAIEnabled != shouldEnableAI) { - properties.IsAIEnabled = true; + properties.IsAIEnabled = shouldEnableAI; enabledUpdated = true; } diff --git a/src/settings-ui/Settings.UI.Library/AdvancedPasteProperties.cs b/src/settings-ui/Settings.UI.Library/AdvancedPasteProperties.cs index aa69cad01f..e3f6081266 100644 --- a/src/settings-ui/Settings.UI.Library/AdvancedPasteProperties.cs +++ b/src/settings-ui/Settings.UI.Library/AdvancedPasteProperties.cs @@ -34,52 +34,6 @@ namespace Microsoft.PowerToys.Settings.UI.Library [JsonConverter(typeof(BoolPropertyJsonConverter))] public bool IsAIEnabled { get; set; } - [JsonExtensionData] - public Dictionary ExtensionData - { - get => _extensionData; - set - { - _extensionData = value; - - if (_extensionData != null && _extensionData.TryGetValue("IsOpenAIEnabled", out var legacyElement) && legacyElement.ValueKind == JsonValueKind.Object && legacyElement.TryGetProperty("value", out var valueElement)) - { - IsAIEnabled = valueElement.ValueKind switch - { - JsonValueKind.True => true, - JsonValueKind.False => false, - _ => IsAIEnabled, - }; - - _extensionData.Remove("IsOpenAIEnabled"); - } - - if (_extensionData != null && _extensionData.TryGetValue("IsAdvancedAIEnabled", out var legacyAdvancedElement)) - { - bool? legacyValue = legacyAdvancedElement.ValueKind switch - { - JsonValueKind.True => true, - JsonValueKind.False => false, - JsonValueKind.Object when legacyAdvancedElement.TryGetProperty("value", out var advancedValueElement) => advancedValueElement.ValueKind switch - { - JsonValueKind.True => true, - JsonValueKind.False => false, - _ => null, - }, - _ => null, - }; - - if (legacyValue.HasValue) - { - LegacyAdvancedAIEnabled = legacyValue.Value; - } - - _extensionData.Remove("IsAdvancedAIEnabled"); - } - } - } - - private Dictionary _extensionData; private bool? _legacyAdvancedAIEnabled; [JsonPropertyName("IsAdvancedAIEnabled")] diff --git a/src/settings-ui/Settings.UI/ViewModels/AdvancedPasteViewModel.cs b/src/settings-ui/Settings.UI/ViewModels/AdvancedPasteViewModel.cs index 8bceaa2433..d10bd77178 100644 --- a/src/settings-ui/Settings.UI/ViewModels/AdvancedPasteViewModel.cs +++ b/src/settings-ui/Settings.UI/ViewModels/AdvancedPasteViewModel.cs @@ -233,10 +233,11 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels RemoveLegacyOpenAICredential(); } + bool shouldEnableAI = legacyCredential is not null; bool enabledChanged = false; - if (!properties.IsAIEnabled && legacyCredential is not null) + if (properties.IsAIEnabled != shouldEnableAI) { - properties.IsAIEnabled = true; + properties.IsAIEnabled = shouldEnableAI; enabledChanged = true; }