Added Enabled & PluginId to BaseSystemPlugin

We still need a way to save the Enabled property
This commit is contained in:
Aaron Campf 2014-05-24 18:57:02 -07:00
parent f3088d1c49
commit 4c3f51cae3
4 changed files with 31 additions and 18 deletions

View File

@ -7,18 +7,30 @@ namespace Wox.Plugin.SystemPlugins {
public virtual string Name { get { return "System workflow"; } }
public virtual string Description { get { return "System workflow"; } }
public virtual string IcoPath { get { return null; } }
public virtual bool Enabled { get; set; }
protected abstract List<Result> QueryInternal(Query query);
protected abstract void InitInternal(PluginInitContext context);
public List<Result> Query(Query query) {
if (string.IsNullOrEmpty(query.RawQuery)) return new List<Result>();
return QueryInternal(query);
if (Enabled) {
if (string.IsNullOrEmpty(query.RawQuery)) return new List<Result>();
return QueryInternal(query);
}
}
public void Init(PluginInitContext context) {
InitInternal(context);
}
/// <summary>
/// Used to save settings
/// </summary>
public virtual string PluginId {
get { return null; }
}
}
}

View File

@ -3,11 +3,9 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Wox.Plugin.SystemPlugins
{
public interface ISystemPlugin : IPlugin
{
string Name { get; }
string Description { get; }
}
namespace Wox.Plugin.SystemPlugins {
public interface ISystemPlugin : IPlugin {
string Name { get; }
string Description { get; }
}
}

View File

@ -1,10 +1,13 @@
using System.Collections.Generic;
namespace Wox.Plugin
{
public interface IPlugin
{
List<Result> Query(Query query);
void Init(PluginInitContext context);
}
namespace Wox.Plugin {
public interface IPlugin {
List<Result> Query(Query query);
void Init(PluginInitContext context);
/// <summary>
/// Used when saving Plug-in settings
/// </summary>
string PluginId { get; }
}
}

View File

@ -74,7 +74,7 @@
<TextBlock VerticalAlignment="Center" ToolTip="{Binding Name}" x:Name="tbTitle" Text="{Binding Name}"></TextBlock>
<TextBlock ToolTip="{Binding Description}" Visibility="{Binding Description, Converter={converters:StringNullOrEmptyToVisibilityConverter}}" Grid.Row="1" x:Name="tbSubTitle" Text="{Binding Description}" Opacity="0.5"></TextBlock>
</Grid>
<CheckBox Content="Enabled" />
<CheckBox Content="Enabled" IsChecked="{Binding Enabled}" />
</Grid>
</DataTemplate>
<DataTemplate DataType="{x:Type woxPlugin:PluginPair}">