Improve search performance

This commit is contained in:
Jack251970 2025-03-21 09:57:15 +08:00
parent 8c387d0d94
commit d78599114a

View file

@ -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