2005-02-01 Matthias Clasen * gtk/updateiconcache.c (main): Add a --quiet option. 2005-02-01 Tor Lillqvist * gdk/win32/gdkkeys-win32.c (handle_special, set_shift_vks, reset_after_dead, handle_dead): New functions, code blocks refactored out of update_keymap(). No functionality change. (update_keymap): Use ToUnicodeEx() when available (on NT-based Windows) instead of ToAsciiEx(). Makes keyboard input work in Unicode-only input locales that don't have any ANSI codepage, for instance Hindi and Bengali. Use _gdk_input_codepage only on Win9x. (#165723) * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_INPUTLANGCHANGE, use GetLocaleInfo() instead of TranslateCharsetInfo() to get the input locale's corresponding codepage, if any. 2005-01-31 Matthias Clasen * modules/input/gtkimcontextxim.c: Use NULL, not 0 to terminate NULL-terminated va lists. (#165683) 2005-01-29 Matthias Clasen * gtk/gtkseparatortoolitem.c (gtk_separator_tool_item_set_draw): Typo fix. (#165581, Masao Mutoh) Thu Jan 27 14:25:45 2005 Manish Singh * README.cvs-commits: update ancient IRC info. 2005-01-27 Federico Mena Quintero Merged from gtk-2-6: * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_select_path): Oops, don't assert that we can't reach the end of the function; this happens if we are still loading but don't need a path change. Fixes #165213. 2005-01-27 Matthias Clasen * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): Make wrapping work in RTL mode. * gtk/gtkaboutdialog.c: Some visual tweaks to the about dialog, obey HIG spacing a bit more, add a hand cursor when over the link button. (#163979, Jorn Baayen) 2005-01-26 Matthias Clasen * gtk/gtkentrycompletion.c (gtk_entry_completion_class_init): Don't allow -1 as minimum-key-length. (gtk_entry_completion_set_model): Add missing notification. (gtk_entry_completion_set_minimum_key_length): Add missing notification, allow setting minimum-key-length to 0. (#165194, Vincent Ladeuil) 2005-01-26 Matthias Clasen * gtk/gtkaboutdialog.c (display_license_dialog): Make sure the license dialog is initially displayed without a horizontal scrollbar. (gtk_about_dialog_class_init): Document the fact that the license text is not wrapped. (#165012, Christian Rose) 2005-01-25 Matthias Clasen * gtk/gtkbutton.c (gtk_button_set_image): Fix docs. (#165180, Jeff Franks) * gdk/x11/gdkwindow-x11.c (gdk_window_configure_finished): Fix docs. (#165163, Jeff Franks) * gtk/gtkimage.c (gtk_image_get_property): Use the correct setter for a string GValue. (#165203, Damon Chaplin) 2005-01-24 Matthias Clasen * gdk/x11/gdkdisplay-x11.c (_gdk_windowing_set_default_display): Initialize user_time from DESKTOP_STARTUP_ID. (#165131, Elijah Newren) 2005-01-24 Federico Mena Quintero * gtk/gtkfilechooserdefault.c: Removed leftover comments. 2005-01-24 Federico Mena Quintero Merged from gtk-2-6: Fix #147785 and clean up the loading code: * gtk/gtkfilechooserdefault.c (LoadState): Make the set of states be EMPTY, PRELOAD, LOADING, FINISHED. (gtk_file_chooser_default_init): Start in the LOAD_EMPTY state. (struct _GtkFileChooserDefault): Added a pending_select_paths field. (load_remove_timer): Add the new states. (load_setup_timer): Likewise. (load_timeout_cb): Likewise. Switch to the LOAD_LOADING state. (browse_files_model_finished_loading_cb): Switch to the LOAD_FINISHED state. (enum PendingOp): Removed. (struct _GtkFileChooserDefault): Removed the pending_op and pending_select_path fields. (pending_select_paths_free): New utility function. (pending_select_paths_add): New utility function. (gtk_file_chooser_default_finalize): Call pending_select_paths_free(). (pending_op_queue): Removed. (pending_op_process): Removed. (pending_select_paths_process): New function. (browse_files_model_finished_loading_cb): Call pending_select_paths_process(). (center_selected_row_foreach_cb): Handle multiple selection by only centering the first row. (get_is_file_filtered): Constify. (gtk_file_chooser_default_select_path): Queue into a list of paths to select if we are not finished loading. (show_and_select_paths): New utility function. (up_folder_handler): Use pending_select_paths_add(). (gtk_file_chooser_default_should_respond): Do not call pending_op_queue(); free the pending_selected_paths instead. (gtk_file_chooser_default_initial_focus): Don't queue a pending operation, and don't select the first row unconditionally --- this will happen when the folder is done loading. (shortcuts_row_activated_cb): Free the pending_select_paths. (pending_select_paths_store_selection): New utility function. (gtk_file_chooser_default_map): Call pending_select_paths_store_selection() to save the selection before reloading the folder. (select_func): Umm? Call gtk_tree_selection_select_iter(). Don't move the cursor here; it will be done when processing the pending paths. * tests/testfilechooser.c (main): Add a button to the command window to unmap and remap the file chooser. 2005-01-24 Matthias Clasen * docs/tutorial/gtk-tut.sgml: * docs/tutorial/gtk_tut.sgml: * docs/reference/gtk/tmpl/gtkliststore.sgml: * gtk/gtkactiongroup.c: * gtk/gtksizegroup.c: * gtk/gtksizegroup.h: * gtk/gtktogglebutton.c: Replace "effect" by "affect" where appropriate. (#165108, Dan Winship) 2005-01-24 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_class_init): Document GtkWidget::style-set. (#164222, Alex Graveley) 2005-01-22 Matthias Clasen * gdk/gdkdisplay.h (gdk_display_add_client_message_filter_full): Remove the accidentally added prototype for this unimplemented function. (#164893, Jeff Franks) * gtk/gtktreeview.c (gtk_tree_view_leave_notify): Avoid spurious drags. (#164884) 2005-01-23 Tor Lillqvist * gdk/win32/gdkkeys-win32.c (update_keymap): Handle Greek tonos dead accent key. (#164859, reported and fix verified by Daniel Atallah.) * gtk/gtkimcontextsimple.c (gtk_compose_seqs): Handle GDK_Greek_accentdieresis (tonos and dialytika) combining with iota and upsilon. * gtk/gtkfilesystemwin32.c (gtk_file_system_win32_volume_get_display_name): Don't call GetVolumeInformation() for network drives. They might be disconnected, and calling GetVolumeInformation() will then cause long delays. (#164448, reported by Dave Neary.) It seems to be very hard to reliably find out whether a network drive is connected or not, so it's easier to just not try getting the volume name for them. See the bug report for discussion. Make volume name display formats translatable. Fix for #163702, from Ivan Wong: * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkglobals-win32.c: New flag _ignore_destroy_clipboard. * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle WM_DESTROYCLIPBOARD. Unless _ignore_destroy_clipboard, generate a GDK_SELECTION_CLEAR event. * gdk/win32/gdkselection-win32.c (gdk_selection_owner_set_for_display): Set _ignore_destroy_clipboard when emptying the clipboard ourselves. (gdk_selection_send_notify_for_display): Remove the artifical GDK_SELECTION_CLEAR event generation. 2005-01-21 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_get_accessible): More details provided by Bill Haneman. 2005-01-20 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_get_accessible): Add docs. (#164725, George Kraft IV) * gtk/gtkdialog.c (gtk_dialog_map): Don't loop forever here, even if the only focusable widgets are labels. 2005-01-20 Matthias Clasen Support tinting in GtkCellRendererPixbuf (#162903, Jorn Baayen): * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_class_init) Add a follow-state property which when TRUE causes the pixbuf to be tinted according to state. * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Use follow-state and colorize the pixbuf when appropriate. 2005-01-20 Matthias Clasen Support wrapping in GtkCellRendererText (#163608): * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): Add wrap-mode and wrap-width properties which cause a text cell to break to a specified width when set. * gtk/gtkcellrenderertext.c (get_layout): Use wrap-mode and wrap-width when they are set. 2005-01-20 Matthias Clasen * gtk/gtkmodules.c (load_module): Don't reverse the order of modules when putting them in gtk_modules. (#162676, Dennis Cranston, patch by Remus Draica) * gtk/gtktreeview.c (gtk_tree_view_search_move): Don't crash if the tree is empty. (#164669, Priit Laes) Wed Jan 19 18:57:02 2005 Manish Singh * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): Call GDK_DISPLAY_XDISPLAY with a display, not a window. Clean up the function a bit too. Wed Jan 19 17:17:31 2005 Manish Singh * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): Squash strict aliasing warning in _NET_VIRTUAL_ROOTS code. 2005-01-19 Tor Lillqvist * gdk/win32/gdkkeys-win32.c (update_keymap, gdk_keymap_translate_keyboard_state): Handle keyboards with ShiftLock (and not CapsLock) correctly. (#161814) 2005-01-19 Matthias Clasen * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond): In save mode, don't return paths containing nonexisting directories. (#162443, Jean Marie Favreau) * gtk/gtkobject.c (gtk_object_add_arg_type): Use GLib limit macros to avoid sparse warnings. Pointed out by Kjartan Maraas. * gdk/x11/gdkdisplay-x11.c: Precache the _NET_VIRTUAL_ROOTS atom. * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): Support _NET_VIRTUAL_ROOTS. (#163910, Carsten Haitzler) * gdk/gdk.symbols: * gdk/x11/gdkx.h: * gdk/x11/gdkdisplay-x11.c (gdk_x11_display_get_user_time): Add a function to obtain the last user interaction time. (#163119, Elijah Newren) Tue Jan 18 13:56:09 2005 Manish Singh * gtk/gtkfilechooserdefault.c (pending_op_queue): Actually assign PENDING_OP_NONE. Tue Jan 18 13:46:46 2005 Manish Singh * gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render_with_trapezoids): disambiguate nested if/else. 2005-01-18 Federico Mena Quintero Merged from gtk-2-6: * gtk/gtkfilechooserdefault.c (pending_op_queue): Don't queue an operation to select the first file if we are in SAVE or CREATE_FOLDER modes. Executing that operation would overwrite the contents of the save-name entry. 2005-01-18 Matthias Clasen * gdk/gdkdisplay.h: * gdk/x11/gdkwindow-x11.c (gdk_display_warp_pointer): * gdk/win32/gdkwindow-win32.c (gdk_display_warp_pointer): Add pointer warping to GDK. (#160437) * gtk/gtkcolorsel.c (key_press): Use gdk_display_warp_pointer. 2005-01-18 Matthias Clasen * gtk/gtkstyle.c (gtk_default_draw_check) (gtk_default_draw_option, gtk_default_draw_handle): Add some more NULL checks, patch by Michael Natterer. Tue Jan 18 10:55:47 2005 Søren Sandmann * gtk/gtkstyle.c (gtk_default_draw_handle): Check for NULL detail and NULL widget. * gtk/gtkstyle.c (gtk_default_draw_box): Check for NULL detail and NULL widget. (#164477, Michael Natterer) 2005-01-18 Matthias Clasen Avoid X errors when running against servers which implement XRender < 0.4. (#164427, Albert Chin) * gdk/x11/gdkprivate-x11.h: * gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render_with_trapezoids): New function to check for trapezoid support in XRender. (gdk_x11_draw_trapezoids, _gdk_x11_drawable_draw_xtrapezoids): Use it here. * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add a separate have_render_with_trapezoids field. * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Initialize it. 2005-01-17 Matthias Clasen * gtk/gtkiconview.c: Remove debug output. (#164376, Jens Finke) Mon Jan 17 16:44:36 2005 Jonathan Blandford * docs/Makefile.am (EXTRA_DIST): add tree-column-sizing.png to dist. 2005-01-17 Matthias Clasen * gtk/gtkfilechooserdefault.c (shortcuts_add_bookmarks): Save and restore the selected row in the bookmark list and the save folder combo. (#164290) 2005-01-16 Matthias Clasen * gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_new_with_backend): Fix argument order in docs. 2005-01-15 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_check_keymap_direction): * gtk/gtkentry.c (gtk_entry_create_layout): Prefer LTR over RTL if the keymap is neutral. (#164125, Phil Blundell) 2005-01-14 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_set_search_column): Allow to reset the property to its default value -1. (gtk_tree_view_get_search_column): Return the default value in the g_return_val_if_fail() check. (#163864, Richard Hult) * gtk/gtkcellrendererprogress.c (gtk_cell_renderer_progress_set_value): Add a translator hint. (#163889) * configure.in: Check for _NL_TIME_FIRST_WEEKDAY too, since it is an enum value, not a define. Pointed out by Tommi Komulainen. * gtk/gtkcalendar.c (gtk_calendar_init): Adapt. 2005-01-13 Matthias Clasen * configure.in: Check for nl_langinfo() * gtk/gtkcalendar.c (gtk_calendar_init): Use nl_langinfo() when it's available to determine first day of week (#163842, Vincent Untz) * gtk/gtkuimanager.c (gtk_ui_manager_get_widget): Add hints about the lifecycle of widgets. (#159503, Christian Persch) * demos/gtk-demo/main.c (create_text): Use monospace for the source code view. (#163526, Theerud Lawtrakul) * gtk/gtkaboutdialog.c (gtk_about_dialog_init): Use R as mnemonic for the Credits button to avoid duplicate. (#163465, Tim-Philipp Müller) * configure.in: Add an OS_LINUX conditional. * gdk/Makefile.am (TESTS): * gdk-pixbuf/Makefile.am (TESTS): * gtk/Makefile.am (TESTS): Only run abicheck on Linux. (#163917, Roger Leigh) 2005-01-13 Matthias Clasen * gtk/gtktreeview.c: (gtk_tree_view_class_init), (gtk_tree_view_set_headers_clickable): Make the headers-visible property readwrite instead of just writable, and remove the g_return_if_fail check that there is a model when setting this property. Also improve the blurb. (#163851, Richard Hult) 2005-01-12 Owen Taylor * configure.in: Remove GLIB_DIVERT_BEFORE_HELP() on initialization of gdktarget, that was causing it to be evaluated before host was set. Simplify --with-gdktarget help message. * gtk/Makefile.am: Use grep | head -n 1 instead of grep -m 1 which doesn't work with slightly older versions of GNU grep in install-libtool-import-lib rule. 2005-01-12 Tor Lillqvist Fix for #162790, by Iwan Wong: * gdk/win32/gdkdrawable-win32.c: Implement dashed lines correctly. Simplify the interface to render_line_horizontal() and render_line_vertical(). Need to draw lines "manually" also on NT-based Windowses if we have a dash offset or are drawing double-dashed lines. * gdk/win32/gdkprivate-win32.h: Keep also the dash offset, double-dash flag, and a brush for the background colour (used by the odd dashes in the double-dash line style) in the GdkGCWin32 struct. * gdk/win32/gdkgc-win32.c: Set up above new fields. 2005-01-10 Federico Mena Quintero Fix #162617. * gtk/gtkfilesystemunix.c (STAT_NEEDED_MASK): Take out GTK_FILE_INFO_IS_HIDDEN; we don't need to stat() to know this. (gtk_file_system_unix_get_folder): Make error reporting more accurate. Don't bail out if we can't read the directory. (fill_in_stats): Don't return an error; just assume we don't have stat info for this folder's files. (fill_in_names): Don't create the hash table for the names if we can't open the directory. (gtk_file_folder_unix_list_children): Don't emit the "finished-loading" signal --- we don't do asynchronous loads, so we are always finished loading. (gtk_file_folder_unix_get_info): Use helper functions; handle the case where we can't stat '/'. (get_icon_type_from_path): Don't call fill_in_stats() here; only use the info we have. (fill_in_mime_type): Don't return an error. Don't do anything if we don't have the stat info. 2005-01-10 Owen Taylor * Makefile.am (EXTRA_DIST): Adding missing ChangeLog.pre* to EXTRA_DIST. 2005-01-10 Matthias Clasen * gtk/gtkaccelgroup.c (gtk_accel_group_class_init): Document signals. (#163319, Murray Cumming) 2005-01-09 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Set current cursor also when changing the cursor of a window that is the first ancestor of the window containing the pointer that has a cursor defined. (#163035, Ivan Wong) 2005-01-09 Anders Carlsson * gtk/gtkcellrenderertext.c: (get_size): * gtk/gtklabel.c: (gtk_label_size_request): * gtk/gtkprogressbar.c: (gtk_progress_bar_size_request): Don't pass NULL to pango_context_get_metrics. Use pango_context_get_language instead, which is way faster. 2005-01-08 Matthias Clasen * configure.in: Bump version * === Released 2.6.1 === * gdk-pixbuf-2.0.pc.in: Require gmodule-no-export-2.0 2005-01-07 Tor Lillqvist * gdk/win32/gdkselection-win32.c (_gdk_selection_property_store): Fix braino. (#163232, Arnaud Charlet) 2005-01-06 Matthias Clasen * gtk/gtkiconview.c: Make markup_column work, and fix some layout issues when either icon or text is missing. (#163065) 2005-01-06 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (file_list_build_popup_menu): Add an "Open _Location" item. Fixes #148839. 2005-01-06 Matthias Clasen * README.in: Fix a typo. (#163128, kentaro fukuchi) 2005-01-06 James M. Cape * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_new) (gtk_file_chooser_button_new_with_backend): Use default title if NULL is passed. * docs/reference/gtk/tmpl/gtkfilechooserbutton.sgml: Make examples match API. 2005-01-05 Federico Mena Quintero Fix #161409: * gtk/gtkfilechooserdefault.c (shortcuts_row_activated_cb): Queue a pending operation to select the first row. 2005-01-05 Federico Mena Quintero * gtk/gtkpathbar.c (_gtk_path_bar_set_path): Don't call button_data_free() explicitly; the button is weak-reffed and the callback will free the button data. Fixes #163010. (_gtk_path_bar_set_path): Don't ref/sink the button. And for the failure case, call gtk_widget_destroy() on it. * gtk/gtkfilechooserdefault.c (check_is_folder): Use gtk_file_system_get_folder() again (see the ChangeLog entry from 2004-08-25). We can't first get the parent folder and then request the info for the path in question, as the parent folder may not be readable. See bug #162617. (gtk_file_chooser_default_set_current_folder): Assert that the passed-in path is not null. (shortcuts_find_current_folder): Likewise. (shortcuts_add_current_folder): Likewise. (set_list_model): Likewise. (gtk_file_chooser_default_map): Only reload the current folder if it exists. (bookmarks_check_add_sensitivity): Check for the current folder being NULL. (browse_files_select_first_row): Don't set the cursor if there is no model loaded. 2005-01-05 Matthias Clasen * gtk/gtkfilechooserdefault.c: Don't construct errors from the GTK_FILE_SYSTEM_ERROR domain. Partial fix for #162911. (get_file_info, check_is_folder): Translate errors from the filesystem into the GTK_FILE_CHOOSER_ERROR domain. Rest of the fix for #162911, noticed by Murray Cumming. Wed Jan 5 11:42:49 2005 Søren Sandmann * gtk/gtkviewport.c (gtk_viewport_realize): * gtk/gtktextview.c ((text_window_realize): Set the background of the windows to None instead of adding EXPOSURE_MASK, as suggested by Owen in #162112. * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Update the user time when receiving a WM_DELETE message. (#162980, Elijah Newren) Tue Jan 4 16:52:14 2005 Jonathan Blandford * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_event): only reorder on button 1, part of #141937 Tue Jan 4 11:36:43 2005 Søren Sandmann Bug 162112. * gtk/gtktextview.c (text_window_realize): Add GDK_EXPOSURE_MASK to win->window's event_mask * gtk/gtkviewport.c (gtk_viewport_realize): Add GDK_EXPOSURE_MASK to viewport->view_window. 2005-01-04 Matthias Clasen * demos/testpixbuf.c (main): Remove the size_prepared callback, to test incremental display. (new_testrgb_window): Return the drawing area, not the window, since we want to queue draws on the drawing area. 2005-01-03 Matthias Clasen * examples/*: Re-extract. * docs/tutorial/gtk-tut.sgml: Small corrections. * docs/tutorial/gtk-tut.sgml: Some updates for the drawing section. (#161414, Robert Ancell) * docs/tutorial/gtk-tut.sgml: Make it build. * gtk/gtkdialog.c (gtk_dialog_run): Some clarification regarding modality. (#112903, Dave Bordoley) * gtk/gtkfixed.c (gtk_fixed_set_has_window): Add a little motivation. (#145556, Tommi Komulainen) * docs/tutorial/gtk-tut.sgml: Clarify section on g_signal_connect_swapped. (#120543, David Bourguignon) Make gtk_icon_theme_load_icon() work independent of icon factory initialization. (#162791, Tristan Van Berkom) * gtk/gtkiconfactory.[hc]: Rename ensure_default_icons to _gtk_icon_factory_ensure_default_icons, and make it non-static. * gtk/gtkicontheme.c (find_builtin_icon): ..and call it here. 2005-01-02 Matthias Clasen * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_remove_shortcut_folder): Don't add a shortcut here. (#162752, Tor Lillqvist) 2005-01-02 Tor Lillqvist * gtk/Makefile.am (libgtk_target_ldflags): Add -lole32, needed for CoTaskMemFree in get_special_folder() below. * gtk/gtkfilesystem.h: Implement case-insensitive path compare on Win32 using _gtk_file_system_win32_path_compare(). * gtk/gtk.symbols: Add _gtk_file_system_win32_path_compare. * gtk/gtkfilechooserbutton.c (model_add_special) * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Use _gtk_file_system_win32_get_desktop() to get correct Desktop folder on Win32. (#144003) * gtk/gtkfilesystemwin32.c: Remove unnecessary includes. Do consider all drives "mounted", including floppies. Trying to inspect the contents of a nonexistent floppy will cause errors later that are handled normally, no need to avoid them completely. Keep the drive type in the GtkFileSystemVolume. Support UNC paths. (#161797, #137874) Fix error message capitalizations as in gtkfilesystemunix.c. (gtk_file_system_win32_init): Start one timeout per GtkFileSystemWin32. (gtk_file_system_win32_finalize): Remove the timeout. (get_special_folder): Copied from GLib. (_gtk_file_system_win32_get_desktop): New function, uses get_special_folder(). (gtk_file_system_win32_list_volumes): Don't start a timeout at each call to this function. Don't assume A: and B: are floppies. (gtk_file_system_win32_get_volume_for_path): Don't assume all volumes are drive roots, i.e. support share roots of UNC paths (\\server\share). (gtk_file_system_win32_get_folder): Don't assume errno is set after g_file_test() returns FALSE. It isn't on Win32 (and even on Unix I don't think one should assume anything about errno after g_file_test()). (gtk_file_system_win32_volume_get_is_mounted): Always return TRUE. (gtk_file_system_win32_volume_get_display_name): Don't call GetVolumeInformation() on drives A: or B: if they are removable, as they might then be floppies, causing an unnecessary delay. (#157820) (gtk_file_system_win32_volume_render_icon): Use network icon for unrecognized drive types. (canonicalize_filename, gtk_file_system_win32_parse): Don't get confused by UNC paths. (bookmarks_serialize): Use _gtk_file_system_win32_path_compare() for case-insensitive UTF-8 path comparison. (extract_icon): Use SHGetFileInfo() which is faster than ExtractAssociatedIcon(). Icon extraction is still slow, though, needs work. (win32_pseudo_mime_lookup): Don't use the same icon for all shortcuts or executables. Cache only other file type icons. (gtk_file_system_win32_render_icon): Use network stock icon for remote drives and UNC server share roots. Compare home directory case-insensitively. Do lookup icons also for executable files, after all, it's these files that can have individual icons in the first place. Yes, it can be slow. Needs work. (filename_is_drive_root): Require also the slash after the colon. (filename_is_server_share): New function. (_gtk_file_system_win32_path_compare): New function, does case-folded UTF-8 comparison. * gtk/gtkfilesystemwin32.h: Declare _gtk_file_system_win32_path_compare(). 2005-01-01 Matthias Clasen * gtk/gtkbutton.c (gtk_button_set_image): Allow unsetting the custom image by passing NULL. (gtk_button_init): Initialize image_is_stock to TRUE, fixing a problem with changing stock labels. (#162273, Marcin Krzyzanowski) 2005-01-01 Tor Lillqvist * gtk/gtkmodules.c (get_module_path) * gtk/gtkrc.c (gtk_rc_make_default_dir, gtk_rc_get_im_module_file, gtk_rc_get_theme_dir, gtk_rc_add_initial_default_files): With g_getenv() now returning UTF-8 on Win32, no need to call g_locale_to_utf8(). 2004-12-31 Matthias Clasen * gtk/gtkkeyhash.c (_gtk_key_hash_lookup_keyval) (_gtk_key_hash_lookup): Don't sort a list of values as if it was a list of entries. This fixes crashes during mnemonic activation in the presence of multiple keymaps. (#162488, Christian Persch) 2004-12-30 Matthias Clasen * gtk/gtkcombobox.c (gtk_combo_box_button_state_changed): Fix state propagation when making an insensitive combo box sensitive again. (#162524, Carlos Garnacho Parro) * gtk/gtkfilechooserdefault.c: Use secondary text for error dialogs. * gtk/gtkfilesystemunix.c: Clean up some cases of errno handling (#162496, noted by Tor Lillqvist), and use g_filename_display_name() for error messages. Also mark some error messages for translation, fix capitalization of error messages. * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property): Use g_value_get_boolean() for ellipsize_set. (#162447, Brian Tarricone) 2004-12-30 Tor Lillqvist * gtk/gtkicontheme.c (gtk_icon_theme_init): Use /usr/share/pixmaps only on Unix. 2004-12-28 Matthias Clasen * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Inherit submenu direction from the parent menu. * gtk/gtkmenushell.c (gtk_menu_shell_select_submenu_first): Return a boolean indicating whether an item in the submenu was selected. (gtk_real_menu_shell_move_current): When going in child direction, don't get stuck at completely insensitive submenus. (#162055, Billy Biggs) 2004-12-27 Matthias Clasen Make the clipboard image API more robust (#162357, Torsten Schoenfeld): * gtk/gtkclipboard.c (clipboard_image_received_func): Don't ref the pixbuf if it is NULL. * gtk/gtkselection.c (gtk_selection_data_set_pixbuf): NULL-terminate the varargs in the call to gdk_pixbuf_save_to_buffer(). (gtk_selection_data_get_pixbuf): Only use a pixbuf loader if there is data to load. 2004-12-27 Matthias Clasen * gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): Set x_root and y_root in button and motion events from extended input devices. (#148715, Robert Ögren) * gtk/gtktreeview.c (gtk_tree_view_class_init): Fix a typo. (#162339, Alessio Dessi) * gtk/gtkadjustment.c (gtk_adjustment_class_init): Document properties as new since 2.4. (#156101, Billy Biggs) * configure.in: Add a warning about the linux-fb target. (#155488, Zeeshan Ali) * gtk/gtkmain.c (gtk_init_with_args): Typo fix. (#162278, Torsten Schoenfeld) 2004-12-26 Matthias Clasen * gtk/gtkfilechooser.c (gtk_file_chooser_set_action): Typo fix. (#162219, Masao Mutoh) (gtk_file_chooser_set_preview_widget_active): Another typo. (#162218, Masao Mutoh) 2004-12-23 Matthias Clasen * gtk/gtkliststore.c (gtk_list_store_iter_children): Return TRUE if there are children. (#162134, Iñigo Serna, patch by John Finlay) * gtk/gtkcombobox.c (gtk_combo_box_button_state_changed): Transfer state from the button to the cell view to get prelighting right. (#156327, Ricardo Veguilla) Wed Dec 22 14:22:19 2004 Søren Sandmann * tests/testtoolbar.c (timeout_cb): Add sensitivity-changing timeout. Written by Christian Persch. Wed Dec 22 14:14:02 2004 Søren Sandmann Bug #161561 * gdk/x11/gdkwindow-x11.c (tmp_{re,un}set_bg): Only set/reset the background for windows that get expose events. * gdk/gdkwindow.c (gdk_window_process_updates_internal): Remove hack to repaint !expose windows. Wed Dec 22 11:35:41 2004 Søren Sandmann Bug #147497, make menu items activate immediately when you release the button. * gtk/gtkmenu.c (gtk_menu_enter_notify, menu_motion_notify): Make items activate immediately. * gtk/gtkmenu.c (definitely_within_item): New function * gtk/gtkmenu.c (check_threshold): New function 2004-12-22 Matthias Clasen * gtk/gtklabel.c (gtk_label_setup_mnemonic): Don't forget to null the mnemonic_menu when unsetting a mnemonic, reported by Owen Taylor. 2004-12-21 Matthias Clasen * gtk/gtkliststore.c (generate_order): Generate the order the way it is supposed to be, order[new_pos] == old_pos. (gtk_list_store_reorder): Invert the order before using it. 2004-12-22 Matthias Clasen Fix sorting of list stores. (#161886, Marcin Krzyzanowski) * gtk/gtkliststore.c (generate_order): Generate the order the way it is supposed to be, order[new_pos] == old_pos. (gtk_list_store_reorder): Invert the order before using it. * gtk/gtkiconview.c (gtk_icon_view_rows_reordered): Adapt to the list store fix. Wed Dec 22 01:24:01 2004 Jonathan Blandford * gtk/queryimmodules.c (main): print out the version and binary name in the header comment. Problem reported by Seth Nickell. 2004-12-20 Matthias Clasen * gtk/gtkliststore.c (gtk_list_store_sort_iter_changed): Pass a root path to gtk_tree_model_rows_reordered(). (#161720, Marcin Krzyzanowski) * gtk/gtkactiongroup.c (gtk_action_group_translate_string): Don't translate NULL messages. (#161789, Morten Welinder) * gtk/gtkmessagedialog.c (setup_primary_label_font): Don't show the secondary label on show_all(). (#161707, Christian Persch) 2004-12-19 Tor Lillqvist * gdk/win32/gdkdnd-win32.c (resolve_link, gdk_dropfiles_filter): Use wide character API when available. Use UTF-8 for filenames. * gdk/win32/gdkselection-win32.c (_gdk_dropfiles_store): Include the string's trailing zero byte in the property's length, just for safety. 2004-12-18 Matthias Clasen * gtk/gtkfilechooserentry.c (check_completion_callback) (load_directory_callback): Add missing GDK_THREADS_ENTER/LEAVE. * gtk/gtkfilechooserdefault.c (edited_idle_cb) (shortcuts_drag_outside_idle_cb): Add missing GDK_THREADS_ENTER/LEAVE. (#161604) * gtk/gtkfilechooserdefault.c (selection_check_foreach_cb): (list_select_func): Don't call gtk_file_info_get_is_folder() on NULL. * gtk/gtkaboutdialog.c (gtk_about_dialog_get_logo_icon_name): (gtk_about_dialog_init): Add missing initializations. (#161646, Torsten Schoenfeld)