diff --git a/src/app/browser/window/tab/item/identity/gemini/widget/form/list.rs b/src/app/browser/window/tab/item/identity/gemini/widget/form/list.rs index f3a5c196..0d0943ad 100644 --- a/src/app/browser/window/tab/item/identity/gemini/widget/form/list.rs +++ b/src/app/browser/window/tab/item/identity/gemini/widget/form/list.rs @@ -2,12 +2,13 @@ pub mod item; use item::{value::Value, Item}; use gtk::{ + gdk::Cursor, gio::{ prelude::{Cast, CastNone}, ListStore, }, prelude::{BoxExt, ListItemExt, WidgetExt}, - Align, Box, DropDown, Label, ListItem, SignalListItemFactory, + Align, Box, DropDown, Image, Label, ListItem, Orientation, SignalListItemFactory, }; pub struct List { @@ -37,13 +38,26 @@ impl List { child.append(&Label::builder().halign(Align::Start).build()); // Subtitle - child.append( - &Label::builder() - .halign(Align::Start) - .css_classes(["caption", "dim-label"]) + let subtitle = Box::builder() + .orientation(Orientation::Horizontal) + .css_classes(["caption", "dim-label"]) + .halign(Align::Start) + .build(); + + subtitle.append( + &Image::builder() + .cursor(&Cursor::from_name("help", None).unwrap()) + .icon_name("dialog-information") + .margin_end(4) + .pixel_size(11) .build(), ); + subtitle.append(&Label::new(None)); + + // Subtitle + child.append(&subtitle); + // Done this.downcast_ref::() .unwrap() @@ -56,20 +70,29 @@ impl List { let item = list_item.item().and_downcast::().unwrap(); let child = list_item.child().and_downcast::().unwrap(); - // Update `title` (expected as the first child) + // Update `title` let title = child.first_child().and_downcast::