* gdk-pixbuf-io.h:
* gdk-pixbuf-io.c (gdk_pixbuf_format_is_disabled):
* gdk-pixbuf-io.c (gdk_pixbuf_format_set_disabled):
* gdk-pixbuf-io.c (gdk_pixbuf_format_get_license):
New functions to disable/enable individual loaders and to
obtain license information about loaders.
* gdk-pixbuf-io.h (GdkPixbufFormat): Add disabled and
license fields.
* gtk/gtkimage.c (gtk_image_expose): Make sure that subpixbufs
are properly aligned for gdk_pixbuf_saturate_and_pixelate(),
in order to avoid rendering artifacts from misaligned
pixelation patterns. (#145585, Felipe Heidrich, Billy Biggs)
Support separators in combo boxes and more generally in tree views
2004-07-07 Matthias Clasen <mclasen@redhat.com>
Support separators in combo boxes and more generally in tree
views (#135873):
* gtk/gtkcombobox.h:
* gtk/gtkcombobox.c (gtk_combo_box_get_row_separator_column):
* gtk/gtkcombobox.c (gtk_combo_box_set_row_separator_column):
Add a ::row-separator-column property with getter and setter,
which can indicate a boolean model column to determine which
rows are separators.
* gtk/gtkcombobox.c: Display separator rows as separator menu
items in menu mode, and by using the new treeview separator
functionality in list mode.
* gtk/gtktreeview.h:
* gtk/gtktreeview.c (gtk_tree_view_get_row_separator_func):
* gtk/gtktreeview.c (gtk_tree_view_set_row_separator_func):
Add a callback to determine whether a row is a separator.
* gtk/gtktreeview.c (gtk_tree_view_bin_expose):
* gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon):
* gtk/gtktreeview.c (validate_row): Use the new callback
to determine whether a row is a separator, and draw it
as a separator then. Since separators should take up less
vertical space than regular rows, this requires removing
the redundant MAX(...,expander_size) calls which appear in
many places. Instead, the MAX() is now only done in
validate_row(), and only if the row is not a separator.
To catch possible side effects of this intrusive change,
I have left EXPANDER_MAX() calls in place of the MAX() calls
which will emit a warning if something breaks. They should
be removed before 2.6.
* gtk/gtktreeselection.c (row_is_selectable): Don't let
separator rows be selected.
* tests/testcombo.c (create_blaat): Add a separator column.
* gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text)
* gdk/win32/gdkfont-win32.c (gdk_text_extents)
* gdk/win32/gdkproperty-win32.c (find_common_locale,
gdk_property_change)
* gdk/win32/gdkselection-win32.c (gdk_selection_convert): Use
g_utf8_to_utf16() instead of the removed _gdk_utf8_to_ucs2() (see
below).
* gdk/win32/gdkglobals-win32.c
* gdk/win32/gdkmain-win32.c (_gdk_windowing_init)
* gdk/win3/gdkprivate-win32.h: Add a variable for the TARGETS
atom. Initialize it. Declare it. Drop the variable for the
COMPOUND_TEXT atom.
* gdk/win32/gdkim-win32.c (gdk_wcstombs): Don't return UTF-8. This
function is supposed to return the string in the locale's charset
and encoding. Use g_convert().
(gdk_mbstowcs): Similarily, don't take an UTF-8 string, but a
string in the locale's charset. Use g_convert().
(_gdk_ucs2_to_utf8, _gdk_utf8_to_wcs, _gdk_utf8_to_ucs2):
Delete. The UCS-2 functions didn't handle surrogates anyway. Use
GLib's UTF-16 functions instead. Windows uses UTF-16.
* gdk/win32/gdkprivate-win32.h: Remove declarations of the deleted
functions mentioned above.
* gdk/win32/gdkproperty-win32.c (gdk_property_change): Use CF_TEXT
also if the string is of type STRING, i.e. ISO-8859-1, and the
current codepage is 1252, and contains no C1 chars. Accept
also UTF8_STRING.
* gdk/win32/gdkselection-win32.c (_gdk_selection_property_store):
Mark as static. When storing STRING data, convert to
Latin-1. (#140537)
(gdk_selection_owner_set_for_display): Now that STRING is always
ISO-8859-1, use UTF8_STRING when sending the selection request
to ourselves.
(gdk_selection_convert): Handle also UTF8_STRING. (#140537, John
Ehresman)
(gdk_text_property_to_text_list_for_display): Make work more like
X11 version. Do obey the encoding parameter.
(gdk_string_to_compound_text_for_display,
gdk_utf8_to_compound_text_for_display): Don't even pretend
supporting COMPOUND_TEXT.
(gdk_utf8_to_string_target): Convert to ISO-8859-1, like on X11.
Tor Lillqvist [Tue, 6 Jul 2004 22:27:44 +0000 (22:27 +0000)]
Mark the version variables for proper import and export from Windows DLLs.
2004-07-06 Tor Lillqvist <tml@iki.fi>
* gdk-pixbuf-features.h.in: Mark the version variables for proper
import and export from Windows DLLs. Thanks to Laurent Sansonetti
for reporting the problem.
Add stock_file_16.png, stock_file_24.png, stock_directory_16.png and
2004-07-06 Matthias Clasen <mclasen@redhat.com>
* gtk/stock-icons/Makefile.am: Add stock_file_16.png,
stock_file_24.png, stock_directory_16.png and stock_directory_24.png.
* gtk/gtkstock.h (GTK_STOCK_FILE, GTK_STOCK_DIRECTORY):
* gtk/gtkiconfactory.c (get_default_icons): New stock icons as
fallbacks for gtkfilechooser. Currently these are the same images
as the "new" and "open" items...
* gtk/gtkuimanager.c (do_updates):
(do_updates_idle): Only call GDK_THREADS_ENTER() / _LEAVE()
when called from an idle handler. (#145429, Jan-Marek Glogowski)
* gtk/gtkfilechooserutils.c (delegate_notify): Use
the less efficient g_object_interface_find_property () instead
of the param_id range check, since the GParamSpecs we're
dealing with are the overridden onces on the interface, whose
param_id is always zero. (#145312, Alex Roitman, fix proposed
by Owen Taylor)
added a default method for the add virtual method of GtkContainer.
* gtk/gtklayout.c (gtk_layout_add): added a default method for the add
virtual method of GtkContainer.
(gtk_layout_class_init): assign gtk_layout_add to the 'add' virtual
method slot of the container class.
Anders Carlsson [Sun, 4 Jul 2004 23:19:46 +0000 (23:19 +0000)]
Add an "activate_cursor_item" action signal and bind it to the return key.
2004-07-05 Anders Carlsson <andersca@gnome.org>
* gtk/gtkiconview.c: (gtk_icon_view_class_init),
(gtk_icon_view_real_select_cursor_item),
(gtk_icon_view_real_activate_cursor_item):
* gtk/gtkiconview.h:
Add an "activate_cursor_item" action signal
and bind it to the return key.
Anders Carlsson [Sun, 4 Jul 2004 20:35:35 +0000 (20:35 +0000)]
Add a simple file browser based on the icon view.
2004-07-04 Anders Carlsson <andersca@gnome.org>
* demos/gtk-demo/Makefile.am:
* demos/gtk-demo/gnome-fs-directory.png:
* demos/gtk-demo/gnome-fs-regular.png:
* demos/gtk-demo/iconview.c: (load_pixbufs), (fill_store),
(sort_func), (create_store), (item_activated), (up_clicked),
(home_clicked), (do_iconview):
Add a simple file browser based on the icon view.
* gtk/gtk.h:
Add gtk/gtkiconview.h
* gtk/gtkiconview.c: (gtk_icon_view_layout),
(gtk_icon_view_item_new), (gtk_icon_view_item_activated):
Fix a few bugs discovered while writing the demo.
Fix off-by-one error. GDate month is one-based and GtkCalendar month is
Sun Jul 4 01:29:35 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcalendar.c (gtk_calendar_drag_data_get):
(gtk_calendar_drag_data_received): Fix off-by-one error.
GDate month is one-based and GtkCalendar month is zero-based.
(#145134, William Jon McCann)
Don't crash if somebody tries to move a node after itself in a list of
Sun Jul 4 01:11:07 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtktreestore.c (gtk_tree_store_move): Don't crash if
somebody tries to move a node after itself in a list of
length 1. (#145291, Sampo Nurmentaus)
Let the cursor move to the right end of the entry text, even if it ends in
Sat Jul 3 01:48:19 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkentry.c (gtk_entry_move_visually): Let the cursor move
to the right end of the entry text, even if it ends in combining
marks. (#141728, Theppitak Karoonboonyanan)
* gtk/gtknotebook.c (gtk_notebook_realize): Add scroll events
to the event mask, set a scroll_event handler.
* gtk/gtknotebook.c (gtk_notebook_scroll): Handle scroll events
by switching tabs. (#145244, Gabriel de Perthuis)
Matthias Clasen [Sat, 26 Jun 2004 03:39:35 +0000 (03:39 +0000)]
Allow passing NULL to unset the model. (#137211, patch by Mariano
Fri Jun 25 23:35:42 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkentrycompletion.c (gtk_entry_completion_set_model):
* gtk/gtkcombobox.c (gtk_combo_box_set_model): Allow passing
NULL to unset the model. (#137211, patch by Mariano Suárez-Alvarez)
Fri Jun 25 23:33:05 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): Fix the
placement policy for GtkComboBoxEntry to be: if it fits below,
place below, if it fits above place above, else place in the
larger space and scroll so that the scroll arrow appear at the
far end. (#144362, David A. Knight)
Bastien Nocera [Fri, 25 Jun 2004 15:21:43 +0000 (15:21 +0000)]
reviewed by: Matthias Clasen <maclas@gmx.de>
2004-06-25 Bastien Nocera <hadess@hadess.net>
reviewed by: Matthias Clasen <maclas@gmx.de>
* gdk/x11/gdkkeys-x11.c: (get_symbol), (update_keymaps),
(gdk_keymap_lookup_key), (translate_keysym): fix keys parsing when
the number of keysyms per keycode is odd. Fixes #144808.
Use a Save or an Open stock button for the C-l dialog depending on the
2004-06-22 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (location_popup_handler): Use a Save
or an Open stock button for the C-l dialog depending on the action
in which the file chooser operates. Fixes #141753.
2004-06-22 Federico Mena Quintero <federico@ximian.com>
Fixes the GTK+ part of #142308:
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_filename_to_path):
Use filename_to_path().
(gtk_file_system_unix_uri_to_path): Likewise.
(filename_to_path): Use remove_trailing_slash().
Matthias Clasen [Mon, 21 Jun 2004 04:52:24 +0000 (04:52 +0000)]
New functions to rotate pixbufs by multiples of 90 degrees and to flip
Mon Jun 21 00:44:51 2004 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-transform.h:
* gdk-pixbuf-scale.c (gdk_pixbuf_rotate_simple):
* gdk-pixbuf-scale.c (gdk_pixbuf_flip): New functions to
rotate pixbufs by multiples of 90 degrees and to flip them
horizontally or vertically.
Matthias Clasen [Mon, 21 Jun 2004 04:10:07 +0000 (04:10 +0000)]
Remove this unused function. (Patch by Jody Goldberg)
Mon Jun 21 00:06:44 2004 Matthias Clasen <maclas@gmx.de>
* libegg/iconlist/eggiconlist.c (egg_icon_list_item_get_icon_list):
Remove this unused function. (Patch by Jody Goldberg)
Mon Jun 21 00:05:56 2004 Matthias Clasen <maclas@gmx.de>
* libegg/iconlist/eggiconlist.c (egg_icon_list_queue_draw_item):
Avoid warnings if items are selected before the icon list is
realized. (Patch by Jody Goldberg)
Mon Jun 21 00:05:16 2004 Matthias Clasen <maclas@gmx.de>
* libegg/iconlist/eggiconlist.c (egg_icon_list_button_press):
Fix a small problem in mode GTK_SELECTION_NONE.
Sun Jun 20 23:39:51 2004 Matthias Clasen <maclas@gmx.de>
* libegg/iconlist/eggiconlist.c: Let ctrl key combinations
move the focus without influencing the selection.
Matthias Clasen [Sat, 12 Jun 2004 02:08:45 +0000 (02:08 +0000)]
Don't use contractions like "don't" or "isn't" in error messages. It isn't
Fri Jun 11 22:02:56 2004 Matthias Clasen <maclas@gmx.de>
* io-gif.c, io-pnm.c, io-tga.c, io-xpm.c: Don't use
contractions like "don't" or "isn't" in error messages.
It isn't nice to use them in log entries either...
(#137774, Morten Welinder, patch by Alexander Winston)
2004-06-11 Federico Mena Quintero <federico@ximian.com>
Fixes #143578:
* gtk/gtkfilesystemmodel.c (_gtk_file_system_model_add_editable):
Don't ref the editable node.
(_gtk_file_system_model_remove_editable): Don't unref the editable node.
(_gtk_file_system_model_remove_editable): Ahem, free the node.
* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
Added fields for edited_idle and edited_new_text.
(renderer_edited_cb): Queue the
creation of the folder in an idle handler.
(renderer_editing_canceled_cb): Likewise for the cancellation.
(gtk_file_chooser_default_finalize): Free the impl->edited_new_text.
Fixes #144110, patch by Bastien Nocera <hadess@hadess.net>.
2004-06-10 Federico Mena Quintero <federico@ximian.com>
Fixes #144110, patch by Bastien Nocera <hadess@hadess.net>.
* gtk/gtkfilechooser.c (gtk_file_chooser_list_shortcut_folders):
Refer to gtk_file_chooser_add_shortcut_folder().
(gtk_file_chooser_list_shortcut_folder_uris): Refer to
gtk_file_chooser_add_shortcut_folder_uri().
Matthias Clasen [Thu, 10 Jun 2004 04:38:08 +0000 (04:38 +0000)]
Start the drag before focusing the selected.day. Stop a beginning drag if
Thu Jun 10 00:36:15 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcalendar.c (gtk_calendar_main_button): Start
the drag before focusing the selected.day.
* gtk/gtkcalendar.c (gtk_calendar_state_changed): Stop
a beginning drag if the widget becomes insensitive.
Matthias Clasen [Thu, 10 Jun 2004 04:09:33 +0000 (04:09 +0000)]
Start spinning before calling arrow_action(), so that a signal handler
* gtk/gtkcalendar.c (gtk_calendar_button_press): Start
spinning before calling arrow_action(), so that a signal
handler triggered from arrow_action() has a chance to
stop the spinning. (#143966, Davyd Madeley)
Revert the patch from 2003/Sep/12. This kept DnD in tree views within
2004-06-07 Federico Mena Quintero <federico@ximian.com>
* gtk/gtktreeview.c (gtk_tree_view_button_press): Revert the patch
from 2003/Sep/12. This kept DnD in tree views within modal
dialogs from working, which is especially bad for the file
chooser. Fixes #135168.