@@ -1192,8 +1192,27 @@ private void QueryHistory()
11921192 var query = QueryText . ToLower ( ) . Trim ( ) ;
11931193 History . Clear ( ) ;
11941194
1195+ var results = GetHistoryItems ( _history . Items ) ;
1196+
1197+ if ( ! string . IsNullOrEmpty ( query ) )
1198+ {
1199+ var filtered = results . Where
1200+ (
1201+ r => App . API . FuzzySearch ( query , r . Title ) . IsSearchPrecisionScoreMet ( ) ||
1202+ App . API . FuzzySearch ( query , r . SubTitle ) . IsSearchPrecisionScoreMet ( )
1203+ ) . ToList ( ) ;
1204+ History . AddResults ( filtered , id ) ;
1205+ }
1206+ else
1207+ {
1208+ History . AddResults ( results , id ) ;
1209+ }
1210+ }
1211+
1212+ private static List < Result > GetHistoryItems ( IEnumerable < HistoryItem > historyItems )
1213+ {
11951214 var results = new List < Result > ( ) ;
1196- foreach ( var h in _history . Items )
1215+ foreach ( var h in historyItems )
11971216 {
11981217 var title = App . API . GetTranslation ( "executeQuery" ) ;
11991218 var time = App . API . GetTranslation ( "lastExecuteTime" ) ;
@@ -1217,20 +1236,7 @@ private void QueryHistory()
12171236 } ;
12181237 results . Add ( result ) ;
12191238 }
1220-
1221- if ( ! string . IsNullOrEmpty ( query ) )
1222- {
1223- var filtered = results . Where
1224- (
1225- r => App . API . FuzzySearch ( query , r . Title ) . IsSearchPrecisionScoreMet ( ) ||
1226- App . API . FuzzySearch ( query , r . SubTitle ) . IsSearchPrecisionScoreMet ( )
1227- ) . ToList ( ) ;
1228- History . AddResults ( filtered , id ) ;
1229- }
1230- else
1231- {
1232- History . AddResults ( results , id ) ;
1233- }
1239+ return results ;
12341240 }
12351241
12361242 private async Task QueryResultsAsync ( bool searchDelay , bool isReQuery = false , bool reSelect = true )
@@ -1431,33 +1437,9 @@ async Task QueryHistoryTaskAsync()
14311437 await Task . Yield ( ) ;
14321438
14331439 // Select last history results and revert its order to make sure last history results are on top
1434- var historyResults = _history . Items . TakeLast ( Settings . MaxHistoryResultsToShowForHomePage ) . Reverse ( ) ;
1440+ var historyItems = _history . Items . TakeLast ( Settings . MaxHistoryResultsToShowForHomePage ) . Reverse ( ) ;
14351441
1436- var results = new List < Result > ( ) ;
1437- foreach ( var h in historyResults )
1438- {
1439- var title = App . API . GetTranslation ( "executeQuery" ) ;
1440- var time = App . API . GetTranslation ( "lastExecuteTime" ) ;
1441- var result = new Result
1442- {
1443- Title = string . Format ( title , h . Query ) ,
1444- SubTitle = string . Format ( time , h . ExecutedDateTime ) ,
1445- IcoPath = "Images\\ history.png" ,
1446- Preview = new Result . PreviewInfo
1447- {
1448- PreviewImagePath = Constant . HistoryIcon ,
1449- Description = string . Format ( time , h . ExecutedDateTime )
1450- } ,
1451- OriginQuery = new Query { RawQuery = h . Query } ,
1452- Action = _ =>
1453- {
1454- SelectedResults = Results ;
1455- App . API . ChangeQuery ( h . Query ) ;
1456- return false ;
1457- }
1458- } ;
1459- results . Add ( result ) ;
1460- }
1442+ var results = GetHistoryItems ( historyItems ) ;
14611443
14621444 if ( _updateSource . Token . IsCancellationRequested ) return ;
14631445
0 commit comments