From 434bc25ed6b3f458f3bf119e76bd8b2bcffe5178 Mon Sep 17 00:00:00 2001
From: Matthew Barnes <mbarnes@redhat.com>
Date: Mon, 11 Aug 2008 17:04:32 +0000
Subject: ** Fixes bug #546892

2008-08-11  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #546892

	* e-util/e-icon-factory.c (e_icon_factory_get_image):
	Kill this function.  Use gtk_image_new_from_icon_name().

	* e-util/e-icon-factory.c (e_icon_factory_get_icon_list):
	Kill this function.  Use gtk_window_set_icon_name().

	* widgets/misc/e-activity-handler.c:
	* widgets/misc/e-task-widget.c:
	Purge the GdkPixbuf arguments from the API.  We've been ignoring
	them since the spinner icon was added.

	* addressbook/gui/contact-editor/e-contact-editor-fullname.c:
	* addressbook/gui/contact-editor/e-contact-editor-im.c:
	* addressbook/gui/contact-editor/e-contact-editor-address.c:
	* calendar/gui/alarm-notify/alarm-notify-dialog.c:
	* calendar/gui/dialogs/alarm-dialog.c:
	* calendar/gui/dialogs/alarm-list-dialog.c:
	* calendar/gui/dialogs/cal-attachment-select-file.c:
	* calendar/gui/dialogs/changed-comp.c:
	* calendar/gui/dialogs/delete-error.c:
	* calendar/gui/dialogs/select-source-dialog.c:
	* mail/mail-send-recv.c:
	* mail/message-tag-followup.c:
	* widgets/misc/e-combo-button.c:
	* widgets/misc/e-info-label.c:
	* widgets/misc/e-url-entry.c:
	* widgets/misc/e-task-widget.c:
	Prefer gtk_window_set_icon_name() over gtk_window_set_icon_list().

	* addressbook/gui/contact-editor/e-contact-editor-im.c:
	* calendar/gui/dialogs/event-page.c:
	* calendar/gui/e-timezone-entry.c:
        * e-util/e-gui-utils.c:
        * e-util/e-popup.c:
	* plugins/import-ics-attachments/icsimporter.c:
	* plugins/itip-formatter/itip-view.c:
	* mail/em-folder-browser.c:
	* mail/em-format-html-display.c:
	* mail/mail-send-recv.c:
	* mail/message-tag-followup.c:
	Prefer gtk_image_new_from_icon_name() over e_icon_factory_get_image().

	* calendar/gui/alarm-notify/alarm-queue.c:
	* plugins/mail-notification/mail-notification.c:
	Prefer gtk_status_icon_set_from_icon_name() over
	gtk_status_icon_set_from_pixbuf().

	* addressbook/gui/component/addressbook-view.c:
	* calendar/gui/e-calendar-table.c:
	* calendar/gui/e-calendar-view.c:
	* calendar/gui/e-memo-table.c:
	* mail/mail-mt.c:
	e_activity_handler_operation_started() no longer takes a GdkPixbuf.
	It was ignoring the pixbuf anyway ever since we added a spinner icon.


svn path=/trunk/; revision=35958
---
 widgets/misc/e-task-widget.c | 73 +++++++++++++++-----------------------------
 1 file changed, 25 insertions(+), 48 deletions(-)

(limited to 'widgets/misc/e-task-widget.c')

diff --git a/widgets/misc/e-task-widget.c b/widgets/misc/e-task-widget.c
index 74b0ba6891..bb2ec2747e 100644
--- a/widgets/misc/e-task-widget.c
+++ b/widgets/misc/e-task-widget.c
@@ -26,7 +26,6 @@
 
 #include "e-task-widget.h"
 #include "e-spinner.h"
-#include <e-util/e-icon-factory.h>
 
 #include <glib/gi18n.h>
 
