AddResults & UpdateResults new param "reselect"

This commit is contained in:
AminSallah 2024-02-25 04:11:30 +02:00 committed by GitHub
parent e722927d9e
commit 1d6c4cee2e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -147,23 +147,23 @@ namespace Flow.Launcher.ViewModel
/// <summary>
/// To avoid deadlock, this method should not called from main thread
/// </summary>
public void AddResults(IEnumerable<ResultsForUpdate> resultsForUpdates, CancellationToken token)
public void AddResults(IEnumerable<ResultsForUpdate> resultsForUpdates, CancellationToken token, bool reselect = true)
{
var newResults = NewResults(resultsForUpdates);
if (token.IsCancellationRequested)
return;
UpdateResults(newResults, token);
UpdateResults(newResults, token, reselect);
}
private void UpdateResults(List<ResultViewModel> newResults, CancellationToken token = default)
private void UpdateResults(List<ResultViewModel> newResults, CancellationToken token = default, bool reselect = true)
{
lock (_collectionLock)
{
// update UI in one run, so it can avoid UI flickering
Results.Update(newResults, token);
if (Results.Any())
if (reselect && Results.Any())
SelectedItem = Results[0];
}