diff --git a/Wox.Infrastructure/UserSettings/UserSetting.cs b/Wox.Infrastructure/UserSettings/UserSetting.cs index c2309bae8..f132d34ad 100644 --- a/Wox.Infrastructure/UserSettings/UserSetting.cs +++ b/Wox.Infrastructure/UserSettings/UserSetting.cs @@ -11,6 +11,12 @@ namespace Wox.Infrastructure.UserSettings public List WebSearches { get; set; } public List CustomPluginHotkeys { get; set; } public bool StartWoxOnSystemStartup { get; set; } + public bool EnablePythonPlugins { get; set; } + + public UserSetting() + { + EnablePythonPlugins = false; + } public List LoadDefaultWebSearches() { diff --git a/Wox/PluginLoader/Plugins.cs b/Wox/PluginLoader/Plugins.cs index 41d703326..d1fe4b118 100644 --- a/Wox/PluginLoader/Plugins.cs +++ b/Wox/PluginLoader/Plugins.cs @@ -5,6 +5,7 @@ using System.Text; using System.Threading; using Microsoft.CSharp; using Wox.Helper; +using Wox.Infrastructure; using Wox.Plugin; namespace Wox.PluginLoader @@ -18,7 +19,11 @@ namespace Wox.PluginLoader plugins.Clear(); BasePluginLoader.ParsePluginsConfig(); - plugins.AddRange(new PythonPluginLoader().LoadPlugin()); + if (CommonStorage.Instance.UserSetting.EnablePythonPlugins) + { + plugins.AddRange(new PythonPluginLoader().LoadPlugin()); + } + plugins.AddRange(new CSharpPluginLoader().LoadPlugin()); foreach (IPlugin plugin in plugins.Select(pluginPair => pluginPair.Plugin)) { diff --git a/Wox/SettingWindow.xaml b/Wox/SettingWindow.xaml index 442f34085..41fdbe14a 100644 --- a/Wox/SettingWindow.xaml +++ b/Wox/SettingWindow.xaml @@ -23,9 +23,6 @@ - - - @@ -107,5 +104,16 @@ + + + + + + + + + + + diff --git a/Wox/SettingWindow.xaml.cs b/Wox/SettingWindow.xaml.cs index 0dab8ffd9..1bdb638bd 100644 --- a/Wox/SettingWindow.xaml.cs +++ b/Wox/SettingWindow.xaml.cs @@ -46,6 +46,17 @@ namespace Wox CommonStorage.Instance.Save(); }; + cbEnablePythonPlugins.Checked += (o, e) => + { + CommonStorage.Instance.UserSetting.EnablePythonPlugins = true; + CommonStorage.Instance.Save(); + }; + cbEnablePythonPlugins.Unchecked += (o, e) => + { + CommonStorage.Instance.UserSetting.EnablePythonPlugins = false; + CommonStorage.Instance.Save(); + }; + foreach (string theme in LoadAvailableThemes()) { @@ -57,6 +68,7 @@ namespace Wox cbReplaceWinR.IsChecked = CommonStorage.Instance.UserSetting.ReplaceWinR; webSearchView.ItemsSource = CommonStorage.Instance.UserSetting.WebSearches; lvCustomHotkey.ItemsSource = CommonStorage.Instance.UserSetting.CustomPluginHotkeys; + cbEnablePythonPlugins.IsChecked = CommonStorage.Instance.UserSetting.EnablePythonPlugins; cbStartWithWindows.IsChecked = File.Exists(woxLinkPath); }