aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-gtk
diff options
context:
space:
mode:
authorLuke Yelavich <luke.yelavich@canonical.com>2011-12-13 10:56:56 +1100
committerLuke Yelavich <luke.yelavich@canonical.com>2011-12-13 10:56:56 +1100
commit144708e6667818d48e3bbd9403e447079e8a5c56 (patch)
treea6e98b5093a60d4f6c75dd17e633fba28aadc41d /libdbusmenu-gtk
parent685b2fa7a1895809d767c00eca7f9745632106e4 (diff)
downloadlibdbusmenu-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')
-rw-r--r--libdbusmenu-gtk/client.c6
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 */