From 9fcfac3ce9265f51388099df7ea4b5d013e3e866 Mon Sep 17 00:00:00 2001 From: yggverse Date: Tue, 11 Mar 2025 16:58:31 +0200 Subject: [PATCH] update suggestion list view style --- .../page/navigation/request/suggestion.rs | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/app/browser/window/tab/item/page/navigation/request/suggestion.rs b/src/app/browser/window/tab/item/page/navigation/request/suggestion.rs index 5e86209b..198cf3fa 100644 --- a/src/app/browser/window/tab/item/page/navigation/request/suggestion.rs +++ b/src/app/browser/window/tab/item/page/navigation/request/suggestion.rs @@ -62,7 +62,7 @@ impl Suggestion { }; let list_view = { let lv = ListView::builder() - .show_separators(true) + .name(format!("s{}", gtk::glib::uuid_string_random())) .valign(Align::Start) .model(&single_selection) .factory(&{ @@ -104,6 +104,7 @@ impl Suggestion { let request = request.clone(); move |_, _| request.emit_activate() }); + list_view_css_patch(&lv); lv }; Self { @@ -113,6 +114,7 @@ impl Suggestion { let p = Popover::builder() .autohide(false) .can_focus(false) + .css_classes(["menu"]) .halign(Align::Start) .valign(Align::Start) .child( @@ -136,7 +138,7 @@ impl Suggestion { ); p.connect_realize({ let request = request.clone(); - move |this| this.set_width_request(request.width()) + move |this| this.set_width_request(request.width() + 18) }); p }, @@ -225,3 +227,18 @@ impl Suggestion { fn highlight(subject: &str, key: &str) -> GString { subject.replace(key, &format!("{key}")).into() } + +fn list_view_css_patch(list_view: &ListView) { + use gtk::prelude::WidgetExt; + + let name = list_view.widget_name(); + let provider = gtk::CssProvider::new(); + + provider.load_from_string(&format!("#{name} row {{padding:0;}}")); + + gtk::style_context_add_provider_for_display( + &list_view.display(), + &provider, + gtk::STYLE_PROVIDER_PRIORITY_APPLICATION, + ); +}