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 Michael Natterer <mitch@imendio.com>
* gtk/gtkrc.c (gtk_rc_reparse_all_for_settings): applied patch
from maemo-gtk that changes the mtime check for rc files from
'>' to '!=', otherwise theme changes go unnoticed when turning
back the clock (Tommi Komulainen).
2005-11-03 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkcursor-win32.c: As there is only one GdkDisplay in
the Win32 backend, check that GdkDisplay* parameters are equal to
_gdk_display instead of using the unnecessarily general
GDK_IS_DISPLAY().
2005-11-03 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkcursor-win32.c (pixbuf_to_hbitmaps_alpha_winxp):
Rename the variables for the color bitmap to have "color" in their
name, for similarity with pixbuf_to_hbitmaps_normal(). Create a
color bitmap for the mask, too, instead of creating a b&w bitmap
with CreateBitmap(). Set up the mask bitmap's contents, ones for
those pixels in the color bitmap where the alpha is zero, zero for
other pixels. We used to use an unitialized mask bitmap! This
meant that icons and cursors created presumably worked more or
less by accident. Totally blank icons with zero alpha everywhere
(as used by gtktrayicon.c) definitely did not work as expected.
2005-11-03 Tor Lillqvist <tml@novell.com>
* gtk/Makefile.am: Include gtkstatusicon.c on all platforms.
* gtk/gtkstatusicon.c: Implement for Win32. Use code from
gtktrayicon-win32.c as applicable. (gtktrayicon-win32.c is not
necessary and can be removed from CVS. It has never been mentioned
in gtk/Makefile.am.) No tray icon widget, GtkImage or GtkTooltips
are used on Win32. One label widget is used (but never shown) as
gtk_widget_render_icon() needs a widget.
Ifdefs used as necessary in several places. It might be cleaner to
split out the backend-specific parts to separate files, or at
least collect them into separate blocks in the file.
(wndproc): New function. Window procedure to monitor mouse events
in the system tray icon. Call gtk_status_icon_button_press() as
needed.
(create_tray_observer): New function. Creates a hidden window that
only serves as a tray icon message observer.
2005-11-03 Tor Lillqvist <tml@novell.com>
* tests/teststatusicon.c (icon_activated): Position the dialog
with GTK_WIN_POS_CENTER.
(do_quit): New function, hide and unref the GtkStatusIcon, and
call gtk_main_quit().
(popup_menu): Add a Quit menu item that calls do_quit().
2005-11-02 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkcolor-win32.c
* gdk/win32/gdkscreen-win32.c
* gdk/win32/gdkwindow-win32.c: Whitespace consistency
fixes. Remove superfluous test for GdkWindow* parameters being
non-NULL. Testing GDK_IS_WINDOW() is enough. As there is only one
GdkScreen and one GdkDisplay in the Win32 backend, use those
variables instead of the getter functions. For GdkDisplay* and
GdkScreen* parameters, check that they are equal to the
corresponding singleton variables instead of the more general
GDK_IS_DISPLAY() or GDK_IS_SCREEN().
2005-11-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c: Remove some g_return_if_fail() from
static functions, replace some others by g_assert().
* gtk/gtktextview.c (selection_motion_event_handler)
(gtk_text_view_start_selection_drag): Keep track of the original
selection boundaries during a drag selection, in order to correctly
decide when to extend or shrink the selection. (#320167,
reported by Arvind S N, patch by Paolo Borelli)
Tue Nov 1 16:18:24 2005 Tim Janik <timj@imendio.com>
* gtk/gtkrbtree.[hc]: get rid of GAllocator usage, allocate and free
nodes via the g_slice_*() API.
_gtk_rbtree_new(): fixed wrong node allocation via g_new().
2005-11-01 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkprivate-win32.h
* gdk/win32/gdkglobals-win32.c
* gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Add more
pre-interned GdkAtoms and pre-registered clipboard formats. Sort
their declarations, definitions and assignments into a more
logical and consistent order.
* gdk/win32/gdkmain-win32.c (_gdk_win32_cf_to_string): Include the
CF_ prefix for the predefined clipboard format names. Put quotes
around registered format names to distinguish them.
* gdk/win32/gdkproperty-win32.c (gdk_property_change): Return
immediately with a warning if the property type is STRING, TEXT,
COMPOUND_TEXT or SAVE_TARGETS, as these are X11-specific that we
should never pretend to handle on Win32. Handle only UTF8_STRING
here, other formats with delayed rendering. Use \uc1 instead of
\uc0 when generating Rich Text Format for easier testability on
XP, where WordPad misinterprets \uc0 encoded characters. Add more
GDK_NOTE debugging output for Clipboard operations.
* gdk/win32/gdkselection-win32.c: Debugging printout improvements.
(gdk_selection_convert): Don't pretent to handle STRING, just
UTF8_STRING. Streamline error handling, don't unnecessarily have a
GError which then isn't used for anything anyway if it gets set.
(gdk_win32_selection_add_targets): Skip also STRING, TEXT,
COMPOUND_TEXT and SAVE_TARGETS in addition to UTF8_STRING.
2005-10-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): Add the popup
window to the toplevels window group. (#319912, Christian Persch)
2005-10-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkdnd.c (gtk_drag_get_cursor): Fix the anchor of the default
drag cursors. (#319200, Federico Mena Quintero)
2005-10-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_search_key_press_event): Handle
Shift-G to go to the previous match, like firefox. (#320061, Christian
Neumair)
2005-10-26 Michael Natterer <mitch@imendio.com>
Fix bug #319974:
* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
make sure that setting any of pixbuf/stock-id/icon-name resets the
others because they are mutually exclusive, and that unsetting any
of them only resets the pixbuf and nothing else. Also added
some missing g_object_notify().
(gtk_cell_renderer_pixbuf_get_property): simplified calls to
g_value_set_object().
(gtk_cell_renderer_pixbuf_create_stock_pixbuf)
(gtk_cell_renderer_pixbuf_create_named_icon_pixbuf): added
g_object_notify ("pixbuf").
2005-10-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_button_press): Be more
careful about initializing cell_area. (#319382, Tommi
Komulainen)
2005-10-27 Matthias Clasen <mclasen@redhat.com>
* demos/gtk-demo/clipboard.c (paste_received): Only set the
text if it is not NULL. (#319930, Thomas Klausner)
* gtk/gtkselection.c (gtk_selection_data_get_pixbuf): Close the
loader before trying to get the pixbuf. (#319930, Thomas Klausner)