From 1d5f72f9ab5f68d48380379e1c8fb3f532556a69 Mon Sep 17 00:00:00 2001 From: CoenraadS Date: Thu, 17 Jul 2014 17:14:58 +0200 Subject: [PATCH] Added Control Panel --- .../ControlPanel/ControlPanel.cs | 87 ++++++++++++++++++ .../Wox.Plugin.SystemPlugins.csproj | 7 ++ Wox.Plugin.SystemPlugins/packages.config | 1 + Wox/Images/ControlPanel.png | Bin 0 -> 4436 bytes 4 files changed, 95 insertions(+) create mode 100644 Wox.Plugin.SystemPlugins/ControlPanel/ControlPanel.cs create mode 100644 Wox/Images/ControlPanel.png diff --git a/Wox.Plugin.SystemPlugins/ControlPanel/ControlPanel.cs b/Wox.Plugin.SystemPlugins/ControlPanel/ControlPanel.cs new file mode 100644 index 0000000000..76b9ef2ef0 --- /dev/null +++ b/Wox.Plugin.SystemPlugins/ControlPanel/ControlPanel.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Wox.Infrastructure; +using Wox.Infrastructure.Storage.UserSettings; +using WindowsControlPanelItems; +using System.Diagnostics; +using System.IO; + +namespace Wox.Plugin.SystemPlugins.ControlPanel +{ + public class ControlPanel : BaseSystemPlugin + { + #region Properties + + private PluginInitContext context; + + public override string Description + { + get + { + return "Search within the Control Panel."; + } + } + + public override string ID + { + get { return "209621585B9B4D81813913C507C058C6"; } + } + + public override string Name { get { return "Control Panel"; } } + + public override string IcoPath { get { return @"Images\ControlPanel.png"; } } + + private List controlPanelItems; + private string iconFolder; + + #endregion Properties + + protected override void InitInternal(PluginInitContext context) + { + this.context = context; + controlPanelItems = WindowsControlPanelItems.List.Create(48); + iconFolder = @"Images\ControlPanelIcons\"; + + foreach (ControlPanelItem item in controlPanelItems) + { + if (!File.Exists(iconFolder + item.ApplicationName + ".ico")) + { + item.Icon.ToBitmap().Save(iconFolder + item.ApplicationName + ".ico"); //Wierd hack to not lose quality when saving as .ico + } + } + } + + protected override List QueryInternal(Query query) + { + List results = new List(); + + foreach (var item in controlPanelItems) + { + if (item.LocalizedString.IndexOf(query.RawQuery, StringComparison.OrdinalIgnoreCase) >= 0 || item.InfoTip.IndexOf(query.RawQuery, StringComparison.OrdinalIgnoreCase) >= 0) + { + results.Add(new Result() + { + Title = item.LocalizedString, + SubTitle = item.InfoTip, + IcoPath = "Images\\ControlPanelIcons\\" + item.ApplicationName + ".ico", //Relative path to plugin directory + Action = e => + { + try + { + Process.Start(item.ExecutablePath); + } + catch (Exception) + { + //Silently Fail for now.. + } + return true; + } + }); + } + } + return results; + } + } +} diff --git a/Wox.Plugin.SystemPlugins/Wox.Plugin.SystemPlugins.csproj b/Wox.Plugin.SystemPlugins/Wox.Plugin.SystemPlugins.csproj index 809178144d..38a88dd562 100644 --- a/Wox.Plugin.SystemPlugins/Wox.Plugin.SystemPlugins.csproj +++ b/Wox.Plugin.SystemPlugins/Wox.Plugin.SystemPlugins.csproj @@ -41,6 +41,9 @@ + + ..\packages\WindowsControlPanelItems.dll.1.0.0\lib\net35\WindowsControlPanelItems.dll + ..\packages\YAMP.1.3.0\lib\net35\YAMP.dll @@ -59,6 +62,7 @@ + FolderPluginSettings.xaml @@ -130,6 +134,9 @@ Designer + + + diff --git a/Wox.Plugin.SystemPlugins/packages.config b/Wox.Plugin.SystemPlugins/packages.config index 7cc723c824..5166ffa5c1 100644 --- a/Wox.Plugin.SystemPlugins/packages.config +++ b/Wox.Plugin.SystemPlugins/packages.config @@ -2,5 +2,6 @@ + \ No newline at end of file diff --git a/Wox/Images/ControlPanel.png b/Wox/Images/ControlPanel.png new file mode 100644 index 0000000000000000000000000000000000000000..09c9849c49559d1b9aea9a8fb27a1bd533646e0c GIT binary patch literal 4436 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 aZ2t#vB}zL%