From 2b5d149c61628c55c900419de5a087407c3adea1 Mon Sep 17 00:00:00 2001 From: Li Yuan Date: Wed, 2 Jul 2008 04:29:33 +0000 Subject: [PATCH] Bug #541167. Emit "object:property-change:accessible-name" when 2008-07-02 Li Yuan * 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 | 7 +++++++ modules/other/gail/gailoptionmenu.c | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/modules/other/gail/ChangeLog b/modules/other/gail/ChangeLog index 6e7c4117ec..61a947c9fd 100644 --- a/modules/other/gail/ChangeLog +++ b/modules/other/gail/ChangeLog @@ -1,3 +1,10 @@ +2008-07-02 Li Yuan + + * 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 * gailimage.c (gail_image_get_image_size) diff --git a/modules/other/gail/gailoptionmenu.c b/modules/other/gail/gailoptionmenu.c index 74f91b0747..6bbd0b3ad5 100644 --- a/modules/other/gail/gailoptionmenu.c +++ b/modules/other/gail/gailoptionmenu.c @@ -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"); +} +