fix scrolled window height update on child items quantity change

This commit is contained in:
yggverse 2025-03-11 14:48:41 +02:00
parent f09bb905f9
commit 841bb171bd

View file

@ -12,7 +12,7 @@ use gtk::{
}, },
glib::{GString, SignalHandlerId}, glib::{GString, SignalHandlerId},
prelude::{EditableExt, EntryExt, ListItemExt, WidgetExt}, prelude::{EditableExt, EntryExt, ListItemExt, WidgetExt},
Entry, ListItem, ListView, Popover, SignalListItemFactory, SingleSelection, Align, Entry, ListItem, ListView, Popover, SignalListItemFactory, SingleSelection,
INVALID_LIST_POSITION, INVALID_LIST_POSITION,
}; };
pub use item::Item; pub use item::Item;
@ -63,6 +63,7 @@ impl Suggestion {
let list_view = { let list_view = {
let lv = ListView::builder() let lv = ListView::builder()
.show_separators(true) .show_separators(true)
.valign(Align::Start)
.model(&single_selection) .model(&single_selection)
.factory(&{ .factory(&{
let f = SignalListItemFactory::new(); let f = SignalListItemFactory::new();
@ -112,10 +113,10 @@ impl Suggestion {
let p = Popover::builder() let p = Popover::builder()
.autohide(false) .autohide(false)
.can_focus(false) .can_focus(false)
.halign(gtk::Align::Start) .halign(Align::Start)
.valign(Align::Start)
.child( .child(
&gtk::ScrolledWindow::builder() &gtk::ScrolledWindow::builder()
//.css_classes(["view"])
.child(&list_view) .child(&list_view)
.max_content_height(400) .max_content_height(400)
.hscrollbar_policy(gtk::PolicyType::Never) .hscrollbar_policy(gtk::PolicyType::Never)