From e49e0ae2dcd077a76ec59ba2b008c756949eee3f Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 9 Jun 2020 20:12:49 +1000 Subject: [PATCH] output quick folder access list when no query and only hotkey is pressed --- Plugins/Flow.Launcher.Plugin.Explorer/Main.cs | 5 ---- .../Search/FolderLinks/QuickFolderAccess.cs | 25 +++++++++++-------- .../Search/SearchManager.cs | 11 ++++---- 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Main.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Main.cs index 64be3345d..30a06e882 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Main.cs @@ -37,11 +37,6 @@ namespace Flow.Launcher.Plugin.Explorer public List Query(Query query) { - var results = new List(); - - if (string.IsNullOrEmpty(query.Search)) - return results; - return new SearchManager(Settings, Context).Search(query); } diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/FolderLinks/QuickFolderAccess.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/FolderLinks/QuickFolderAccess.cs index 2c34382af..689c865c0 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/FolderLinks/QuickFolderAccess.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/FolderLinks/QuickFolderAccess.cs @@ -1,10 +1,6 @@ -using Flow.Launcher.Plugin.Explorer.Search.DirectoryInfo; -using Flow.Launcher.Plugin.SharedCommands; -using System; +using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Windows; namespace Flow.Launcher.Plugin.Explorer.Search.FolderLinks { @@ -12,12 +8,21 @@ namespace Flow.Launcher.Plugin.Explorer.Search.FolderLinks { internal List FolderList(Query query, List folderLinks, PluginInitContext context) { + if (string.IsNullOrEmpty(query.Search)) + return folderLinks + .Select(item => + new ResultManager(context) + .CreateFolderResult(item.Nickname, Constants.DefaultFolderSubtitleString, item.Path, query)) + .ToList(); + string search = query.Search.ToLower(); - var userFolderLinks = folderLinks.Where( - x => x.Nickname.StartsWith(search, StringComparison.OrdinalIgnoreCase)); - var results = userFolderLinks.Select(item => - new ResultManager(context).CreateFolderResult(item.Nickname, Constants.DefaultFolderSubtitleString, item.Path, query)).ToList(); - return results; + + var queriedFolderLinks = folderLinks.Where(x => x.Nickname.StartsWith(search, StringComparison.OrdinalIgnoreCase)); + + return queriedFolderLinks.Select(item => + new ResultManager(context) + .CreateFolderResult(item.Nickname, Constants.DefaultFolderSubtitleString, item.Path, query)) + .ToList(); } } } diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs index 845b43c54..4d3f11967 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs @@ -30,6 +30,8 @@ namespace Flow.Launcher.Plugin.Explorer.Search internal List Search(Query query) { + var results = new List(); + var querySearch = query.Search; var quickFolderLinks = quickFolderAccess.FolderList(query, settings.QuickFolderAccessLinks, context); @@ -37,23 +39,20 @@ namespace Flow.Launcher.Plugin.Explorer.Search if (quickFolderLinks.Count > 0) return quickFolderLinks; + if (string.IsNullOrEmpty(query.Search)) + return results; + if (!FilesFolders.IsLocationPathString(querySearch)) return WindowsIndexFilesAndFoldersSearch(query, querySearch); var locationPath = query.Search; if (EnvironmentVariables.IsEnvironmentVariableSearch(locationPath)) - { return EnvironmentVariables.GetEnvironmentStringPathSuggestions(locationPath, query, context); - } // Query is a location path with a full environment variable, eg. %appdata%\somefolder\ if (locationPath.Substring(1).Contains("%")) - { locationPath = EnvironmentVariables.TranslateEnvironmentVariablePath(locationPath); - } - - var results = new List(); if (!FilesFolders.LocationExists(FilesFolders.ReturnPreviousDirectoryIfIncompleteString(locationPath))) return results;