diff options
author | Luke Yelavich <luke.yelavich@canonical.com> | 2011-12-13 10:56:56 +1100 |
---|---|---|
committer | Luke Yelavich <luke.yelavich@canonical.com> | 2011-12-13 10:56:56 +1100 |
commit | 144708e6667818d48e3bbd9403e447079e8a5c56 (patch) | |
tree | a6e98b5093a60d4f6c75dd17e633fba28aadc41d /libdbusmenu-gtk/client.c | |
parent | 685b2fa7a1895809d767c00eca7f9745632106e4 (diff) | |
download | libdbusmenu-144708e6667818d48e3bbd9403e447079e8a5c56.tar.gz libdbusmenu-144708e6667818d48e3bbd9403e447079e8a5c56.tar.bz2 libdbusmenu-144708e6667818d48e3bbd9403e447079e8a5c56.zip |
Add a new property DBUSMENU_MENUITEM_PROP_ACCESSIBLE_DESC, to set an
alternative label for a menu item. This alternative label is only used for
assistive technologies such as Orca. It is particularly useful for menu
items where an icon is used to present further information to the user, in which
case this property can be used to give a textual description of the icon.
Diffstat (limited to 'libdbusmenu-gtk/client.c')
-rw-r--r-- | libdbusmenu-gtk/client.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libdbusmenu-gtk/client.c b/libdbusmenu-gtk/client.c index 533764a..7390fb1 100644 --- a/libdbusmenu-gtk/client.c +++ b/libdbusmenu-gtk/client.c @@ -32,6 +32,7 @@ License version 3 and version 2.1 along with this program. If not, see #include <gtk/gtk.h> #include <glib.h> +#include <atk/atk.h> #include "client.h" #include "menuitem.h" @@ -745,6 +746,9 @@ menu_prop_change_cb (DbusmenuMenuitem * mi, gchar * prop, GVariant * variant, Db process_submenu(mi, gmi, variant, gtkclient); } else if (!g_strcmp0(prop, DBUSMENU_MENUITEM_PROP_DISPOSITION)) { process_disposition(mi, gmi, variant, gtkclient); + } else if (!g_strcmp0(prop, DBUSMENU_MENUITEM_PROP_ACCESSIBLE_DESC)) { + atk_object_set_name(gtk_widget_get_accessible(GTK_WIDGET(gmi)), variant == NULL ? NULL : + g_variant_get_string(variant, NULL)); } return; @@ -890,6 +894,8 @@ dbusmenu_gtkclient_newitem_base (DbusmenuGtkClient * client, DbusmenuMenuitem * process_toggle_state(item, gmi, dbusmenu_menuitem_property_get_variant(item, DBUSMENU_MENUITEM_PROP_TOGGLE_STATE)); process_submenu(item, gmi, dbusmenu_menuitem_property_get_variant(item, DBUSMENU_MENUITEM_PROP_CHILD_DISPLAY), client); process_disposition(item, gmi, dbusmenu_menuitem_property_get_variant(item, DBUSMENU_MENUITEM_PROP_DISPOSITION), client); + atk_object_set_name(gtk_widget_Get_accessible(GTK_WIDGET)gmi)), + g_variant_get_string(dbusmenu_menuitem_property_get_variant(item, DBUSMENU_MENUITEM_PROP_ACCESSIBLE_DESC))); refresh_shortcut(client, item); /* Oh, we're a child, let's deal with that */ |