diff --git a/Wox.Infrastructure/UserSettings/Settings.cs b/Wox.Infrastructure/UserSettings/Settings.cs
index 2e8ec13417..7a040cd5ee 100644
--- a/Wox.Infrastructure/UserSettings/Settings.cs
+++ b/Wox.Infrastructure/UserSettings/Settings.cs
@@ -2,6 +2,7 @@
using System.Collections.ObjectModel;
using System.Drawing;
using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
using Wox.Plugin;
namespace Wox.Infrastructure.UserSettings
@@ -49,6 +50,17 @@ namespace Wox.Infrastructure.UserSettings
public bool IgnoreHotkeysOnFullscreen { get; set; }
public HttpProxy Proxy { get; set; } = new HttpProxy();
+
+ [JsonConverter(typeof(StringEnumConverter))]
+ public LastQueryMode LastQueryMode { get; set; } = LastQueryMode.Selected;
+
+ }
+
+ public enum LastQueryMode
+ {
+ Selected,
+ Empty,
+ Preserved
}
[Obsolete]
diff --git a/Wox/Languages/en.xaml b/Wox/Languages/en.xaml
index 93c85c83f3..47e434cd9f 100644
--- a/Wox/Languages/en.xaml
+++ b/Wox/Languages/en.xaml
@@ -22,6 +22,10 @@
Do not show new version notifications
Remember last launch location
Language
+ Last Query Style
+ Preserve Last Query
+ Select last Query
+ Empty last Query
Maximum results shown
Ignore hotkeys in fullscreen mode
Python Directory
diff --git a/Wox/Languages/zh-cn.xaml b/Wox/Languages/zh-cn.xaml
index 177c2a4546..cbad578255 100644
--- a/Wox/Languages/zh-cn.xaml
+++ b/Wox/Languages/zh-cn.xaml
@@ -22,6 +22,10 @@
不显示新版本提示
记住上次启动位置
语言
+ 上次搜索关键字模式
+ 保留上次搜索关键字
+ 全选上次搜索关键字
+ 清空上次搜索关键字
最大结果显示个数
全屏模式下忽略热键
Python 路径
diff --git a/Wox/MainWindow.xaml.cs b/Wox/MainWindow.xaml.cs
index b9b376a13f..7f4a2f169e 100644
--- a/Wox/MainWindow.xaml.cs
+++ b/Wox/MainWindow.xaml.cs
@@ -68,10 +68,10 @@ namespace Wox
QueryTextBox.Focus();
SetWindowPosition();
_settings.ActivateTimes++;
- if (_viewModel.QueryTextSelected)
+ if (!_viewModel.LastQuerySelected)
{
QueryTextBox.SelectAll();
- _viewModel.QueryTextSelected = false;
+ _viewModel.LastQuerySelected = true;
}
}
}
diff --git a/Wox/SettingWindow.xaml b/Wox/SettingWindow.xaml
index b7ebd1de43..296996f6b0 100644
--- a/Wox/SettingWindow.xaml
+++ b/Wox/SettingWindow.xaml
@@ -43,6 +43,12 @@
Checked="OnAutoStartupChecked" Unchecked="OnAutoStartupUncheck">
+
+
+
+
");
+ }
+
+ ToggleWox();
+ e.Handled = true;
+ }
}
private void ToggleWox()
diff --git a/Wox/ViewModel/SettingWindowViewModel.cs b/Wox/ViewModel/SettingWindowViewModel.cs
index ae23776825..213ad80aa6 100644
--- a/Wox/ViewModel/SettingWindowViewModel.cs
+++ b/Wox/ViewModel/SettingWindowViewModel.cs
@@ -50,8 +50,30 @@ namespace Wox.ViewModel
#region general
- public List Languages => _translater.LoadAvailableLanguages();
+ public class LastQueryMode
+ {
+ public string Display { get; set; }
+ public Infrastructure.UserSettings.LastQueryMode Value { get; set; }
+ }
+ public List LastQueryModes
+ {
+ get
+ {
+ List modes = new List();
+ var enums = (Infrastructure.UserSettings.LastQueryMode[])Enum.GetValues(typeof(Infrastructure.UserSettings.LastQueryMode));
+ foreach (var e in enums)
+ {
+ var key = $"LastQuery{e}";
+ var display = _translater.GetTranslation(key);
+ var m = new LastQueryMode { Display = display, Value = e, };
+ modes.Add(m);
+ }
+ return modes;
+ }
+ }
+
private Internationalization _translater => InternationalizationManager.Instance;
+ public List Languages => _translater.LoadAvailableLanguages();
public IEnumerable MaxResultsRange => Enumerable.Range(2, 16);
#endregion