From dbb183072804b3a498d84cb6c98f5f93a6f6c8c5 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Fri, 17 Jul 2015 17:50:25 +0200 Subject: [PATCH] headerbar: Switch css positions on direction change --- gtk/gtkheaderbar.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gtk/gtkheaderbar.c b/gtk/gtkheaderbar.c index deca8bb9aa..21f8fd9372 100644 --- a/gtk/gtkheaderbar.c +++ b/gtk/gtkheaderbar.c @@ -1809,6 +1809,15 @@ gtk_header_bar_hierarchy_changed (GtkWidget *widget, G_CALLBACK (window_state_changed), widget); } +static void +gtk_header_bar_direction_changed (GtkWidget *widget, + GtkTextDirection previous_direction) +{ + GTK_WIDGET_CLASS (gtk_header_bar_parent_class)->direction_changed (widget, previous_direction); + + gtk_css_node_reverse_children (gtk_widget_get_css_node (widget)); +} + static void gtk_header_bar_class_init (GtkHeaderBarClass *class) { @@ -1829,6 +1838,7 @@ gtk_header_bar_class_init (GtkHeaderBarClass *class) widget_class->realize = gtk_header_bar_realize; widget_class->unrealize = gtk_header_bar_unrealize; widget_class->hierarchy_changed = gtk_header_bar_hierarchy_changed; + widget_class->direction_changed = gtk_header_bar_direction_changed; container_class->add = gtk_header_bar_add; container_class->remove = gtk_header_bar_remove;