From 6cb06c4f0d4467e7edaa74f00d5a591f76332821 Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Wed, 10 Sep 2025 09:48:40 -0500 Subject: [PATCH] improve search a bit --- src/main.rs | 22 +++++++++++++++++++--- src/ui/library.rs | 24 +++++------------------- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/src/main.rs b/src/main.rs index 59576e3..c532ee7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -480,9 +480,25 @@ impl cosmic::Application for App { .map(|item| { let title = text::title4(item.title.clone()); let subtitle = text::body(item.kind.to_string()); - Element::from(column![title, subtitle].spacing( - cosmic::theme::active().cosmic().space_xxs(), - )) + Element::from(Container::new(row![ + column![title, subtitle].spacing( + cosmic::theme::active() + .cosmic() + .space_xxs(), + ), + button::icon( + icon::from_name("add") + .scale( + cosmic::theme::active() + .cosmic() + .space_l() + ) + .symbolic(true) + ) + .on_press( + Message::AppendServiceItem(item.clone()) + ) + ])) }) .collect(); let modal = Container::new( diff --git a/src/ui/library.rs b/src/ui/library.rs index addfa41..b8a9e8d 100644 --- a/src/ui/library.rs +++ b/src/ui/library.rs @@ -571,26 +571,19 @@ impl<'a> Library { &self, query: String, ) -> Vec { + let query = query.to_lowercase(); let mut items: Vec = self .song_library .items .iter() - .filter(|song| { - song.title - .to_lowercase() - .contains(&query.to_lowercase()) - }) + .filter(|song| song.title.to_lowercase().contains(&query)) .map(|song| song.to_service_item()) .collect(); let videos: Vec = self .video_library .items .iter() - .filter(|vid| { - vid.title - .to_lowercase() - .contains(&query.to_lowercase()) - }) + .filter(|vid| vid.title.to_lowercase().contains(&query)) .map(|vid| vid.to_service_item()) .collect(); let images: Vec = self @@ -598,10 +591,7 @@ impl<'a> Library { .items .iter() .filter(|image| { - image - .title - .to_lowercase() - .contains(&query.to_lowercase()) + image.title.to_lowercase().contains(&query) }) .map(|image| image.to_service_item()) .collect(); @@ -609,11 +599,7 @@ impl<'a> Library { .presentation_library .items .iter() - .filter(|pres| { - pres.title - .to_lowercase() - .contains(&query.to_lowercase()) - }) + .filter(|pres| pres.title.to_lowercase().contains(&query)) .map(|pres| pres.to_service_item()) .collect(); items.extend(videos);