@@ -36,7 +35,6 @@
 struct _ETaskWidgetPrivate {
 	char *component_id;
 
-	GdkPixbuf *icon_pixbuf;
 	GtkWidget *label;
 	GtkWidget *box;
 	GtkWidget *image;
@@ -49,24 +47,6 @@ G_DEFINE_TYPE (ETaskWidget, e_task_widget, GTK_TYPE_EVENT_BOX)
 
 /* GObject methods.  */
 
-static void
-impl_dispose (GObject *object)
-{
-	ETaskWidget *task_widget;
-	ETaskWidgetPrivate *priv;
-
-	task_widget = E_TASK_WIDGET (object);
-
-	priv = task_widget->priv;
-
-	if (priv->icon_pixbuf != NULL) {
-		g_object_unref (priv->icon_pixbuf);
-		priv->icon_pixbuf = NULL;
-	}
-
-	(* G_OBJECT_CLASS (e_task_widget_parent_class)->dispose) (object);
-}
-
 static void
 impl_finalize (GObject *object)
 {
@@ -88,7 +68,6 @@ e_task_widget_class_init (ETaskWidgetClass *klass)
 {
 	GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-	object_class->dispose  = impl_dispose;
 	object_class->finalize = impl_finalize;
 }
 
@@ -100,7 +79,6 @@ e_task_widget_init (ETaskWidget *task_widget)
 	priv = g_new (ETaskWidgetPrivate, 1);
 
 	priv->component_id = NULL;
-	priv->icon_pixbuf  = NULL;
 	priv->label        = NULL;
 	priv->image        = NULL;
 	priv->box	   = NULL;
@@ -137,15 +115,12 @@ prepare_popup (ETaskWidget *widget, GdkEventButton *event)
 
 void
 e_task_widget_construct (ETaskWidget *task_widget,
-			 GdkPixbuf *icon_pixbuf,
 			 const char *component_id,
 			 const char *information,
 			 void (*cancel_func) (gpointer data),
 			 gpointer data)
 {
 	ETaskWidgetPrivate *priv;
-	/*GdkPixmap *pixmap;
-	GdkBitmap *mask;*/
 	GtkWidget *box;
 	GtkWidget *frame;
 
@@ -169,15 +144,10 @@ e_task_widget_construct (ETaskWidget *task_widget,
 
 	gtk_widget_set_size_request (box, 1, -1);
 
-	/* FIXME: Experimenting Spinner widget instead of an image. REWORK THIS */
-	/* priv->icon_pixbuf = g_object_ref (icon_pixbuf); */
-
-	/* gdk_pixbuf_render_pixmap_and_mask (icon_pixbuf, &pixmap, &mask, 128); */
 	priv->box = gtk_hbox_new (FALSE, 0);
 	priv->image = e_spinner_new ();
 	e_spinner_set_size (E_SPINNER (priv->image), GTK_ICON_SIZE_SMALL_TOOLBAR);
 	e_spinner_start (E_SPINNER (priv->image));
-	/* gtk_image_new_from_pixmap (pixmap, mask); */
 	gtk_widget_show (priv->image);
 	gtk_widget_show (priv->box);
 	gtk_box_pack_start (GTK_BOX (priv->box), priv->image, FALSE, TRUE, 0);
@@ -187,9 +157,16 @@ e_task_widget_construct (ETaskWidget *task_widget,
 	gtk_widget_show (priv->label);
 	gtk_box_pack_start (GTK_BOX (box), priv->label, TRUE, TRUE, 0);
 	if (cancel_func) {
-		GtkWidget *image = e_icon_factory_get_image ("gtk-stop", E_ICON_SIZE_MENU);
+		GdkPixbuf *pixbuf;
+		GtkWidget *image;
 		GtkWidget *tool;
 
+		pixbuf = gtk_icon_theme_load_icon (
+			gtk_icon_theme_get_default (),
+			"gtk-stop", 16, 0, NULL);
+		image = gtk_image_new_from_pixbuf (pixbuf);
+		g_object_unref (pixbuf);
+
 		tool = (GtkWidget *) gtk_tool_button_new (image, NULL);
 		gtk_box_pack_end (GTK_BOX (box), tool, FALSE, TRUE, 0);
 		gtk_widget_show_all (tool);
@@ -198,9 +175,6 @@ e_task_widget_construct (ETaskWidget *task_widget,
 		priv->cancel_func = cancel_func;
 		priv->data = data;
 		g_signal_connect (tool, "clicked",  G_CALLBACK (button_press_event_cb), task_widget);
-		/* g_object_unref (pixmap);
-		if (mask)
-			g_object_unref (mask); */
  		g_signal_connect (task_widget, "button-press-event", G_CALLBACK (prepare_popup), task_widget);
 
 	}
@@ -209,34 +183,31 @@ e_task_widget_construct (ETaskWidget *task_widget,
 }
 
 GtkWidget *
-e_task_widget_new_with_cancel (GdkPixbuf *icon_pixbuf,
-		   const char *component_id,
-		   const char *information,
-		   void (*cancel_func) (gpointer data),
-		   gpointer data)
+e_task_widget_new_with_cancel (const char *component_id,
+                               const char *information,
+                               void (*cancel_func) (gpointer data),
+                               gpointer data)
 {
 	ETaskWidget *task_widget;
 
 	g_return_val_if_fail (information != NULL, NULL);
 
 	task_widget = g_object_new (e_task_widget_get_type (), NULL);
-	e_task_widget_construct (task_widget, icon_pixbuf, component_id, information, cancel_func, data);
+	e_task_widget_construct (task_widget, component_id, information, cancel_func, data);
 
 	return GTK_WIDGET (task_widget);
 }
 
 GtkWidget *
-e_task_widget_new (GdkPixbuf *icon_pixbuf,
-		   const char *component_id,
+e_task_widget_new (const char *component_id,
 		   const char *information)
 {
 	ETaskWidget *task_widget;
 
-	g_return_val_if_fail (icon_pixbuf != NULL, NULL);
 	g_return_val_if_fail (information != NULL, NULL);
 
 	task_widget = g_object_new (e_task_widget_get_type (), NULL);
-	e_task_widget_construct (task_widget, icon_pixbuf, component_id, information, NULL, NULL);
+	e_task_widget_construct (task_widget, component_id, information, NULL, NULL);
 
 	return GTK_WIDGET (task_widget);
 }
@@ -245,14 +216,20 @@ GtkWidget *
 e_task_widget_update_image (ETaskWidget *task_widget,
 			    const char *stock, const char *text)
 {
-	GtkWidget *img, *tool;
+	GtkWidget *image, *tool;
+        GdkPixbuf *pixbuf;
+
+        pixbuf = gtk_icon_theme_load_icon (
+                gtk_icon_theme_get_default (),
+                stock, 16, 0, NULL);
+        image = gtk_image_new_from_pixbuf (pixbuf);
+        g_object_unref (pixbuf);
 
-	img = e_icon_factory_get_image (stock, E_ICON_SIZE_MENU);
-	tool = (GtkWidget *) gtk_tool_button_new (img, NULL);
+	tool = (GtkWidget *) gtk_tool_button_new (image, NULL);
 	gtk_box_pack_start (GTK_BOX(task_widget->priv->box), tool, FALSE, TRUE, 0);
 	gtk_widget_show_all (task_widget->priv->box);
 	gtk_widget_hide (task_widget->priv->image);
-	task_widget->priv->image = img;
+	task_widget->priv->image = image;
 	gtk_label_set_text (GTK_LABEL (task_widget->priv->label), text);
 
 	return tool;
-- 
cgit