Skip to content

Commit

Permalink
Add Feature Tab in Settings. (Still WIP)
Browse files Browse the repository at this point in the history
  • Loading branch information
orzFly committed Mar 28, 2014
1 parent 70950b8 commit 4512854
Show file tree
Hide file tree
Showing 16 changed files with 265 additions and 43 deletions.
3 changes: 2 additions & 1 deletion Plugins/Wox.Plugin.PluginManagement/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@
"Version":"1.0",
"Language":"csharp",
"Website":"http://www.getwox.com/plugin",
"ExecuteFileName":"Wox.Plugin.PluginManagement.dll"
"ExecuteFileName":"Wox.Plugin.PluginManagement.dll",
"IcoPath":"Images\\plugin.png"
}
14 changes: 12 additions & 2 deletions Wox.Plugin.System/BaseSystemPlugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,30 @@ public void Init(PluginInitContext context)
InitInternal(context);
}

public string Name
public virtual string Name
{
get
{
return "System workflow";
}
}

public string Description
public virtual string Description
{
get
{
return "System workflow";
}
}

public virtual string IcoPath
{
get
{
return null;
}
}

public string PluginDirectory { get; set; }
}
}
15 changes: 15 additions & 0 deletions Wox.Plugin.System/BrowserBookmarks.cs
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,21 @@ private String DecodeUnicode(String dataStr)
Regex reg = new Regex(@"(?i)\\[uU]([0-9a-f]{4})");
return reg.Replace(dataStr, m => ((char)Convert.ToInt32(m.Groups[1].Value, 16)).ToString());
}

public override string Name
{
get { return "Bookmarks"; }
}

public override string IcoPath
{
get { return @"Images\bookmark.png"; }
}

public override string Description
{
get { return base.Description; }
}
}

public class Bookmark : IEquatable<Bookmark>, IEqualityComparer<Bookmark>
Expand Down
14 changes: 14 additions & 0 deletions Wox.Plugin.System/CMD/CMD.cs
Original file line number Diff line number Diff line change
Expand Up @@ -148,5 +148,19 @@ protected override void InitInternal(PluginInitContext context)
this.context = context;
}

public override string Name
{
get { return "Shell"; }
}

public override string IcoPath
{
get { return @"Images\cmd.png"; }
}

public override string Description
{
get { return base.Description; }
}
}
}
15 changes: 14 additions & 1 deletion Wox.Plugin.System/Calculator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,19 @@ protected override void InitInternal(PluginInitContext context)
this.context = context;
}


public override string Name
{
get { return "Calculator"; }
}

public override string IcoPath
{
get { return @"Images\calculator.png"; }
}

public override string Description
{
get { return base.Description; }
}
}
}
14 changes: 14 additions & 0 deletions Wox.Plugin.System/DirectoryIndicator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -157,5 +157,19 @@ protected override void InitInternal(PluginInitContext context)
this.context = context;
}

public override string Name
{
get { return "File System"; }
}

public override string IcoPath
{
get { return @"Images\folder.png"; }
}

public override string Description
{
get { return base.Description; }
}
}
}
16 changes: 16 additions & 0 deletions Wox.Plugin.System/Programs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -145,5 +145,21 @@ private void ScoreFilter(Program p)
if (p.Title.Contains("卸载") || p.Title.ToLower().Contains("uninstall"))
p.Score -= 20;
}


public override string Name
{
get { return "Programs"; }
}

public override string IcoPath
{
get { return @"Images\app.png"; }
}

public override string Description
{
get { return base.Description; }
}
}
}
37 changes: 0 additions & 37 deletions Wox.Plugin.System/Setting.cs

This file was deleted.

28 changes: 28 additions & 0 deletions Wox.Plugin.System/Sys.cs
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,34 @@ protected override void InitInternal(PluginInitContext context)
return true;
}
});
availableResults.Add(new Result
{
Title = "Setting",
SubTitle = "Tweak this app",
Score = 40,
IcoPath = "Images\\app.png",
Action = (c) =>
{
context.OpenSettingDialog();
return true;
}
});
}


public override string Name
{
get { return "System Commands"; }
}

public override string IcoPath
{
get { return @"Images\lock.png"; }
}

public override string Description
{
get { return base.Description; }
}
}
}
14 changes: 14 additions & 0 deletions Wox.Plugin.System/ThirdpartyPluginIndicator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -62,5 +62,19 @@ protected override void InitInternal(PluginInitContext context)
}


public override string Name
{
get { return "Plugins"; }
}

public override string IcoPath
{
get { return @"Images\work.png"; }
}

public override string Description
{
get { return base.Description; }
}
}
}
15 changes: 15 additions & 0 deletions Wox.Plugin.System/WebSearchPlugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -81,5 +81,20 @@ protected override void InitInternal(PluginInitContext context)
if (UserSettingStorage.Instance.WebSearches == null)
UserSettingStorage.Instance.WebSearches = UserSettingStorage.Instance.LoadDefaultWebSearches();
}

public override string Name
{
get { return "Web Searches"; }
}

public override string IcoPath
{
get { return @"Images\app.png"; }
}

