Skip to content

Commit 35308bb

Browse files
committed
qwe
1 parent 01659fc commit 35308bb

File tree

2 files changed

+16
-21
lines changed

2 files changed

+16
-21
lines changed

OneMore/Commands/Search/SearchDialogTextControl.Designer.cs

Lines changed: 1 addition & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

OneMore/Commands/Search/SearchDialogTextControl.cs

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)