From: Corey Berla Date: Wed, 30 Nov 2022 04:00:48 +0000 (-0800) Subject: treeexpander: Scroll to expanded item X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~9^2~58^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=fdfd76774e9e2e0b704f455026f63e93f42d3c04;p=gtk4.git treeexpander: Scroll to expanded item If the anchor is below the expanded item, the expanded item will go out of view if there are sufficient children items. This is not ideal, so make sure to scroll to the item to ensure it remains in view. --- diff --git a/gtk/gtktreeexpander.c b/gtk/gtktreeexpander.c index d2cce546a3..a89a51eb0b 100644 --- a/gtk/gtktreeexpander.c +++ b/gtk/gtktreeexpander.c @@ -503,11 +503,17 @@ gtk_tree_expander_toggle_expand (GtkWidget *widget, GVariant *parameter) { GtkTreeExpander *self = GTK_TREE_EXPANDER (widget); + gboolean expand; if (self->list_row == NULL) return; - gtk_tree_list_row_set_expanded (self->list_row, !gtk_tree_list_row_get_expanded (self->list_row)); + expand = !gtk_tree_list_row_get_expanded (self->list_row); + + if (expand) + gtk_widget_activate_action (widget, "listitem.scroll-to", NULL); + + gtk_tree_list_row_set_expanded (self->list_row, expand); } static gboolean