Merge pull request #51 from Rovak/python-optional

Make python plugins optional
This commit is contained in:
Yeechan Lu
2014-03-19 11:42:46 +08:00
4 changed files with 41 additions and 4 deletions

View File

@@ -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))
{

View File

@@ -23,9 +23,6 @@
<TextBlock Text="Theme:" />
<ComboBox x:Name="themeComboBox" SelectionChanged="ThemeComboBox_OnSelectionChanged" HorizontalAlignment="Left" VerticalAlignment="Top" Width="120"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="10">
<Button x:Name="btnEnableInstaller" Click="BtnEnableInstaller_OnClick">enable plugin installer</Button>
</StackPanel>
</StackPanel>
</TabItem>
<TabItem Header="Hotkey">
@@ -107,5 +104,16 @@
</StackPanel>
</Grid>
</TabItem>
<TabItem Header="Plugins">
<StackPanel Orientation="Vertical" Margin="10">
<StackPanel Orientation="Horizontal" Margin="10">
<CheckBox x:Name="cbEnablePythonPlugins" />
<TextBlock Text="Enable Python Plugins" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="10">
<Button x:Name="btnEnableInstaller" Click="BtnEnableInstaller_OnClick">enable plugin installer</Button>
</StackPanel>
</StackPanel>
</TabItem>
</TabControl>
</Window>

View File

@@ -46,6 +46,18 @@ 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())
{
string themeName = theme.Substring(theme.LastIndexOf('\\') + 1).Replace(".xaml", "");
@@ -56,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);
}
@@ -118,6 +131,8 @@ namespace Wox
private void CbStartWithWindows_OnChecked(object sender, RoutedEventArgs e)
{
CreateStartupFolderShortcut();
CommonStorage.Instance.UserSetting.StartWoxOnSystemStartup = true;
CommonStorage.Instance.Save();
}
private void CbStartWithWindows_OnUnchecked(object sender, RoutedEventArgs e)
@@ -126,6 +141,9 @@ namespace Wox
{
File.Delete(woxLinkPath);
}
CommonStorage.Instance.UserSetting.StartWoxOnSystemStartup = false;
CommonStorage.Instance.Save();
}
private void CreateStartupFolderShortcut()