Commit Graph

110 Commits

Author SHA1 Message Date
Matthias Clasen
34dc548878 Support rendering GEmblemedIcon
svn path=/trunk/; revision=20910
2008-07-28 16:15:14 +00:00
Christian Persch
446f41757b Use g_set_error_literal where appropriate. Bug #538640.
svn path=/trunk/; revision=20463
2008-06-19 12:47:48 +00:00
Tor Lillqvist
effd6886f6 Bug 538362 - Get Win32 icons back in the file chooser
2008-06-16  Tor Lillqvist  <tml@novell.com>

	Bug 538362 - Get Win32 icons back in the file chooser

	* gtk/gtkicontheme.c (choose_icon): Check if the icon name is a
	reference to an icon resource in a DLL or .EXE as in the
	Registry. In that case, extract the icon and convert to a
	GdkPixbuf. Patch by Hans Breuer.


svn path=/trunk/; revision=20398
2008-06-16 13:27:46 +00:00
Matthias Clasen
4d15d77fc5 Fix docs
svn path=/trunk/; revision=20392
2008-06-15 22:56:47 +00:00
Matthias Clasen
ee8253f908 Bug 522084 – GIcon support for GtkIconTheme & GtkImage
2008-05-27  Matthias Clasen  <mclasen@redhat.com>

        Bug 522084 – GIcon support for GtkIconTheme & GtkImage

        * gtk/gtkicontheme.[hc]: Add support for GIcon based lookups.
        * gtk/gtkimage.[hc]: Allow setting an image from a GIcon.
        * gtk/gtk.symbols: Additions
        * tests/testimage.c: Add a GIcon test


svn path=/trunk/; revision=20236
2008-05-29 14:33:49 +00:00
Michael Natterer
9c7a2c321f remove unused variable.
2008-01-09  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkcolorsel.c (make_label_spinbutton): remove unused
	variable.

	* gtk/gtkcombobox.c (gtk_combo_box_detacher)
	* gtk/gtkicontheme.c (theme_list_contexts)
	(gtk_icon_theme_lookup_icon)
	* gtk/gtkimcontextsimple.c (beep_window)
	* gtk/gtklinkbutton.c (set_link_color)
	* gtk/gtkuimanager.c (child_hierarchy_changed_cb): add casts to
	fix warnings.

	* gtk/gtkpathbar.c (_gtk_path_bar_set_file_system): remove unused
	variable and add const to another to fix a warning.


svn path=/trunk/; revision=19330
2008-01-09 17:02:50 +00:00
Matthias Clasen
f9e4618bda Two optimizations for icon cache lookups.
2007-12-03  Matthias Clasen  <mclasen@redhat.com>

        Two optimizations for icon cache lookups.

        * gtk/gtkiconcache.[hc]:
        * gtk/gtkicontheme.c: Remember the directory index for
        subdirectories, instead of running over the directory list
        again and again.

        * gtk/gtkiconcache.c (find_image_offset): Remember the last
        chain and try it first; this helps with the the usage patterns
        in gtkicontheme.c, where the same icon is queried for a lot
        of subdirectories.


svn path=/trunk/; revision=19099
2007-12-03 17:44:27 +00:00
Matthias Clasen
e0e3b2136f Small cleanups
svn path=/trunk/; revision=18488
2007-07-18 07:30:34 +00:00
Sven Neumann
721ed98534 use g_slice_dup().
2007-06-19  Sven Neumann  <sven@gimp.org>

	* gtk/gtkicontheme.c (gtk_icon_info_copy): use g_slice_dup().

svn path=/trunk/; revision=18189
2007-06-19 15:41:24 +00:00
Torsten Schönfeld
5b12bfdad2 Initialize unthemed_icon to NULL to avoid accessing uninitialized memory
* gtk/gtkicontheme.c (choose_icon): Initialize unthemed_icon to NULL
	to avoid accessing uninitialized memory when
	gtk_icon_theme_choose_icon() is called with an empty names list.

