diff --git a/src/modules/launcher/PowerLauncher/Storage/TopMostRecord.cs b/src/modules/launcher/PowerLauncher/Storage/TopMostRecord.cs deleted file mode 100644 index f1aa08b425..0000000000 --- a/src/modules/launcher/PowerLauncher/Storage/TopMostRecord.cs +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) Microsoft Corporation -// The Microsoft Corporation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System.Collections.Generic; -using System.Linq; -using Newtonsoft.Json; -using Wox.Plugin; - -namespace PowerLauncher.Storage -{ - // todo this class is not thread safe.... but used from multiple threads. - public class TopMostRecord - { - [JsonProperty] - private Dictionary records = new Dictionary(); - - internal bool IsTopMost(Result result) - { - if (records.Count == 0) - { - return false; - } - - // since this dictionary should be very small (or empty) going over it should be pretty fast. - return records.Any(o => o.Value.Title == result.Title - && o.Value.SubTitle == result.SubTitle - && o.Value.PluginID == result.PluginID - && o.Key == result.OriginQuery.RawQuery); - } - - internal void Remove(Result result) - { - records.Remove(result.OriginQuery.RawQuery); - } - - internal void AddOrUpdate(Result result) - { - var record = new Record - { - PluginID = result.PluginID, - Title = result.Title, - SubTitle = result.SubTitle, - }; - records[result.OriginQuery.RawQuery] = record; - } - - public void Load(Dictionary dictionary) - { - records = dictionary; - } - } -} diff --git a/src/modules/launcher/PowerLauncher/ViewModel/MainViewModel.cs b/src/modules/launcher/PowerLauncher/ViewModel/MainViewModel.cs index 1de1c61d24..882fe8f466 100644 --- a/src/modules/launcher/PowerLauncher/ViewModel/MainViewModel.cs +++ b/src/modules/launcher/PowerLauncher/ViewModel/MainViewModel.cs @@ -37,11 +37,9 @@ namespace PowerLauncher.ViewModel private readonly WoxJsonStorage _historyItemsStorage; private readonly WoxJsonStorage _userSelectedRecordStorage; - private readonly WoxJsonStorage _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(); _userSelectedRecordStorage = new WoxJsonStorage(); - _topMostRecordStorage = new WoxJsonStorage(); _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 diff --git a/tools/BugReportTool/BugReportTool/Main.cpp b/tools/BugReportTool/BugReportTool/Main.cpp index 44d7a730d8..9f8370e5d1 100644 --- a/tools/BugReportTool/BugReportTool/Main.cpp +++ b/tools/BugReportTool/BugReportTool/Main.cpp @@ -24,9 +24,10 @@ map> escapeInfo = { vector filesToDelete = { L"PowerToys Run\\Cache", - L"PowerToys Run\\Settings\\QueryHistory.json", L"PowerRename\\replace-mru.json", - L"PowerRename\\search-mru.json" + L"PowerRename\\search-mru.json", + L"PowerToys Run\\Settings\\UserSelectedRecord.json", + L"PowerToys Run\\Settings\\QueryHistory.json" }; vector getXpathArray(wstring xpath)