Author: richb
Date: Fri Feb  8 15:41:42 2008
New Revision: 1122
URL: http://svn.gnome.org/viewvc/tracker?rev=1122&view=rev

Log:
        * src/libtracker-gtk/tracker-utils.h:
          src/libtracker-gtk/tracker-utils.c:
          src/libtracker-gtk/tracker-tag-bar.c:
          Fix for bug #494892 - Label for/labeled by relation missing for 
          add tag button.


Modified:
   trunk/ChangeLog
   trunk/src/libtracker-gtk/tracker-tag-bar.c
   trunk/src/libtracker-gtk/tracker-utils.c
   trunk/src/libtracker-gtk/tracker-utils.h

Modified: trunk/src/libtracker-gtk/tracker-tag-bar.c
==============================================================================
--- trunk/src/libtracker-gtk/tracker-tag-bar.c  (original)
+++ trunk/src/libtracker-gtk/tracker-tag-bar.c  Fri Feb  8 15:41:42 2008
@@ -27,6 +27,7 @@
 #include <glib/gi18n-lib.h>
 
 #include "tracker-tag-bar.h"
+#include "tracker-utils.h"
 
 
 #define TRACKER_TAG_BAR_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), 
TRACKER_TYPE_TAG_BAR, TrackerTagBarPrivate))
@@ -300,7 +301,12 @@
        gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE);
        gtk_button_set_focus_on_click (GTK_BUTTON (button), FALSE);
        gtk_box_pack_start (GTK_BOX(box), button, FALSE, FALSE, 0);
-               
+
+       tracker_set_atk_relationship(button, ATK_RELATION_LABELLED_BY,
+                                    label);
+        tracker_set_atk_relationship(label, ATK_RELATION_LABEL_FOR,
+                                    button);
+
        g_signal_connect (G_OBJECT (button), "button-press-event",
                          G_CALLBACK (_on_tag_button_press_event), bar);
 
@@ -370,7 +376,12 @@
        gtk_box_pack_start (GTK_BOX(tag_bar), button, FALSE, FALSE, 0);
        gtk_button_set_image (GTK_BUTTON (button), image);
        gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE);
-       
+
+        tracker_set_atk_relationship(button, ATK_RELATION_LABELLED_BY,
+                                    label);
+        tracker_set_atk_relationship(label, ATK_RELATION_LABEL_FOR,
+                                    button);
+
        g_signal_connect (G_OBJECT (button), "clicked",
                          G_CALLBACK (_on_add_tag_clicked), tag_bar);
        
@@ -419,14 +430,3 @@
        priv->client = client;
        return tag_bar;
 }
-
-
-
-
-
-
-
-
-
-
-

Modified: trunk/src/libtracker-gtk/tracker-utils.c
==============================================================================
--- trunk/src/libtracker-gtk/tracker-utils.c    (original)
+++ trunk/src/libtracker-gtk/tracker-utils.c    Fri Feb  8 15:41:42 2008
@@ -95,3 +95,20 @@
 
     return GTK_TREE_MODEL (store);
 }
+
+void
+tracker_set_atk_relationship(GtkWidget *obj1, int relation_type,
+                            GtkWidget *obj2)
+{
+       AtkObject *atk_obj1, *atk_obj2, *targets[1];
+       AtkRelationSet *atk_rel_set;
+       AtkRelation *atk_rel;
+
+       atk_obj1 = gtk_widget_get_accessible (GTK_WIDGET (obj1));
+       atk_obj2 = gtk_widget_get_accessible (GTK_WIDGET (obj2));
+       atk_rel_set = atk_object_ref_relation_set (atk_obj1);
+       targets[0] = atk_obj2;
+       atk_rel = atk_relation_new (targets, 1, relation_type);
+       atk_relation_set_add (atk_rel_set, atk_rel);
+       g_object_unref (G_OBJECT (atk_rel));
+}

Modified: trunk/src/libtracker-gtk/tracker-utils.h
==============================================================================
--- trunk/src/libtracker-gtk/tracker-utils.h    (original)
+++ trunk/src/libtracker-gtk/tracker-utils.h    Fri Feb  8 15:41:42 2008
@@ -32,5 +32,6 @@
 GList *                tracker_keyword_array_to_glist (gchar **array);
 GList *                tracker_get_all_keywords (TrackerClient 
*tracker_client);
 GtkTreeModel * tracker_create_simple_keyword_liststore (const GList *list);
-
+void           tracker_set_atk_relationship(GtkWidget *obj1, int relation_type,
+                                            GtkWidget *obj2);
 #endif /* TRACKER_UTILS_H */
_______________________________________________
SVN-commits-list mailing list (read only)
http://mail.gnome.org/mailman/listinfo/svn-commits-list

Want to limit the commits to a few modules? Go to above URL, log in to edit 
your options and select the modules ('topics') you want.
Module maintainer? It is possible to set the reply-to to your development 
mailing list. Email [EMAIL PROTECTED] if interested.

Reply via email to