update list_items collector

This commit is contained in:
yggverse 2025-03-15 20:21:35 +02:00
parent d6018dc66a
commit 1d69dca1c5

View file

@ -172,27 +172,24 @@ impl Suggestion {
gtk::glib::spawn_future_local(async move {
let list_items: Vec<(GString, GString, bool, GString)> =
gtk::gio::spawn_blocking(move || {
let result = profile
profile
.history
.contains_request(&query, limit)
.into_iter()
.sorted_by(|a, b| Ord::cmp(&b.opened.count, &a.opened.count));
let mut list_items = Vec::with_capacity(result.len());
for item in result {
.sorted_by(|a, b| Ord::cmp(&b.opened.count, &a.opened.count))
.map(|item| {
let subtitle = highlight(&item.request, &query);
let title = match item.title {
Some(title) => highlight(&title, &query),
None => subtitle.clone(),
};
list_items.push((
(
title,
subtitle,
profile.bookmark.is_match_request(&item.request),
item.request,
))
}
list_items
.into_iter()
)
})
.sorted_by(|a, b| Ord::cmp(&b.2, &a.2)) // bookmark first
.collect()
})