2004-07-19 Matthias Clasen * gtk/gtkentrycompletion.c (gtk_entry_completion_set_popup_completion): Fix doc comment. 2004-07-19 Matthias Clasen Make GtkCellView public, since people seem to have uses for it, it is clean API and we were just conservative in not making it public initially. At the same time, get rid of GtkCellViewMenuItem, which doesn't have any function which can't be served by a GtkMenuItem with a GtkCellView child. (#136637, Padraig O'Briain) * gtk/gtk.h: Include gtkcellview.h * gtk/Makefile.am (gtk_public_h_sources): * gtk/Makefile.am (gtk_private_h_sources): (gtk_c_sources): Remove gtkcellviewmenuitem.[hc] * gtk/gtkcombobox.c: Replace all uses of GtkCellViewMenuItem by GtkMenuItem with a GtkCellView child. * gtk/gtkcellviewmenuitem.[hc]: Removed. 2004-07-19 Matthias Clasen Support inline autocompletion in entries (#135953) * gtk/gtkentryprivate.h: * gtk/gtkentrycompletion.h: * gtk/gtkentrycompletion.c (gtk_entry_completion_class_init): Add a new signal ::insert-prefix which can be used to override the default inline-completion behaviour. Add two new boolean properties, :popup_completion and :inline_completion which determine how the possible completions should be presented. (gtk_entry_completion_insert_prefix): New function to request a prefix insertion. * gtk/gtkentry.c: Add the necessary glue for inline completion. Sun Jul 18 15:28:24 2004 Soeren Sandmann * gtk/gtkdnd.c (gtk_drag_source_set, gtk_drag_dest_set): Create an empty target list if targets is NULL. * configure.in: Add check for X11/extensions/sync.h. (#147416, Morten Welinder) Sun Jul 18 01:24:31 2004 Matthias Clasen * NEWS: Updates for 2.5.0 Sat Jul 17 23:11:04 2004 Matthias Clasen * gtk/gtkiconview.h: * gtk/gtkiconview.c (gtk_icon_view_class_init): * gtk/gtkiconview.c (gtk_icon_view_set_orientation): * gtk/gtkiconview.c (gtk_icon_view_get_orientation): * gtk/gtkiconview.c (gtk_icon_view_calculate_item_size): * gtk/gtkiconview.c (gtk_icon_view_layout_single_row): Add a new :orientation property to determine whether text is positioned below or beside icons. (#147463) Sat Jul 17 23:03:30 2004 Matthias Clasen * gtk/gtkiconview.c (gtk_icon_view_paint_item): * gtk/gtkiconview.c (gtk_icon_view_calculate_item_size): * gtk/gtkiconview.c (gtk_icon_view_layout_single_row): Draw focus indicator outside the selection, respect focus line width. (#147460) Sat Jul 17 01:17:33 2004 Matthias Clasen * gdk/x11/gdkdnd-x11.c (xdnd_check_dest): Fix a warning message. Sat Jul 17 00:48:27 2004 Matthias Clasen Support text/plain selection target (#55117, Owen Taylor) * gtk/gtkselection.h: * gtk/gtkdnd.h: * gtk/gtkselection.c (gtk_target_list_add_text_targets): * gtk/gtkdnd.c (gtk_drag_dest_add_text_targets): * gtk/gtkdnd.c (gtk_drag_source_add_text_targets): New functions to facilitate handling of text targets. * gtk/gtkentry.c: * gtk/gtktextview.c: Use the new text target handling functions instead of hardwiring the list of supported text targets everywhere. * gtk/gtkselection.c (gtk_selection_data_get_text): (gtk_selection_data_set_text): Support the targets text/plain, text/plain?charset=utf-8 and text/plain?charset= as outlined in #55117: For text/plain send only ASCII, but accept 8-bit text and treat it as ISO-8859-1 as specified by the Xdnd spec. Always send CRLF terminators. Accept either and convert into the native terminator for the platform. Fri Jul 16 23:20:34 2004 Matthias Clasen Support themed window icons. (#92346, Calum Benson) * gtk/gtkicontheme.c (gtk_icon_theme_get_icon_sizes): New function to obtain information about the sizes in which an icon is available. * gtk/gtkwindow.h: * gtk/gtkwindow.c (gtk_window_class_init): (gtk_window_set_icon_name): (gtk_window_get_icon_name): Add an "icon_name" property (gtk_window_set_default_icon_name): ...and a default icon name. (icon_list_from_theme): (update_themed_icon): New auxiliary functions to create a list of all available sizes of a themed icon and update the window icon list from it. 2004-07-16 Matthias Clasen * gtk/gtkcombobox.c (gtk_combo_box_scroll_event): Make scrolling work if no item is selected. (gtk_cell_editable_key_press): Don't eat space. Add a combo box cell renderer (#139347, Lorenzo Gil Sanchez) * gtk/gtkcellrenderercombo.[hc]: New Files. * gtk/gtk.h: * gtk/Makefile.am (gtk_public_h_sources, gtk_c_sources): Add the new files. * gtk/gtkcombobox.[hc]: Implement GtkCellEditable, add a :has-frame property for suppressing the frame around the child and redo the size allocation logic to take focus width into account. * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): Acknowledge the GtkComboBox:has-frame property and make the entry fill its allocation vertically. * gtk/gtkmarshalers.list: Add BOOLEAN:STRING. * gtk/gtktreeview.c (gtk_tree_view_remove_widget): Queue a draw here to keep non-widget windows from leaving shadows behind. 2004-07-16 Matthias Clasen * gtk/gtkcombobox.c (gtk_combo_box_forall): Don't iterate multiple times over some of the children. Thu Jul 15 22:19:40 2004 Matthias Clasen Fix #60128, #58307, #144706: * gtk/gtkstyle.c (gtk_style_real_copy): Handle references to bg_pixmaps properly. (gtk_style_real_unrealize): Don't keep dangling references to the bg_pixmaps. (gtk_style_attach): Split the loop into two loops, first looking for a matching style, then for an empty one. (gtk_style_finalize): (gtk_style_duplicate): Add comments explaining the handling of style->styles. Thu Jul 15 20:31:28 2004 Matthias Clasen * gtk/gtkspinbutton.c (start_spinning): Install the timeout before changing the value, so that a ::value_changed handler has a chance to remove it. (#122427, Elke Meier) Thu Jul 15 19:20:05 2004 Matthias Clasen * gdk/x11/gdkgtk+/im-x11.c (_gdk_x11_initialize_locale): * gtk/gtkcalendar.c (gtk_calendar_class_init): Use 'cannot' instead of 'can not' in messages. (#144226, Morten Welinder) 2004-07-15 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_class_init): * gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): Correct the declared default values of several properties to be in sync with the actual initial values. * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Make spacing a property, correct the declared default values of several properties to be in sync with the actual initial values. (#147654, Matthias Clasen) * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Don't reparent back to menu->toplevel if it is already gone because we're shutting down. (#147656, John Cupitt) 2004-07-14 Federico Mena Quintero Fix #126295: * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Draw a focus indicator along the edge of the bin_window when the tree is empty. (grab_focus_and_unset_draw_keyfocus): New helper function. (gtk_tree_view_button_press): Remove a bit of superfluous code. Use the helper function to save on duplicated code. (gtk_tree_view_button_press): Grab the focus if the tree is empty. (gtk_tree_view_focus): Allow focusing into an empty tree. 2004-07-14 Matthias Clasen * gtk/gtkaboutdialog.c (add_credits_page): Don't use gcc extensions for the ternary ?: operator. (#147590, Damien Carbery) 2004-07-14 Federico Mena Quintero Fix #144405, patch by Padraig O'Briain : * gtk/gtkfilechooserdefault.c (shortcuts_list_create): Set the accessible object name for the tree view. (create_file_list): Likewise. Tue Jul 13 21:53:08 2004 Matthias Clasen * gtk/gtkicontheme.c (free_unthemed_icon): Don't leak no_svg_filename. (#147399, Kjartan Maraas) 2004-07-13 Matthias Clasen * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_get_neighbor_sizes): Make this work in RTL context. 2004-07-13 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (shortcuts_activate_volume): Set a busy cursor while mounting the volume. Also, ref the chooser while mounting, as we may re-enter. Fixes #139376. 2004-07-13 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Prepare to handle composite implementations of GtkCellEditable, but recursively poking at allocation->y (hack stolen from GtkCList). (check_expander_max): Tweak the warning. * gtk/gtkmain.h: Add gtk_parse_args(), its a public function. (#147476, Owen Taylor) * gtk/gtkcombobox.c (gtk_combo_box_popdown): Don't crash if unrealized. Tue Jul 13 01:50:06 2004 Matthias Clasen * gtk/gtkaboutdialog.c (display_credits_dialog): Don't display untranslated translator credits. Tue Jul 13 01:15:05 2004 Matthias Clasen * gtk/gtkiconview.c: Some documentation updates. Tue Jul 13 00:40:29 2004 Soeren Sandmann * gdk/gdkwindow.c (gdk_window_process_updates_internal): Do an empty begin_paint_region()/end_paint() for windows without EXPOSURE_MASK. * gdk/x11/gdkwindow-x11.c (_gdk_x11_window_tmp_unset_bg, _gdk_x11_window_tmp_reset_bg): Remove checks for EXPOSURE_MASK. 2004-07-12 Matthias Clasen * demos/gtk-demo/appwindow.c: Use a GtkAboutDialog. * gtk/gtkaboutdialog.h: * gtk/gtkaboutdialog.c: New widget: GtkAboutDialog. * gtk/Makefile.am (gtk_public_h_sources, gtk_c_sources): * gtk/gtk.h: Add GtkAboutDialog. (#109435, Paolo Borelli, patch by Matthias Clasen) * gtk/gtkrc.c (_gtk_rc_init): Apply the gtk-default-menu-item-style to cell view menu items as well. (#147405, John Cupitt) * gtk/gtkentrycompletion.c: Warning fixes. (#147420, Morten Welinder) * gtk/gtkcombobox.c (gtk_combo_box_destroy): Pop down first. (#147399, John Cupitt) Mon Jul 12 01:56:26 2004 Matthias Clasen * gdk/x11/gdkwindow-x11.c (gdk_toplevel_x11_free_contents): Include the update_counter check in the HAVE_XSYNC condition, since update_counter isn't present in the !HAVE_XSYNC case. Mon Jul 12 00:52:04 2004 Matthias Clasen * gtk/stock-icons/Makefile.am: * gtk/stock-icons/stock_about_{16,24}.png: * gtk/stock-icons/stock_connect_{16,24}.png: * gtk/stock-icons/stock_disconnect_{16,24}.png: * gtk/stock-icons/stock_edit_{16,24}.png: * gtk/stock-icons/stock_media_forward_{16,24}.png: * gtk/stock-icons/stock_media_next_{16,24}.png: * gtk/stock-icons/stock_media_pause_{16,24}.png: * gtk/stock-icons/stock_media_play_{16,24}.png: * gtk/stock-icons/stock_media_previous_{16,24}.png: * gtk/stock-icons/stock_media_record_{16,24}.png: * gtk/stock-icons/stock_media_rewind_{16,24}.png: * gtk/stock-icons/stock_media_stop_{16,24}.png: * gtk/gtkstock.h (GTK_STOCK_ABOUT): * gtk/gtkstock.h (GTK_STOCK_CONNECT): * gtk/gtkstock.h (GTK_STOCK_DISCONNECT): * gtk/gtkstock.h (GTK_STOCK_EDIT): * gtk/gtkstock.h (GTK_STOCK_MEDIA_FORWARD): * gtk/gtkstock.h (GTK_STOCK_MEDIA_NEXT): * gtk/gtkstock.h (GTK_STOCK_MEDIA_PAUSE): * gtk/gtkstock.h (GTK_STOCK_MEDIA_PLAY): * gtk/gtkstock.h (GTK_STOCK_MEDIA_PREVIOUS): * gtk/gtkstock.h (GTK_STOCK_MEDIA_RECORD): * gtk/gtkstock.h (GTK_STOCK_MEDIA_REWIND): * gtk/gtkstock.h (GTK_STOCK_MEDIA_STOP): * gtk/gtkiconfactory.c (get_default_icons): * gtk/gtkstock.c (builtin_items): Add a number of new stock items. (#102530, #68015, #109811, Jordi Mallach, Benjamin Otte, Michael Opdenacker) Sun Jul 11 15:24:03 2004 Soeren Sandmann Bug 143330, support update counter spec. * configure.in: Add check for the Sync extension * gdk/gdkwindow.h: gdk_window_enable_synchronized_configure() and gdk_window_configure_finished() * gtk/gtkwindow.c (gtk_window_move_resize): Call gdk_window_finish_configure(). * gtk/gtkwindow.c (gtk_window_realize): Automatically enable synchronized configures. * gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Store current and pending counter values. * gdk/x11/gdkwindow-x11.c (gdk_window_configure_finished): New function. * gdk/x11/gdkwindow-x11.c (gdk_window_enable_synchronized_configure): New function. * gdk/x11/gdkwindow-x11.c (gdk_toplevel_x11_free_contents): Delete update counter. * gdk/x11/gdkwindow-x11.c (set_wm_protocols): Advertise _NET_WM_SYNC_REQUEST when Sync is available * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Handle _NET_WM_SYNC_REQUEST messages * gdk/x11/gdkevents-x11.c (gdk_event_translate): Save counter value for use by gdk_window_configure_finished() when receiving ConfigureNotifies. * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add use_sync flag * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Check if the XSync extension is available * gdk/x11/gdkdisplay-x11.c: Add _NET_WM_SYNC_REQUEST and _NET_WM_SYNC_REQUEST_COUNTER to list of supported atoms. * gdk/linux-fb/gdkwindow-fb.c, gdk/win32/gdkwindow-win32.c: Add stubs for enable_synchronized_configure() and configure_finished() Sat Jul 10 23:35:13 2004 Matthias Clasen * gtk/gtkentry.c (paste_received): Make middle-button pasting work as expected inside the entry. (#116789, Scott Bronson) Sat Jul 10 22:13:53 2004 Matthias Clasen * gtk/gtktextbuffer.c (gtk_text_buffer_select_range): Update clipboards. (#142805, Mikael Hallendal) Sun Jul 11 01:38:48 2004 Soeren Sandmann * gtk/gtkpaned.c (gtk_paned_expose): Remove clip-region computing code. Just use &paned->handle_pos. Sun Jul 11 01:12:50 2004 Soeren Sandmann Bug 144271 * gtk/gtknotebook.c (gtk_notebook_size_allocate): Remove an unnecessary redraw.. * gtk/gtknotebook.c (gtk_notebook_page_allocate): Remove some incorrect redraws. Sat Jul 10 01:33:25 2004 Matthias Clasen * docs/RELEASE-HOWTO: Updates. Sat Jul 10 01:55:29 2004 Soeren Sandmann * gdk/x11/gdkwindow-x11.c (_gdk_x11_window_tmp_{re|un}set_bg): Insert checks for root window. The root window is never mapped. Sat Jul 10 01:06:05 2004 Soeren Sandmann * gdk/x11/gdkwindow-x11.c (post_unmap): Fix a warning * gdk/x11/gdkwindow-x11.c (show_window_internal): Actually unset bg. Sat Jul 10 00:37:45 2004 Soeren Sandmann Bug 113310. * gdk/x11/gdkwindow-x11.c (_gdk_x11_window_tmp_{un|re}set_bg): New functions that can do a recursive unset/reset bg. * gdk/x11/gdkgeometry-x11.c: Remove gdk_window_tmp_{un|re}set_bg(). * gdk/x11/gdkwindow-x11.c (pre_unmap, post_unmap): New functions called before and after unmapping a window. They unset the background of all other windows to prevent flicker from the X server repainting the background. post_unmap() also invalidates the parent of the unmapped window to draw it without roundtrips. * gdk/x11/gdkwindow-x11.c (show_window_internal): Unset background of newly mapped windows and all desendants to prevent flicker. Fri Jul 9 15:33:55 2004 Manish Singh * gdk/gdkevents.c: have a dummy case GDK_OWNER_CHANGE in switch statements to avoid gcc warnings about not all enum values handled. * gdk/x11/gdkdisplay-x11.c (gdk_display_open): ignore should live in #ifdef HAVE_XFIXES. Fri Jul 9 23:26:09 2004 Soeren Sandmann (Bug 113340) * gdk/x11/gdkwindow-x11.h (struct _GdkWindowImplX11): Add an "override_redirect" bit. * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set it here. * gdk/x11/gdkwindow-x11.c (gdk_window_move, gdk_window_resize, gdk_window_move_resize): Update the local size/position cache immediately for override redirect windows. * gdk/x11/gdkwindow-x11.c (show_window_internal): Invalidate newly mapped child and override redirect windows. 2004-07-09 Federico Mena Quintero Fixes #137031: * gtk/gtkfilesystemunix.c (get_fallback_icon): New helper function, fetches a stock icon as a fallback. (gtk_file_system_unix_volume_render_icon): Fall back to a stock icon. (gtk_file_system_unix_render_icon): Fall back to a stock icon. Use helper functions rather than being a mega-function. (get_icon_name_for_directory): Renamed from get_icon_for_directory(). (get_icon_type_from_path): New helper function; code pulled out from gtk_file_system_unix_render_icon(). (get_special_icon): Likewise. (get_icon_for_mime_type): Likewise. 2004-07-09 Federico Mena Quintero * gdk/x11/gdkdnd-x11.c (xdnd_send_xevent): Fix typo; tmp_event -> temp_event. 2004-07-09 Matthias Clasen * gtk/gtktooltips.c (gtk_tooltips_paint_window): Use the requisition of the widget instead of relying on the style drawing function to supply the size of the drawable. (#146531) 2004-07-09 Matthias Clasen Make GtkEntry work harder to protect passwords: (#143955, Morten Welinder) * gtk/gtkentry.c (gtk_entry_destroy): Add a destroy handler to clear the password even if the widget is leaked. * gtk/gtkentry.c (gtk_entry_real_delete_text): * gtk/gtkentry.c (gtk_entry_finalize): Zero out the memory before freeing it. * gtk/gtkentry.c (gtk_entry_real_insert_text): Zero and free the old memory instead of just reallocating it. * gtk/gtkentry.c (gtk_entry_create_layout): Don't leak text direction information for passwords. 2004-07-09 Matthias Clasen * gtk/gtkstyle.c: Fix some cases where style functions were not handling widget == NULL properly. (#146282) Thu Jul 8 22:38:58 2004 Matthias Clasen * gtk/gtktreeview.c: Improve the EXPANDER_MAX warning. 2004-07-08 Federico Mena Quintero Fix #139290: * gtk/gtkfilesystemmodel.c (_gtk_file_system_model_new): Add a GError argument. Do check for errors when getting the GtkFileFolder: get the folder and read the children before actually creating the model. Removed obsolete code that handled roots-changed on the file system. (file_model_node_get_info): Assert that we don't reach the old case to display file system roots. (roots_changed_callback): Removed. * gtk/gtkfilechooserdefault.c (set_list_model): Add a GError argument, and a boolean return value. Return an error if we cannot create the file system model. On error, set a NULL model on the tree. (gtk_file_chooser_default_set_current_folder): Use the error value from set_list_model(). (gtk_file_chooser_default_set_property): Set the show_hidden property only if the browse_files_model exists. (gtk_file_chooser_default_unselect_path): Only operate if the browse_files_model exists. (check_preview_change): Check whether we have the sort_model. (change_folder_and_display_error): Copy the path we get passed before using it. There's a comment in there that explains why we need to copy it; basically, if the passed path belongs to the model, the model may go away in the middle of this function and we'll be left with a dangling pointer. (install_list_model_filter): Assert that the model is not NULL. (set_current_filter): Check whether the model exists. * gtk/gtktreeselection.c (gtk_tree_selection_get_selected): Don't g_return_if_fail if the model is NULL. (gtk_tree_selection_get_selected_rows): Likewise. (gtk_tree_selection_count_selected_rows): Likewise. (gtk_tree_selection_selected_foreach): Likewise. (gtk_tree_selection_path_is_selected): Likewise; rather just return FALSE. (gtk_tree_selection_select_all): Likewise. (gtk_tree_selection_unselect_all): Likewise. (gtk_tree_selection_select_range): Do g_return_if_fail() if the model is NULL. (gtk_tree_selection_unselect_range): Likewise. * gtk/gtkfilesystemunix.c (fill_in_names): Return immediately if g_dir_open() fails: there is no need to set the error ourselves, as g_dir_open() already does it. 2004-07-08 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_set_search_equal_func): Allow to restore the default search function. (#145365, John Finlay) * gdk/x11/gdkdnd-x11.c (xdnd_send_xevent): Don't leak references to the drag context. (#144324, Alex Larsson) Thu Jul 8 00:31:34 2004 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_set_model): Stop editing when a new model is set. (#145566, Dmitry M. Shatrov) Wed Jul 7 23:44:32 2004 Matthias Clasen * 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) 2004-07-07 Matthias Clasen * gtk/gtktreeview.c: * gtk/gtktreeview.h: Small documentation fixes. 2004-07-07 Matthias Clasen 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/gtktreeprivate.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. Tue Jul 6 22:58:00 2004 Matthias Clasen * gdk/x11/gdkwindow-x11.c (gdk_x11_window_set_user_time): Fix a 64bit alignment issue. (#144302, Sunil) 2004-07-07 Tor Lillqvist * 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. (sanitize_utf8): Zero-terminate string. 2004-07-06 Matthias Clasen * 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... Tue Jul 6 10:00:22 2004 Jonathan Blandford Fix for #136496, Pawel Salek: * gtk/gtktreeview.c (gtk_tree_view_row_changed): Queue a redraw on a node when it changes in fixed_height mode. (gtk_tree_view_node_queue_redraw): new function to queue a redraw on a node. 2004-07-06 Matthias Clasen * gtk/gtkmenu.c (gtk_menu_position): Make sure private->monitor_num is a valid monitor number before using it. (#139187, Michael Natterer) Tue Jul 6 02:00:28 2004 Matthias Clasen * gtk/gtkfilechooserdefault.c (popup_position_func): * gtk/gtkentry.c (popup_position_func): * gtk/gtktextview.c (popup_position_func): Improve positioning of keyboard-activated menus with Xinerama. Tue Jul 6 00:29:03 2004 Matthias Clasen * gtk/gtkuimanager.c (do_updates): (do_updates_idle): Only call GDK_THREADS_ENTER() / _LEAVE() when called from an idle handler. (#145429, Jan-Marek Glogowski) Mon Jul 5 23:47:38 2004 Matthias Clasen * 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) 2004-07-05 Lorenzo Gil Sanchez * 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. 2004-07-05 Anders Carlsson * gtk/gtkiconview.c: (gtk_icon_view_set_markup_column): * gtk/gtkiconview.h: Use gint, not int in gtk_icon_view_set_markup_column, (Paolo Maggi) 2004-07-05 Anders Carlsson * 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. 2004-07-04 Anders Carlsson * 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. 2004-07-04 Anders Carlsson * gtk/Makefile.am: * gtk/gtkiconview.c * gtk/gtkiconview.h: Add GtkIconView to the build, remove debugging output. Sun Jul 4 01:29:35 2004 Matthias Clasen * 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) Sun Jul 4 01:11:07 2004 Matthias Clasen * 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) Sat Jul 3 23:43:23 2004 Matthias Clasen * docs/faq/gtk-faq.sgml: * gtk/gtkwindow.c: Fix links to www.freedesktop.org. (#145210, Billy Biggs) Sat Jul 3 02:09:51 2004 Matthias Clasen * gtk/gtksocket.c (gtk_socket_end_embedding): Reset current_width and current_height to 0 when ending the embedding. (#143675, Nickolay V. Shmyrev) Sat Jul 3 01:48:19 2004 Matthias Clasen * 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) Fri Jul 2 23:34:33 2004 Matthias Clasen * gtk/gtkcombobox.c (gtk_combo_box_unset_model): Unset the displayed row when unsetting the model. (#138560, Christian Persch) Fri Jul 2 23:01:07 2004 Matthias Clasen * gtk/gtkcombobox.c (update_menu_sensitivity): Don't crash if there are no items. Fri Jul 2 22:41:27 2004 Matthias Clasen * gtk/gtkimage.c (gtk_image_expose): Properly align mask and pixbuf if a subarea is exposed. (#135423, fix by John Ehresman) Fri Jul 2 21:40:21 2004 Matthias Clasen * 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) 2004-07-02 Anders Carlsson * gtk/gtktreeview.c (gtk_tree_view_set_model): Make sure we check for a NULL model first. 2004-07-01 J. Ali Harlow * gdk/win32/gdkinput-win32.c (_gdk_input_ungrab_pointer): Fix win32 build problem w/o wintab. Fixed #145242 2004-06-30 Anders Carlsson * gtk/gtktreeview.c (gtk_tree_view_set_model): Use g_return_if_fail to make sure that the model is a GtkTreeModel. Sat Jun 26 17:41:10 2004 Soeren Sandmann * gtk/gtk[hv]separator.c (gtk_[hv]separator_expose): Draw line with the current state, not GTK_STATE_NORMAL * gtk/gtkframe.c (gtk_frame_paint): Fix a rounding error Sat Jun 26 15:07:25 2004 Soeren Sandmann * gtk/gtkstyle.c, gtk/gtkrc.c: small color tweak. (#141173) Sat Jun 26 01:15:40 2004 Matthias Clasen * gdk/x11/gdkwindow-x11.c (set_initial_hints): Handle _NET_WM_STATE_ABOVE and _NET_WM_STATE_BELOW. (#144851, Billy Biggs) Sat Jun 26 01:04:31 2004 Matthias Clasen * gtk/gtkiconfactory.c (clear_cache): Prevent unwanted recursion by resetting icon_set->cache before freeing the cache. (#144947, Tim Janik) Sat Jun 26 00:40:02 2004 Matthias Clasen * gtk/gtkiconfactory.c (render_icon_name_pixbuf): * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): * gtk/gtkstyle.c (gtk_default_render_icon): Accept a NULL style. Sat Jun 26 00:04:36 2004 Matthias Clasen * gtk/gtkentrycompletion.c (gtk_entry_completion_set_model): * gtk/gtkcombobox.c (gtk_combo_box_set_model): Reflect the last change in the docs. Fri Jun 25 23:35:42 2004 Matthias Clasen * 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 * 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) Fri Jun 25 22:49:58 2004 Matthias Clasen * gtk/gtktreestore.c (gtk_tree_store_move): Avoid uninitialized use of &parent_iter. (#145007, John Finlay) 2004-06-25 Bastien Nocera reviewed by: Matthias Clasen * 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. 2004-06-25 Matthias Clasen * gtk/gtkfontbutton.c (gtk_font_button_update_font_info): Avoid a crash if the font doesn't exist. (#144967, Yevgen Muntyan) Fri Jun 25 00:32:15 2004 Matthias Clasen * gtk/gtktreestore.c (gtk_tree_store_swap): Commit the change which was mentioned below. Thu Jun 24 23:35:09 2004 Matthias Clasen * gtk/gtknotebook.c (gtk_notebook_class_init): Fix a typo, string change. (#139503, Baris Cicek) 2004-06-22 Federico Mena Quintero * 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 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(). 2004-06-22 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_class_init): Improve docs for the ::move_cursor signal. * gtk/gtkaccelmap.c (_gtk_accel_path_is_valid): Accept "" as a valid accel path. (#144427, Philip Kendall) * gtk/gtkselection.c (GTK_SELECTION_MAX_SIZE): Make sure this gets defined for all backends, so linux-fb has a chance of compiling. * gdk/x11/gdkgc-x11.c: * gdk/gdkgc.c: Move function docs inline, add hints about obtaining rgb colors from gcs. (#144688, Steve Chaplin) * gtk/gtktreestore.c (gtk_tree_store_swap): Make this work for children of the root. (#139785, Jean-François Wauthy, patch by John Finlay) * gtk/gtkicontheme.h (GTK_ICON_THEME_GET_CLASS): Typo fix. (#144750, Jeff Franks) 2004-06-21 Michael Natterer Merge from stable: * gdk/x11/gdkdrawable-x11.[ch]: made convert_format() utility function public as _gdk_x11_convert_to_format(). * gdk/x11/gdkcursor-x11.c (create_cursor_image): premultiply the pixels from the GdkPixbuf when putting them in the Xcursor image. Fixes bug #144350. 2004-06-16 Federico Mena Quintero * gtk/gtkfilesystemmodel.c (do_files_added): When inserting a visible node, free the old path before creating the new one. Fixes #144356. Tue Jun 15 01:10:32 2004 Matthias Clasen * gtk/gtkcombobox.c: Make GtkComboBox work without model. (#144198, Mariano Suárez-Alvarez) Fri Jun 11 22:05:56 2004 Matthias Clasen * gtk/gtkfilechooserdefault.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 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. Thu Jun 10 22:12:26 2004 Matthias Clasen * gtk/gtkmain.c (gtk_parse_args): Typo fix. 2004-06-10 Federico Mena Quintero Fixes #144110, patch by Bastien Nocera . * 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(). Thu Jun 10 00:36:15 2004 Matthias Clasen * 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. Thu Jun 10 00:09:06 2004 Matthias Clasen * 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) Wed Jun 9 23:11:23 2004 Matthias Clasen * gtk/gtkstyle.c (_gtk_style_init_for_settings): Fix a typo. (#144070, Kent Sandvik) Thu Jun 10 00:22:51 2004 Soeren Sandmann * gtk/gtkmenu.c: Revert the "drag select" part of #141169. (#144011). Mon Jun 7 23:07:40 2004 Matthias Clasen * gtk/gtkcombobox.c (gtk_combo_box_remeasure): Handle priv->model being NULL. (#143856, Mariano Suárez-Alvarez) 2004-06-07 Federico Mena Quintero * 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. Sun Jun 6 23:57:21 2004 Matthias Clasen Make the entry context menu work in editable text cells. The changes are based on a patch by Kristian Rietveld, which implemented an approach outlined by Owen Taylor. (#50075) * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_focus_out_event): Ignore focus out if the entry menu is posted. (gtk_cell_renderer_text_populate_popup): Mark the entry menu as posted, and set up a signal handler to clear the flag if the menu is unmapped. (gtk_cell_renderer_text_popup_unmap): Clear the in_entry_menu flag, set up a timeout to stop editing if the focus is lost. (popdown_timeout): Stop editing if the entry doesn't have focus anymore. (gtk_cell_renderer_text_start_editing): Connect to the populate_popup signal on the entry and keep a pointer to the entry. (gtk_cell_renderer_text_editing_done): Disconnect from popuplate_popup, clear the pointer to the entry. Sun Jun 6 23:24:43 2004 Matthias Clasen * gtk/gtktexttag.c (gtk_text_tag_class_init): Improve the description of the ::language property. (#143802, Owen Taylor) Sat Jun 5 23:07:30 2004 Matthias Clasen * gtk/gtkentrycompletion.c: (gtk_entry_completion_init), (gtk_entry_completion_list_enter_notify), (gtk_entry_completion_list_motion_notify), (_gtk_entry_completion_popup), (_gtk_entry_completion_popdown): * gtk/gtkentryprivate.h: Add an ignore_enter flag and use it as in the menu code to avoid the initial selection if the window pops up under the pointer. (Anders Carlsson) Sat Jun 5 20:05:39 2004 Soeren Sandmann * tests/testmerge.c: Add a checkbox to queue an merge/unmerge. Patch from Matthias Clasen. * gtk/gtktoolbar.c (struct _GtkToolbarPrivate): Add a new flag "need_rebuild" (rebuild_menu): New function that rebuilds the overflow menu and makes sure it doesn't start or end with a separator. (toolbar_content_new_tool_item) (toolbar_content_remove) (toolbar_content_new_compatibility): Set the rebuild_needed flag (gtk_toolbar_size_allocate): Only show the overflow arrow when we have actually overflown an item with a proxy menu item. Also make sure we rebuild the menu if needed. Fix #125504, #142377, #143463 * gtk/gtkseparatortoolitem.c (gtk_separator_tool_item_expose): Obey the "priv->draw" flag. (#143692) 2004-06-04 Matthias Clasen * docs/widget_geometry.txt: Add a note about the !CAN_FOCUS quirk in the button size allocation code. * gtk/gtkbutton.c (gtk_button_size_allocate): Give the space requested for drawing the focus indicator to the child in the !CAN_FOCUS case. This should fix issues which the Gimp has with the button allocation changes in 2.4.2. Thu Jun 3 21:17:29 2004 Matthias Clasen * gtk/gtkentry.c (gtk_entry_completion_timeout): Calculate the length of the entry contents in characters, not in bytes. * gtk/gtkentry.c (paste_received): Don't pop up the completion window on paste, noticed by Anders Carlsson. Thu Jun 3 20:56:19 2004 Matthias Clasen * gtk/gtkcombobox.c (gtk_combo_box_class_init): Fix the allowed values and default value for the ::active property. (#143669, Olivier Andrieu) 2004-06-03 Michael Natterer * gtk/gtkimagemenuitem.c: use gtk_widget_get_child_requisition() instead of accessing item->image->allocation.width/height directly. Makes widgets which only have a requisition set using gtk_widget_set_size_request() work and fixes bug #142789. Thu Jun 3 08:07:59 2004 Soeren Sandmann * gtk/gtkmenu.c: Revert previous commit. It caused the problem of sticky right click menus to return. Wed Jun 2 01:56:02 2004 Soeren Sandmann * gtk/gtkmenu.c: Fix the stay up algorithm for combo boxes to better handle the "click" case. bug Better fix for #141169. 2004-06-02 Federico Mena Quintero * gtk/gtktreeview.c (gtk_tree_view_search_init): Bail out if the model is empty. Fixes #143536. 2004-06-02 Matthias Clasen * gtk/gtkfontsel.c (gtk_font_selection_size_focus_out): Don't close the dialog on focus out of the size entry. (#143505, David Hawthorne) 2004-06-02 Federico Mena Quintero Fix #138807. * gtk/fnmatch.c (_gtk_fnmatch): Take a no_leading_period argument. (gtk_fnmatch_intern): Likewise; also implement this option. * gtk/gtkprivate.h (_gtk_fnmatch): Updated prototype. * gtk/gtkfilesel.c (find_completion_dir): Pass TRUE for the no_leading_period argument of _gtk_fnmatch(). (attempt_file_completion): Likewise. * gtk/gtkfilefilter.c (gtk_file_filter_filter): Pass FALSE for the no_leading_period argument of _gtk_fnmatch(). Wed Jun 2 00:47:11 2004 Matthias Clasen * gtk/gtkselection.c (_gtk_selection_request): Remove leftover debug code. Wed Jun 2 00:13:57 2004 Matthias Clasen * gtk/gtktreeselection.c (gtk_tree_selection_select_range): Don't allow unless selection mode is multiple. (#142634, John Finlay) Tue Jun 1 23:00:20 2004 Matthias Clasen * gtk/gtktoolbar.h: * gtk/gtktoolbar.c: * gtk/gtkentrycompletion.h: * gtk/gtkentrycompletion.c: * gtk/gtkcombobox.h: * gtk/gtkcombobox.c: Rename function parameters from index to index_ to prevent clash with BSD index(). (#143001) Tue Jun 1 22:45:42 2004 Matthias Clasen * gtk/gtkmenu.c (get_accel_path): Handle accel_closure being NULL on an accel label. (#139641, Sam Stephenson, patch by Michael Natterer) Tue Jun 1 22:19:55 2004 Matthias Clasen * gtk/gtkicontheme.c (theme_subdir_load): Prevent icon lookup finding icons in the wrong prefix. (#143328, Mark McLoughlin) Wed Jun 2 00:39:58 2004 Soeren Sandmann Bug #141169. * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Make menus only stay up if you release within 500 milliseconds. (gtk_menu_shell_button_press): Set the activate_time to the event time when a button is pressed. * gtk/gtkmenu.c (gtk_menu_motion_notify, gtk_menu_enter_notify): Interprete button releases as activate when we have seen both an enter an a motion event. 2004-06-01 Federico Mena Quintero * gtk/gtkfilesystemmodel.c (do_files_removed): Don't insert a dummy node if there is no parent node. Fixes #143362. 2004-05-31 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (renderer_edited_cb): Change to the newly-created folder. Fixes #138932. (trap_activate_cb): Only return TRUE if we did handle the event. Fixes #143359; patch by jylefort@brutele.be. Mon May 31 02:39:32 2004 Matthias Clasen * gtk/gtkimage.c (gtk_image_new_from_pixmap): Fix typo in docs. (#142892, Tommi Komulainen) Mon May 31 02:16:37 2004 Matthias Clasen * gtk/gtkhandlebox.c: Make detached handleboxes work when their parent is minimized, porting the fix from 1.2. (#1923, #57182) Mon May 31 02:03:17 2004 Matthias Clasen * gtk/gtkwindow.c (gtk_window_show): Make moving realized, unmapped windows work. Mon May 31 00:27:33 2004 Matthias Clasen * gtk/gtkfilechooserutils.c (_gtk_file_chooser_set_delegate): Fix a typo. Mon May 31 00:23:55 2004 Matthias Clasen * gtk/gtkfilechooser.c (gtk_file_chooser_set_preview_widget): Refer to ::update-preview, not ::selection-changed. 2004-05-29 Christian Rose * configure.in: Added "tk" to ALL_LINGUAS. Fri May 28 15:00:01 2004 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_set_parent): Add informative messages for common problems. (#137974, Owen Taylor) Fri May 28 14:20:17 2004 Matthias Clasen * gdk/x11/gdkevents-x11.c: Fix off-by-one allocation errors. (#143337, Billy Biggs) Thu May 27 16:36:22 2004 Owen Taylor * gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors): Set bits within visual->depth that aren't used for color to 1s, in case they are alpha. 2004-05-27 Anders Carlsson * gtk/gtkfilechooserdefault.c (save_folder_combo_create): Make separator rows insensitive. Thu May 27 00:48:16 2004 Matthias Clasen * gtk/gtkentrycompletion.c (gtk_entry_completion_set_text_column): Add more docs. Thu May 27 00:45:07 2004 Matthias Clasen * gtk/gtkentrycompletion.h: * gtk/gtkentrycompletion.c (gtk_entry_completion_get_text_column): Getter for text_column. Also make ::text_column a property. Thu May 27 00:11:01 2004 Matthias Clasen * gtk/gtkmenuitem.c (gtk_menu_item_size_request): Fix a typo. Thu May 27 00:07:47 2004 Jonathan Blandford * gtk/gtkcombobox.c (gtk_combo_box_list_destroy): only remove the signal if the box exists. Wed May 26 23:26:51 2004 Matthias Clasen Support insensitive cells in tree views and combo boxes: * gtk/gtkcellrenderer.h: * gtk/gtkcellrenderer.c: Add a ::sensitive property. * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render): Support drawing insensitive. * gtk/gtkcellview.h: * gtk/gtkcellview.c (gtk_cell_view_get_cell_renderers): New function to obtain the cell renderers from a cell view. Also export gtk_cell_view_set_cell_data(). * gtk/gtktreeselection.c (tree_column_is_sensitive): * gtk/gtktreeselection.c (row_is_selectable): Helper functions to determine whether all visible cells in a row are insensitive and whether a row is selectable. A row is not selectable if the user function says so or if all visible cells are insensitive. * gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node): * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node): Use row_is_selectable(). * gtk/gtkcombobox.c (row_is_sensitive): * gtk/gtkcombobox.c (tree_column_row_is_sensitive): * gtk/gtkcombobox.c (menu_row_is_sensitive): Helper functions to determine row sensitivity in menu or list mode. * gtk/gtkcombobox.c (update_menu_sensitivity): Helper function to set up sensitivity menu items from the underlying rows. * gtk/gtkcombobox.c (gtk_combo_box_popup): * gtk/gtkcombobox.c (gtk_combo_box_menu_button_press): Use update_menu_sensitivity(). * gtk/gtkcombobox.c (gtk_combo_box_list_setup): Setup the cell data funcs. * gtk/gtkcombobox.c (gtk_combo_box_key_press): Skip insensitive rows. * tests/testcombo.c (main): Make some rows insensitive. 2004-05-26 Robert Ögren * gdk/win32/gdkinput-win32.c (_gdk_input_other_event): Send key modifiers (shift, ctrl etc) in button and motion events from the tablet. (#143240) 2004-05-26 Robert Ögren * gdk/win32/gdkinput-win32.c (gdk_device_get_state): Simple implementation for extended input devices using last known device state (#143237) Tue May 25 21:54:00 2004 Matthias Clasen * gtk/gtkframe.c: Move docs inline, fixing them on the way. (#143029, Steve Chaplin) 2004-05-11 Robert Ögren * gdk/win32/gdkevents-win32.c (propagate): Don't propagate mouse events to windows that want extended input events. (#142943) (gdk_event_translate): Move check for extended input devices to propagate, new parameter to propagate. (gdk_pointer_grab, gdk_display_pointer_ungrab): Enable calls to _gdk_input_(un)grab_pointer. (#142943) * gdk/win32/gdkinput-win32.c (_gdk_input_other_event): Check for input grab. [Fix missing update of impl in "dijkstra" event propagation loop] Drop the parallel "impl" pointer, just use a cast. Don't propagate beyond windows that want normal input events. (#142943) (gdk_input_grab_pointer, gdk_input_ungrab_pointer): Limited implementation of input grab. (#142943) 2004-05-22 Tor Lillqvist * gdk/win32/gdkinput-win32.c (print_lc): Remove duplicated line. (Spotted by Benoît Carpentier.) 2004-05-18 Matthias Clasen * configure.in: Check for XFIXES extension. * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add a gboolean have_xfixes member. * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Register XFIXES events and set have_xfixes. * gdk/gdkevents.h (GdkEventType): Add GDK_OWNER_CHANGE. (GdkEventOwnerChange): New event struct for owner change events. (GdkOwnerChange): New enum for the reason field of GdkEventOwnerChange. * gdk/x11/gdkevents-x11.c (gdk_event_translate): Translate XFixesSelectionNotify events into GdkEventOwnerChange events. * gdk/gdkdisplay.h: * gdk/x11/gdkdisplay-x11.c (gdk_display_supports_selection_notification): (gdk_display_request_selection_notification): New api to support selection ownership notification. * gtk/gtkclipboard.h: * gtk/gtkclipboard.c (_gtk_clipboard_handle_event): New private api to handle owner change events. (clipboard_peek): Refactored out the body of gtk_clipboard_get_for_display() for use in _gtk_clipboard_handle_event(). * gtk/gtkmain.c (gtk_main_do_event): Handle GDK_OWNER_CHANGE events by calling _gtk_clipboard_handle_event(). 2004-05-18 Matthias Clasen * gtk/gtkintl.h: Include glib/gi18n-lib.h and only define the P_() macros ourselves. * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): Restrict the width of the popup to be no larger than the monitor. (#142678, DmD Ljungmark) * gtk/gtkbutton.c: Go back to the initial fix for the focus-overdrawing problem, which was actually correct according to docs/widget_geometry.txt. * gtk/gtkarrow.c (gtk_arrow_class_init): Bump the initial arrow size from 11 to 15 to compensate for that. * gtk/gtktextview.c (gtk_text_view_class_init): Document the arguments of the ::move-cursor signal. (#142725) 2004-05-17 Matthias Clasen Merged from 2.4: * gtk/gtkbutton.c (gtk_button_size_request) (gtk_button_size_allocate, _gtk_button_paint): Allocate space for the focus rectangle only if necessary. (#142668, Michael Natterer) Sun May 16 23:11:47 2004 Matthias Clasen Merged from 2.4: * gtk/gtkhruler.c (gtk_hruler_draw_ticks): Remove two useless lines. (#142479, Morten Welinder) Sun May 16 22:27:17 2004 Matthias Clasen * gtk/gtkintl.h (Q_): Add a Q_() macro. * gtk/gtkcellrendererprogress.h: Remove GTK_PROGRESS_CELL_UNKNOWN and GTK_PROGRESS_CELL_FAILED. With the ability the set the label, they are not really needed. * gtk/gtkcellrendererprogress.c: Use the xpad and ypad properties instead of hardwired padding, use Q_() for the default label, compute a reasonable minimal size. (#142571, #142572, #142573, Tommi Komulainen, Christian Persch) 2004-05-15 Tor Lillqvist * gdk/win32/gdkdnd-win32.c: Put back the ref_count field in the GdkDragContextPrivateWin32 struct (but inside ifdef OLE2_DND this time). It is used by the OLE2_DND code, which is unfinished and presumably horribly broken, but still, let's not make it not compile on purpose. Silence some gcc warnings in the OLE2_DND code. 2004-05-14 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_tree_window_to_tree_coords): New function to go from tree window to tree coordinates, kept static for now until we figure out the multiple coordinate system mess in GtkTreeView API-wise. (gtk_tree_view_scroll_to_cell): Transform the coordinates from tree window to tree coordinates, using the new function. Previously, the x coordinate was wrongly transformed. (#142494) * gdk/gdktypes.h (GdkModifierType): Add a comment about unused bits. * gtk/gtkstock.c (real_add, gtk_stock_lookup): Use an unused modifier bit to mark stock item which need to be freed eventually. (#140654, Michal Pasternak, Scott Tsai) 2004-05-11 Robert Ögren * gdk/win32/gdkevents-win32.c (gdk_event_translate): Add missing call to g_object_ref in Wintab code. (#138341) * gdk/win32/gdkinput-win32.c: Fix numerous Wintab problems including unallocated buffers for event->motion.axes and event->button.axes, unsigned wraparound problem in the code for detecting missing press/release events and assigning min instead of max when setting up axes. 2004-05-12 Matthias Clasen * tests/testtreeedit.c: Add a progress column. * gtk/Makefile.am: Add gtkcellrendererprogress.[hc] in the right places. * gtk/gtk.h: Include gtkcellrendererprogress.h. * gtk/gtkcellrendererprogress.[hc]: A progress cell renderer, based on the one found in Epiphany. 2004-05-11 Michael Natterer * gtk/gtkcombobox.c (gtk_combo_box_popup) (gtk_combo_box_menu_button_press): don't allocate the popup smaller than the combobox. Fixes bug #59660. 2004-05-11 Matthias Clasen * gtk/gtkuimanager.c (gtk_ui_manager_get_widget): Revert the previous change to this function, clarify the docs instead. * gtk/gtkcombobox.c (gtk_combo_box_list_setup): Use GTK_SELECTION_BROWSE. * gtk/gtktreeview.c: Make hover selection work for GTK_SELECTION_BROWSE as well. Tue May 11 00:38:25 2004 Matthias Clasen * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init): Document the ::toggled signal. Mon May 10 23:04:25 2004 Soeren Sandmann * gtk/gtkwidget.h: Add prototype for _gtk_widget_grab_notify() 2004-05-10 Matthias Clasen * gtk/gtkwindow.c (get_screen_icon_info): Make static. * gdk/gdkdisplay.c (singlehead_...): * gdk/x11/gdkkeys-x11.c (get_effective_keymap): * gdk/x11/gdkgeometry-x11.c (expose_serial_predicate): * gdk/x11/gdkdisplay-x11.c (escape_for_xmessage): Make static. * gtk/gtktreeview.c (gtk_tree_view_set_fixed_height_mode): Add a note about COLUMN_FIXED restriction. * gtk/gtkentrycompletion.c (gtk_entry_completion_list_button_press): Set the entry in the default handler of the ::match-selected signal. (#137226) * gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): If we don't do the move-selected-item below pointer thingie, do the place-below-or-above one. * tests/testentrycompletion.c: Make the second example use the ::match-selected signal to make it actually work. * gtk/gtkentrycompletion.c (gtk_entry_completion_init): * gtk/gtkcombobox.c (gtk_combo_box_list_setup): Use hover selection mode. (#127648, Dave Bordoley) * gtk/gtktreeview.h: * gtk/gtktreeview.c: Add a new property "hover_selection", which when TRUE makes the selection follow the mouse. Also add setter and getter for the fixed_height property. 2004-05-10 Matthias Clasen * gtk/gtkcombobox.c (gtk_combo_box_popup) (gtk_combo_box_menu_button_press): Make sure the menu pops up as wide as the combobox. (#59660, Havoc Pennington) 2004-05-10 Matthias Clasen * gtk/gtkcombobox.h: * gtk/gtkcombobox.c: Support tearoffable combo boxes (in menu mode). Add a new property, add-tearoffs, for this. (#135956) * gtk/gtkfontsel.c (list_row_activated): Make Return activate the default button. (#118921) Mon May 10 15:03:50 2004 Soeren Sandmann * gtk/gtkwidget.c (_gtk_widget_grab_notify): New internal function that emits the grab notify signal. * gtk/gtkmain.c (gtk_grab_notify_foreach): Use it here. Mon May 10 00:48:08 2004 Matthias Clasen * gtk/gtkmenu.c: Make destruction of a torn off menu work like un-tearing off. Sun May 9 21:05:38 2004 Matthias Clasen Merge from 2.4: * gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel): Allow to suppress the stock accelerator by using "". (#142196, David A Knight) Sun May 9 02:01:13 2004 Matthias Clasen Merge from 2.4: * gtk/gtkcombobox.c (gtk_combo_box_list_button_released): In list mode, accept the same mouse/wheel bindings on the cellview as on the button. (#136967) Sun May 9 01:25:37 2004 Matthias Clasen * gtk/gtkiconfactory.c (add_to_cache): Actually count the cached icons. (#135888, Crispin Flowerday) Sun May 9 00:03:03 2004 Matthias Clasen * gtk/gtkuimanager.c (gtk_ui_manager_get_widget): Make sure that we actually return menus for nodes of type menu, not the menuitems they're attached to. Sat May 8 22:50:55 2004 Matthias Clasen * gtk/gtkactiongroup.c (gtk_action_group_set_translation_domain): Add a note regarding UTF-8 requirements, proposed by Mariano Suárez-Alvarez. Sat May 8 22:43:11 2004 Matthias Clasen * gtk/gtktearoffmenuitem.h: * gtk/gtktearoffmenuitem.c: Put the torn_off flag back into the GtkTearoffMenuItem struct, since it is used by the Gimp, and keep it synchronized with the tearoff_state property of the parent menu. 2004-05-08 Hans Breuer * gtk/gtkfilesystemwin32.c (extract_icon) : finally also create the correct mask for 'pseudo mime' icons * gdk/win32/gdkwindow-win32.c(show_window_internal) : also take focus_on_map into account * gtk/gtkselection.c : g_message() only with DEBUG_SELECTION * gtk/gtkactiongroup.c gtk/gtkcombobox.c : ... must return a value * gdk/gdk.def gtk/gtk.def demos/gtk-demo/makefile.msc.in : updated 2004-05-07 Matthias Clasen * gtk/gtkbutton.c (gtk_button_size_allocate): Don't let the child draw over the focus rectangle. * gtk/gtkhsv.c: Draw focus indication in the color wheel using standard focus style. (#63071, Bill Haneman, idea for new style by Owen Taylor) * gtk/gtkstyle.c (gtk_default_draw_focus): Support drawing on focus on the colorwheel via details. 2004-05-06 Matthias Clasen Merge from 2.4: * gtk/gtkcombobox.c (gtk_combo_box_menu_state_changed): Remove this no longer needed signal handler. (#141817, Paul Pogonyshev) Fri May 7 00:41:46 2004 Matthias Clasen * gtk/gtktearoffmenuitem.h: * gtk/gtktearoffmenuitem.c: Make the tearoff functionality model/view, the tearoffmenuitem being the view and the tearoff_state property of the menu being the model. (#101185, Owen Taylor) * gtk/gtkmenu.c: Add a tearoff_state property. Thu May 6 23:52:13 2004 Matthias Clasen Merge from 2.4: * gtk/gtkmenuitem.c (gtk_menu_item_select_timeout): Also popup the submenu for items in torn off menus. (#122051) 2004-05-06 Sven Neumann * gtk/gtkexpander.c (gtk_expander_size_allocate): in RTL mode, position the title lable next to the arrow just as we do for LTR rendering. Fixes bug #141825. 2004-05-06 Matthias Clasen * docs/RELEASE-HOWTO: Document the new policy of bumping version numbers after release. * configure.in: Bump version number to 2.5.0. 2004-05-06 Padraig O'Briain * gtk/gtkmenu.h: * gtk/gtkmenu.c: Add new function gtk_menu_get_for_attach_widget. (bug #113112). Thu May 6 00:24:11 2004 Matthias Clasen * gtk/gtkactiongroup.h: * gtk/gtkactiongroup.c (gtk_action_group_translate_string): New function to translate a string with translate_func. (#135740) Thu May 6 00:02:21 2004 Matthias Clasen * gtk/gtkcombobox.c (gtk_combo_box_get_wrap_width): (gtk_combo_box_get_row_span_column): (gtk_combo_box_get_column_span_column): Add missing getters for readwrite properies. (#135649) Wed May 5 23:42:42 2004 Matthias Clasen * gtk/gtkcombobox.h: * gtk/gtkcombobox.c (gtk_combo_box_get_active_text): Add gtk_combo_box_get_active_text() convenience function. (#136372, Christian Neumeir, patch by Olivier Andrieu) 2004-05-05 Elijah Newren Changes to support do-not-focus-on-map hint in conjunction with _NET_WM_USER_TIME (#115650): * gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean field focus_on_map * gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to set it. * gtk/gtkwindow.[hc]: Add a boolean property "focus_on_map" and gtk_window_get_focus_on_map() and gtk_window_set_focus_on_map(). * gdk/win32/gdkwindow-win32.c (gdk_window_new): * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new): * gdk/x11/gdkwindow-x11.c (gdk_window_new): Initialize the focus_on_map field to TRUE. * gdk/win32/gdkwindow-win32.c (gdk_window_set_focus_on_map): * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_focus_on_map): * gdk/x11/gdkwindow-x11.c (gdk_window_set_focus_on_map): * gdk/x11/gdkwindow-x11.c (setup_toplevel_window): Implementations for the various backends. The Win32 and linux-fb implementations set the focus_on_map field, but don't use it yet to actually implement noinput windows. The X implementation sets _NET_WM_USER_TIME to 0 if focus_on_map is FALSE (see the EWMH). * gdk/x11/gdkwindow-x11.h: * gdk/x11/gdkevents-x11.c (set_user_time): * gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): * gdk/x11/gdkwindow-x11.c (gdk_x11_window_set_user_time): s/_gdk_x11_window_set_user_time/gdk_x11_window_set_user_time/, since we want that function to be part of the public API. Wed May 5 22:20:21 2004 Matthias Clasen Merge from 2.4: * gtk/gtkiconfactory.c (icon_source_clear): Don't call g_free() on a pixbuf. (#141961, Crispin Flowerday) 2004-05-05 Matthias Clasen Merge from 2.4: * gtk/gtkuimanager.c (print_node): Make the output parseable. (#141929, Sven Neumann) 2004-05-05 Tor Lillqvist * gdk/win32/gdkdnd-win32.c (gdk_drag_find_window_for_screen): Add multi-monitor offset. (#141842, John Ehresman) 2004-05-04 Federico Mena Quintero Fixes #139562, based on a patch by Christian Neumair. * gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault): Add a filter_combo_hbox field to contain the filter combo. (show_filters): Show/hide the filter_combo_hbox. (create_filename_entry_and_filter_combo): Removed. (file_pane_create): Create the filter_combo_hbox here. 2004-05-04 Matthias Clasen * modules/input/gtkimcontextxim.c: Fix the recent string_conversion_callback change to work on Solaris. (#141190, Padraig O'Briain) * gtk/gtkselection.c: Disable debug logging again. 2004-05-03 Matthias Clasen * gtk/gtkselection.c: Make the chunk size for incremental transfers depend on the maximal request size, capped at 256k. This should allow most selections to be transferred nonincrementally, avoiding many roundtrips and protocol overhead. 2004-05-03 Federico Mena Quintero * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Call g_signal_new() correctly and initialize the signal fields. Fixes #141749; patch based on Michael Natterer's. u2004-05-03 Matthias Clasen * gtk/gtkselection.c (_gtk_selection_request): Fix a debug message to show correct information. (_gtk_selection_incr_event): Make INCRemental transfer of MULTIPLE targets work. This was broken since 1997! 2004-05-02 Hans Breuer * gdk/win32/gdkdrawable-win32.c (draw_segments) : don't modify the passed in GdkSegment(s) in place, we may get them again to draw at the same place. Fixes bug #129095, bug #137177, ... (draw_segments) draw the end pixel again to get the pixmap mask right, fixes bug #126710, #130202 * gdk/win32/gdkwindow-win32.c : use SetForegroundWindow, fixes bug #106013, John Ehresman * gtk/makefile.msc.in : don't try to link gtk.res but use gtk-win32.res (as supposed to be fixed below :) 2004-05-01 Hans Breuer * tests/Makefile.am : tests/makefile.msc is in CVS for a long time, finally added to EXTRA_DIST : fixes bug #141334, John Ehresman 2004-04-30 Matthias Clasen * === Released 2.4.1 === * configure.in: Version 2.4.1, interface age 1. * NEWS: Updates 2004-04-29 Federico Mena Quintero Fixes #140412. * gtk/gtkfilechooserdefault.c (remove_selected_bookmarks): New function; moved the code over from remove_bookmark_button_clicked_cb(). (remove_selected_bookmarks): Now, getting a non-removable bookmark is not an error, as we may be called as a result of hitting the Delete key. (shortcuts_key_press_event_cb): New handler; delete the bookmark if the user presses Backspace, Delete, or KP_Delete. 2004-04-29 Matthias Clasen * gtk/gtkaction.c (closure_accel_activate): Use _gtk_action_emit_activate() instead of directly emitting the activate signal. (#141429, Jody Goldberg) * gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel): Warn people when the accelerator can not be parsed. (#141429, Jody Goldberg) 2004-04-29 Matthias Clasen * tests/testentrycompletion.c (main): Add a missing cat. (#141070, Chris Sherlock) * gtk/gtkrc.c (gtk_rc_check_pixmap_dir): Remove unused variable. (#141022, Chris Sherlock) * gtk/gtkcombo.c (gtk_combo_popup_list): Add a missing cast. (#141013, Chris Sherlock) * gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Remove unused variable. (#141011, Chris Sherlock) 2004-04-29 Tor Lillqvist * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Plug memory leak. (#140775, John Ehresman) Thu Apr 29 01:09:50 2004 Matthias Clasen * gdk/gdkdraw.c (_gdk_drawable_get_scratch_gc): Use depth - 1 to index the cached gcs, not depth. (#139494) 2004-04-28 Matthias Clasen * gdk/gdkdraw.c (_gdk_drawable_get_scratch_gc): Docs typo fix. Sun Apr 25 15:36:02 2004 Soeren Sandmann * gtk/gtktoolbutton.c (gtk_tool_button_set_label_widget): Fix cut'n'paste-o from previous commit. (#141046, Torsten Schoenfeld). 2004-04-24 Theppitak Karoonboonyanan Patch to add support for string conversion callbacks to GtkIMContextXIM (#101814) * modules/input/gtkimcontextxim.c: Set the string conversion callback if supported by the XIC. (struct _GtkIMContextXIM): Add string_conversion_callback member. (struct _GtkXIMInfo, setup_im): Check and keep flag inidicating whether string conversion callback is supported. (gtk_im_context_get_ic, +set_string_conversion_callback, +string_conversion_callback): Also initialize string conversion callback, if supported, along with the IC initialization. * modules/input/imxim.c: Make "xim" module default for Thai as well. 2004-04-23 Matthias Clasen * gtk/gtkclipboard.c (gtk_clipboard_wait_for_targets): Correctly initialize targets. (#139883, John Finlay) * gdk/gdkdraw.c (gdk_draw_drawable): Small doc improvement. * gtk/gtktreeselection.c (gtk_tree_selection_get_selected_rows): Don't recommend gtk_tree_row_reference_new_proxy(). (#138309, Tim-Philipp Müller) * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_set_cell_data): Remove an excessive g_return_if_fail(). * gdk/x11/gdkevents-x11.c (set_user_time): Make set_user_time() static. * gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): _-prefix calls of gdk_x11_window_set_user_time(). 2004-04-22 Matthias Clasen * gtk/gtkuimanager.c (update_node): Make sure the separators used to demarkate placeholder ends don't show up on show_all(). (#140496, Murray Cumming) * gtk/gtkspinbutton.c (spin_button_at_limit): Make spinbuttons work with negative increments. (#137975, Tim Gerla) Wed Apr 21 21:38:03 2004 Soeren Sandmann * gtk/gtktoolbutton.c (gtk_tool_button_set_label_widget, gtk_tool_button_set_icon_widget): Remove the old widget from the tool button before overwriting it with the new widget. (#140508, Todd Goyen) 2004-04-22 Tor Lillqvist Fix the file chooser on Windows. I can't make it misbehave or crash any more now. But presumably there are still corner cases not handled. I haven't really checked behaviour of UNC paths, for instance. * gtk/gtkfilesystemwin32.c: Accept both backslash and slash in several places. Use G_IS_DIR_SEPARATOR macro (which could be added to GLib in 2.6). (gtk_file_system_win32_get_parent): Like the Unix version, assert filename is absolute, and avoid one unnecessary string allocation and freeing. (canonicalize_filename,gtk_file_system_win32_parse): Handle drive letters more correctly. (gtk_file_system_win32_render_icon): Assure correct syntax is used for root folder of a drive. (#137962, Morten Welinder) (filename_is_some_root): New function that accepts also root without any drive specified. (filename_is_drive_root): Rename from filename_is_root. * gtk/gtkfilechooserentry.c (completion_match_func): Casefold on Windows. 2004-04-21 Matthias Clasen * gtk/gtkentry.c (gtk_entry_completion_timeout): Pop down the completion window if there are no completions anymore. * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): Don't call gtk_tree_view_scroll_to_cell() on an empty tree view. It doesn't like that. (#140642, Christian Persch) * demos/gtk-demo/expander.c (do_expander): A new demo. * demos/gtk-demo/Makefile.am (demos): Add expander.c. 2004-04-20 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_allocate_children): Make sure anchored children get size allocated, even if the layout is valid. (#122323, Andrew E. Makeev) (gtk_text_view_scroll_pages): (gtk_text_view_scroll_hpages): Don't scroll to cursor position if we already have pending scrolls. Bandaid fix for #78513. Mon Apr 19 17:59:17 2004 Owen Taylor * INSTALL.in: Update libpng and libjpeg URLs, remove note about building without since that's not the normal case. Sun Apr 11 09:45:11 2004 Owen Taylor * gtk/gtkicontheme.c (load_themes): Fix a couple of typos in handling of SVG/non-SVG unthemed icons. 2004-04-19 Morten Welinder * gtk/gtktoolbar.c (gtk_toolbar_focus): Don't leak list of children. (#140523) 2004-04-19 Matthias Clasen * gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag): Don't stop the iteration up to the tag_root too early. (#109945, Dongho Shin) Sun Apr 18 17:06:03 2004 Soeren Sandmann * gdk/x11/gdkkeys-x11.c (get_effective_keymap): Make gdk_keymap_translate_keyboard_state() handle NULL keymaps. (#139715, Torsten Schoenfeld). Sun Apr 18 16:59:21 2004 Soeren Sandmann * configure.in: Don't erase GDK_EXTRA_CFLAGS. Fixes bug 139586, reported by Pedro RODRIGUEZ, about compilation problems when Xcursor is installed in a non-standard location. Sun Apr 18 16:15:15 2004 Soeren Sandmann Support for _NET_WM_USER_TIME (bug 115650). Patch by Elijah Newren. * gdk/x11/gdkwindow-x11.[ch]: Add new internal function _gdk_x11_set_user_time() to set the _NET_WM_USER_TIME property. * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add user_time field * gdk/x11/gdkdisplay-x11.c: Add _NET_WM_USER_TIME to list of precached atoms. * gdk/x11/gdkinput-x11.c, gdk/x11/gdkevents-x11.c: Set the property on user interaction. 2004-04-15 Federico Mena Quintero * gtk/gtkfilesel.c (open_new_dir): Tell the user to use G_FILENAME_ENCODING, not G_BROKEN_FILENAMES. Fixes #114065. * gtk/gtkfilechooserdefault.c (split_uris): Use a variant of the code from gtkfilesel.c to parse a "text/uri-list" blob. Fixes #140126. 2004-04-15 Matthias Clasen * gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): * gtk/gtkbutton.c (gtk_button_class_init): Doc fixes. 2004-04-14 Matthias Clasen * gtk/gtkcombobox.c: * gtk/gtkwidget.c: Make all style properties readonly. 2004-04-14 Matthias Clasen * gtk/gtkcolorsel.c: Add a11y relations between the color wheel and the spin buttons. (#132745, Padraig O'Briain) * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): Document the meaning of size == -1. * gtk/gtkwidget.c (gtk_widget_render_icon): Explicitly accept a size of -1. (#137436, Brian Cameron) * gtk/gtkcombobox.c: Make the arrow and separator regular children of an hbox inside the button, and propagate state changes from the button to the cell view. (part of the fix for #138650, should also fix #137535) * gtk/gtkcellview.c (gtk_cell_view_expose): Pass the PRELIT state to gtk_cell_renderer_render() when prelighted. (part of the fix for #138650) * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): Use PRELIGHT state when appropriate. (part of the fix for #138650) * gtk/gtkcombobox.c (gtk_combo_box_relayout): Don't spit out warnings if called before the combo box is realized. (#139742, Philip Langdale) Wed Apr 14 03:45:39 2004 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_expose): propagate expose events to children. Wed Apr 14 03:32:58 2004 Jonathan Blandford * gtk/gtkpathbar.c (make_directory_button): remove spurious gtk_box_pack_start. Tue Apr 13 16:19:23 2004 Jonathan Blandford * gtk/gtkpathbar.c (make_directory_button): patch from Owen to make the buttons sized by a bold label. This makes the text 'swim' a little, but stops the buttons from resizing, #137210 2004-04-13 Matthias Clasen * gtk/gtkuimanager.c (get_child_node): Don't crash if a node has no name. (start_element_handler): Accept separators without unique names. (#133302, Anders Carlsson) * gtk/gtkactiongroup.c (gtk_action_group_add_action): Document possible accelerator gotcha when using this function. (#139641, Christian Persch) * gtk/gtkuimanager.c (node_remove_ui_reference): Don't leak list nodes. (#138862, Morten Welinder) Tue Apr 13 12:24:49 2004 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_destroy): remove unused variable. (gtk_tree_view_button_press): If we activated the row we don't want to grab focus back, as moving focus to another widget is pretty common, #138458 2004-04-12 Federico Mena Quintero * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Added documentation to all the signals. 2004-04-12 Matthias Clasen * gtk/gtkcombobox.c (gtk_combo_box_unset_model): Don't unref model if it is NULL. (#139770) * gtk/gtktreeview.c (gtk_tree_view_get_cell_area): Typo fix. * gtk/gtkentrycompletion.c (gtk_entry_completion_init): Don't add a shadow inside the scrolled window, add it around the vbox. * gtk/gtkentryprivate.h: * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): Return a boolean indicating whether the popup is positioned above or below. Scroll the completions to the beginning or the end, depending on the positioning. * gtk/gtkentry.c (gtk_entry_completion_key_press): Make keynav wrap around in the entry completion popup, and allow GDK_UP to enter the popup. (#137440) 2004-04-12 Matthias Clasen * gtk/gtkentry.c (gtk_entry_size_request): Make sure the style is there before using it. Sun Apr 11 15:08:45 2004 Jonathan Blandford * gtk/gtktreeprivate.h: Moved search entries into priv data. * gtk/gtktreeview.c: Prep for type-ahead support. (gtk_tree_view_destroy): Destroy the search window explicitly. (gtk_tree_view_key_press): Minor change; prep for type-ahead (gtk_tree_view_ensure_interactive_directory): New function (gtk_tree_view_focus_out): Rework to handle new entry life-cycle. (gtk_tree_view_real_start_interactive_search): rework (gtk_tree_view_search_dialog_hide): ditto (gtk_tree_view_search_delete_event): ditto (gtk_tree_view_search_button_press_event): ditto (gtk_tree_view_search_key_press_event): ditto (gtk_tree_view_search_move): ditto (gtk_tree_view_search_init): ditto * gtk/gtktreeviewcolumn.c: (gtk_tree_view_column_cell_layout_clear): remove unused variable. * tests/testfilechooser.c: (main): change 2004-04-11 Hans Breuer * gdk/win32/gdkspawn-win32.c : workaround for bug #137496, the real fix would involve just another small API breakage, i.e. gdk_spawn_* using GPid not just gint. * gtk/makefile.msc.in : build gtk-win32.res, not gtk.res 2004-04-10 Tor Lillqvist * gdk/win32/gdkkeys-win32.c (gdk_keymap_translate_keyboard_state): If both Shift and CapsLock pressed, ignore the shift only for letters (that would have been affected by the CapsLock). (#139095) * gdk/win32/gdkglobals-win32.c: Disable tablet support by default, seems to be even buggier now than it used to be. (#138341) Initialize _gdk_input_ignore_wintab to TRUE. * gdk/win32/gdkmain-win32.c: Add --use-wintab switch and GDK_USE_WINTAB environment variable to turn on tablet support. 2004-04-09 Christian Persch * gtk/gtkuimanager.c: (gtk_ui_manager_insert_action_group), (gtk_ui_manager_remove_action_group): Terminate g_object_[dis]connect() calls with NULL instead of 0. Fixes #138997. 2004-04-09 Guntupalli Karunakar * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS. 2004-04-07 Federico Mena Quintero Fix #132500. * gtk/gtkfilesystem.c (gtk_file_system_parse): Ensure that the passed-in 'str' is not NULL. * gtk/gtkfilesystemunix.c (expand_tilde): New helper function; expands "~/" or "~foo/" at the beginning of a filename. (gtk_file_system_unix_parse): Use expand_tilde() before doing anything else. * gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_maybe_update_directory): Take in a force_reload argument. (gtk_file_chooser_entry_changed): If gtk_file_system_parse() returns an error, set the file_part_pos to -1. (load_directory_callback): Only populate the model if the file_part_pos is not -1. 2004-04-06 Pablo Saratxaga * configure.in: Added Icelandic (is) to ALL_LINGUAS 2004-04-05 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (location_popup_handler): Use a title for SAVE and CREATE_FOLDER modes. Fixes #137272. * gtk/gtkfilesystemunix.c (gtk_file_system_unix_make_path): Look for G_DIR_SEPARATOR in the display_name, and err out if it is present; use the same error message as Nautilus. Fixes #136467. * gtk/gtkfilechooserdefault.c (file_pane_create): Make the new-folder button say "Create Fo_lder" rather than "Create _Folder", so that the mnemonic doesn't conflict with the "Save in _folder" label. Fixes #136975. 2004-04-05 Federico Mena Quintero * gtk/gtkpathbar.c (_gtk_path_bar_set_path): Ref/sink the buttons. Also, free them correctly upon failure. Based on a patch by Morten Welinder, fixes #137956. 2004-04-05 Anders Carlsson * gdk/gdk.c (gdk_arg_context_parse): Handle '--' correctly. Fri Apr 2 17:57:33 2004 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_row_inserted): set the height correctly for fixed height when inserting a node, #138082 2004-04-01 Federico Mena Quintero Fix #136077. * gtk/gtkpathbar.h (struct _GtkPathBarClass): Add a "child_is_hidden" boolean argument to the "path-clicked" signal. * gtk/gtkpathbar.c (struct _ButtonData): Added a file_is_hidden field. (make_directory_button): Take a file_is_hidden argument; put it in the ButtonData. (_gtk_path_bar_set_path): See whether each path component path is a hidden file. (gtk_path_bar_class_init): Add the file_is_hidden argument to the "path-clicked" signal. (button_clicked_cb): See if the downwards button represents a hidden file for the file_is_hidden argument in the signal emission. * gtk/gtkmarshalers.list: Added a signal type VOID:POINTER,BOOLEAN. * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_select_path): If we fail to switch folders, don't try to select the path in the file system model. Also, return the result from _gtk_file_system_model_path_do(). (gtk_file_chooser_default_select_path): Turn on show_hidden in the file system model if we are asked to select a hidden file. (path_bar_clicked): Show hidden files based on whether the immediate downwards folder in the path bar is a hidden file itself. (struct _GtkFileChooserDefault): Added fields browse_files_popup_menu and browse_files_popup_menu_hidden_files_item. (create_file_list): Set an object data key of "GtkFileChooserDefault" on the tree view so that we can find the impl from the popup menu callbacks. Also, hook up to the "button-press-event" and "popup-menu" signals in the file list to bring up a popup menu. (list_popup_menu_cb): New callback. (list_button_press_event_cb): New callback. Fix #138763: * gtk/gtkfilesystemmodel.c (_gtk_file_system_model_new): Oops, connect_object to "finished-loading". 2004-03-31 Tor Lillqvist * configure.in: Move AC_CANONICAL_HOST earlier, before the check for native Win32. (#136559, J. Ali Harlow) * gdk/win32/gdkdrawable-win32.c (draw_arc): Use X11 semantics for angles. Thanks to Tim Newsham. 2004-03-29 Federico Mena Quintero Fix #137520. * gtk/gtkfilesystem.h (struct _GtkFileFolderIface): Added slots for an ::is_finished_loading() method and a ::finished_loading() signal at the end of the struct. * gtk/gtkfilesystem.c (gtk_file_folder_base_init): Create the "finished-loading" signal. (gtk_file_folder_is_finished_loading): New function. * gtk/gtkfilesystemunix.c (gtk_file_folder_unix_is_finished_loading): Implement. * gtk/gtkfilesystemmodel.c (struct _GtkFileSystemModelClass): New slot for a "finished-loading" signal. (gtk_file_system_model_class_init): Create the "finished-loading" signal. (struct _GtkFileSystemModel): New field idle_finished_loading_source. We emit the "finished-loading" signal in an idle if the root folder was done loading right in _gtk_file_system_model_new(), so that the caller has a chance to connect to the signal. (_gtk_file_system_model_new): Connect to the normal signals of the folder even if the initial _list_children() fails. Also, see if the folder is finished loading; connect to the "finished-loading" signal otherwise. (gtk_file_system_model_finalize): Remove the idle handler. * gtk/gtkfilechooserdefault.c (set_list_model): Set a busy cursor and connect to the model's "finished-loading" signal. (get_toplevel): New helper function. (error_message): Use get_toplevel(). (trap_activate_cb): Likewise. (location_popup_handler): Likewise. (set_busy_cursor): New function. (browse_files_model_finished_loading_cb): New callback. 2004-03-25 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (check_preview_change): Just use the file under the cursor; we don't need the logic from GtkFileSelection after all. Fixes #132255. 2004-03-25 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (location_entry_create): Fill the location entry with the display name of the file under the cursor for Open mode, or the typed filename in Save mode. 2004-03-24 J. Ali Harlow * gtk/gtkfilesystemwin32.c (filename_is_root): Bare drive designators (eg., "c:") are no longer considered as root filenames. Fixed #137942 2004-03-24 J. Ali Harlow * gtk/gtkfilesystemwin32.c (gtk_file_system_win32_create_folder): Invert test for error in mkdir. Fixes #137945 2004-03-24 J. Ali Harlow Fixed #138004 using Federico's code from #132327. * gtk/gtkfilesystemwin32.c (struct _GtkFileSystemWin32): Add a folder_hash field to keep a list of live folder objects. (gtk_file_system_win32_init): Create the folder_hash. (gtk_file_system_win32_finalize): Destroy the folder_hash. (gtk_file_system_win32_get_folder): Ref and return an existing folder if we have it around, otherwise return a new folder object. (struct _GtkFileFolderWin32): Add a field for the parent file system. (gtk_file_folder_win32_finalize): Remove the folder from the file system's hash table. (gtk_file_system_win32_create_folder): Emit "files-added" on the newly-created folder's parent. Fixes #138004. 2004-03-24 J. Ali Harlow * gtk/gtkfilesystemwin32.c (gtk_file_system_win32_get_folder): Test that path is actually a directory and throw error if not. Fixed bug #137950 2004-03-22 J. Ali Harlow * gtk/gtkfilesystemwin32.c (gtk_file_system_win32_volume_get_display_name): Ignore empty volume labels; assume that GetVolumeInformation would fail if GetVolumeInformationW does; catches a small memory leak; pass the buffer size to GetVolumeInformationW in wide characters instead of bytes. Fixes bug #137543 (list_volumes): Cope with the theoretical possibility of more than 26 logical drives. Fixes bug #137940 (bookmarks_serialize): Now actually removes bookmarks. Fixes bug #137943 2004-03-22 Guntupalli Karunakar * configure.in: Added "pa" (Punjabi) to ALL_LINGUAS. 2004-03-21 Tor Lillqvist * gtk/gtkfilesystemwin32.c (gtk_file_system_win32_volume_get_base_path): Include the backslash. Otherwise gtk_file_system_win32_path_to_uri() returns NULL for a volume base path, as g_filename_to_uri() requires an absolute path, and just a drive letter and colon isn't. (#137543) 2004-03-20 Hans Breuer * gtk/gtkfilesystemwin32.c : applied the undisputable and required [due to recent gtkfilesystem internal api semantic changes] part of patches to fix bug #137543 (Tor Lillqvist, J. Ali Harlow) * gdk/gdkevents-win32.c (handle_configure_event) : (gdk_event_translate), WM_WINDOWPOSCHANGED : initialize GdkWindowObject::x, y with screen coords to make gdk_window_get_position () return the right thing and thus fix drag and drop positioning (e.g. Gimp tabs, fixes bug #137192) 2004-03-19 Federico Mena Quintero * Revert the patch to #137520, as 2.4.1 is for conservative bug fixes only. The patch is attached to the bug report, for reference. 2004-03-19 Morten Welinder * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_set_current_folder): Test existance of the path after checking for locality, if needed. 2004-03-19 Federico Mena Quintero Fix #137520. * gtk/gtkfilesystem.h (struct _GtkFileFolderIface): Added slots for an ::is_finished_loading() method and a ::finished_loading() signal at the end of the struct. * gtk/gtkfilesystem.c (gtk_file_folder_base_init): Create the "finished-loading" signal. (gtk_file_folder_is_finished_loading): New function. * gtk/gtkfilesystemunix.c (gtk_file_folder_unix_is_finished_loading): Implement. * gtk/gtkfilesystemmodel.c (struct _GtkFileSystemModelClass): New slot for a "finished-loading" signal. (gtk_file_system_model_class_init): Create the "finished-loading" signal. (struct _GtkFileSystemModel): New field idle_finished_loading_source. We emit the "finished-loading" signal in an idle if the root folder was done loading right in _gtk_file_system_model_new(), so that the caller has a chance to connect to the signal. (_gtk_file_system_model_new): Connect to the normal signals of the folder even if the initial _list_children() fails. Also, see if the folder is finished loading; connect to the "finished-loading" signal otherwise. (gtk_file_system_model_finalize): Remove the idle handler. * gtk/gtkfilechooserdefault.c (set_list_model): Set a busy cursor and connect to the model's "finished-loading" signal. (get_toplevel): New helper function. (error_message): Use get_toplevel(). (trap_activate_cb): Likewise. (location_popup_handler): Likewise. (set_busy_cursor): New function. (browse_files_model_finished_loading_cb): New callback. Thu Mar 18 12:10:45 2004 Owen Taylor * gtk/gtktreeitem.c (gtk_tree_item_forall): Include eventbox for expander. (#137564, reported by Jacques Garrigue) 2004-03-18 Guntupalli Karunakar * mr.po: Added "mr" for Marathi to ALL_LINGUAS. 2004-03-17 Morten Welinder * gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Free volumes not actually put into the shortcut list. * tests/prop-editor.c (object_changed): Plug leak. * tests/testfilechooser.c (main): Plug some leaks and expose others. * tests/prop-editor.c (create_prop_editor): Don't leak the tooltip object. Fixed #136652. * gtk/gtkfilechooserdefault.c (check_icon_theme): Do nothing if we have no screen. Fixes #137260. (shortcuts_add_bookmark_from_path): Simplify using check_is_folder thereby fixing leak. Fixes #137259. * gtk/gtkpathbar.c (gtk_path_bar_forall): Make this work when the slider buttons have been destroyed. (gtk_path_bar_remove): Make this work for slider buttons too. Fixes #137257 2004-03-15 Morten Welinder * gtk/gtkfilechooserdefault.c (shortcuts_add_bookmark_from_path): Sanitize and plug leak. (check_icon_theme): Only do something if the widget has a screen. Wed Mar 17 01:20:28 2004 Matthias Clasen * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): Move the repositioning logic from _gtk_entry_completion() popup over here. Fixes #137355, reported by Niklas Knutsson.