aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-08-26 17:05:32 -0500
committerTed Gould <ted@canonical.com>2009-08-26 17:05:32 -0500
commit47f1ba02eb37a8935163d3516890bc88cf513eca (patch)
treee40bce3822e6be132fcd802bddca4a1af2a31e43
parent5825dc34204af9da8781238a87adace4a858c0e9 (diff)
parentb1e8c02ec17a79d89df08a5c7aedf0f5e46a2dfa (diff)
downloadlibdbusmenu-47f1ba02eb37a8935163d3516890bc88cf513eca.tar.gz
libdbusmenu-47f1ba02eb37a8935163d3516890bc88cf513eca.tar.bz2
libdbusmenu-47f1ba02eb37a8935163d3516890bc88cf513eca.zip
Ah, forgot to merge :-/
-rw-r--r--debian/changelog6
-rw-r--r--libdbusmenu-gtk/client.c34
-rw-r--r--libdbusmenu-gtk/client.h2
3 files changed, 24 insertions, 18 deletions
diff --git a/debian/changelog b/debian/changelog
index b682f3b..5143e68 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+libdbusmenu (0.0.2-0ubuntu1~ppa3) UNRELEASED; urgency=low
+
+ * Ah, forgot to merge :-/
+
+ -- Ted Gould <ted@ubuntu.com> Wed, 26 Aug 2009 17:05:22 -0500
+
libdbusmenu (0.0.2-0ubuntu1~ppa2) karmic; urgency=low
* Promoting the gtk base function to an API function.
diff --git a/libdbusmenu-gtk/client.c b/libdbusmenu-gtk/client.c
index afa8bb3..54db5db 100644
--- a/libdbusmenu-gtk/client.c
+++ b/libdbusmenu-gtk/client.c
@@ -153,24 +153,28 @@ new_menuitem (DbusmenuClient * client, DbusmenuMenuitem * mi, gpointer userdata)
return;
}
-static void
-base_new_menuitem (DbusmenuMenuitem * mi, GtkMenuItem * gmi, DbusmenuGtkClient * client)
+void
+dbusmenu_gtkclient_newitem_base (DbusmenuGtkClient * client, DbusmenuMenuitem * item, GtkMenuItem * gmi, DbusmenuMenuitem * parent)
{
/* Attach these two */
- g_object_set_data(G_OBJECT(mi), data_menuitem, gmi);
+ g_object_set_data(G_OBJECT(item), data_menuitem, gmi);
/* DbusmenuMenuitem signals */
- g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_PROPERTY_CHANGED, G_CALLBACK(menu_prop_change_cb), gmi);
- g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_CHILD_REMOVED, G_CALLBACK(delete_child), client);
- g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_CHILD_MOVED, G_CALLBACK(move_child), client);
+ g_signal_connect(G_OBJECT(item), DBUSMENU_MENUITEM_SIGNAL_PROPERTY_CHANGED, G_CALLBACK(menu_prop_change_cb), gmi);
+ g_signal_connect(G_OBJECT(item), DBUSMENU_MENUITEM_SIGNAL_CHILD_REMOVED, G_CALLBACK(delete_child), client);
+ g_signal_connect(G_OBJECT(item), DBUSMENU_MENUITEM_SIGNAL_CHILD_MOVED, G_CALLBACK(move_child), client);
/* GtkMenuitem signals */
- g_signal_connect(G_OBJECT(gmi), "activate", G_CALLBACK(menu_pressed_cb), mi);
+ g_signal_connect(G_OBJECT(gmi), "activate", G_CALLBACK(menu_pressed_cb), item);
/* Life insurance */
- g_object_weak_ref(G_OBJECT(mi), destoryed_dbusmenuitem_cb, gmi);
+ g_object_weak_ref(G_OBJECT(item), destoryed_dbusmenuitem_cb, gmi);
+
+ process_visible(gmi, dbusmenu_menuitem_property_get(item, DBUSMENU_MENUITEM_PROP_VISIBLE));
- process_visible(gmi, dbusmenu_menuitem_property_get(mi, DBUSMENU_MENUITEM_PROP_VISIBLE));
+ if (parent != NULL) {
+ new_child(parent, item, dbusmenu_menuitem_get_position(item, parent), DBUSMENU_GTKCLIENT(client));
+ }
return;
}
@@ -285,12 +289,9 @@ new_item_normal (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, Dbusmenu
{
GtkMenuItem * gmi;
- gmi = GTK_MENU_ITEM(gtk_menu_item_new_with_label(dbusmenu_menuitem_property_get(newitem, "label")));
+ gmi = GTK_MENU_ITEM(gtk_menu_item_new_with_label(dbusmenu_menuitem_property_get(newitem, DBUSMENU_MENUITEM_PROP_LABEL)));
- base_new_menuitem(newitem, gmi, DBUSMENU_GTKCLIENT(client));
- if (parent != NULL) {
- new_child(parent, newitem, dbusmenu_menuitem_get_position(newitem, parent), DBUSMENU_GTKCLIENT(client));
- }
+ dbusmenu_gtkclient_newitem_base(DBUSMENU_GTKCLIENT(client), newitem, gmi, parent);
return TRUE;
}
@@ -302,10 +303,7 @@ new_item_seperator (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, Dbusm
gmi = GTK_MENU_ITEM(gtk_separator_menu_item_new());
- base_new_menuitem(newitem, gmi, DBUSMENU_GTKCLIENT(client));
- if (parent != NULL) {
- new_child(parent, newitem, dbusmenu_menuitem_get_position(newitem, parent), DBUSMENU_GTKCLIENT(client));
- }
+ dbusmenu_gtkclient_newitem_base(DBUSMENU_GTKCLIENT(client), newitem, gmi, parent);
return TRUE;
}
diff --git a/libdbusmenu-gtk/client.h b/libdbusmenu-gtk/client.h
index a549fe0..b1d816f 100644
--- a/libdbusmenu-gtk/client.h
+++ b/libdbusmenu-gtk/client.h
@@ -79,6 +79,8 @@ GType dbusmenu_gtkclient_get_type (void);
DbusmenuGtkClient * dbusmenu_gtkclient_new (gchar * dbus_name, gchar * dbus_object);
GtkMenuItem * dbusmenu_gtkclient_menuitem_get (DbusmenuGtkClient * client, DbusmenuMenuitem * item);
+void dbusmenu_gtkclient_newitem_base (DbusmenuGtkClient * client, DbusmenuMenuitem * item, GtkMenuItem * gmi, DbusmenuMenuitem * parent);
+
/**
SECTION:gtkmenu
@short_description: A GTK Menu Object that syncronizes over DBus