[gnome-panel] status-notifier: fix dbus radio menu items
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-panel] status-notifier: fix dbus radio menu items
- Date: Sat, 20 Jan 2018 14:23:09 +0000 (UTC)
commit 7601953249c0d500b8e104cb48a3fb97f584dfbd
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Sat Jan 20 15:46:53 2018 +0200
status-notifier: fix dbus radio menu items
Received data over dbus does not include enough info about
radio menu items - we don't know how to group radio menu items.
Without grouping all radio items appears as checked. Fix this
by creating check menu items and make them look like radio items
with gtk_check_menu_item_set_draw_as_radio() function.
modules/status-notifier/sn-dbus-menu-item.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/modules/status-notifier/sn-dbus-menu-item.c b/modules/status-notifier/sn-dbus-menu-item.c
index 3e740b1..d410fe2 100644
--- a/modules/status-notifier/sn-dbus-menu-item.c
+++ b/modules/status-notifier/sn-dbus-menu-item.c
@@ -182,8 +182,14 @@ sn_dbus_menu_item_new (GVariant *props)
}
else if (g_strcmp0 (item->toggle_type, "radio") == 0)
{
- item->item = gtk_radio_menu_item_new (NULL);
+ AtkObject *accessible;
+
+ item->item = gtk_check_menu_item_new ();
+ gtk_check_menu_item_set_draw_as_radio (GTK_CHECK_MENU_ITEM (item->item), TRUE);
gtk_menu_item_set_use_underline (GTK_MENU_ITEM (item->item), TRUE);
+
+ accessible = gtk_widget_get_accessible (item->item);
+ atk_object_set_role (accessible, ATK_ROLE_RADIO_MENU_ITEM);
}
else
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]