diff options
author | Ted Gould <ted@canonical.com> | 2009-09-02 11:08:02 -0500 |
---|---|---|
committer | Ted Gould <ted@canonical.com> | 2009-09-02 11:08:02 -0500 |
commit | 71082927e6c21b163ad5771d9dfe9a1c885fe5ed (patch) | |
tree | 0c7b65cdcb00f002089a816e4d588d46d74132bc /libdbusmenu-gtk | |
parent | d3b9f1d9459e1476f305b9268b9280cf6bb0a25c (diff) | |
download | libdbusmenu-71082927e6c21b163ad5771d9dfe9a1c885fe5ed.tar.gz libdbusmenu-71082927e6c21b163ad5771d9dfe9a1c885fe5ed.tar.bz2 libdbusmenu-71082927e6c21b163ad5771d9dfe9a1c885fe5ed.zip |
Inital structure for the image menu item.
Diffstat (limited to 'libdbusmenu-gtk')
-rw-r--r-- | libdbusmenu-gtk/client.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/libdbusmenu-gtk/client.c b/libdbusmenu-gtk/client.c index 7271c37..0936fc8 100644 --- a/libdbusmenu-gtk/client.c +++ b/libdbusmenu-gtk/client.c @@ -322,9 +322,42 @@ new_item_seperator (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, Dbusm return TRUE; } +static void +image_property_handle (DbusmenuMenuitem * item, const gchar * property, const gchar * value, gpointer user_data) +{ + + + return; +} + static gboolean new_item_image (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, DbusmenuClient * client) { + g_return_val_if_fail(DBUSMENU_IS_MENUITEM(newitem), FALSE); + g_return_val_if_fail(DBUSMENU_IS_GTKCLIENT(client), FALSE); + /* Note: not checking parent, it's reasonable for it to be NULL */ + + GtkMenuItem * gmi; + gmi = GTK_MENU_ITEM(gtk_image_menu_item_new()); + + if (gmi != NULL) { + dbusmenu_gtkclient_newitem_base(DBUSMENU_GTKCLIENT(client), newitem, gmi, parent); + } else { + return FALSE; + } + + image_property_handle(newitem, + DBUSMENU_MENUITEM_PROP_ICON, + dbusmenu_menuitem_property_get(newitem, DBUSMENU_MENUITEM_PROP_ICON), + NULL); + image_property_handle(newitem, + DBUSMENU_MENUITEM_PROP_ICON_DATA, + dbusmenu_menuitem_property_get(newitem, DBUSMENU_MENUITEM_PROP_ICON_DATA), + NULL); + g_signal_connect(G_OBJECT(newitem), + DBUSMENU_MENUITEM_SIGNAL_PROPERTY_CHANGED, + G_CALLBACK(image_property_handle), + NULL); return TRUE; } |