diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2009-11-20 03:49:09 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2009-11-20 03:51:11 +0800 |
commit | f11f1c477dfbdbe666ad5627ad44ac95bd7c816f (patch) | |
tree | ddd0012dd490f35e634dfc74f682a6cd3e44c4a2 | |
parent | c83ebe7180f5e62c1d2d9df3b542cad52726187a (diff) | |
download | gsoc2013-evolution-f11f1c477dfbdbe666ad5627ad44ac95bd7c816f.tar.gz gsoc2013-evolution-f11f1c477dfbdbe666ad5627ad44ac95bd7c816f.tar.zst gsoc2013-evolution-f11f1c477dfbdbe666ad5627ad44ac95bd7c816f.zip |
Kill Evolution's icon cache once and for all.
GTK+ already does this. Eliminates e_icon_factory_init() and
e_icon_factory_shutdown().
-rw-r--r-- | art/Makefile.am | 2 | ||||
-rw-r--r-- | art/broken-image-16.xpm | 61 | ||||
-rw-r--r-- | art/broken-image-24.xpm | 169 | ||||
-rw-r--r-- | calendar/gui/alarm-notify/notify-main.c | 3 | ||||
-rw-r--r-- | configure.ac | 36 | ||||
-rw-r--r-- | doc/reference/shell/tmpl/e-icon-factory.sgml | 14 | ||||
-rw-r--r-- | doc/reference/shell/tmpl/e-shell-content.sgml | 5 | ||||
-rw-r--r-- | doc/reference/shell/tmpl/eshell-unused.sgml | 12 | ||||
-rw-r--r-- | e-util/e-icon-factory.c | 234 | ||||
-rw-r--r-- | e-util/e-icon-factory.h | 2 | ||||
-rw-r--r-- | shell/Makefile.am | 1 | ||||
-rw-r--r-- | shell/main.c | 7 |
12 files changed, 42 insertions, 504 deletions
diff --git a/art/Makefile.am b/art/Makefile.am index 1404f37491..9c39dbf762 100644 --- a/art/Makefile.am +++ b/art/Makefile.am @@ -7,8 +7,6 @@ EXTRA_DIST = \ ChangeLog \ ChangeLog.pre-1-4 \ README \ - broken-image-16.xpm \ - broken-image-24.xpm \ empty.xpm \ jump.xpm \ $(images_DATA) diff --git a/art/broken-image-16.xpm b/art/broken-image-16.xpm deleted file mode 100644 index b20b942bc5..0000000000 --- a/art/broken-image-16.xpm +++ /dev/null @@ -1,61 +0,0 @@ -/* XPM */ -static const gchar *broken_image_16_xpm[] = { -"16 16 42 1", -" c None", -". c #000000", -"+ c #FEFEFE", -"@ c #FDFDFD", -"# c #E0E0E0", -"$ c #C1C1C1", -"% c #F1F1F1", -"& c #C3C3C3", -"* c #FBFBFB", -"= c #A8A8A8", -"- c #ADADAD", -"; c #767676", -"> c #5D5D5D", -", c #404040", -"' c #F0F0F0", -") c #E2E2E2", -"! c #858585", -"~ c #4B4B49", -"{ c #161616", -"] c #EFEFEF", -"^ c #EEEEEE", -"/ c #C5C5C5", -"( c #DF421E", -"_ c #ECECEC", -": c #C4C4C4", -"< c #EBEBEB", -"[ c #EDEDED", -"} c #EAEAEA", -"| c #E8E8E8", -"1 c #C0C0C0", -"2 c #E7E7E7", -"3 c #BFBFBF", -"4 c #E6E6E6", -"5 c #E5E5E5", -"6 c #BEBEBE", -"7 c #E4E4E4", -"8 c #BDBDBD", -"9 c #E3E3E3", -"0 c #BBBBBB", -"a c #C2C2C2", -"b c #BCBCBC", -"c c #A0A0A0", -" ......... ", -" .++++++@#$. ", -" .+%%%%%%&*=. ", -" .+%%%%%%-;>,. ", -" .+%%%%%')!~{. ", -" .+%]]]]]]^^/. ", -" .+]]((^((^_:. ", -" .@^^(((((^<&. ", -" .@[__(((}}}$. ", -" .@<|(((((||1. ", -" .@}}((|((223. ", -" .@|444444456. ", -" .@2244455778. ", -" .@4555779990. ", -" .a888bb0000c. ", -" ........... "}; diff --git a/art/broken-image-24.xpm b/art/broken-image-24.xpm deleted file mode 100644 index e6c31277a9..0000000000 --- a/art/broken-image-24.xpm +++ /dev/null @@ -1,169 +0,0 @@ -/* XPM */ -static const gchar *broken_image_24_xpm[] = { -"24 24 142 2", -" c None", -". c #000000", -"+ c #D3D3D3", -"@ c #F6F6F6", -"# c #FFFFFF", -"$ c #F9F9F9", -"% c #DADADA", -"& c #585858", -"* c #C7C7C7", -"= c #D1D1D1", -"- c #D6D6D6", -"; c #B2B2B2", -"> c #D9D9D9", -", c #D8D8D8", -"' c #DDDDDD", -") c #C0C0C0", -"! c #E1E1E1", -"~ c #F0F0F0", -"{ c #9B9B9B", -"] c #D4D4D4", -"^ c #FEFEFE", -"/ c #FDFDFD", -"( c #FCFCFB", -"_ c #FBFBFB", -": c #AFAFAE", -"< c #E9E9E9", -"[ c #DFDFDF", -"} c #8F8F8F", -"| c #FAFAF9", -"1 c #F9F9F8", -"2 c #A4A4A3", -"3 c #F4F4F4", -"4 c #CFCFCF", -"5 c #A2A2A2", -"6 c #D5D5D5", -"7 c #F8F8F7", -"8 c #F8F7F6", -"9 c #9E9E9E", -"0 c #F7F6F5", -"a c #F6F6F4", -"b c #F4F3F2", -"c c #DEDDDC", -"d c #D3D2D0", -"e c #B7B7B5", -"f c #9F9E9D", -"g c #706F6F", -"h c #65625A", -"i c #F5F4F3", -"j c #F2F2F0", -"k c #E4E4E2", -"l c #DAD9D7", -"m c #D8D8D6", -"n c #E3E3E1", -"o c #AFAEAC", -"p c #88847B", -"q c #D3D2D1", -"r c #DF421E", -"s c #F3F3F1", -"t c #EEEDEB", -"u c #EDECEA", -"v c #E9E8E6", -"w c #EEEEED", -"x c #C4C3C2", -"y c #8F8A81", -"z c #F6F5F4", -"A c #D0D0CE", -"B c #ECEBE9", -"C c #EAE9E7", -"D c #E5E4E2", -"E c #D2D1CE", -"F c #8D887E", -"G c #CECDCD", -"H c #F0F0EE", -"I c #EFEFED", -"J c #F1F0EE", -"K c #F0EFED", -"L c #EFEEEC", -"M c #E8E7E5", -"N c #E5E4E1", -"O c #E4E3E0", -"P c #E1DFDC", -"Q c #979288", -"R c #A49E93", -"S c #CBCBC9", -"T c #E7E6E3", -"U c #E3E2DF", -"V c #E2E0DD", -"W c #E0DFDB", -"X c #A19C90", -"Y c #EDEDEB", -"Z c #C9C8C7", -"` c #EBEAE8", -" . c #E9E8E5", -".. c #E6E4E1", -"+. c #E3E2DE", -"@. c #DFDEDA", -"#. c #DDDCD8", -"$. c #A19B90", -"%. c #C6C5C3", -"&. c #E8E7E4", -"*. c #E7E5E2", -"=. c #E4E3DF", -"-. c #DEDDD9", -";. c #DCDBD7", -">. c #C3C2C0", -",. c #E6E5E2", -"'. c #E5E4E0", -"). c #E2E1DD", -"!. c #EDECEB", -"~. c #D9D7D3", -"{. c #9F998D", -"]. c #C1C0BD", -"^. c #E4E2DF", -"/. c #E1E0DC", -"(. c #DDDBD7", -"_. c #DCDAD6", -":. c #D8D6D2", -"<. c #9E988D", -"[. c #EDEDED", -"}. c #E1E0DD", -"|. c #D6D4D2", -"1. c #EBEBE8", -"2. c #EAE8E6", -"3. c #E6E5E3", -"4. c #F1F1EF", -"5. c #D7D5D1", -"6. c #9D978B", -"7. c #E1DFDB", -"8. c #E0DEDA", -"9. c #DEDCD8", -"0. c #D7D6D1", -"a. c #D5D3CE", -"b. c #9B958A", -"c. c #999891", -"d. c #A39E92", -"e. c #A39D92", -"f. c #A39D91", -"g. c #A29C90", -"h. c #A19B8F", -"i. c #9D978C", -"j. c #9B968A", -"k. c #676359", -" ", -" . . . . . . . . . . . . . ", -" . + @ # # # # # # # # $ % & . ", -" . @ # # # # # # # # # # * = - . ", -" . # # ; > > > > , > , ' ) ! ~ { . ", -" . # # ] # # ^ / ( / ( _ : < # [ } . ", -" . # # > ^ / ( _ | _ | 1 2 ~ # 3 4 5 . ", -" . # ^ 6 ( _ | 1 7 1 7 8 9 . . . . . . . ", -" . # ( 6 | 1 7 8 0 8 0 a b c d e f g h . ", -" . # | + 7 8 0 a i a i b j k l m n o p . ", -" . # 7 q 0 a i r r b s r r t u v w x y . ", -" . # z A b b s j r r r r t B C D i E F . ", -" . # b G j H I J K r r L B M N O I P Q . ", -" . # b G j H I J r r r r B M N O I P R . ", -" . # H S I L t r r u u r r T U V L W X . ", -" . # Y Z B B B ` .` . .N ..+.@.Y #.$.. ", -" . # ` %.v M &.&.T &.T *.=.+.W -.u ;.$.. ", -" . # T >.,.,.N ..'...'.=.).W -.;.!.~.{.. ", -" . $ O ].+.^.=.).+.).+././.-.(._.t :.<.. ", -" . [.}.|.1.1.u 1.B 1.B ` ` 2. .3.4.5.6.. ", -" . = 7.8.@.-.W -.8.-.8.9.9._._.:.0.a.b.. ", -" . c.d.R e.f.e.X g.X g.h.$.{.{.i.i.j.k.. ", -" . . . . . . . . . . . . . . . . . . ", -" "}; diff --git a/calendar/gui/alarm-notify/notify-main.c b/calendar/gui/alarm-notify/notify-main.c index e0014099f8..71fee19537 100644 --- a/calendar/gui/alarm-notify/notify-main.c +++ b/calendar/gui/alarm-notify/notify-main.c @@ -35,7 +35,6 @@ #include <libedataserver/e-source.h> #include <libedataserverui/e-passwords.h> -#include "e-util/e-icon-factory.h" #include "e-util/e-util-private.h" #include "alarm.h" #include "alarm-queue.h" @@ -61,8 +60,6 @@ main (gint argc, gchar **argv) if (unique_app_is_running (app)) goto exit; - e_icon_factory_init (); - alarm_notify_service = alarm_notify_new (); /* FIXME Ideally we should not use camel libraries in calendar, diff --git a/configure.ac b/configure.ac index 56886b91df..51e3e02e63 100644 --- a/configure.ac +++ b/configure.ac @@ -1394,9 +1394,6 @@ AC_SUBST(privdatadir) privincludedir='${includedir}'/evolution-$BASE_VERSION AC_SUBST(privincludedir) -componentdir="$privlibdir/components" -AC_SUBST(componentdir) - moduledir="$privlibdir/modules" AC_SUBST(moduledir) @@ -1406,12 +1403,12 @@ AC_SUBST(uidir) evolutionhelpdir="$privdatadir/help" AC_SUBST(evolutionhelpdir) +icondir="$privdatadir/icons" +AC_SUBST(icondir) + imagesdir="$privdatadir/images" AC_SUBST(imagesdir) -images16dir="$privdatadir/images/16x16" -AC_SUBST(images16dir) - if test "$os_win32" = yes; then dnl On Win32 there is no "rpath" mechanism. We install the private dnl shared libraries in $libdir, meaning the DLLs will actually be in @@ -1419,37 +1416,10 @@ if test "$os_win32" = yes; then dnl also means gnome_win32_get_prefixes() will be able to deduce the dnl installation folder correctly. privsolibdir=$libdir - dnl On Win32, use a relative path to the executables in .server - dnl files. The path is relative to the folder where the .server file - dnl is, i.e. $prefix/lib/bonobo/servers. - bindir_in_server_file=../../../bin - privlibexecdir_in_server_file=../../../libexec/evolution/$BASE_VERSION - componentdir_in_server_file=../../../lib/evolution/$BASE_VERSION/components else privsolibdir=$privlibdir - bindir_in_server_file="$bindir" - privlibexecdir_in_server_file='${libexecdir}'/evolution/$BASE_VERSION - componentdir_in_server_file="$componentdir" fi AC_SUBST(privsolibdir) -AC_SUBST(bindir_in_server_file) -AC_SUBST(privlibexecdir_in_server_file) -AC_SUBST(componentdir_in_server_file) - -dnl images18dir="$privdatadir/images/18x18" -dnl AC_SUBST(images18dir) - -dnl images20dir="$privdatadir/images/20x20" -dnl AC_SUBST(images20dir) - -dnl images24dir="$privdatadir/images/24x24" -dnl AC_SUBST(images24dir) - -dnl images32dir="$privdatadir/images/32x32" -dnl AC_SUBST(images32dir) - -images48dir="$privdatadir/images/48x48" -AC_SUBST(images48dir) soundsdir="$privdatadir/sounds" AC_SUBST(soundsdir) diff --git a/doc/reference/shell/tmpl/e-icon-factory.sgml b/doc/reference/shell/tmpl/e-icon-factory.sgml index 66d8008060..dc289c9a0b 100644 --- a/doc/reference/shell/tmpl/e-icon-factory.sgml +++ b/doc/reference/shell/tmpl/e-icon-factory.sgml @@ -17,20 +17,6 @@ Icon Functions (Legacy) <!-- ##### SECTION Stability_Level ##### --> -<!-- ##### FUNCTION e_icon_factory_init ##### --> -<para> - -</para> - - - -<!-- ##### FUNCTION e_icon_factory_shutdown ##### --> -<para> - -</para> - - - <!-- ##### FUNCTION e_icon_factory_get_icon_filename ##### --> <para> diff --git a/doc/reference/shell/tmpl/e-shell-content.sgml b/doc/reference/shell/tmpl/e-shell-content.sgml index 2ffe528e98..fb17dd86bf 100644 --- a/doc/reference/shell/tmpl/e-shell-content.sgml +++ b/doc/reference/shell/tmpl/e-shell-content.sgml @@ -63,6 +63,11 @@ EShellContent </para> +<!-- ##### ARG EShellContent:search-radio-action ##### --> +<para> + +</para> + <!-- ##### ARG EShellContent:search-rule ##### --> <para> diff --git a/doc/reference/shell/tmpl/eshell-unused.sgml b/doc/reference/shell/tmpl/eshell-unused.sgml index dd0c06f1e0..0928b8d717 100644 --- a/doc/reference/shell/tmpl/eshell-unused.sgml +++ b/doc/reference/shell/tmpl/eshell-unused.sgml @@ -1858,6 +1858,18 @@ intelligent @revision: @Returns: +<!-- ##### FUNCTION e_icon_factory_init ##### --> +<para> + +</para> + + +<!-- ##### FUNCTION e_icon_factory_shutdown ##### --> +<para> + +</para> + + <!-- ##### FUNCTION e_shell_backend_get_filename ##### --> <para> diff --git a/e-util/e-icon-factory.c b/e-util/e-icon-factory.c index cdbf39c788..411deead24 100644 --- a/e-util/e-icon-factory.c +++ b/e-util/e-icon-factory.c @@ -38,200 +38,16 @@ #include "e-icon-factory.h" #include "e-util-private.h" -#include "art/broken-image-16.xpm" -#include "art/broken-image-24.xpm" - #define d(x) -typedef struct { - gchar *name; - GdkPixbuf *pixbuf; -} Icon; - -static GdkPixbuf *broken16_pixbuf = NULL; -static GdkPixbuf *broken24_pixbuf = NULL; - -static GHashTable *name_to_icon = NULL; -static GtkIconTheme *icon_theme = NULL; -static GStaticMutex mutex = G_STATIC_MUTEX_INIT; - -/* Note: takes ownership of the pixbufs (eg. does not ref them) */ -static Icon * -icon_new (const gchar *name, GdkPixbuf *pixbuf) -{ - Icon *icon; - - icon = g_slice_new (Icon); - icon->name = g_strdup (name); - icon->pixbuf = pixbuf; - - return icon; -} - -static void -icon_free (Icon *icon) -{ - g_free (icon->name); - if (icon->pixbuf) - g_object_unref (icon->pixbuf); - g_slice_free (Icon, icon); -} - -static Icon * -load_icon (const gchar *icon_key, const gchar *icon_name, gint size, gint scale) -{ - GdkPixbuf *pixbuf, *unscaled = NULL; - gchar *basename, *filename = NULL; - - if (g_path_is_absolute (icon_name)) - filename = g_strdup (icon_name); - else { - GtkIconInfo *icon_info; - - icon_info = gtk_icon_theme_lookup_icon ( - icon_theme, icon_name, size, 0); - if (icon_info != NULL) { - filename = g_strdup ( - gtk_icon_info_get_filename (icon_info)); - gtk_icon_info_free (icon_info); - } - } - - if (!filename || !(unscaled = gdk_pixbuf_new_from_file (filename, NULL))) { - if (scale) { - const gchar *dent; - gint width; - GDir *dir; - gchar *x; - - if (!(dir = g_dir_open (EVOLUTION_ICONSDIR, 0, NULL))) { - goto done; - } - - /* scan icon directories looking for an icon with a size >= the size we need. */ - while ((dent = g_dir_read_name (dir))) { - if (!(dent[0] >= '1' && dent[0] <= '9')) - continue; - - if (((width = strtol (dent, &x, 10)) < size) || *x != 'x') - continue; - - if (((strtol (x + 1, &x, 10)) != width) || *x != '\0') - continue; - - /* if the icon exists in this directory, we can [use/scale] it */ - g_free (filename); - basename = g_strconcat (icon_name, ".png", NULL); - filename = g_build_filename (EVOLUTION_ICONSDIR, - dent, - basename, - NULL); - g_free (basename); - if ((unscaled = gdk_pixbuf_new_from_file (filename, NULL))) - break; - } - - g_dir_close (dir); - } else { - gchar *size_x_size; - - size_x_size = g_strdup_printf ("%dx%d", size, size); - basename = g_strconcat (icon_name, ".png", NULL); - g_free (filename); - filename = g_build_filename (EVOLUTION_ICONSDIR, - size_x_size, - basename, - NULL); - g_free (basename); - g_free (size_x_size); - unscaled = gdk_pixbuf_new_from_file (filename, NULL); - } - } - - done: - - g_free (filename); - if (unscaled != NULL) { - if (gdk_pixbuf_get_width(unscaled) != size || gdk_pixbuf_get_height(unscaled) != size) - { - pixbuf = e_icon_factory_pixbuf_scale (unscaled, size, size); - g_object_unref (unscaled); - } else - pixbuf = unscaled; - } else { - pixbuf = NULL; - } - - return icon_new (icon_key, pixbuf); -} - -static void -icon_theme_changed_cb (GtkIconTheme *icon_theme, gpointer user_data) -{ - g_hash_table_remove_all (name_to_icon); -} - -/** - * e_icon_factory_init: - * - * Initialises the icon factory. - **/ -void -e_icon_factory_init (void) -{ - gchar *path; - - if (name_to_icon != NULL) - return; - - name_to_icon = g_hash_table_new_full ( - g_str_hash, g_str_equal, - (GDestroyNotify) NULL, - (GDestroyNotify) icon_free); - - icon_theme = gtk_icon_theme_get_default (); - path = g_build_filename (EVOLUTION_DATADIR, - "evolution", - BASE_VERSION, - "icons", - NULL); - gtk_icon_theme_append_search_path (icon_theme, path); - g_free (path); - g_signal_connect ( - icon_theme, "changed", - G_CALLBACK (icon_theme_changed_cb), NULL); - - broken16_pixbuf = gdk_pixbuf_new_from_xpm_data ( - (const gchar **) broken_image_16_xpm); - broken24_pixbuf = gdk_pixbuf_new_from_xpm_data ( - (const gchar **) broken_image_24_xpm); -} - -/** - * e_icon_factory_shutdown: - * - * Shuts down the icon factory (cleans up all cached icons, etc). - **/ -void -e_icon_factory_shutdown (void) -{ - if (name_to_icon == NULL) - return; - - g_hash_table_destroy (name_to_icon); - g_object_unref (broken16_pixbuf); - g_object_unref (broken24_pixbuf); - name_to_icon = NULL; -} - /** * e_icon_factory_get_icon_filename: * @icon_name: name of the icon - * @size: size of the icon + * @icon_size: size of the icon * - * Looks up the icon to use based on name and size. + * Returns the filename of the requested icon in the default icon theme. * - * Returns the requested icon pixbuf. + * Returns: the filename of the requested icon **/ gchar * e_icon_factory_get_icon_filename (const gchar *icon_name, @@ -265,51 +81,35 @@ e_icon_factory_get_icon_filename (const gchar *icon_name, * @icon_name: name of the icon * @icon_size: size of the icon * - * Returns the specified icon of the requested size (may perform - * scaling to achieve this). If @icon_name is a full path, that file - * is used directly. Otherwise it is looked up in the user's current - * icon theme. If the icon cannot be found in the icon theme, it falls - * back to loading the requested icon from Evolution's icon set - * installed from the art/ srcdir. If even that fails to find the - * requested icon, then a "broken-image" icon is returned. + * Loads the requested icon from the default icon theme and renders it + * to a pixbuf. + * + * Returns: the rendered icon **/ GdkPixbuf * e_icon_factory_get_icon (const gchar *icon_name, GtkIconSize icon_size) { + GtkIconTheme *icon_theme; GdkPixbuf *pixbuf; - gchar *icon_key; - Icon *icon; - gint size, width, height; + gint width, height; + GError *error = NULL; g_return_val_if_fail (icon_name != NULL, NULL); + icon_theme = gtk_icon_theme_get_default (); + if (!gtk_icon_size_lookup (icon_size, &width, &height)) return NULL; - size = height; - - icon_key = g_alloca (strlen (icon_name) + 7); - sprintf (icon_key, "%dx%d/%s", size, size, icon_name); - - g_static_mutex_lock (&mutex); + pixbuf = gtk_icon_theme_load_icon ( + icon_theme, icon_name, height, 0, &error); - if (!(icon = g_hash_table_lookup (name_to_icon, icon_key))) { - icon = load_icon (icon_key, icon_name, size, TRUE); - g_hash_table_insert (name_to_icon, icon->name, icon); + if (error != NULL) { + g_warning ("%s", error->message); + g_error_free (error); } - if ((pixbuf = icon->pixbuf)) { - g_object_ref (pixbuf); - } else { - if (size >= 24) - pixbuf = gdk_pixbuf_scale_simple (broken24_pixbuf, size, size, GDK_INTERP_NEAREST); - else - pixbuf = gdk_pixbuf_scale_simple (broken16_pixbuf, size, size, GDK_INTERP_NEAREST); - } - - g_static_mutex_unlock (&mutex); - return pixbuf; } diff --git a/e-util/e-icon-factory.h b/e-util/e-icon-factory.h index 52ac332363..9cec7253bf 100644 --- a/e-util/e-icon-factory.h +++ b/e-util/e-icon-factory.h @@ -26,8 +26,6 @@ #include <gtk/gtk.h> -void e_icon_factory_init (void); -void e_icon_factory_shutdown (void); gchar * e_icon_factory_get_icon_filename(const gchar *icon_name, GtkIconSize icon_size); GdkPixbuf * e_icon_factory_get_icon (const gchar *icon_name, diff --git a/shell/Makefile.am b/shell/Makefile.am index 13ab041122..541f941e58 100644 --- a/shell/Makefile.am +++ b/shell/Makefile.am @@ -111,6 +111,7 @@ evolution_CPPFLAGS = \ -DEVOLUTION_DATADIR=\""$(datadir)"\" \ -DEVOLUTION_GALVIEWSDIR=\""$(viewsdir)"\" \ -DEVOLUTION_HELPDIR=\""$(evolutionhelpdir)"\" \ + -DEVOLUTION_ICONDIR=\""$(icondir)"\" \ -DEVOLUTION_MODULEDIR=\""$(moduledir)"\" \ -DEVOLUTION_RULEDIR=\""$(privdatadir)"\" \ -DEVOLUTION_UIDIR=\""$(uidir)"\" \ diff --git a/shell/main.c b/shell/main.c index 2ef93d1247..ab82c2eded 100644 --- a/shell/main.c +++ b/shell/main.c @@ -55,7 +55,6 @@ #include "e-util/e-bconf-map.h" #include "e-util/e-dialog-utils.h" #include "e-util/e-error.h" -#include "e-util/e-icon-factory.h" #include "e-util/e-plugin.h" #include "e-util/e-plugin-ui.h" #include "e-util/e-profile-event.h" @@ -475,6 +474,7 @@ extern void link_shutdown (void); gint main (gint argc, gchar **argv) { + GtkIconTheme *icon_theme; GConfClient *client; #ifdef DEVELOPMENT gboolean skip_warning_dialog; @@ -574,9 +574,11 @@ main (gint argc, gchar **argv) g_warning ("Could not set up debugging output file."); } - e_icon_factory_init (); e_passwords_init (); + icon_theme = gtk_icon_theme_get_default (); + gtk_icon_theme_append_search_path (icon_theme, EVOLUTION_ICONDIR); + gtk_window_set_default_icon_name ("evolution"); if (setup_only) @@ -626,7 +628,6 @@ main (gint argc, gchar **argv) gtk_accel_map_save (e_get_accels_filename ()); - e_icon_factory_shutdown (); #ifdef G_OS_WIN32 link_shutdown (); #endif |