[gnome-logs] Set the back icon according to locale's text direction



commit a1e74034d0a57fa22fb6b3606a70a22685112d69
Author: Yosef Or Boczko <yoseforb gmail com>
Date:   Tue Oct 1 14:07:54 2013 +0300

    Set the back icon according to locale's text direction

 data/gl-eventtoolbar.ui |    1 -
 src/gl-eventtoolbar.c   |   18 ++++++++++++++++++
 2 files changed, 18 insertions(+), 1 deletions(-)
---
diff --git a/data/gl-eventtoolbar.ui b/data/gl-eventtoolbar.ui
index db25908..c28e80f 100644
--- a/data/gl-eventtoolbar.ui
+++ b/data/gl-eventtoolbar.ui
@@ -14,7 +14,6 @@
                 </style>
                 <child>
                     <object class="GtkImage" id="go_back_icon">
-                        <property name="icon-name">go-previous-symbolic</property>
                         <property name="visible">True</property>
                     </object>
                 </child>
diff --git a/src/gl-eventtoolbar.c b/src/gl-eventtoolbar.c
index 3939427..10aec39 100644
--- a/src/gl-eventtoolbar.c
+++ b/src/gl-eventtoolbar.c
@@ -32,6 +32,7 @@ enum
 typedef struct
 {
     GtkWidget *back_button;
+    GtkWidget *go_back_icon;
     GtkWidget *search_button;
     GlEventToolbarMode mode;
 } GlEventToolbarPrivate;
@@ -157,6 +158,8 @@ gl_event_toolbar_class_init (GlEventToolbarClass *klass)
     gtk_widget_class_bind_template_child_private (widget_class, GlEventToolbar,
                                                   back_button);
     gtk_widget_class_bind_template_child_private (widget_class, GlEventToolbar,
+                                                  go_back_icon);
+    gtk_widget_class_bind_template_child_private (widget_class, GlEventToolbar,
                                                   search_button);
 
     gtk_widget_class_bind_template_callback (widget_class,
@@ -166,10 +169,25 @@ gl_event_toolbar_class_init (GlEventToolbarClass *klass)
 static void
 gl_event_toolbar_init (GlEventToolbar *toolbar)
 {
+    GlEventToolbarPrivate *priv = gl_event_toolbar_get_instance_private (toolbar);
+
     gtk_widget_init_template (GTK_WIDGET (toolbar));
 
     g_signal_connect (toolbar, "notify::mode", G_CALLBACK (on_notify_mode),
                       NULL);
+
+    if (gtk_widget_get_direction (GTK_WIDGET (toolbar)) == GTK_TEXT_DIR_RTL)
+    {
+        gtk_image_set_from_icon_name (GTK_IMAGE (priv->go_back_icon),
+                                      "go-previous-rtl-symbolic",
+                                      GTK_ICON_SIZE_MENU);
+    }
+    else
+    {
+        gtk_image_set_from_icon_name (GTK_IMAGE (priv->go_back_icon),
+                                      "go-previous-symbolic",
+                                      GTK_ICON_SIZE_MENU);
+    }
 }
 
 void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]