diff --git a/Plugins/Wox.Plugin.Everything/EverythingSettings.xaml b/Plugins/Wox.Plugin.Everything/EverythingSettings.xaml
new file mode 100644
index 0000000000..59939b0835
--- /dev/null
+++ b/Plugins/Wox.Plugin.Everything/EverythingSettings.xaml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/Plugins/Wox.Plugin.Everything/EverythingSettings.xaml.cs b/Plugins/Wox.Plugin.Everything/EverythingSettings.xaml.cs
new file mode 100644
index 0000000000..5a9ad5fb9e
--- /dev/null
+++ b/Plugins/Wox.Plugin.Everything/EverythingSettings.xaml.cs
@@ -0,0 +1,31 @@
+using System.Windows;
+using System.Windows.Controls;
+
+namespace Wox.Plugin.Everything
+{
+ public partial class EverythingSettings : UserControl
+ {
+ private readonly Settings _settings;
+
+ public EverythingSettings(Settings settings)
+ {
+ InitializeComponent();
+ _settings = settings;
+ }
+
+ private void View_Loaded(object sender, RoutedEventArgs re)
+ {
+ UseLocationAsWorkingDir.IsChecked = _settings.UseLocationAsWorkingDir;
+
+ UseLocationAsWorkingDir.Checked += (o, e) =>
+ {
+ _settings.UseLocationAsWorkingDir = true;
+ };
+
+ UseLocationAsWorkingDir.Unchecked += (o, e) =>
+ {
+ _settings.UseLocationAsWorkingDir = false;
+ };
+ }
+ }
+}
diff --git a/Plugins/Wox.Plugin.Everything/Languages/de.xaml b/Plugins/Wox.Plugin.Everything/Languages/de.xaml
index cdfec977c9..ba4cfe9add 100644
--- a/Plugins/Wox.Plugin.Everything/Languages/de.xaml
+++ b/Plugins/Wox.Plugin.Everything/Languages/de.xaml
@@ -11,4 +11,6 @@
Everything
Suche Dateien mit Everything
+ Verwenden Suchergebnis Standort als ausführbare Arbeitsverzeichnis
+
\ No newline at end of file
diff --git a/Plugins/Wox.Plugin.Everything/Languages/en.xaml b/Plugins/Wox.Plugin.Everything/Languages/en.xaml
index 2232042a2c..a076308253 100644
--- a/Plugins/Wox.Plugin.Everything/Languages/en.xaml
+++ b/Plugins/Wox.Plugin.Everything/Languages/en.xaml
@@ -11,4 +11,6 @@
Everything
Search on-disk files using Everything
+ Use search result's location as executable working directory
+
diff --git a/Plugins/Wox.Plugin.Everything/Languages/zh-cn.xaml b/Plugins/Wox.Plugin.Everything/Languages/zh-cn.xaml
index dff45ed4c1..309b59e488 100644
--- a/Plugins/Wox.Plugin.Everything/Languages/zh-cn.xaml
+++ b/Plugins/Wox.Plugin.Everything/Languages/zh-cn.xaml
@@ -10,5 +10,6 @@
Everything
利用Everything搜索磁盘文件
-
+
+ 使用应用程序的位置为可执行的工作目录
\ No newline at end of file
diff --git a/Plugins/Wox.Plugin.Everything/Languages/zh-tw.xaml b/Plugins/Wox.Plugin.Everything/Languages/zh-tw.xaml
index 58a979e015..40651d9ed4 100644
--- a/Plugins/Wox.Plugin.Everything/Languages/zh-tw.xaml
+++ b/Plugins/Wox.Plugin.Everything/Languages/zh-tw.xaml
@@ -10,4 +10,6 @@
Everything
利用Everything搜索磁盤文件
+
+ 使用应用程序的位置为可执行的工作目录
\ No newline at end of file
diff --git a/Plugins/Wox.Plugin.Everything/Main.cs b/Plugins/Wox.Plugin.Everything/Main.cs
index 12192da14a..231d94d0c2 100644
--- a/Plugins/Wox.Plugin.Everything/Main.cs
+++ b/Plugins/Wox.Plugin.Everything/Main.cs
@@ -6,13 +6,14 @@ using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Windows;
+using System.Windows.Controls;
using Wox.Infrastructure;
using Wox.Infrastructure.Storage;
using Wox.Plugin.Everything.Everything;
namespace Wox.Plugin.Everything
{
- public class Main : IPlugin, IPluginI18n, IContextMenu, ISavable
+ public class Main : IPlugin, ISettingProvider, IPluginI18n, IContextMenu, ISavable
{
private readonly EverythingAPI _api = new EverythingAPI();
@@ -45,6 +46,11 @@ namespace Wox.Plugin.Everything
foreach (var s in searchList)
{
var path = s.FullPath;
+
+ string workingDir = null;
+ if (_settings.UseLocationAsWorkingDir)
+ workingDir = Path.GetDirectoryName(path);
+
Result r = new Result();
r.Title = Path.GetFileName(path);
r.SubTitle = path;
@@ -57,7 +63,8 @@ namespace Wox.Plugin.Everything
Process.Start(new ProcessStartInfo
{
FileName = path,
- UseShellExecute = true
+ UseShellExecute = true,
+ WorkingDirectory = workingDir
});
hide = true;
}
@@ -192,5 +199,10 @@ namespace Wox.Plugin.Everything
return contextMenus;
}
+
+ public Control CreateSettingPanel()
+ {
+ return new EverythingSettings(_settings);
+ }
}
}
diff --git a/Plugins/Wox.Plugin.Everything/Settings.cs b/Plugins/Wox.Plugin.Everything/Settings.cs
index c1d9c42f0a..3ac52fba54 100644
--- a/Plugins/Wox.Plugin.Everything/Settings.cs
+++ b/Plugins/Wox.Plugin.Everything/Settings.cs
@@ -10,6 +10,8 @@ namespace Wox.Plugin.Everything
public List ContextMenus = new List();
public int MaxSearchCount { get; set; } = 100;
+
+ public bool UseLocationAsWorkingDir { get; set; } = false;
}
public class ContextMenu
diff --git a/Plugins/Wox.Plugin.Everything/Wox.Plugin.Everything.csproj b/Plugins/Wox.Plugin.Everything/Wox.Plugin.Everything.csproj
index bcc094acce..fd620ff49c 100644
--- a/Plugins/Wox.Plugin.Everything/Wox.Plugin.Everything.csproj
+++ b/Plugins/Wox.Plugin.Everything/Wox.Plugin.Everything.csproj
@@ -51,11 +51,16 @@
+
+
Properties\SolutionAssemblyInfo.cs
+
+ EverythingSettings.xaml
+
@@ -147,6 +152,12 @@
PreserveNewest
+
+
+ Designer
+ MSBuild:Compile
+
+