summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2016-01-18 00:19:31 -0500
committerMatthias Clasen <mclasen@redhat.com>2016-01-18 00:19:31 -0500
commit2a665715b6189b51d001a948257f67d878014580 (patch)
tree8d86be394f6906cd56cc41878a17ad24d5b237f4
parent296f80a580b1b9c62a9acc52f3ab713b9662409f (diff)
downloadgtk+-2a665715b6189b51d001a948257f67d878014580.tar.gz
expander: Flip the alignment of the vertical box
To ensure that the title moves to the other side as expected in RTL, use GTK_ALIGN_START/END instead of GTK_ALIGN_FILL when packing the title gadget into the vertical box, and flip the alignment when the text direction changes.
-rw-r--r--gtk/gtkexpander.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c
index 4a07c77b0b..cb8ea62e82 100644
--- a/gtk/gtkexpander.c
+++ b/gtk/gtkexpander.c
@@ -450,7 +450,7 @@ gtk_expander_init (GtkExpander *expander)
priv->gadget,
NULL);
gtk_box_gadget_set_orientation (GTK_BOX_GADGET (priv->title_gadget), GTK_ORIENTATION_HORIZONTAL);
- gtk_box_gadget_insert_gadget (GTK_BOX_GADGET (priv->gadget), -1, priv->title_gadget, FALSE, FALSE, GTK_ALIGN_FILL);
+ gtk_box_gadget_insert_gadget (GTK_BOX_GADGET (priv->gadget), -1, priv->title_gadget, FALSE, FALSE, GTK_ALIGN_START);
priv->arrow_gadget = gtk_builtin_icon_new ("arrow",
GTK_WIDGET (expander),
@@ -778,9 +778,14 @@ gtk_expander_direction_changed (GtkWidget *widget,
GtkTextDirection previous_direction)
{
GtkExpanderPrivate *priv = GTK_EXPANDER (widget)->priv;
+ GtkAlign align;
gtk_box_gadget_reverse_children (GTK_BOX_GADGET (priv->title_gadget));
+ align = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL ? GTK_ALIGN_END : GTK_ALIGN_START;
+ gtk_box_gadget_remove_gadget (GTK_BOX_GADGET (priv->gadget), priv->title_gadget);
+ gtk_box_gadget_insert_gadget (GTK_BOX_GADGET (priv->gadget), 0, priv->title_gadget, FALSE, FALSE, align);
+
GTK_WIDGET_CLASS (gtk_expander_parent_class)->direction_changed (widget, previous_direction);
}