public override string Description
{
get { return base.Description; }
}
}
}
1 change: 0 additions & 1 deletion Wox.Plugin.System/Wox.Plugin.System.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@
<Compile Include="ISystemPlugin.cs" />
<Compile Include="Programs.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Setting.cs" />
<Compile Include="Sys.cs" />
<Compile Include="ThirdpartyPluginIndicator.cs" />
<Compile Include="SuggestionSources\Google.cs" />
Expand Down
2 changes: 2 additions & 0 deletions Wox.Plugin/PluginMetadata.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,7 @@ public string ExecuteFilePath
public string PluginDirecotry { get; set; }
public string ActionKeyword { get; set; }
public PluginType PluginType { get; set; }

public string IcoPath { get; set; }
}
}
7 changes: 7 additions & 0 deletions Wox/PluginLoader/CSharpPluginLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,13 @@ public override List<PluginPair> LoadPlugin()
Plugin = Activator.CreateInstance(type) as IPlugin,
Metadata = metadata
};

var sys = pair.Plugin as BaseSystemPlugin;
if (sys != null)
{
sys.PluginDirectory = metadata.PluginDirecotry;
}

plugins.Add(pair);
}
}
Expand Down
89 changes: 88 additions & 1 deletion Wox/SettingWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,21 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wox="clr-namespace:Wox"
xmlns:UserSettings="clr-namespace:Wox.Infrastructure.Storage.UserSettings;assembly=Wox.Infrastructure" x:Class="Wox.SettingWindow"
xmlns:woxPlugin="clr-namespace:Wox.Plugin;assembly=Wox.Plugin"
xmlns:system="clr-namespace:Wox.Plugin.System;assembly=Wox.Plugin.System"
Icon="Images\app.png"
Title="Wox Setting"
ResizeMode="NoResize"
WindowStartupLocation="CenterScreen"
Height="600" Width="800">

<Window.Resources>
<wox:ImagePathConverter x:Key="ImagePathConverter"/>
<ListBoxItem HorizontalContentAlignment="Stretch"
IsEnabled="False"
IsHitTestVisible="False" x:Key="FeatureBoxSeperator">
<Separator Width="{Binding ElementName=featureBox, Path=ActualWidth}"/>
</ListBoxItem>
</Window.Resources>
<TabControl Height="auto" >
<TabItem Header="Basic">
<StackPanel Orientation="Vertical" Margin="10">
Expand Down Expand Up @@ -255,5 +264,83 @@
</Grid>
</Grid>
</TabItem>

<TabItem Header="Features">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="250"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<ListBox x:Name="featureBox" Grid.Column="0" Margin="0" SelectionChanged="featureBox_OnSelectionChanged" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Disabled" Grid.IsSharedSizeScope="True" >
<ListBox.Resources>
<DataTemplate DataType="{x:Type system:BaseSystemPlugin}">
<Grid Height="36" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="32"></ColumnDefinition>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Width="32" Height="32" HorizontalAlignment="Left">
<Image.Source>
<MultiBinding Converter="{StaticResource ImagePathConverter}">
<MultiBinding.Bindings>
<Binding Path="IcoPath" />
<Binding Path="PluginDirectory" />
</MultiBinding.Bindings>
</MultiBinding>
</Image.Source>
</Image>
<Grid Margin="3 0 3 0" Grid.Column="1" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<TextBlock VerticalAlignment="Center" ToolTip="{Binding Name}" x:Name="tbTitle" Text="{Binding Name}"></TextBlock>
<TextBlock ToolTip="{Binding Description}" Visibility="{Binding Description, Converter={wox:StringNullOrEmptyToVisibilityConverter}}" Grid.Row="1" x:Name="tbSubTitle" Text="{Binding Description}" Opacity="0.5"></TextBlock>
</Grid>
</Grid>
</DataTemplate>
<DataTemplate DataType="{x:Type woxPlugin:PluginPair}">
<Grid Height="36" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="32"></ColumnDefinition>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Width="32" Height="32" HorizontalAlignment="Left">
<Image.Source>
<MultiBinding Converter="{StaticResource ImagePathConverter}">
<MultiBinding.Bindings>
<Binding Path="Metadata.IcoPath" />
<Binding Path="Metadata.PluginDirecotry" />
</MultiBinding.Bindings>
</MultiBinding>
</Image.Source>
</Image>
<Grid Margin="3 0 3 0" Grid.Column="1" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<TextBlock VerticalAlignment="Center" ToolTip="{Binding Metadata.Name}" x:Name="tbTitle" Text="{Binding Metadata.Name}"></TextBlock>
<TextBlock ToolTip="{Binding Metadata.Description}" Visibility="{Binding Metadata.Description, Converter={wox:StringNullOrEmptyToVisibilityConverter}}" Grid.Row="1" x:Name="tbSubTitle" Text="{Binding Metadata.Description}" Opacity="0.5"></TextBlock>
</Grid>
</Grid>
</DataTemplate>
</ListBox.Resources>
</ListBox>
<Grid Margin="0" Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="80"/>
<RowDefinition />
</Grid.RowDefinitions>

<StackPanel Grid.Row="0" Grid.Column="0" Margin="10" Orientation="Vertical">
</StackPanel>

<StackPanel x:Name="PluginContentPanel" Grid.ColumnSpan="1" Grid.Row="1" Margin="0">

</StackPanel>
</Grid>
</Grid>
</TabItem>
</TabControl>
</Window>
Loading

0 comments on commit 4512854

Please sign in to comment.