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");
+}
+