@@ -28,7 +28,7 @@ private sealed class SearchHit
2828 public string Hyperlink { get ; set ; }
2929 }
3030
31- private class SearchResultCache
31+ private sealed class SearchResultBuffer
3232 {
3333 private readonly List < SearchHit > hits = new ( ) ;
3434 private readonly object gate = new ( ) ;
@@ -52,9 +52,7 @@ public void AddRange(IEnumerable<SearchHit> hit)
5252 }
5353 }
5454
55-
56- /*
57- private class SearchEngine
55+ private sealed class SearchEngine
5856 {
5957 public event Action < List < SearchHit > > PageReady ;
6058
@@ -66,7 +64,7 @@ public void StartSearch(string query)
6664 {
6765 Thread . Sleep ( 300 ) ; // Simulate search delay
6866 var results = Enumerable . Range ( page * 50 , 50 )
69- .Select(i => new SearchHit( $"Result {i}", $"https://example.com/{i}") )
67+ . Select ( i => new SearchHit { PlainText = $ "Result { i } ", Hyperlink = $ "https://example.com/{ i } " } )
7068 . ToList ( ) ;
7169
7270 PageReady ? . Invoke ( results ) ;
@@ -75,31 +73,30 @@ public void StartSearch(string query)
7573 }
7674 }
7775
78- private class SearchCoordinator
76+ private sealed class SearchCoordinator
7977 {
80- private readonly SearchResultBuffer _buffer ;
81- private readonly ListView _listView ;
78+ private readonly SearchResultBuffer buffer ;
79+ private readonly ListView listview ;
8280
8381 public SearchCoordinator ( SearchResultBuffer buffer , ListView listView )
8482 {
85- _buffer = buffer;
86- _listView = listView;
83+ this . buffer = buffer ;
84+ this . listview = listView ;
8785 }
8886
8987 public void Attach ( SearchEngine engine )
9088 {
9189 engine . PageReady += results =>
9290 {
93- _buffer .AddRange(results);
94- _listView .Invoke(() =>
91+ buffer . AddRange ( results ) ;
92+ listview . Invoke ( new Action ( ( ) =>
9593 {
96- _listView .VirtualListSize = _buffer .Count;
97- _listView .Invalidate();
98- });
94+ listview . VirtualListSize = buffer . Count ;
95+ listview . Invalidate ( ) ;
96+ } ) ) ;
9997 } ;
10098 }
10199 }
102- */
103100
104101
105102 //private const int CreatedAfter = 1;
@@ -112,7 +109,7 @@ public void Attach(SearchEngine engine)
112109 private CancellationTokenSource source ;
113110 private bool grouping ;
114111
115- private SearchResultCache cache ;
112+ private SearchResultBuffer buffer ;
116113
117114
118115 public SearchDialogTextControl ( )
@@ -353,7 +350,7 @@ private async void Search(object sender, EventArgs e)
353350
354351 private void RetrieveVirtualItem ( object sender , RetrieveVirtualItemEventArgs e )
355352 {
356- var item = cache . Get ( e . ItemIndex ) ;
353+ var item = buffer . Get ( e . ItemIndex ) ;
357354 e . Item = new ListViewItem ( item ? . PlainText ?? "Loading..." ) ;
358355 }
359356
0 commit comments