aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/misc/e-task-widget.c
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/misc/e-task-widget.c')
-rw-r--r--widgets/misc/e-task-widget.c73
1 files changed, 25 insertions, 48 deletions
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;
@@ -50,24 +48,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)
{
ETaskWidget *task_widget;
@@ -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;