diff --git a/src/modules/AdvancedPaste/AdvancedPaste/Helpers/IUserSettings.cs b/src/modules/AdvancedPaste/AdvancedPaste/Helpers/IUserSettings.cs index 96b8c23583..f60edd85ea 100644 --- a/src/modules/AdvancedPaste/AdvancedPaste/Helpers/IUserSettings.cs +++ b/src/modules/AdvancedPaste/AdvancedPaste/Helpers/IUserSettings.cs @@ -29,6 +29,8 @@ namespace AdvancedPaste.Settings public IReadOnlyList PythonScriptActions { get; } + public bool IsPythonScriptsEnabled { get; } + public string PythonScriptsFolder { get; } public string PythonExecutablePath { get; } diff --git a/src/modules/AdvancedPaste/AdvancedPaste/Helpers/UserSettings.cs b/src/modules/AdvancedPaste/AdvancedPaste/Helpers/UserSettings.cs index 94403900b9..956f60c1e5 100644 --- a/src/modules/AdvancedPaste/AdvancedPaste/Helpers/UserSettings.cs +++ b/src/modules/AdvancedPaste/AdvancedPaste/Helpers/UserSettings.cs @@ -57,6 +57,8 @@ namespace AdvancedPaste.Settings public string PythonScriptsFolder { get; private set; } + public bool IsPythonScriptsEnabled { get; private set; } + public string PythonExecutablePath { get; private set; } public int PythonScriptTimeoutSeconds { get; private set; } = 30; @@ -159,6 +161,7 @@ namespace AdvancedPaste.Settings _customActions.AddRange(properties.CustomActions.Value.Where(customAction => customAction.IsShown && customAction.IsValid)); var pythonScripts = properties.PythonScripts ?? new AdvancedPastePythonScriptSettings(); + IsPythonScriptsEnabled = pythonScripts.IsEnabled; PythonScriptsFolder = string.IsNullOrWhiteSpace(pythonScripts.ScriptsFolder) ? GetDefaultScriptsFolder() : pythonScripts.ScriptsFolder; diff --git a/src/modules/AdvancedPaste/AdvancedPaste/ViewModels/OptionsViewModel.cs b/src/modules/AdvancedPaste/AdvancedPaste/ViewModels/OptionsViewModel.cs index deb9bd535a..71982cc5c6 100644 --- a/src/modules/AdvancedPaste/AdvancedPaste/ViewModels/OptionsViewModel.cs +++ b/src/modules/AdvancedPaste/AdvancedPaste/ViewModels/OptionsViewModel.cs @@ -433,6 +433,11 @@ namespace AdvancedPaste.ViewModels private IEnumerable BuildPythonScriptFormats() { + if (!_userSettings.IsPythonScriptsEnabled) + { + yield break; + } + var folder = _userSettings.PythonScriptsFolder; if (string.IsNullOrWhiteSpace(folder)) { diff --git a/src/settings-ui/Settings.UI.Library/AdvancedPastePythonScriptSettings.cs b/src/settings-ui/Settings.UI.Library/AdvancedPastePythonScriptSettings.cs index bbe24c4417..fc116f7f4a 100644 --- a/src/settings-ui/Settings.UI.Library/AdvancedPastePythonScriptSettings.cs +++ b/src/settings-ui/Settings.UI.Library/AdvancedPastePythonScriptSettings.cs @@ -9,6 +9,9 @@ namespace Microsoft.PowerToys.Settings.UI.Library; public sealed class AdvancedPastePythonScriptSettings { + [JsonPropertyName("isEnabled")] + public bool IsEnabled { get; set; } + [JsonPropertyName("scriptsFolder")] public string ScriptsFolder { get; set; } = string.Empty; diff --git a/src/settings-ui/Settings.UI/SettingsXAML/Views/AdvancedPastePage.xaml b/src/settings-ui/Settings.UI/SettingsXAML/Views/AdvancedPastePage.xaml index 5dcdb24359..9e3fb0cbe7 100644 --- a/src/settings-ui/Settings.UI/SettingsXAML/Views/AdvancedPastePage.xaml +++ b/src/settings-ui/Settings.UI/SettingsXAML/Views/AdvancedPastePage.xaml @@ -392,7 +392,14 @@ - + + + + + + + @@ -418,7 +425,8 @@ ToolTipService.ToolTip="Open folder" /> - + @@ -443,13 +451,15 @@ x:Name="PythonScriptListExpander" x:Uid="AdvancedPaste_PythonScriptList" HeaderIcon="{ui:FontIcon Glyph=}" + IsEnabled="{x:Bind ViewModel.IsPythonScriptsEnabled, Mode=OneWay}" IsExpanded="True" ItemsSource="{x:Bind ViewModel.PythonScriptActions, Mode=OneWay}">