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)