From 083527e6036f6c9e34966b5bef21ffa195410379 Mon Sep 17 00:00:00 2001 From: Hongtao Zhang Date: Sat, 11 Feb 2023 10:35:26 -0600 Subject: [PATCH 1/3] add option for everything search in full path (default true) --- .../Languages/en.xaml | 2 ++ .../Everything/EverythingSearchManager.cs | 22 +++++++++++++++---- .../Flow.Launcher.Plugin.Explorer/Settings.cs | 2 ++ .../Views/ExplorerSettings.xaml | 9 ++++++++ 4 files changed, 31 insertions(+), 4 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml index 82029e8c59b..a278a1ad9b4 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml @@ -127,6 +127,8 @@ Warning: This is not a Fast Sort option, searches may be slow + Search In Full Path + Click to launch or install Everything Everything Installation Installing Everything service. Please wait... diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingSearchManager.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingSearchManager.cs index 4bb8a0cddeb..34470789213 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingSearchManager.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingSearchManager.cs @@ -42,29 +42,38 @@ private async ValueTask ThrowIfEverythingNotAvailableAsync(CancellationToken tok private async ValueTask ClickToInstallEverythingAsync(ActionContext _) { var installedPath = await EverythingDownloadHelper.PromptDownloadIfNotInstallAsync(Settings.EverythingInstalledPath, Main.Context.API); + if (installedPath == null) { Main.Context.API.ShowMsgError("Unable to find Everything.exe"); + return false; } + Settings.EverythingInstalledPath = installedPath; Process.Start(installedPath, "-startup"); + return true; } public async IAsyncEnumerable SearchAsync(string search, [EnumeratorCancellation] CancellationToken token) { await ThrowIfEverythingNotAvailableAsync(token); + if (token.IsCancellationRequested) yield break; - var option = new EverythingSearchOption(search, Settings.SortOption); + + var option = new EverythingSearchOption(search, Settings.SortOption, IsFullPathSearch: Settings.EverythingSearchFullPath); + await foreach (var result in EverythingApi.SearchAsync(option, token)) yield return result; } public async IAsyncEnumerable ContentSearchAsync(string plainSearch, - string contentSearch, [EnumeratorCancellation] CancellationToken token) + string contentSearch, + [EnumeratorCancellation] CancellationToken token) { await ThrowIfEverythingNotAvailableAsync(token); + if (!Settings.EnableEverythingContentSearch) { throw new EngineNotAvailableException(Enum.GetName(Settings.IndexSearchEngineOption.Everything)!, @@ -74,16 +83,19 @@ public async IAsyncEnumerable ContentSearchAsync(string plainSearc _ => { Settings.EnableEverythingContentSearch = true; + return ValueTask.FromResult(true); }); } + if (token.IsCancellationRequested) yield break; var option = new EverythingSearchOption(plainSearch, Settings.SortOption, true, - contentSearch); + contentSearch, + IsFullPathSearch: Settings.EverythingSearchFullPath); await foreach (var result in EverythingApi.SearchAsync(option, token)) { @@ -93,13 +105,15 @@ public async IAsyncEnumerable ContentSearchAsync(string plainSearc public async IAsyncEnumerable EnumerateAsync(string path, string search, bool recursive, [EnumeratorCancellation] CancellationToken token) { await ThrowIfEverythingNotAvailableAsync(token); + if (token.IsCancellationRequested) yield break; var option = new EverythingSearchOption(search, Settings.SortOption, ParentPath: path, - IsRecursive: recursive); + IsRecursive: recursive, + IsFullPathSearch: Settings.EverythingSearchFullPath); await foreach (var result in EverythingApi.SearchAsync(option, token)) { diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs index 97bd67f2ef2..04286c0344e 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs @@ -137,6 +137,8 @@ public enum ContentIndexSearchEngineOption PathEnumerationEngine == PathEnumerationEngineOption.Everything || ContentSearchEngine == ContentIndexSearchEngineOption.Everything; + public bool EverythingSearchFullPath { get; set; } = true; + #endregion internal enum ActionKeyword diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Views/ExplorerSettings.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Views/ExplorerSettings.xaml index 593b9badcc0..d37772f7d0e 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Views/ExplorerSettings.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Views/ExplorerSettings.xaml @@ -348,6 +348,15 @@ Header="{DynamicResource plugin_explorer_everything_setting_header}" Style="{DynamicResource ExplorerTabItem}"> + + + + + From d87b5af5dc4967bdc5dad123530b3491729f9c74 Mon Sep 17 00:00:00 2001 From: Kevin Zhang <45326534+taooceros@users.noreply.github.com> Date: Mon, 20 Feb 2023 14:04:50 -0600 Subject: [PATCH 2/3] default false --- Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs index 04286c0344e..339eaaaaafb 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs @@ -137,7 +137,7 @@ public enum ContentIndexSearchEngineOption PathEnumerationEngine == PathEnumerationEngineOption.Everything || ContentSearchEngine == ContentIndexSearchEngineOption.Everything; - public bool EverythingSearchFullPath { get; set; } = true; + public bool EverythingSearchFullPath { get; set; } = false; #endregion From 73ba2368a8ada6eecb62dd067f8edc69e6adee4b Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 21 Feb 2023 08:10:03 +1100 Subject: [PATCH 3/3] update option name --- Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml index a278a1ad9b4..58fe31dd64c 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml @@ -127,7 +127,7 @@ Warning: This is not a Fast Sort option, searches may be slow - Search In Full Path + Search Full Path Click to launch or install Everything Everything Installation