From b66bfd09f72ecd36a44aef9338cb53891c27048e Mon Sep 17 00:00:00 2001 From: JP Rosevear Date: Fri, 26 Nov 2004 13:57:33 +0000 Subject: add proto 2004-11-26 JP Rosevear * e-icon-factory.h: add proto * e-icon-factory.c (e_icon_factory_init): cast to kill warning (e_icon_factory_get_image): new function to return a GtkImage widget give an icon name and size svn path=/trunk/; revision=27995 --- e-util/ChangeLog | 8 ++++++++ e-util/e-icon-factory.c | 15 ++++++++++++++- e-util/e-icon-factory.h | 5 ++++- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/e-util/ChangeLog b/e-util/ChangeLog index cd9a9dc108..f10860327b 100644 --- a/e-util/ChangeLog +++ b/e-util/ChangeLog @@ -1,3 +1,11 @@ +2004-11-26 JP Rosevear + + * e-icon-factory.h: add proto + + * e-icon-factory.c (e_icon_factory_init): cast to kill warning + (e_icon_factory_get_image): new function to return a GtkImage + widget give an icon name and size + 2004-11-25 Chenthill Palanisamy * e-config.c (ec_rebuild): Set the row and column spacings as diff --git a/e-util/e-icon-factory.c b/e-util/e-icon-factory.c index 82461f0c26..eac14f4e9f 100644 --- a/e-util/e-icon-factory.c +++ b/e-util/e-icon-factory.c @@ -34,6 +34,7 @@ #include +#include #include #include @@ -200,7 +201,7 @@ e_icon_factory_init (void) icon_theme = gnome_icon_theme_new (); name_to_icon = g_hash_table_new (g_str_hash, g_str_equal); - g_signal_connect (G_OBJECT (icon_theme), "changed", icon_theme_changed_cb, NULL); + g_signal_connect (G_OBJECT (icon_theme), "changed", G_CALLBACK (icon_theme_changed_cb), NULL); broken16_pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **) broken_image_16_xpm); broken24_pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **) broken_image_24_xpm); @@ -333,6 +334,18 @@ e_icon_factory_get_icon (const char *icon_name, int icon_size) return pixbuf; } +GtkWidget * +e_icon_factory_get_image (const char *icon_name, int icon_size) +{ + GdkPixbuf *pixbuf; + GtkWidget *image; + + pixbuf = e_icon_factory_get_icon (icon_name, icon_size); + image = gtk_image_new_from_pixbuf (pixbuf); + g_object_unref (pixbuf); + + return image; +} /** * e_icon_factory_get_icon_list: diff --git a/e-util/e-icon-factory.h b/e-util/e-icon-factory.h index cdb80b040b..966e1f56e4 100644 --- a/e-util/e-icon-factory.h +++ b/e-util/e-icon-factory.h @@ -1,7 +1,7 @@ /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* e-icon-factory.h - Icon factory for the Evolution shell. * - * Copyright (C) 2002 Ximian, Inc. + * Copyright (C) 2002-2004 Novell, Inc. * * This program is free software; you can redistribute it and/or * modify it under the terms of version 2 of the GNU General Public @@ -24,6 +24,7 @@ #define _E_ICON_FACTORY_H_ #include +#include enum { E_ICON_SIZE_MENU, @@ -50,6 +51,8 @@ char *e_icon_factory_get_icon_filename (const char *icon_name, int icon_siz GdkPixbuf *e_icon_factory_get_icon (const char *icon_name, int icon_size); +GtkWidget *e_icon_factory_get_image (const char *icon_name, int icon_size); + GList *e_icon_factory_get_icon_list (const char *icon_name); #endif /* _E_ICON_FACTORY_H_ */ -- cgit v1.2.3