[Xfce4-commits] <xfce4-indicator-plugin:master> notify pixbuf on changing icons
Mark Trompell
noreply at xfce.org
Tue Mar 20 15:50:01 CET 2012
Updating branch refs/heads/master
to d46b02ec4913570112db453b133c627cbee3fa8c (commit)
from cb53f6815925cef35003be468fb6d3a9750ca00c (commit)
commit d46b02ec4913570112db453b133c627cbee3fa8c
Author: Andrzej <ndrwrdck at gmail.com>
Date: Tue Mar 20 10:32:00 2012 +0100
notify pixbuf on changing icons
panel-plugin/indicator-button.c | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/panel-plugin/indicator-button.c b/panel-plugin/indicator-button.c
index c846848..e9a416e 100644
--- a/panel-plugin/indicator-button.c
+++ b/panel-plugin/indicator-button.c
@@ -172,6 +172,23 @@ xfce_indicator_button_set_label (XfceIndicatorButton *button,
+
+static void
+on_pixbuf_changed (GtkImage *image, GParamSpec *pspec, XfceIndicatorButton *button)
+{
+ GdkPixbuf *pixbuf;
+
+ g_return_if_fail (XFCE_IS_INDICATOR_BUTTON (button));
+ g_return_if_fail (GTK_IS_IMAGE (image));
+
+ pixbuf = gtk_image_get_pixbuf (image);
+ button->orig_icon_size = gdk_pixbuf_get_width (pixbuf);
+
+ xfce_panel_image_set_from_pixbuf (button->icon, pixbuf);
+}
+
+
+
void
xfce_indicator_button_set_image (XfceIndicatorButton *button,
GtkImage *image)
@@ -190,6 +207,7 @@ xfce_indicator_button_set_image (XfceIndicatorButton *button,
}
pixbuf = gtk_image_get_pixbuf (image);
+ g_signal_connect(G_OBJECT(image), "notify::pixbuf", G_CALLBACK(on_pixbuf_changed), button);
button->orig_icon_size = gdk_pixbuf_get_width (pixbuf);
button->icon = xfce_panel_image_new_from_pixbuf (pixbuf);
More information about the Xfce4-commits
mailing list