From d78599114a949bd26b43c7ce3cc06ad842bc43c2 Mon Sep 17 00:00:00 2001 From: Jack251970 <1160210343@qq.com> Date: Fri, 21 Mar 2025 09:57:15 +0800 Subject: [PATCH] Improve search performance --- Flow.Launcher/ViewModel/MainViewModel.cs | 31 ++++++++++++------------ 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs index 91be72483..7e64c6a28 100644 --- a/Flow.Launcher/ViewModel/MainViewModel.cs +++ b/Flow.Launcher/ViewModel/MainViewModel.cs @@ -1073,7 +1073,9 @@ namespace Flow.Launcher.ViewModel var query = ConstructQuery(QueryText, Settings.CustomShortcuts, Settings.BuiltinShortcuts); - if (query == null) // shortcut expanded + var plugins = PluginManager.ValidPluginsForQuery(query); + + if (query == null || plugins.Count == 0) // shortcut expanded { Results.Clear(); Results.Visibility = Visibility.Collapsed; @@ -1082,6 +1084,18 @@ namespace Flow.Launcher.ViewModel SearchIconVisibility = Visibility.Visible; return; } + else if (plugins.Count == 1) + { + PluginIconPath = plugins.Single().Metadata.IcoPath; + PluginIconSource = await ImageLoader.LoadAsync(PluginIconPath); + SearchIconVisibility = Visibility.Hidden; + } + else + { + PluginIconPath = null; + PluginIconSource = null; + SearchIconVisibility = Visibility.Visible; + } _updateSource?.Dispose(); @@ -1106,21 +1120,6 @@ namespace Flow.Launcher.ViewModel _lastQuery = query; - var plugins = PluginManager.ValidPluginsForQuery(query); - - if (plugins.Count == 1) - { - PluginIconPath = plugins.Single().Metadata.IcoPath; - PluginIconSource = await ImageLoader.LoadAsync(PluginIconPath); - SearchIconVisibility = Visibility.Hidden; - } - else - { - PluginIconPath = null; - PluginIconSource = null; - SearchIconVisibility = Visibility.Visible; - } - if (query.ActionKeyword == Plugin.Query.GlobalPluginWildcardSign) { // Wait 45 millisecond for query change in global query