Save QueryHistory, UserSelectedRecord after each update (#9165)

This commit is contained in:
Mykhailo Pylyp
2021-01-19 18:43:28 +02:00
committed by GitHub
parent 8c1cfba5d8
commit 2311c3fc18
3 changed files with 7 additions and 68 deletions

View File

@@ -37,11 +37,9 @@ namespace PowerLauncher.ViewModel
private readonly WoxJsonStorage<QueryHistory> _historyItemsStorage;
private readonly WoxJsonStorage<UserSelectedRecord> _userSelectedRecordStorage;
private readonly WoxJsonStorage<TopMostRecord> _topMostRecordStorage;
private readonly PowerToysRunSettings _settings;
private readonly QueryHistory _history;
private readonly UserSelectedRecord _userSelectedRecord;
private readonly TopMostRecord _topMostRecord;
private readonly object _addResultsLock = new object();
private readonly System.Diagnostics.Stopwatch _hotkeyTimer = new System.Diagnostics.Stopwatch();
@@ -66,10 +64,8 @@ namespace PowerLauncher.ViewModel
_historyItemsStorage = new WoxJsonStorage<QueryHistory>();
_userSelectedRecordStorage = new WoxJsonStorage<UserSelectedRecord>();
_topMostRecordStorage = new WoxJsonStorage<TopMostRecord>();
_history = _historyItemsStorage.Load();
_userSelectedRecord = _userSelectedRecordStorage.Load();
_topMostRecord = _topMostRecordStorage.Load();
ContextMenu = new ResultsViewModel(_settings);
Results = new ResultsViewModel(_settings);
@@ -171,8 +167,11 @@ namespace PowerLauncher.ViewModel
if (SelectedIsFromQueryResults())
{
// todo: revert _userSelectedRecordStorage.Save() and _historyItemsStorage.Save() after https://github.com/microsoft/PowerToys/issues/9164 is done
_userSelectedRecord.Add(result);
_userSelectedRecordStorage.Save();
_history.Add(result.OriginQuery.RawQuery);
_historyItemsStorage.Save();
}
else
{
@@ -793,7 +792,6 @@ namespace PowerLauncher.ViewModel
{
_historyItemsStorage.Save();
_userSelectedRecordStorage.Save();
_topMostRecordStorage.Save();
_saved = true;
}
@@ -816,14 +814,7 @@ namespace PowerLauncher.ViewModel
foreach (var result in list)
{
if (_topMostRecord.IsTopMost(result))
{
result.Score = int.MaxValue;
}
else
{
result.Score += _userSelectedRecord.GetSelectedCount(result) * 5;
}
result.Score += _userSelectedRecord.GetSelectedCount(result) * 5;
}
// Using CurrentCultureIgnoreCase since this is user facing