svn path=/trunk/; revision=18018
2007-06-03 20:44:10 +00:00
Matthias Clasen
11e2767fbd Improve a warning Always set the error when returning NULL. (#440982,
2007-05-25  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkiconfactory.c: Improve a warning
        * gtk/gtkicontheme.c (gtk_icon_info_load_icon): Always
        set the error when returning NULL.  (#440982, Carlos Garcia
        Campos)



svn path=/trunk/; revision=17912
2007-05-25 15:31:28 +00:00
Matthias Clasen
b82c9dc589 Add a function to look up an icon from a list of icon names. (#396901,
2007-05-18  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtk.symbols:
        * gtk/gtkicontheme.h:
        * gtk/gtkicontheme.c: Add a function to look up an icon from
        a list of icon names.  (#396901, Luca Ferretti)



svn path=/trunk/; revision=17868
2007-05-18 20:19:12 +00:00
Matthias Clasen
0ac3069358 Set the filename to NULL for builtin icons, sinc
2007-04-25  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkicontheme.c (theme_lookup_icon): Set the filename to
        NULL for builtin icons, sinc gtk_icon_info_get_builtin_pixbuf()
        depends on it.

        * tests/testicontheme.c: Report builtin icons.


svn path=/trunk/; revision=17638
2007-04-25 18:01:44 +00:00
Chris Wilson
18a9c78bf3 Ensure the icon_theme->all_icons and dir->icons hash tables use the same
2007-04-24  Chris Wilson  <chris@chris-wilson.co.uk>

    * gtk/gtkicontheme.c (scan_directory): Ensure the 
    icon_theme->all_icons and dir->icons hash tables use the same string
    as their keys. (#418531)


svn path=/trunk/; revision=17626
2007-04-24 14:55:52 +00:00
Matthias Clasen
5a706b553b Add GTK_ICON_LOOKUP_GENERIC_FALLBACK icon lookup flag and implement it.
2007-04-19  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkicontheme.h:
        * gtk/gtkicontheme.c: Add GTK_ICON_LOOKUP_GENERIC_FALLBACK
        icon lookup flag and implement it.  (#396901, Luca Ferreti)



svn path=/trunk/; revision=17611
2007-04-19 04:14:39 +00:00
Rodney Dawes
889e223ee3 Fix a couple of comment typos (#421627)
2007-03-23  Rodney Dawes  <dobey@novell.com>

	* gtk/gtkicontheme.c: Fix a couple of comment typos (#421627)


svn path=/trunk/; revision=17559
2007-03-23 14:06:52 +00:00
Rodney Dawes
57f51f5d54 Add a new API call gtk_icon_theme_list_contexts so that one can choose
2007-03-21  Rodney Dawes  <dobey@novell.com>

	* gtk/gtk.symbols:
	* gtk/gtkicontheme.[ch]:
	* docs/reference/gtk/gtk-sections.txt:
	* tests/testicontheme.c:
	Add a new API call gtk_icon_theme_list_contexts so that one can
	choose icons from a theme by context (#420719)


svn path=/trunk/; revision=17550
2007-03-21 19:31:01 +00:00
Chris Wilson
0b1c9b7cc2 Protect ensure_valid_themes() from recursion, which can happen for example
2007-03-15  Chris Wilson  <chris@chris-wilson.co.uk>

	* gtk/gtkicontheme.c (ensure_valid_themes), (rescan_themes),
	(gtk_icon_theme_rescan_if_needed): Protect ensure_valid_themes()
	from recursion, which can happen for example if the app tries to
	reload an icon from within a theme-changed handler. (#418531)


svn path=/trunk/; revision=17523
2007-03-15 18:40:16 +00:00
Matthias Clasen
82ce59cd0f Remove unnecessary NULL checks before g_free(). (#369666, Morten Welinder,
2007-03-09  Matthias Clasen <mclasen@redhat.com>

        * Everywhere: Remove unnecessary NULL checks before
        g_free().  (#369666, Morten Welinder, Djihed Afifi)

        * configure.in: Check for ftw.h



svn path=/trunk/; revision=17444
2007-03-09 21:57:37 +00:00
Chris Wilson
8a82e3c943 Be careful not to trigger a style reset before we have loaded the icon
2007-03-06  Chris Wilson  <chris@chris-wilson.co.uk>

	* gtk/gtkicontheme.c (update_current_theme), (gtk_icon_theme_init),
	(do_theme_change), (gtk_icon_theme_set_custom_theme),
	(load_themes):
		Be careful not to trigger a style reset before we have loaded
		the icon theme. (#414875).


svn path=/trunk/; revision=17404
2007-03-06 18:26:41 +00:00
Chris Wilson
e2a74a9bd9 Bug 409101 – invalid read to gtkicontheme.c insert_theme(), might cause
2007-02-26  Chris Wilson  <chris@chris-wilson.co.uk>

	Bug 409101 – invalid read to gtkicontheme.c insert_theme(), might cause gnome-panel crash

	* gtk/gtkicontheme.c: (scan_directory):
		Reorder the replacement of the shared base_name key, so that we
		avoid dereferencing the string in the icon_theme->all_icon
		hash table after freeing it from the dir->icons hash table.


svn path=/trunk/; revision=17353
2007-02-26 14:09:21 +00:00
Matthias Clasen
82ef0d0d2a When finding a matching non-scalable dir, keep going and look for a closer
2007-01-14  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkicontheme.c (theme_lookup_icon): When finding a matching
        non-scalable dir, keep going and look for a closer match.
        (#395830, Luca Ferretti)


svn path=/trunk/; revision=17153
2007-01-15 02:56:33 +00:00
Matthias Clasen
bcf7d7e972 Waste less time with non-directories. (#391725, Chris Wilson)
2007-01-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkicontheme.c (load_themes): Waste less time
        with non-directories.  (#391725, Chris Wilson)



svn path=/trunk/; revision=17005
2007-01-02 04:19:28 +00:00
Matthias Clasen
721c3bc101 Replace a lot of idle and timeout calls by the new gdk_threads api.
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * *.c: Replace a lot of idle and timeout calls by
        the new gdk_threads api.
2006-12-22 19:10:43 +00:00
Matthias Clasen
f71cc8fcaf Fix a crash with icon themes 2006-12-02 19:48:22 +00:00
Paolo Borelli
a1808a8ef3 plug memory leak. Fixes bug #362439.
2006-10-15  Paolo Borelli  <pborelli@katamail.com>

	* gtk/gtkicontheme.c (pixbuf_supports_svg): plug memory leak.
	Fixes bug #362439.
2006-10-15 22:58:08 +00:00
Matthias Clasen
07e7719441 Apply a cleanup patch by Kjartan Maraas (#341812)
2006-10-08  Matthias Clasen  <mclasen@redhat.com>

	* Apply a cleanup patch by Kjartan Maraas  (#341812)
2006-10-08 05:07:55 +00:00
Matthias Clasen
52398c8354 Actually use a higher priority than resize 2006-08-15 18:25:35 +00:00
Matthias Clasen
6f535cb264 Run the reset_styles idle at a priority higher than size negotiation.
2006-08-15  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkicontheme.c (do_theme_change): Run the reset_styles
	idle at a priority higher than size negotiation.  (#350517,
	Søren Sandmann)
2006-08-15 17:44:09 +00:00
Matthias Clasen
7014a3b5bb Export this privately.
2006-07-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkicontheme.h:
	* gtk/gtkicontheme.c (_gtk_icon_theme_ensure_builtin_cache):
	Export this privately.

	* gtk/gtkiconfactory.c (render_fallback_image): And call it
	here to initialize the builtin cache before using it.  (#348063,
	Diego Pettenò)
2006-07-20 18:07:21 +00:00
Matthias Clasen
489529be5a Small memory savings 2006-07-07 05:24:00 +00:00
Matthias Clasen
36f7ed300a Remove debugging spew 2006-06-07 13:45:11 +00:00
Matthias Clasen
a9d11e9dba make the last change work 2006-06-07 04:16:52 +00:00
Matthias Clasen
b2b9fc97f8 Small optimization 2006-06-06 20:09:43 +00:00
Matthias Clasen
113f364a37 More of the same 2006-05-14 04:25:34 +00:00
Matthias Clasen
f26aad1916 Boilerplate reduction 2006-05-02 23:56:43 +00:00
Matthias Clasen
da63cf9805 Apply a patch by Paolo Borelli to factor out a strip_suffix() function and
2006-04-18  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkiconcache.c: Apply a patch by Paolo Borelli to factor
        out a strip_suffix() function and save some memory.  (#338307)
2006-04-18 13:58:30 +00:00
Matthias Clasen
d13554a35c Better fix 2006-04-12 04:22:51 +00:00
Matthias Clasen
4906bd0fad Fix another Coverity bug 2006-04-12 04:20:28 +00:00
Matthias Clasen
9c0f0bb451 Small savings 2006-04-04 04:14:17 +00:00
Matthias Clasen
8c8a4c89b8 No point in making the error path fast by caching quarks.
2006-04-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkrecentchooser.c (gtk_recent_chooser_error_quark):
        * gtk/gtkrecentmanager.c (gtk_recent_manager_error_quark):
        * gtk/gtkfilechooser.c (gtk_file_chooser_error_quark):
        * gtk/gtkfilesystem.c (gtk_file_system_error_quark):
        * gtk/gtkicontheme.c (gtk_icon_theme_error_quark): No point
        in making the error path fast by caching quarks.
2006-04-04 03:25:16 +00:00
Matthias Clasen
082d4176d5 Don't leak the keyfile parser in the error case.
2006-03-31  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkicontheme.c (load_icon_data): Don't leak the keyfile
	parser in the error case.

	* gtk/gtkicontheme.c (load_icon_data, free_unthemed_icon)
	(icon_data_free, load_themes):
	* gtk/gtkiconcache.c (_gtk_icon_cache_get_icon_data): Use the slice
	allocator for GtkIconData and UnthemedIcon structs.
2006-03-31 05:17:56 +00:00
Matthias Clasen
a32b9712f3 Give working examples in the docs. (#330944, John Spray)
2006-02-12  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkicontheme.c (gtk_icon_theme_list_icons): Give working
	examples in the docs.  (#330944, John Spray)
2006-02-13 02:31:28 +00:00
Matthias Clasen
f35d4e1e47 Allow falling back to another icon theme before hicolor. (#325546, Rodney
2006-01-11  Matthias Clasen  <mclasen@redhat.com>

	Allow falling back to another icon theme before
	hicolor.   (#325546, Rodney Dawes)

	* gtk/gtksettings.c: Add a gtk-fallback-icon-theme setting.

	* gdk/x11/gdkevents-x11.c: Map it to the XSetting Net/FallbackIconTheme.

	* gtk/gtkicontheme.c: Consult the fallback icon theme before
	looking in hicolor.
2006-01-11 06:20:17 +00:00
Matthias Clasen
dd3a8cd122 Only broadcast _GTK_LOAD_ICONTHEMES if we detect a real theme change, not
2005-12-12  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkicontheme.c (ensure_valid_themes): Only broadcast
	_GTK_LOAD_ICONTHEMES if we detect a real theme change, not
	upon initial theme load.  (#323876, Peter Lund)
2005-12-12 17:39:50 +00:00
Matthias Clasen
e00ef950ed Avoid a crash 2005-11-14 18:49:41 +00:00
Matthias Clasen
82f12b610d Make builtin icons work in gtk_window_set_icon_name() (#321046, Maxim
2005-11-12  Matthias Clasen  <mclasen@redhat.com>

	Make builtin icons work in gtk_window_set_icon_name()
	(#321046, Maxim Udushlivy)

	* gtk/gtkicontheme.c (insert_theme): Always insert the default
	theme.
	(ensure_valid_themes): Call _gtk_icon_theme_ensure_builtin_cache()
	from here.
	(theme_lookup_icon, find_builtin_icon): ...and not from here.
	(gtk_icon_theme_lookup_icon): Remove an unncessary assert.
	(gtk_icon_theme_get_icon_sizes): Also check builtin icons.
2005-11-12 06:59:49 +00:00
Matthias Clasen
b983d1c6a7 Store builtin stock icons in an icon cache, instead of populating a hash
2005-11-04  Matthias Clasen  <mclasen@redhat.com>

        Store builtin stock icons in an icon cache, instead of
        populating a hash table with pixbufs at startup, to save both
        memory and startup time.

        * gtk/stock-icons/*: Reorganize the icons in a directory structure
        suitable for gtk-update-icon-cache, and rename them to match the
        stock ids.

        * gtk/gtkiconcache.[hc]: Support non-mmapped icon caches, and
        add _gtk_icon_cache_has_icon_in_directory().

        * gtk/updateiconcache.c: Support a --source <VARIABLE> argument
        to store the contents of the icon cache in a C header.

        * gtk/gtkbuiltincache.h: Generated private header which contains
        the icon cache for the builtin icons.

        * gtk/gtkicontheme.c: Create a GtkIconCache for the builtin
        icons, and use that in addition to the hash table whenever
        builtin icons are searched.

        * gtk/gtkiconfactory.c: Add GTK_ICON_SOURCE_STATIC_ICON_NAME and
        use it for static stock ids.
        (get_default_icons): Don't add the builtin
        icons to the icon theme, just register the stock ids.
        (render_fallback_image): Take the fallback image out of the
        builtin icon cache.

        * gtk/Makefile.am: Remove stock-icons from SUBDIRS and add
        the necessary machinery to rebuild gtkbuiltincache.h.
2005-11-04 15:43:40 +00:00
Matthias Clasen
af89d145f7 Use gdk_atom_intern_static_string() where appropriate.
* gtk/*.c:  Use gdk_atom_intern_static_string() where
	appropriate.
2005-09-11 05:48:27 +00:00
Matthias Clasen
94eec04267 Intern some more strings.
2005-09-01  Matthias Clasen  <mclasen@redhat.com>

        * gdk/*.c: Intern some more strings.
        * gtk/gtkintl.h:
        * gtk/*.c: Define an I_() macro and use it instead of the
        bulky g_intern_static_string().
2005-09-01 05:11:46 +00:00