aboutsummaryrefslogtreecommitdiff
path: root/src/im-menu-item.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/im-menu-item.c')
-rw-r--r--src/im-menu-item.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/im-menu-item.c b/src/im-menu-item.c
index 008e33f..6f58ebd 100644
--- a/src/im-menu-item.c
+++ b/src/im-menu-item.c
@@ -24,6 +24,7 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
#endif
#include <glib/gi18n.h>
+#include <libdbusmenu-glib/client.h>
#include <libindicate-gtk/indicator.h>
#include <libindicate-gtk/listener.h>
#include "im-menu-item.h"
@@ -73,7 +74,7 @@ static void icon_cb (IndicateListener * listener,
IndicateListenerServer * server,
IndicateListenerIndicator * indicator,
gchar * property,
- GdkPixbuf * propertydata,
+ gchar * propertydata,
gpointer data);
static void activate_cb (ImMenuItem * self,
gpointer data);
@@ -147,10 +148,9 @@ im_menu_item_finalize (GObject *object)
}
static void
-icon_cb (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * property, GdkPixbuf * propertydata, gpointer data)
+icon_cb (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * property, gchar * propertydata, gpointer data)
{
- /* dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(self), "icon", propertydata); */
-
+ dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(data), DBUSMENU_MENUITEM_PROP_ICON_DATA, propertydata);
return;
}
@@ -280,7 +280,7 @@ indicator_modified_cb (IndicateListener * listener, IndicateListenerServer * ser
} else if (!g_strcmp0(property, "time")) {
indicate_listener_get_property_time(listener, server, indicator, "time", time_cb, self);
} else if (!g_strcmp0(property, "icon")) {
- indicate_listener_get_property_icon(listener, server, indicator, "icon", icon_cb, self);
+ indicate_listener_get_property(listener, server, indicator, "icon", icon_cb, self);
}
return;
@@ -299,9 +299,11 @@ im_menu_item_new (IndicateListener * listener, IndicateListenerServer * server,
priv->show_time = show_time;
priv->time_update_min = 0;
+ dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(self), "type", DBUSMENU_CLIENT_TYPES_IMAGE);
+
indicate_listener_get_property(listener, server, indicator, "sender", sender_cb, self);
indicate_listener_get_property_time(listener, server, indicator, "time", time_cb, self);
- indicate_listener_get_property_icon(listener, server, indicator, "icon", icon_cb, self);
+ indicate_listener_get_property(listener, server, indicator, "icon", icon_cb, self);
g_signal_connect(G_OBJECT(self), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(activate_cb), NULL);
priv->indicator_changed = g_signal_connect(G_OBJECT(listener), INDICATE_LISTENER_SIGNAL_INDICATOR_MODIFIED, G_CALLBACK(indicator_modified_cb), self);