fix bookmark indicator setup

This commit is contained in:
yggverse 2025-03-11 11:26:18 +02:00
parent 73c35d25d8
commit 48b70a263f

View file

@ -67,28 +67,34 @@ impl Suggestion {
.factory(&{ .factory(&{
let f = SignalListItemFactory::new(); let f = SignalListItemFactory::new();
f.connect_setup(|_, this| { f.connect_setup(|_, this| {
this.downcast_ref::<ListItem>().unwrap().set_child(Some( let r = ActionRow::builder()
&ActionRow::builder()
.use_markup(true) .use_markup(true)
.use_underline(true) .use_underline(true)
.build(), .build();
))
});
f.connect_bind(|_, this| {
let l = this.downcast_ref::<ListItem>().unwrap();
let i = l.item().and_downcast::<Item>().unwrap();
let r = l.child().and_downcast::<ActionRow>().unwrap();
r.set_title(&i.title());
r.set_subtitle(&i.subtitle());
if i.has_bookmark() {
r.add_suffix( r.add_suffix(
&gtk::Image::builder() &gtk::Image::builder()
.icon_name("starred-symbolic") .icon_name("starred-symbolic")
.margin_end(4) .margin_end(4)
.pixel_size(11) .pixel_size(11)
.visible(false)
.build(), .build(),
); );
} this.downcast_ref::<ListItem>().unwrap().set_child(Some(&r))
});
f.connect_bind(|_, this| {
use gtk::prelude::ListBoxRowExt;
let l = this.downcast_ref::<ListItem>().unwrap();
let i = l.item().and_downcast::<Item>().unwrap();
let r = l.child().and_downcast::<ActionRow>().unwrap();
r.set_title(&i.title());
r.set_subtitle(&i.subtitle());
r.child()
.unwrap()
.last_child()
.unwrap()
.last_child()
.unwrap()
.set_visible(i.has_bookmark());
}); });
f f
}) })