]> Pileus Git - ~andy/gtk/commitdiff
Bug #541167. Emit "object:property-change:accessible-name" when
authorLi Yuan <li.yuan@sun.com>
Wed, 2 Jul 2008 04:29:33 +0000 (04:29 +0000)
committerLi Yuan <liyuan@src.gnome.org>
Wed, 2 Jul 2008 04:29:33 +0000 (04:29 +0000)
2008-07-02  Li Yuan  <li.yuan@sun.com>

        * gailoptionmenu.c: (gail_option_menu_real_initialize),
        (gail_option_menu_changed):
        Bug #541167. Emit "object:property-change:accessible-name" when
        GailOptionMenui's name changes.

svn path=/trunk/; revision=20728

modules/other/gail/ChangeLog
modules/other/gail/gailoptionmenu.c

index 6e7c4117ecb5f3b4f647b63018a1353ee780061f..61a947c9fd5761cba374d1dd0a2dc641ba3f4a3d 100644 (file)
@@ -1,3 +1,10 @@
+2008-07-02  Li Yuan  <li.yuan@sun.com>
+
+       * gailoptionmenu.c: (gail_option_menu_real_initialize),
+       (gail_option_menu_changed):
+       Bug #541167. Emit "object:property-change:accessible-name" when
+       GailOptionMenui's name changes.
+
 2008-06-18  Michael Natterer  <mitch@imendio.com>
 
        * gailimage.c (gail_image_get_image_size)
index 74f91b0747fb88ae806aa6b260745c0b7ead9dd5..6bbd0b3ad5adde867163826025be7d2c48a71a81 100644 (file)
@@ -53,6 +53,7 @@ static G_CONST_RETURN gchar* gail_option_menu_action_get_name  (AtkAction
 static gboolean              gail_option_menu_set_description  (AtkAction       *action,
                                                                 gint            i,
                                                                 const gchar     *desc);
+static void                  gail_option_menu_changed          (GtkOptionMenu   *option_menu);
 
 G_DEFINE_TYPE_WITH_CODE (GailOptionMenu, gail_option_menu, GAIL_TYPE_BUTTON,
                          G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init))
@@ -82,8 +83,15 @@ static void
 gail_option_menu_real_initialize (AtkObject *obj,
                                   gpointer  data)
 {
+  GtkOptionMenu *option_menu;
+
   ATK_OBJECT_CLASS (gail_option_menu_parent_class)->initialize (obj, data);
 
+  option_menu = GTK_OPTION_MENU (data);
+
+  g_signal_connect (option_menu, "changed",
+                    G_CALLBACK (gail_option_menu_changed), NULL);
+
   obj->role = ATK_ROLE_COMBO_BOX;
 }
 
@@ -332,3 +340,13 @@ gail_option_menu_set_description (AtkAction      *action,
   else
     return FALSE;
 }
+
+static void
+gail_option_menu_changed (GtkOptionMenu   *option_menu)
+{
+  GailOptionMenu *gail_option_menu;
+
+  gail_option_menu = GAIL_OPTION_MENU (gtk_widget_get_accessible (GTK_WIDGET (option_menu)));
+  g_object_notify (G_OBJECT (gail_option_menu), "accessible-name");
+}
+