ayatana-commits team mailing list archive
-
ayatana-commits team
-
Mailing list archive
-
Message #01562
[Merge] lp:~bratsche/appmenu-gtk/checkboxes into lp:appmenu-gtk
Cody Russell has proposed merging lp:~bratsche/appmenu-gtk/checkboxes into lp:appmenu-gtk.
Requested reviews:
Canonical Desktop Experience Team (canonical-dx-team)
Related bugs:
#586907 Checkbox ticks not shown in menus
https://bugs.launchpad.net/bugs/586907
--
https://code.launchpad.net/~bratsche/appmenu-gtk/checkboxes/+merge/27171
Your team ayatana-commits is subscribed to branch lp:appmenu-gtk.
=== modified file 'src/bridge.c'
--- src/bridge.c 2010-06-06 20:07:05 +0000
+++ src/bridge.c 2010-06-09 15:14:31 +0000
@@ -249,6 +249,14 @@
}
static void
+checkbox_toggled (GtkWidget *widget, DbusmenuMenuitem *mi)
+{
+ dbusmenu_menuitem_property_set_int (mi,
+ DBUSMENU_MENUITEM_PROP_TOGGLE_STATE,
+ gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget)) ? DBUSMENU_MENUITEM_TOGGLE_STATE_CHECKED : DBUSMENU_MENUITEM_TOGGLE_STATE_UNCHECKED);
+}
+
+static void
app_menu_bridge_insert (GtkMenuProxy *proxy,
GtkWidget *parent,
GtkWidget *child,
@@ -330,6 +338,22 @@
}
else
{
+ if (GTK_IS_CHECK_MENU_ITEM (child))
+ {
+ dbusmenu_menuitem_property_set (item,
+ DBUSMENU_MENUITEM_PROP_TOGGLE_TYPE,
+ GTK_IS_RADIO_MENU_ITEM (child) ? DBUSMENU_MENUITEM_TOGGLE_RADIO : DBUSMENU_MENUITEM_TOGGLE_CHECK);
+
+ dbusmenu_menuitem_property_set_int (item,
+ DBUSMENU_MENUITEM_PROP_TOGGLE_STATE,
+ gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (child)) ? DBUSMENU_MENUITEM_TOGGLE_STATE_CHECKED : DBUSMENU_MENUITEM_TOGGLE_STATE_UNCHECKED);
+
+ g_signal_connect (child,
+ "toggled",
+ G_CALLBACK (checkbox_toggled),
+ item);
+ }
+
dbusmenu_menuitem_property_set (item,
"label",
get_menu_label_text (child));
Follow ups