2003-12-19 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (list_mtime_data_func): Use g_date_strftime() for UTF-8 correctness; use Julian dates to simplify the function. Fri Dec 19 01:47:34 2003 Matthias Clasen * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Test extra_width, not extra_height, when determining whether to set extra_width. (#129647, Jan Arne Petersen) Fri Dec 19 01:35:34 2003 Matthias Clasen Fix the behaviour of insensitive actions, which was broken when gtk_action_activate() was changed to pay attention to sensitivity (#129557, Christian Persch) * gtk/gtkaction.h: * gtk/gtkaction.c (_gtk_action_emit_activate): New auxiliary function to emit an activate signal without regard to sensitivity. * gtk/gtkradioaction.c: * gtk/gtktoggleaction.c: Always use _gtk_action_emit_activate() instead of gtk_action_activate(). Thu Dec 18 19:13:12 2003 Kristian Rietveld Fixes #110249, reworked patch from Joshua N Pritikin. * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_type), (gtk_tree_model_sort_tree_drag_source_init), (gtk_tree_model_sort_row_draggable), (gtk_tree_model_sort_drag_data_get), (gtk_tree_model_sort_drag_data_delete): implement GtkTreeDragSource. * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_get_type), (gtk_tree_model_filter_tree_drag_source_init), (gtk_tree_model_filter_row_draggable), (gtk_tree_model_filter_drag_data_get), (gtk_tree_model_filter_drag_data_delete): ditto. Thu Dec 18 18:01:01 2003 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_class_init): add key bindings for "*" and "/" (expand/collapse all). (#110195, reported by Calum Benson). Thu Dec 18 17:52:56 2003 Kristian Rietveld * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property): clear the extra_attrs list if we set "text" after "markup". (Fixes #121933, Federico Mena Quintero). 2003-12-18 Alexander Larsson * gtk/gtkicontheme.c (gtk_icon_info_get_embedded_rect): Fix typo that used the wrong x/y values for the x1, y1 point (#129605) Thu Dec 18 01:41:50 2003 Kristian Rietveld * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init), (gtk_cell_renderer_text_finalize), (gtk_cell_renderer_text_get_property), (gtk_cell_renderer_text_set_property), (get_layout): added language and language_set properties like GtkTextTag has. (#103800, reported by Owen Taylor). Thu Dec 18 01:37:59 2003 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_activate): Correct misleading docs. * gtk/gtkbutton.c (gtk_button_class_init): Add docs for the "activate" signal. (#129358, Ka-Hing Cheung) Thu Dec 18 01:21:59 2003 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_class_init): Jonathan got the logical flag backwards in the expand_collapse_cursor_row bindings, fixing. (gtk_tree_view_real_expand_collapse_cursor_row): invert expand flag when !logical and in RTL. (Fixes #107527, reported by Noah Levitt). Thu Dec 18 01:10:16 2003 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_button_press): only start editing when activated by the left mouse button. (#106869, patch from Evan Martin). Thu Dec 18 00:57:18 2003 Kristian Rietveld Migrating all cell renderers to use the new instance private data construction. * gtk/gtktreeprivate.h: remove GtkCellRendererInfo, as it is no longer being used. * gtk/gtkcellrenderer.c (gtk_cell_renderer_init), (gtk_cell_renderer_class_init), (gtk_cell_renderer_get_property), (set_cell_bg_color), (gtk_cell_renderer_render): remove old GtkCellRendererInfo handling, migrate to instance private data. * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done), (gtk_cell_renderer_text_start_editing): moved focus_out_id from GtkCellRendererInfo to text renderer private data. * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_init), (gtk_cell_renderer_pixbuf_class_init), (gtk_cell_renderer_pixbuf_finalize), (gtk_cell_renderer_pixbuf_get_property), (gtk_cell_renderer_pixbuf_set_property), (gtk_cell_renderer_pixbuf_create_stock_pixbuf), (gtk_cell_renderer_pixbuf_get_size), (gtk_cell_renderer_pixbuf_render): migrate to instance private data. * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init), (gtk_cell_renderer_toggle_get_property), (gtk_cell_renderer_toggle_set_property), (gtk_cell_renderer_toggle_render): migrate to instance private data. Thu Dec 18 00:24:32 2003 Kristian Rietveld * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init), (gtk_cell_renderer_text_get_property), (gtk_cell_renderer_text_set_property), (get_layout): add a single-paragraph-mode property, use private instance data. (Fixes #114943, reported by Morten Welinder). Thu Dec 18 00:07:01 2003 Kristian Rietveld * gtk/gtktreemodel.h (gtk_tree_path_new_root), (gtk_tree_model_get_iter_root): now deprecated (#106953, reported by Matthias Clasen). Wed Dec 17 23:50:56 2003 Kristian Rietveld * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property): if we set a new stock_id and there was a previous stock_id, unref the pixbuf (since it was used to renderer the previous stock_id and stock_id might have been set to NULL now). (Fixes #122966). 2003-12-17 Marco Pesenti Gritti * gtk/gtktreemodelsort.c: (gtk_tree_model_sort_get_iter): Check that index is not bigger than level array length also when depth is 1. Now get_iter_first correctly return FALSE when the model is empty (#129411). Wed Dec 17 23:31:19 2003 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_search_equal_func): only try to strcmp or strlen if we managed to normalize and casefold the string correctly. Fixes crashes with non-UTF8 strings. (#121617, Patch from Tim-Philipp Müller). Wed Dec 17 23:20:23 2003 Matthias Clasen * gtk/gtkexpander.c (gtk_expander_animation_timeout): Add missing GDK_THREADS_ENTER()/GDK_THREADS_LEAVE(). * gtk/gtkcalendar.c, gtk/gtkclist.c, gtk/gtkexpander.c, gtk/gtklist.c, gtk/gtknotebook.c, gtk/gtkselection.c, gtk/gtkspinbutton.c: Cast second argument to g_timeout_add() to GSourceFunc instead of GtkFunction. (#129525, Olexiy Avramchenko) Wed Dec 17 23:16:45 2003 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_button_press): fix compile warning. (#122727, patch from Kjartan Maraas). Wed Dec 17 21:23:01 2003 Kristian Rietveld Yay! Fixed height mode! Hooray! (Part 2 of #80868). * gtk/gtktreeview.c (gtk_tree_view_class_init), (gtk_tree_view_init), (gtk_tree_view_set_property), (gtk_tree_view_get_property), (gtk_tree_view_set_model): add a fixed_height_mode property, (intialize_fixed_height_mode), (do_validate_rows), (column_sizing_notify), (gtk_tree_view_set_fixed_height_mode), (gtk_tree_view_style_set), (gtk_tree_view_row_changed), (gtk_tree_view_row_inserted), (gtk_tree_view_remove_column), (gtk_tree_view_insert_column): implement fixed height mode, (gtk_tree_view_append_column), (gtk_tree_view_insert_column), (gtk_tree_view_insert_column_with_attributes), (gtk_tree_view_insert_column_with_data_func): update docs. * gtk/gtktreeprivate.h: add two fields to GtkTreePrivate. 2003-12-07 Murray Cumming * gtk/gtktreemodel.c: (row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal) Actually call the default signal handlers instead of calling the marshallers themselves in an endless loop. These default signal handler callbacks are not actually set so this is only noticed by gtkmm at the moment. Bug 123923. 2003-12-16 Federico Mena Quintero * gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a "volumes-changed" signal. Added the following methods: list_volumes volume_free volume_get_base_path volume_get_is_mounted volume_mount volume_get_display_name volume_render_icon * gtk/gtkfilesystem.c (gtk_file_system_base_init): Create the "volumes-changed" signal. (gtk_file_system_list_volumes): New function. (gtk_file_system_volume_free): New function. (gtk_file_system_volume_get_base_path): New function. (gtk_file_system_volume_get_is_mounted): New function. (gtk_file_system_volume_mount): New function. (gtk_file_system_volume_get_display_name): New function. (gtk_file_system_volume_render_icon): New function. * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_free): Implement. (gtk_file_system_unix_volume_get_base_path): Implement. (gtk_file_system_unix_volume_get_is_mounted): Implement. (gtk_file_system_unix_volume_mount): Implement. (gtk_file_system_unix_volume_get_display_name): Implement. (gtk_file_system_unix_volume_render_icon): Implement. * gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault): Added a field for the "volumes-changed" signal connection. (gtk_file_chooser_default_set_property): Connect to "volumes-changed" on the file system. (gtk_file_chooser_default_finalize): Disconnect from "volumes-changed". * gtk/gtkfilechooserdefault.c (shortcuts_remove_rows): New helper function. (shortcuts_get_index): New helper function. (shortcuts_insert_path): Can now insert volumes as well as paths. (shortcuts_append_paths): Don't take is_file_system_root. (shortcuts_add_volumes): New function. (shortcuts_append_file_system_roots): Removed. (create_shortcuts_model): Use shortcuts_add_volumes(). (remove_bookmark_button_clicked_cb): Check that the index is within range. (bookmarks_check_add_sensitivity): Take volumes into account. (shortcuts_get_selected_index): New helper function. (remove_bookmark_button_clicked_cb): Use shortcuts_get_selected_index(). (bookmarks_check_remove_sensitivity): Likewise. (shortcuts_select_func): Likewise. (shortcuts_row_activated_cb): Handle volumes as well as normal paths. (shortcuts_activate_volume): New function. (struct _GtkFileChooserDefault): Removed the bookmarks_set and bookmarks_iter fields. (shortcuts_append_bookmarks): Use shortcuts_remove_rows(). (bookmarks_changed_cb): Use shortcuts_add_bookmarks(). (remove_bookmark_rows): Removed. (shortcuts_add_bookmarks): New function; moved most of the code over from shortcuts_append_bookmarks(). (shortcuts_append_bookmarks): Add the separator node here, and then call shortcuts_add_bookmarks(). Tue Dec 16 15:01:10 2003 Manish Singh * gtk/gtkfilechooserwidget.c: fix preprocessor conditional confusion. (G_OS_UNIX/G_OS_WIN32 stuff) Tue Dec 16 01:46:46 2003 Matthias Clasen Do not interpret distant clicks as double-clicks (#116541, Bernhard Walle): * gdk/gdkdisplay.h (struct GdkDisplay): Add new fields double_click_distance, button_x and button_y. * gdk/gdkdisplay.c (gdk_display_init): Initialize the new fields. * gdk/gdkdisplay.h: * gdk/gdkevents.c (gdk_display_set_double_click_distance): New function to set the double click distance on a display. * gdk/gdkevents.c: Take double click distance into account when generating single, double or triple clicks. * gtk/gtksettings.c: Add new setting "gtk-double-click-distance". * gdk/x11/gdkevents-x11.c: Add the XSetting "Net/DoubleClickDistance" and map it to "gtk-double-click-distance". 2003-12-15 Federico Mena Quintero * gtk/gtkdialog.c: Sigh, revert the change. 2003-12-15 Federico Mena Quintero * gtk/gtkdialog.c (dialog_has_cancel): Removed. (gtk_dialog_close): Don't call dialog_has_cancel(). At least allows sane behavior for #101293. Mon Dec 15 00:56:54 2003 Matthias Clasen * gtk/gtkbutton.[hc]: Add new properties, xalign and yalign, with getter and setter gtk_button_[sg]et_alignment(), to set the alignment of the child. (#70961, Jody Goldberg) 2003-12-14 Hans Breuer * gtk/gtkprivate.h gtk/gtkmain.c : handle GTK_DATADIR similar as the other filesystem placement 'constants' (dynamic resolving on win32) * gtk/gtkfilechooserwidget.c : handle file system to win32 renaming here as will * gtk/gtkfilesystemwin32.c : implement render_icon * gtk/gtk.def gdk/gdk.def : updated externals * gdk/win32/gdkdisplay-win32.c : make it compile without - i.e. even older sdk * gdk/win32/gdkevents-win32.c : match resize_timer_proc with TIMERPROC prototype * gdk/win32/gdkwindow-win32.c : older msvc does not know BITMAPV5HEADER (from win xp) either * gtk/gtkimmodule.c : make it compile even if GTK_LOCALEDIR is not defined * tests/testfilechooser.c : recent GLib crashes on g_print ("%s", NULL) so avoid this 2003-12-14 Tor Lillqvist * gdk/win32/gdkselection-win32.c: Calls to OpenClipboard() must be followed by calls to CloseClipboard(). Add a missing call to CloseClipboard(). Found by Adam Wright, fixes #104944. Use API_CALL macro in more places. 2003-12-14 Tor Lillqvist Merge from stable: * gdk/gdkdisplaymanager.c: Mark default_display static. * gdk/win32/gdkdnd-win32.c: Mark current_dest_drag static. * gdk/win32/gdkkeys-win32.c: Disable some overly verbose debugging output. * gdk/win32/gdkevents-win32.c: Clean up the debugging output from --gdk-debug=events. In general, output just one line of debugging output for each Windows message, plus one line for each GDK event generated. Indent all lines according to window procedure nesting level. (inner_window_procedure): Rename from real_window_procedure. (find_real_window_for_grabbed_mouse_event): Don't get misled when the point is in the non-client (decoration) area of the window returned by WindowFromPoint(). Return the root window in that case. (build_pointer_event_state): Test also MK_XBUTTON1 and MK_XBUTTON2 (buttons 4 and 5). (synthesize_enter_event): Track the mouse leaving the window in the event being generated, not the one mentioned in the Windows message. (propagate): Test for NULL parent earlier. Improves event generation from a grabbed pointer. Part of fix for #107320. (handle_stuff_while_moving_or_resizing): New function, to dispatch the main loop (once). (resize_timer_proc): New function, set to be called by an inerval timer during resizes/moves. Calls handle_stuff_while_moving_or_resizing(). (gdk_event_translate): Drop unused return_exposes parameter. Handle WM_XBUTTONDOWN and UP messages (buttons 4 and 5). On WM_SYSKEYUP, generate a key release event also for just the Alt key. On WM_MOUSELEAVE, generate a leave event of type GDK_NOTIFY_ANCESTOR (and not UNKNOWN) if the mouse left a top-level window, and left the app completely. On WM_ENTERSIZEMOVE, set a flag, and start an interval timer that calls resize_timer_proc() at regular intervals. On WM_EXITSIZEMOVE, kill the timer. On WM_WINDOWPOSCHANGED, generate a configure event if necessary, and dispatch the main loop (by calling handle_stuff_while_moving_or_resizing()). Fixes #99540, idea by Herman Bloggs. * gdk/win32/gdkmain-win32.c (_gdk_win32_message_to_string): Handle also wintab messages. * gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint): Instead of using WS_EX_TOOLWINDOW, implement by setting/unsetting the window's owner. Fixes #118093, reported by Maxime Romano. Tue Dec 8 09:41:00 2003 Tim Evans * gdk/win32/gdkwindow-win32.[ch]: Implement gdk_window_set_icon_list() for Win32, with support for big and small icons and support for alpha-channel icons under Windows XP. Replaces the previous implementation of gdk_window_set_icon(). (#128762) Sun Dec 14 01:28:23 2003 Matthias Clasen * gdk/x11/gdkprivate-x11.h: * gdk/x11/gdkx.h: * gdk/x11/gdkevents-x11.c (gdk_x11_register_standard_event_type): Rename from _gdk_x11_register_event_type(), added API docs. * gdk/x11/gdkinput-x11.c (_gdk_input_common_init): * gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init): Adjust all callers. (#121471, Bill Haneman) Sat Dec 13 23:37:50 2003 Matthias Clasen * gdk/gdkdraw.c (gdk_draw_pixbuf): Document that the clip mask of gc is ignored. (#101983, Sebastian Rittau) Sat Dec 13 16:13:27 2003 Kristian Rietveld A trick for a faster treeview, step 1. Patch to short circuit _build_tree(), inspired by Jonathan (#80868). * gtk/gtktreeview.c (gtk_tree_view_init): don't put _IS_LIST in flags by default, (gtk_tree_view_build_tree): don't even try to recurse when the model says that it is a list, remove flag unsetter, (gtk_tree_view_set_model): change flag setting logic. * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_flags): propagate whether or not the child model has _IS_LIST set. * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_get_flags): ditto. Sat Dec 13 02:33:17 2003 Matthias Clasen * gtk/gtkrange.c (gtk_range_scroll): Undo the last change, since it broke logical keynav. * gtk/gtkrange.c (range_get_scroll_for_grab): Fix stepper direction in inverted scrollbars here instead. Sat Dec 13 00:39:24 2003 Matthias Clasen * gtk/gtkviewport.c (viewport_set_hadjustment_values): Implement "gravity" for RTL mode in a better way: Keep the distance from the upper end of the page to the upper bound constant. This also fixes problems with the initial position of the viewport in RTL mode. (#129063) Fri Dec 12 21:00:12 2003 Kristian Rietveld Combo box flipping support. * gtk/gtkcombobox.c (gtk_combo_box_menu_position), (gtk_combo_box_size_allocate): support RTL flipping (#126518, patch from Matthias Clasen), (gtk_combo_box_popup): fix popup window alignment if there's a cell view frame visible (#126518, patch from Semion Chichelnitsky). * gtk/gtkcellview.c (gtk_cell_view_expose): support RTL flipping (#128348, patch from Semion Chichelnitsky). Fri Dec 12 01:13:34 2003 Matthias Clasen * examples/gtkdial/gtkdial.c: * examples/menu/menu.c: * examples/scribble-xinput/scribble-xinput.c: * examples/progressbar/progressbar.c: * docs/tutorial/gtk-tut.sgml: Remove deprecated functions in examples. (#129074, Olexiy Avramchenko) * examples/calendar/Makefile: * examples/rangewidgets/Makefile: * examples/menu/Makefile: Allow deprecated functions in examples which use deprecated widgets. Fri Dec 12 00:43:16 2003 Matthias Clasen * gdk/gdk.c (gdk_threads_set_lock_functions): * gdk/x11/gdkspawn-x11.c: Add "Since: 2.4" to doc comments. Fri Dec 12 00:05:31 2003 Matthias Clasen * gtk/gtkrange.c (gtk_range_scroll): Fix direction of steppers in inverted scrollbars. (#129084, Olexiy Avramchenko) Thu Dec 11 23:50:30 2003 Matthias Clasen * gtk/gtknotebook.c (gtk_notebook_pages_allocate): Don't unnecessarily reserve space for arrows in RTL mode. (#129075, Semion Chichelnitsky) Thu Dec 11 00:35:12 2003 Matthias Clasen Changes to allow "no input" windows (#64613): * gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean field accept_focus. * gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to set it. * gtk/gtkwindow.[hc]: Add a boolean property "accept_focus" and gtk_window_get_focus() and gtk_window_set_focus(). * gdk/win32/gdkwindow-win32.c (gdk_window_new): * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new): * gdk/x11/gdkwindow-x11.c (gdk_window_set_new): Initialize the accept_focus field to TRUE. * gdk/win32/gdkwindow-win32.c (gdk_window_set_accept_focus): * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_accept_focus): * gdk/x11/gdkwindow-x11.c (gdk_window_set_accept_focus): Implementations for the various backends. The Win32 and linux-fb implementations set the accept_focus field, but don't use it yet to actually implement noinput windows. The X implementation updates the WM_HINTS to select the globally active input model (see the ICCCM) if accept_focus is FALSE. * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Ignore the WM_TAKE_FOCUS message if accept_focus is FALSE. 2003-12-10 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault): Added toolbar items for the filter separator and the filter item. (toolbar_create): Add the filter widgets here. (filter_create): Renamed from create_filter(). Don't store the alignment in the impl structure, just return it. (toolbar_show_filters): New function. (gtk_file_chooser_default_add_filter): Use toolbar_show_filters(). (gtk_file_chooser_default_remove_filter): Likewise. (gtk_file_chooser_default_constructor): Don't create the filter widget here. (struct _GtkFileChooserDefault): Added a field for a current folder label. (gtk_file_chooser_default_constructor): Create the folder label. (gtk_file_chooser_default_set_current_folder): Set the current folder label. * tests/testfilechooser.c (main): Dramatically improved the usability of the extra widget through careful word choice. 2003-12-10 Mark McLoughlin * gdk/gdk.h: include gdkspawn.h. 2003-12-10 Mark McLoughlin * gdk/linux-fb/gdkspawn-fb.c, gdk/win32/gdkspawn-win32.c, gdk/x11/gdkspawn-x11.c: (gdk_spawn_command_line_on_screen): s/gdk_spawn/gdk_spawn_on_screen/. 2003-12-10 Mark McLoughlin Utility functions for multi-screen applications which need to ensure launched applications appear on a certain screen. See bug #95897. * gdk/gdkspawn.h: header for multi-screen launching support. * gdk/Makefile.am: install gdkspawn.h. * gdk/x11/Makefile.am: * gdk/x11/gdkspawn-x11.c: (gdk_spawn_make_environment_for_screen): private function to create an environment vector with DISPLAY set appropriately for the screen. (gdk_spawn_on_screen): multi-screen version of g_spawn_async(). (gdk_spawn_on_screen_with_pipes): version of g_spawn_async_with_pipes(). (gdk_spawn_command_line_on_screen): version of g_spawn_command_line_async(). * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkspawn-fb.c: linux-fb impl. * gdk/win32/Makefile.am, gdk/win32/gdkspawn-win32.c: win32 impl. 2003-12-09 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (shortcuts_append_home): Use "Home" rather than "Username's Home" (#125964). (shortcuts_selection_changed_cb): New callback, check the sensitivity of the Remove Bookmark button at the right time. (shortcuts_row_activated_cb): It is not necessary to check the sensitivity here. Wed Dec 10 00:06:24 2003 Matthias Clasen Improve the GDK API for dealing with group leaders (#119375): * gdk/gdkwindow.h: * gdk/x11/gdkwindow-x11.c (gdk_window_get_group): New function to get the group leader of a toplevel window as a GdkWindow. * gdk/gdkdisplay.h: * gdk/x11/gdkdisplay-x11.c (gdk_display_get_default_group): New function to get the default group leader as a GdkWindow. * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add a field for the GdkWindow of the default group leader. * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Construct the GdkWindow for the default group leader. 2003-12-09 Noah Levitt * gdk/gdkkeysyms.h: * gdk/gdkkeyuni.c: Add keysyms Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN. (#128529) 2003-12-08 Jan Arne Petersen * gtk/gtkfilechooserdefault.c: (gtk_file_chooser_default_get_paths), (entry_activate): Use the behavior of the GtkFileSelection to determine selected paths in single selected, GTK_FILE_CHOOSER_ACTION_SAVE mode. 2003-12-08 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_get_paths): Don't declare the closure struct twice. (get_paths_foreach): Likewise. Tue Dec 9 00:12:36 2003 Matthias Clasen * gtk/gtkfilesystemwin32.[hc]: s/Unix/Win32/g. 2003-12-08 Tor Lillqvist * gdk/win32/gdkdisplay-win32.c: Use when compiling with MSVC and old headers. (#126933, John Ehresman) Mon Dec 8 10:54:44 2003 Owen Taylor * === Released 2.3.1 === * NEWS: Updates for 2.3.1 * configure.in: Version 2.3.1, interface age 0, binary age 301. * gtk/gtkmenuitem.c (gtk_menu_item_can_activate_accel): Rename from gtk_menu_item_real_can_activate_accel() to match GTK+ convention, improve comment. * gtk/gtkwidget.c: Document gtk_widget_can_activate_accel(), can ::can-activate-accel signal. * gtk/gtkwidget.c (closure_accel_activate): Fix spelling in comment. * gtk/gtkmenu.c (gtk_menu_real_can_activate_accel): Clean up comment. * gtk/gtkcellview{,menuitem}.[ch]: Move GET_PRIVATE() macros into the .c file. Mon Dec 8 12:09:21 2003 Owen Taylor * gtk/gtkicontheme.c (find_builtin_icon): Fix a missing 'else'. (#128816, Jorn Baayen) 2003-12-02 Michael Meeks Based on a patch by Martin Kretzschmar; #122448 * gdk/gdk.h: new gdk_threads_lock, gdk_threads_unlock, point to implementation of GDK_THREADS_ENTER / GDK_THREADS_LEAVE. (GDK_THREADS_ENTER, GDK_THREADS_LEAVE): use gdk_threads_[un]lock function pointers. Deprecate the global gdk_threads_mutex variable. * gdk/gdk.c (gdk_threads_impl_lock, gdk_threads_impl_unlock): new, extracted from GTK_THREADS_ENTER/LEAVE macros. (gdk_threads_init): init gtk_threads_[un]lock if not set. (gdk_threads_set_lock_functions): impl. * gdk/gdkglobals.c: add definitions of gdk_threads_[un]lock. Sun Dec 7 23:45:40 2003 Matthias Clasen * gtk/gtkicontheme.c (gtk_icon_theme_has_icon): Don't crash if icon_theme_builtin_icons hasn't been initialized. (#128726, Diego Gonzalez) 2003-12-07 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon): Don't use the return value from SendMessage(WM_SETICON). That is the old icon. Fixes GDI resource leak. (#128559, Tim Evans) * gdk/win32/gdkevents-win32.c (gdk_pointer_grab): If we already have a pointer grab active with a grab cursor set, destroy that cursor to avoid a GDI resource leak. (#128410, Tim Evans) 2003-12-05 Paisa Seeluangsawat * configure.in: Added Thai (th) to ALL_LINGUAS. Sat Dec 6 01:42:04 2003 Matthias Clasen * gtk/gtkalignment.c (gtk_alignment_size_allocate): Implement RTL flipping for GtkAlignment. (#127585) Sat Dec 6 01:13:09 2003 Matthias Clasen * gtk/gtkcombo.c (gtk_combo_get_pos): Fix the position of the popup window when in RTL mode. (#127578) Fri Dec 5 15:30:16 2003 Manish Singh * gtk/gtkaccelgroup.c (quick_accel_find): Applied patch from Ross McFarland , initialize *count_p to 0 before doing anything to prevent garbage returns. Sat Dec 6 00:23:46 2003 Matthias Clasen * gtk/gtkviewport.c: Implement RTL flipping for GtkViewport: Adjust the "gravity" when resizing This is a bit flickery in RTL mode. (#107526) Sat Dec 6 00:22:14 2003 Matthias Clasen * gtk/gtkscrolledwindow.c: Implement RTL flipping for GtkScrolledWindow: the vertical scrollbar shows up on the left side in RTL mode. (#107526) Fri Dec 5 01:58:33 2003 Matthias Clasen * gtk/gtknotebook.c: Implement RTL flipping for GtkNotebook: tabs displayed at the top/bottom are rearranged, and tabs on the left/right are displayed at the opposite edge. (#96630) 2003-12-04 Mark McLoughlin * gtk/gtklabel.c: (gtk_label_set_attributes_internal): Allow gtk_label_set_attributes() take NULL. See bug #128517. 2003-12-03 Federico Mena Quintero * gtk/gtkfilechooserentry.c (struct _GtkFileChooserEntry): Removed the in_change flag. (completion_idle_callback): Use a temporary list store and re-set it on the completion rather than modifying the old one. We are re-reading the folder anyway, and this gets rid of non-atomicity problems. 2003-12-01 Federico Mena Quintero Decouple impl->current_folder from the selection in the folder tree. This is so that going to /home/federico/.foo (e.g. from a bookmark) will work even if show_hidden == FALSE. The folder tree needs to be fixed in this case to show such folders explicitly. * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_set_current_folder): When changing folders, do the entry and list model work here, instead of tree_selection_changed(). (struct _GtkFileChooserDefault): Added a changing_folder flag again, dum de dum. (tree_selection_changed): Use _gtk_file_chooser_set_current_folder_path(). Tue Dec 2 01:01:54 2003 Matthias Clasen * gtk/gtkiconfactory.h: Remove duplicate declaration of gtk_icon_source_set_icon_name(). (#Jeff Franks, #128269) 2003-12-01 Federico Mena Quintero Patch from Hans-Petter Jansson to align the bookmarks buttons with the location entry. * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_constructor): Use a GtkSizeGroup for the bookmarks buttons and the location entry. 2003-12-01 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (create_shortcuts_tree): Set the shortcuts tree as a drag destination. (shortcuts_drag_data_received_cb): New callback. (get_file_info): Also fetch information on whether the file is a folder. (add_bookmark_button_clicked_cb): Use error_could_not_add_bookmark_dialog(). (error_could_not_add_bookmark_dialog): New function. (shortcuts_add_bookmark_from_path): New helper function. (add_bookmark_button_clicked_cb): Use shortcuts_add_bookmark_from_path(). (shortcuts_row_activated): We no longer need the changing_folder flag. (struct _GtkFileChooserDefault): Likewise. Sun Nov 30 17:31:32 2003 Soeren Sandmann * gtk/gtktoolbar.c (slide_idle_handler): return TRUE if there are disappearing placeholders that are still visible. * gtk/gtktoolbar.c: formatting fixes * gtk/gtktoolbar.c (struct _ToolbarContent): new bit: disappearing, for placeholders that are going to disappear. * gtk/gtktoolbar.c (get_item_size): return 0 for disappearing placeholders Sat Nov 29 00:55:28 2003 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_new_column_width): * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button): Patch from to handle RTL support for column resizers, #127874 Fri Nov 28 00:26:24 2003 Matthias Clasen * gtk/gtkfilesystemmodel.c (gtk_file_system_model_finalize): Don't use freed memory. (#127698, Taavi Talvik) Fri Nov 28 00:09:10 2003 Matthias Clasen * gtk/gtkfilechooserentry.c: Remove debug g_print()s. Thu Nov 27 22:17:50 2003 Matthias Clasen * gtk/gtkuimanager.c: Remove debug define. Thu Nov 27 16:19:03 2003 Tim Janik * gtk/gtkmenu.c: allow accel activation depending on sensitivity and the attach widget. * gtk/gtkmenuitem.c: allow accel activation depending on visibility, sensitivity and the parent menu. * gtk/gtkwidget.[hc]: introduced ::can-activate-accel signal which checks whether accelerators may activate a widget. the default handler demands the widget be sensitive and visible+viewable. * gtk/gtkaccelgroup.[hc]: export gtk_accel_group_activate(). Tue Nov 25 00:10:05 2003 Matthias Clasen * gtk/gtkuimanager.c (update_node): Don't show accelerators in popup menus. (#127227) Mon Nov 24 13:47:39 GMT 2003 Tony Gale * docs/faq/gtk-faq.sgml: start 2.x Section 4 updates Mon Nov 24 04:05:15 2003 Soeren Sandmann * gtk/gtkradiotoolbutton.[ch] (gtk_radio_tool_button_new_from_widget): Make this function take a GtkRadioToolButton instead of a GtkWidget. (#127729, Murray Cumming) Mon Nov 24 02:34:00 2003 Soeren Sandmann * gtk/gtktoolbar.c: remove variables in_dnd and leaving_dnd Mon Nov 24 02:19:33 2003 Soeren Sandmann * gtk/gtktoolbar.c: remove variable n_overflowed_menu_items_when_dnd_started Mon Nov 24 01:47:10 2003 Soeren Sandmann Rework sliding algorithm. - No more weird jumping when items are dragged off and added to the toolbar, - More natural item movement * gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Many changes. This function is now responsible for calculating intermediate positions during item sliding. It is also responsible for starting sliding if items disappear. Also turn off expanding when there is an overflow menu. (gtk_toolbar_begin_sliding, stop_sliding): New functions. (slide_idle_handler): New function. All the sliding is now done by gtk_toolbar_size_allocate(), so the idle handler now just checks if there is more sliding to be done. (compute_intermediate_allocation, position): new functions calculating intermediate steps in the slide animations. The new animation algorithm uses a constant speed instead of a constant must-be-finished-within time. (struct _ToolbarContent): use GtkAllocation goal_allocation; and GtkAllocation start_allocation; instead of gint start/goal_width; * gtk/gtktoolitem.c (gtk_tool_item_set_tooltip): fix typo in documentation Sun Nov 23 22:26:25 2003 Matthias Clasen * gtk/gtktooltips.c (gtk_tooltips_draw_tips): Make tooltip positioning Xinerama-aware. (#127332) Fri Nov 21 01:57:21 2003 Matthias Clasen * gdk/x11/gdkscreen-x11.c (init_xinerama_support): Make monitor boundaries visible in fake Xinerama mode. Thu Nov 20 15:41:56 2003 Manish Singh * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): cast to GTK_WIDGET() for the gtk_widget_hide() call. Thu Nov 20 14:51:41 2003 Jonathan Blandford * gtk/gtktreedatalist.c (gtk_tree_data_list_compare_func): Patch from David Hampton to fix sorting on booleans. Thu Nov 20 15:48:03 2003 Soeren Sandmann * gtk/gtksocket.c (gtk_socket_focus): Use gtk_widget_is_focus() instead of GTK_WIDGET_HAS_FOCUS. (#122327, Owen Taylor. Reported by Frederic Crozat). Thu Nov 20 13:10:29 GMT 2003 Tony Gale * docs/faq/gtk-faq.sgml: Update Section 3 to 2.x 2003-11-19 Federico Mena Quintero Fixes to problems reported by Iain Holmes: * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Do not throw up an error dialog if the desktop doesn't exist. (error_message): Handle the case where there is no real toplevel yet. (list_model_filter_func): Always let folders pass through (patch by Dave Malcolm). Wed Nov 19 23:19:23 2003 Kristian Rietveld * gtk/gtkcombobox.[ch] (gtk_combo_box_scroll_event): move function to a somewhat more logical place, (gtk_combo_box_remove_text): New function (#125262, Owen Taylor). Wed Nov 19 22:15:01 2003 Kristian Rietveld * gtk/gtkentry.c (gtk_entry_completion_timeout): always resize the popup when it is visible, popdown when there are less chars than the minimum key length in the entry, (gtk_entry_completion_changed): popdown when the entry is empty. * gtk/gtkentrycompletion.c (gtk_entry_completion_init): set the size request of the vscrollbar to (-1, 0), to get a nicely sized completion treeview (Fixes #126573, reported by Piers Cornwell), (_gtk_entry_completion_resize_popup): show/hide the action_view based on items. 2003-11-19 Federico Mena Quintero * gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_init): Turn off the dialog's separator (thanks to Iain Holmes). Wed Nov 19 18:15:00 2003 Soeren Sandmann * gtk/gtkmenu.c (DEFAULT_POPUP_DELAY): set to 200 instead of 225 * gtk/gtkmenuitem.c (get_minimum_width): Impose a minimum width on items that have a submenu. (#120104). Wed Nov 19 18:11:08 2003 Soeren Sandmann * gtk/gtktoolbar.c (struct _ToolbarContent): Add a new "ItemState" field indicating the overflowed-ness etc. of the item. (gtk_toolbar_size_allocate): update the field here. 2003-11-19 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (create_filter): Don't add padding to the alignment. Use the HIG-specified spacing between the filter label and the combo. (create_filename_entry): Use HIG-specified spacing between the location label and the entry. (gtk_file_chooser_default_constructor): Don't use vertical padding around the filename entry. 2003-11-19 Federico Mena Quintero * gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a render_icon virtual method. * gtk/gtkfilesystem.c (gtk_file_system_render_icon): New function. * gtk/gtkfilesystemunix.c (gtk_file_system_unix_render_icon): Implement as a stub for now. * gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Use gtk_file_system_render_icon(). (list_icon_data_func): Likewise. (toolbar_create): Set the toolbar style to icons only. * gtk/gtkfilechooser.c (gtk_file_chooser_add_shortcut_folder_uri): Fix doc comments. Wed Nov 19 02:18:37 2003 Matthias Clasen * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Call gtk_widget_hide(menu) when reattaching the menu. (#126057) Wed Nov 19 00:06:04 2003 Kristian Rietveld * gtk/gtkentrycompletion.c (gtk_entry_completion_selection_changed): only unselect all items if the treeview has focus. (Fixes bug reported by Marco Pesenti Gritti). Tue Nov 18 22:26:30 2003 Kristian Rietveld * gtk/gtkentry.c (gtk_entry_completion_key_press): the total number of actions is "matches + actions - 1". (Fixes #126572). Tue Nov 18 21:05:05 2003 Christian Persch * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_inserted): fix mem leaks (#119435). Tue Nov 18 20:51:38 2003 Kristian Rietveld * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_deleted): don't try to fetch the child back, since we do know that it is already gone by now (#126493, Marco Pesenti Gritti). Tue Nov 18 19:47:59 2003 Kristian Rietveld Fixes based on comments from Owen Taylor, #125264. * gtk/gtkcellview.[ch] (gtk_cell_view_finalize): remove unused variable, (gtk_cell_view_set_value), (gtk_cell_view_set_displayed_model): queue a resize, (gtk_cell_view_get_size_of_row): new function, (gtk_cell_view_set_value), (gtk_cell_view_set_valuesv), (gtk_cell_view_set_values), (gtk_cell_view_set_model), (gtk_cell_view_set_displayed_row), (gtk_cell_view_get_displayed_row): s/cellview/cell_view/ in the function definitions, so they match with the header file. * gtk/gtkcombobox.c (gtk_combo_box_remeasure): remove the resize flag again (:, and use gtk_cell_view_get_size_of_row instead of the measurer, remove _set_size_request call, (gtk_combo_box_calc_requested_width): use gtk_cell_view_get_size_of_row instead of the measurer, (gtk_combo_box_style_set): queue a resize, (gtk_combo_box_size_request): update of _remeasure call, (gtk_combo_box_init), (gtk_combo_box_cell_layout_pack_start), (gtk_combo_box_cell_layout_pack_end), (gtk_combo_box_cell_layout_clear), (gtk_combo_box_set_model): get rid of the measurer, (gtk_combo_box_cell_layout_add_attribute), (gtk_combo_box_cell_layout_set_cell_data_func), (gtk_combo_box_cell_layout_clear_attributes): ditto and queue a resize instead of calling _remeasure. Mon Nov 17 16:25:04 2003 Manish Singh * gdk-pixbuf/Makefile.am * modules/input/Makefile.am: Use install-data-hook for gdk-pixbuf.loaders and gtk.immodules install generation targets. Fixes #112806. * gtk/gtkexpander.h: Apply missing declarations from #124449. Tue Nov 18 00:12:55 2003 Matthias Clasen Fix for #119555, Peter Zelezny: * gdk/gdkdrawable.h: Declare gdk_drawable_copy_to_image. * gdk/gdkdraw.c (gdk_drawable_copy_to_image): Make public by removing the _ prefix. * gdk/gdkdraw.c, gdk/gdkpixbuf-drawable.c, gdk/gdkpixmap.c, gdk/gdkwindow.c: Adjust all callers. Mon Nov 17 23:36:02 2003 Matthias Clasen * gtk/gtkaction.c (gtk_action_activate): Only activate if the action is sensitive. (#127187, Christian Persch) Mon Nov 17 23:23:49 2003 Matthias Clasen * gtk/gtkcombobox.c: Add mouse wheel support. (#126517) Mon Nov 17 22:56:09 2003 Kristian Rietveld * gtk/gtkentryprivate.h: add _gtk_entry_completion_resize_popup. * gtk/gtkentry.c (gtk_entry_completion_timeout): popup when not mapped, else resize_popup. * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup), (_gtk_entry_completion_popup): moved all popup resizing code to _gtk_entry_completion_resize_popup, and show the window when there are more than zero items in the completion list again (sigh). 2003-11-17 Mark McLoughlin Patch from Jaiserca to add a "use_markup" property. See bug #124449. * gtk/gtkexpander.c: (gtk_expander_class_init), (gtk_expander_init), (gtk_expander_set_property), (gtk_expander_get_property), (gtk_expander_set_label), (gtk_expander_set_use_markup), (gtk_expander_get_use_markup): Add a "use_markup" property and use it when creating the child label. Mon Nov 17 12:58:32 2003 Kristian Rietveld Temporary size requisition fix. Will fix it for real tonight. * gtk/gtkcombobox.c (gtk_combo_box_remeasure): add a resize flag, (gtk_combo_box_size_request): use gtk_combo_box_remeasure to determine a good width for the child, (gtk_combo_box_cell_layout_add_attribute), (gtk_combo_box_set_cell_data_func), (gtk_combo_box_cell_layout_clear_attributes): update. Mon Nov 17 00:11:21 2003 Kristian Rietveld Fixes #124373, Murray Cumming. * gtk/gtkcombobox.[ch] (gtk_combo_box_class_init): the model property is no longer construct only, (gtk_combo_box_unset_model), (gtk_combo_box_set_model_internal), (gtk_combo_box_menu_fill): new functions, (gtk_combo_box_menu_setup), (gtk_combo_box_menu_destroy), (gtk_combo_box_menu_row_*), (gtk_combo_box_list_setup), (gtk_combo_box_list_destroy): updated, (gtk_combo_box_new), (gtk_combo_box_new_with_model): new/changed functions, (gtk_combo_box_set_model): is now public, updated, (gtk_combo_box_get_model): small update. * gtk/gtkcomboboxentry.[ch] (gtk_combo_box_entry_class_init): the text_column property is no longer construct only, (gtk_combo_box_entry_set_text_column): now public, (gtk_combo_box_entry_new), (gtk_combo_box_entry_new_with_model): new/changed functions. * tests/testcombo.c: updated. Sun Nov 16 22:50:58 2003 Matthias Clasen Reinstate fixes for (#124212, Marco Pesenti Gritti): * gtk/gtkuimanager.c (update_smart_separators): Don't spit warnings for popups. (_gtk_menu_is_empty): Return FALSE for non-menus. Sun Nov 16 21:48:40 2003 Kristian Rietveld * gtk/gtkcellview.c (gtk_cell_view_finalize): just call gtk_cell_view_cell_layout_clear instead of trying to free the structure ourselves here. (#125726, Morten Welinder). Sun Nov 16 00:35:29 2003 Matthias Clasen * gtk/gtkfilechooser.[hc]: * gtk/gtkentrycompletion.h: Fix parameter name mismatches which confuse gtk-doc. 2003-11-15 Hans Breuer * gdk/makefile.msc gdk/gdk.def gtk/gtk.def gtk/makefile.msc.in : updated * tests/makefile.msc : added all the new tests * gtk/gtkfilefilter.c(finalize) : initialize filter from object not from itself * gtk/gtkfilesystemwin32.[hc] : copied from gtkfilesystemunix.[hc] modified as less as posible to have aworking implementation on win32. There maybe the desire to merge the unchanged pats into a common base class. Also implemented a simple glib based bookmark handling, which is currently missing in gtkfilesystemunix.[hc] but can be copied over there. * gtk/gtkfilechooserwidget.c : conditional include gtkfilesystemwin32.h * gdk/win32/gdkwindow-win32.c : implement gdk_window_set_keep_above() and gdk_window_set_keep_below() * tests/testmerge.c : don't include unistd.h unconditionally, #define STDOUT_FILENO if it isn't defined * tests/testfilechooser.c : make it compile on win32 2003-11-15 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (gdk_window_focus): If the window is maximized, use SW_SHOWMAXIMIZED. (#126986, John Ehresman) Thu Nov 13 12:55:29 GMT 2003 Tony Gale * docs/faq/gtk-faq.sgml: Update the rest of Section 2 Thu Nov 13 01:46:32 2003 Matthias Clasen * gtk/gtkicontheme.c (gtk_icon_theme_init): Use GTK_DATADIR/{icons,pixmaps} instead of GTK_DATA_PREFIX/{icons,pixmaps}. (#123365, Marco Pesenti Gritti) Wed Nov 12 21:40:10 2003 Matthias Clasen Changes to improve menu positioning on Xinerama (#108328, #126150): * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Use the event window of the menuitem to determine the monitor. This fixes some * gtk/gtkmenu.c (struct _GtkMenuPrivate): Add a menu_num field to store the monitor on which the menu is to be positioned. * gtk/gtkmenu.[hc] (gtk_menu_position): Store the monitor number in the GtkMenuPrivate struct and fetch the monitor geometry after calling the position_func, in case it has been changed. * gtk/gtkmenu.c (gtk_menu_set_monitor): New function to be used in GtkMenuPositionFunc implementations for setting the monitor_num field in GtkMenuPrivate. * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Call gtk_menu_set_monitor. Wed Nov 12 21:00:10 2003 Matthias Clasen * gtk/gtkinputdialog.c (gtk_input_dialog_init): Clarify the label for the empty list. String change. (#95446, Tomas Ögren) Wed Nov 12 20:57:50 2003 Matthias Clasen * gtk/gtkicontheme.h (enum GtkIconLookupFlags): Correct the definition of the values. (#123361, Marco Pesenti Gritti) Wed Nov 12 20:54:02 2003 Matthias Clasen * gdk/gdkkeyuni.c: Map KP_Separator to ','. (#122941, Egmont Koblinger) 2003-11-12 Padraig O'Briain *gtk/gtkcolorsel.c (gtk_color_selection_init): Add tooltip for opacity entry widget. Change tooltip for opacity widgets. (#126426) 2003-11-12 Padraig O'Briain * gtk/gtkmenu.c (gtk_menu_popup): Do not let pointer position affect window menu position when popped from keyboard. (#102660) Wed Nov 12 01:29:32 2003 Soeren Sandmann * gtk/gtktoolbar.c (gtk_toolbar_internal_insert_element): When we are using the old API, make all items "is_important". That way BOTH_HORIZ will continue to show both icon and label in old API mode. Mon Nov 10 00:40:41 2003 Matthias Clasen * gtk/gtkeventbox.c (gtk_event_box_set_above_child): Remember the new value in all cases. (#126276, Damon Chaplin) Sat Nov 8 23:06:02 2003 Matthias Clasen * demos/gtk-demo/main.c (row_activated_cb): Call the do_ functions with the toplevel as argument. * demos/gtk-demo/geninclude.pl.in: Change the signature of GDoDemoFunc to take a widget argument * demos/gtk-demo/ui_manager.c (do_ui_manager): * demos/gtk-demo/tree_store.c (do_tree_store): * demos/gtk-demo/textview.c (do_textview): * demos/gtk-demo/stock_browser.c (do_stock_browser): * demos/gtk-demo/sizegroup.c (do_sizegroup): * demos/gtk-demo/pixbufs.c (do_pixbufs): * demos/gtk-demo/panes.c (do_panes): * demos/gtk-demo/menus.c (do_menus): * demos/gtk-demo/list_store.c (do_list_store): * demos/gtk-demo/images.c (do_images): * demos/gtk-demo/hypertext.c (do_hypertext): * demos/gtk-demo/editable_cells.c (do_editable_cells): * demos/gtk-demo/drawingarea.c (do_drawingarea): * demos/gtk-demo/dialog.c (do_dialog): * demos/gtk-demo/colorsel.c (do_colorsel): * demos/gtk-demo/changedisplay.c (do_changedisplay): * demos/gtk-demo/button_box.c (do_button_box): * demos/gtk-demo/appwindow.c (do_appwindow): Take a widget as argument, and make new windows or dialogs appear on the same screen. (#80388) Sat Nov 8 21:59:30 2003 Matthias Clasen * gtk/gtkeventbox.c (gtk_event_box_class_init): Let visible-window default to TRUE, as documented and implemented. (#126270 Damon Chaplin) Sat Nov 8 01:50:17 2003 Matthias Clasen * gtk/gtkicontheme.c: * gtk/gtkfilechooserwidget.c (gtk_file_chooser_widget_new): * gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_new): * gtk/gtkfilechooser.c (gtk_file_chooser_[un]select_all): Mark as 2.4 additions. 2003-11-07 Federico Mena Quintero Changing GtkFileChooserEntry to use GtkEntryCompletion. * gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_init): Create a GtkListStore for the completion list. Create a GtkEntryCompletion and attach it to the chooser entry. (gtk_file_chooser_entry_finalize): Unref the completion store. (completion_match_func): New callback for the GtkEntryCompletion. (completion_idle_callback): Fill the completion store with filenames. Fri Nov 7 22:55:49 2003 Matthias Clasen * gtk/gtkwindow.c (gtk_window_set_role): * gtk/gtkwindow.c (gtk_window_set_title): * gtk/gtkwidget.c (gtk_widget_set_name): * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_title): * gtk/gtkbutton.c (gtk_button_set_label): Make string setters safe for self-assignment. (#122745, Soeren Sandmann) Thu Nov 6 20:41:40 2003 Matthias Clasen * gtk/gtkstyle.c (gtk_style_attach): Fix doc comment. (#126369, Olexiy Avramchenko) Thu Nov 6 00:21:41 2003 Matthias Clasen * gtk/gtkcolorbutton.c (gtk_color_button_init): * gtk/gtkfontbutton.c (gtk_font_button_init): Improve the consistency of titles. (#126193, Damon Chaplin) Wed Nov 5 22:49:36 2003 Matthias Clasen * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Set torn off menus to be transient for the toplevel they were torn off from. (gtk_menu_get_toplevel): Auxiliary function to find the toplevel of a menu. (#54775, Jon-Kare Hellan) Wed Nov 5 21:07:58 2003 Matthias Clasen * gtk/gtkpaned.c (gtk_paned_class_init): Add readonly properties min-position and max-position. (#58431, Padraig O'Briain) Wed Nov 5 21:02:26 2003 Matthias Clasen * gtk/gtkcolorsel.c (update_color): (make_label_spinbutton): (adjustment_changed): Change the ranges for Saturation and Value to be 0-100 instead of 0-255, since these axes of HSV are usually expressed in percent. (#121519, Gregory Merchan) Wed Nov 5 08:51:48 GMT 2003 Tony Gale * docs/faq/gtk-faq.sgml: More 2.x updates Tue Nov 4 15:00:33 GMT 2003 Tony Gale * docs/faq/gtk-faq.sgml: More 2.x updates, fix pkg-config command error, update copyright. 2003-11-03 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (error_dialog): Take in a path as well. Use a helper function. (shortcuts_append_home): Display an error box if necessary. (shortcuts_append_desktop): Likewise. (add_bookmark_button_clicked_cb): Likewise. (gtk_file_chooser_default_select_path): Likewise. (entry_activate): Likewise. (shortcuts_append_paths): New helper function. (shortcuts_append_file_system_roots): Use shortcuts_append_paths(). (shortcuts_append_bookmarks): Likewise. Mon Nov 3 23:12:41 2003 Matthias Clasen * gtk/gtkuimanager.c (_gtk_menu_is_empty): Return TRUE if menu is NULL. (update_smart_separators): Remove some unneeded ifs. Mon Nov 3 22:45:58 2003 Matthias Clasen * gtk/gtkwindow-decorate.h: Add G_BEGIN_DECLS/G_END_DECLS to make these usable in C++. Forgot this file in my Oct 11 commit. 2003-11-03 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (create_shortcuts_tree): Add a stock icon to the "Add bookmark" button. * gtk/gtkfilesystemunix.c: Mark missing strings for translation. * gtk/gtkfilesystemmodel.c: Likewise. * gtk/gtkfilechooser.c: Likewise. * gtk/gtkfilechooserdefault.c: Likewise. Mon Nov 3 20:56:28 2003 Matthias Clasen * gdk/gdk.c: * gdk/gdkinternals.h: * gdk/x11/gdkscreen-x11.c (init_xinerama_support): Introduce a GDK_DEBUG_XINERAMA debug flag, and make it trigger a fake 2x2 Xinerama mode when no actual Xinerama setup is found. 2003-11-03 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (shortcuts_select_folder): Removed. (create_shortcuts_tree): Don't call the above. (bookmarks_changed_cb): Likewise. (tree_selection_changed): Unselect everything from the shortcuts list. This is the behavior that Mac OS has. (toolbar_add_item): Return the item. (toolbar_create): Store the up_button in the impl structure. (toolbar_check_sensitivity): New function to set the sensitivity of the "Up" button in the toolbar. (tree_selection_changed): Call toolbar_check_sensitivity(). 2003-11-02 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Do not set a border width for the toplevel container. (toolbar_create): New function; create a simple toolbar for the file chooser. (gtk_file_chooser_default_constructor): Use a spacing of 12 for the table, as per the HIG. (gtk_file_chooser_default_init): Likewise, for the default implementation's vbox. * gtk/gtkfilesystem.c (gtk_file_system_get_parent): Added docs to note that NULL is a valid return value for the parent path. Sat Nov 1 14:59:27 2003 Owen Taylor * gtk/gtkfilechooserdefault.c (shortcuts_row_activated): Change on activation, not selection change (temporary workaround for #125955, needed for keynav, likely the right UI anyways.) * gtk/gtkfilechooserdefault.c (shortcuts_select_func): Don't allow the separator node to be selected. * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_constructor): Set the focus chain so that the entry gets focused first. (Not really right after initial focusing, maybe we should just have a gtk_file_chooser_focus_entry() that we call from gtk_file_chooser_dialog on creation.) Sat Nov 1 12:41:04 2003 Owen Taylor * gtk/gtkwindow.c (gtk_window_unfullscreen): Fix a residual call to gtk_window_get_private(). Sat Nov 1 09:10:13 2003 Owen Taylor * gtk/gtkwindow.[ch]: Move above_initially, below_initially into GtkWindowPrivate structure, fixing ABI breakage on Win32. (Hans Breuer). Switch GtkWindowPrivate over to instance-private-data. Fri Oct 31 02:43:34 2003 Soeren Sandmann * gtk/gtktoolbar.c (get_item_requisition): delete this function (toolbar_item_is_homogeneous): cache max_homogeneous_pixels instead of re-calculating for each item. (gtk_toolbar_size_allocate): Update comments Thu Oct 30 22:04:31 2003 Soeren Sandmann * gtk/gtktoolbar.c (gtk_toolbar_forall): Only include placeholders when include_internals is TRUE. Thu Oct 30 17:57:53 2003 Soeren Sandmann * gtk/gtktoolbar.c (logical_to_physical): Make it work even when item 0 is a placeholder. (#125826) * tests/testtoolbar.c: add an assertion that gtk_toolbar_get_nth_item (0) != NULL Thu Oct 30 17:40:26 2003 Soeren Sandmann * gtk/gtktoolbar.c (logical_to_physical): Make it work for logical == 0.(#125826) Thu Oct 30 16:20:58 2003 Soeren Sandmann * gtk/gtktoolbar.c (logical_to_physical): Make sure we actually return the index of a real item. (get_nth_item) assert that the returned items is not a placeholder. (#125826, Marco Pesenti Gritti). 2003-10-29 Federico Mena Quintero * gtk/gtkcellrendererseptext.c (gtk_cell_renderer_sep_text_render): Only paint a separator if the text is NULL, rather than also doing it if it is an empty string. Wed Oct 29 15:40:26 2003 Owen Taylor * gtk/gtkmessagedialog.c (gtk_message_dialog_new/ gtk_message_dialog_new_with_format): Allow NULL for message_format, as described in the docs and as worked previously. (#125759, Richard Hult) * gtk/gtkmessagedialog.c (gtk_message_dialog_new_with_markup): Use g_markup_vprintf_escaped() to escape arguments. * gtk/gtkmessagedialog.[ch]: Add gtk_message_dialog_set_markup() so there is some way to set literal markup. Wed Oct 29 15:01:32 2003 Owen Taylor * gdk/x11/gdkimage-x11.c (_gdk_x11_copy_to_image): Move the call to gdk_error_trap_pop() to the right place, fixing a problem where we'd pop() too many times when bailing out. (#123302, Thomas Leonard) Wed Oct 29 12:50:02 2003 Owen Taylor * gtk/gtkfilechooserutils.c (delegate_set_current_folder): Fix infinite recursion. (#125679, Christian Persch) Wed Oct 29 13:29:15 GMT 2003 Tony Gale * docs/faq/gtk-faq.sgml: further 2.x updates: mirrors,compiling,g_main_context_iteration Wed Oct 29 02:54:35 2003 Soeren Sandmann * gtk/gtktoolbar.[ch] (gtk_toolbar_set_drop_highlight_item): Add this function; remove gtk_toolbar_highlight_drop_location() and gtk_toolbar_unhighlight_drop_location(). Also fix bug where the number of overflowed items were miscounted. Tue Oct 28 12:20:16 2003 Owen Taylor * gtk/gtkwindow.c (gtk_window_has_toplevel_focus): Remove some accidentally committed duplicate code. Tue Oct 28 17:06:17 GMT 2003 Tony Gale * docs/faq/gtk-faq.sgml: Update info on compiling GTK+ Tue Oct 28 10:34:24 2003 Owen Taylor * gtk/gtkwindow.[ch] (gtk_window_is_active, gtk_has_toplevel_focus): Add getters corresponding to the is_active and has_toplevel_focus properties. (#122531) 2003-10-28 Mark McLoughlin * gtk/gtkexpander.c: (gtk_expander_class_init): hook up the destroy handler. (gtk_expander_destroy), (gtk_expander_unrealize): remove the expand/collapse timeout on destroy instead of unrealize to avoid leaving the expander in a inconsistent state when unrealizing during animation. (gtk_expander_start_animation): remove realized check. (gtk_expander_set_expanded): if the widget isn't realized, expand immediately. Tue Oct 28 09:44:16 2003 Owen Taylor * gtk/gtkxembed.c (_gtk_xembed_send_focus_message): Silently do nothing when recipient is NULL, as described in the doc comment. (#123107, Thomas Leonard) Tue Oct 28 09:21:29 2003 Owen Taylor * gtk/gtkmain.c (gtk_check_version): Move docs inline, rewrite docs, mention memory management for the return value. (Partly addresses #125549, Michael Natterer) 2003-10-28 Padraig O'Briain * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_remove_filter): Change index to filter_index to fix compilation error. * gtk/gtkfilesystem.h: Correct definition of gtk_file_path_get_string. Mon Oct 27 15:47:58 2003 Manish Singh * gdk/x11/gdkscreen-x11.c: #include if we have RandR support, for XRRUpdateConfiguration declaration. * gtk/gtkfilefilter.c: #include "gtkprivate.h" for _gtk_fnmatch declaration. * gtk/gtkuimanager.c (gtk_ui_manager_add_ui_from_file): Make length a gsize variable, since that's what g_file_get_contents() expects. Mon Oct 27 12:18:49 2003 Owen Taylor * NEWS: Fix attribution for above/below EWMH work. Sat Oct 25 23:30:13 2003 Matthias Clasen * gtk/gtkactiongroup.c (gtk_action_group_class_init): Add "name" as a construct-only property. (#125475, Murray Cumming) Thu Oct 23 21:55:10 2003 Soeren Sandmann Fix bug 116297 and 125472 * gtk/gtktoolbar.c (gtk_toolbar_highlight_drop_location): Make this function take an index and a GtkToolItem. * tests/testtoolbar.c (main): Make "Show Arrow" default to true. Make one of the separators !draw and expand. Update for new highlight_drop_location() API. * gtk/gtktoolitem.[ch]: Remove "pack_end" property * gtk/gtktoolbar.h: Formatting fixes. * gtk/gtktoolbar.c: Remove "pack_end" child property. Allow separator tool items to expand. (logical_to_physical, physical_to_logical): Fix off-by-one errors (Fix #125472, Marco Pesenti Gritti) * gtk/gtkseparatortoolitem.[ch]: Add new "draw" property. (gtk_separator_tool_item_expose) only draw if "draw" is TRUE. Also return FALSE, not TRUE. (gtk_separator_too_item_{set|get}_property, (gtk_separator_tool_item_{set|get}_draw): new functions Fri Oct 24 16:54:04 2003 Owen Taylor * === Released 2.3.0 === * configure.in: Remove a stray comma. * README.in: Fix a few notes about Xft 1 and pango-1.0. * NEWS: Finish updates for 2.3.0. * po/Makefile.in.in: Update to latest GLib version. Fri Oct 24 20:31:35 2003 Kristian Rietveld * gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch], gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch], gtk/gtktreemodelfilter.[ch]: Fix licensing (I managed to put it under GPL licensing instead of LGPL...). (Fixes #125381, Soeren Sandmann). Fri Oct 24 20:22:40 2003 Kristian Rietveld * gtk/gtktreemodelfilter.h: add padding to the class structure. 2003-10-23 Federico Mena Quintero * gtk/gtkfilechooser.c (gtk_file_chooser_get_preview_uri): Fixed docs. (gtk_file_chooser_remove_filter): Likewise. (gtk_file_chooser_select_all): Added docs. (gtk_file_chooser_unselect_all): Likewise. * gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_new): Added docs. * gtk/gtkfilechooserwidget.c (gtk_file_chooser_widget_new): Added docs. Thu Oct 23 23:22:15 2003 Matthias Clasen * gtk/gtkfilefilter.c: * gtk/gtkfilechooser.c: Add "Since: 2.4" to all API doc comments. Thu Oct 23 22:33:47 2003 Matthias Clasen * gtk/gtkfilefilter.c (gtk_file_filter_new): Fix doc markup. Thu Oct 23 21:49:05 2003 Matthias Clasen * NEWS: Remove a few duplicates, group the menu changes. Thu Oct 23 21:12:50 2003 Kristian Rietveld * NEWS: Updates for 2.3.0; changed header to match the style we used for 2.1.0. Thu Oct 23 20:47:44 2003 Matthias Clasen * gdk/x11/gdkwindow-x11.c (gdk_window_set_group): Actually assign the new leader. (#125168, Mariano Suarez-Alvarez) Thu Oct 23 20:21:16 2003 Kristian Rietveld * gtk/gtkcelllayout.c, gtk/gtkcellview.c gtk/gtkcellviewmenuitem.c, gtk/gtkcombobox.c, gtk/gtkcomboboxentry.c, gtk/gtkentrycompletion.c, gtk/gtktreemodelfilter.c, gtk/gtkcellrenderertoggle.c: Fix includes. Thu Oct 23 15:13:56 2003 Soeren Sandmann * NEWS: Partial update for 2.3.0. Thu Oct 23 01:09:04 2003 Owen Taylor * gtk/gtkfilechooserdefault.c: Convert GtkOptionMenu to GtkComboBox. Wed Oct 22 23:20:04 2003 Owen Taylor * gtk/gtkfilechooser.[ch] gtk/gtkfilefilter.[ch] gtk/gtkfilechooserwidget.[ch] gtk/gtkfilechooserdialog.[ch]: gtk/gtkfilechooserutils.c gtk/gtkfilechooserprivate.[ch]: Basic framework for the new file selector widget. * gtk/gtkfilechooserdefault.[ch] gtk/gtkcellrenderersep.[ch] gtk/gtkfilechooserentry.[ch] gtk/gtkfilesystemmodel.[ch]: Initial implementation of the GtkFileChooser user interface. * gtk/gtkfilesystemunix.[ch]: GtkFileSystem implementation for Unix files. * configure.in gtk/Makefile.am gtk/xdgmime: Build code for freedesktop.org MIME system on Unix. * tests/testfilechooser.c: Test program for GtkFileChooser * tests/prop-editor.c: Add support for properties on interfaces. Tue Oct 21 16:12:51 2003 Owen Taylor * demos/gtk-demo/menus.c (do_menus): Fix some unused variables. * gtk/gtkmain.c (_gtk_get_lc_ctype): Fix an unused variable warning. Thu Oct 23 00:04:50 2003 Matthias Clasen * NEWS: Partial update for 2.3.0. Tue Oct 21 22:07:12 2003 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_real_move_cursor): set ctrl_pressed and shift_pressed according to the current event state (if there is one). (Fixes #125063, reported by Sebastien Bacher). Mon Oct 20 23:24:27 2003 Kristian Rietveld * gtk/gtkentry.c (gtk_entry_key_press): remove the completion timeout when the user pressed on Enter/ESC. Fixes the bug where the completion popup popped up after the user pressed on Enter (which is just weird). Reported by the Epiphany people (all of them). Mon Oct 20 20:27:22 2003 Soeren Sandmann Add support for OS X like sliding of toolbar items during drag and drop, (#110919, Dave Bordoley) Make dnd highlighting the responsibility of the application. (Fixes #116298, Owen Taylor) * gtk/gtktoolbar.h: Add prototypes for new API. * gtk/gtktoolbar.c (physical_to_logical, logical_to_physical): new functions converting between "position including placeholders" and "position excluding placeholders". (gtk_toolbar_class_init): remove drag_leave and drag_motion handlers (struct _ToolbarContent): new struct containing information related to toolbar items. (gtk_toolbar_highlight_drop_location): new public function (gtk_toolbar_unhighlight_drop_location): new public function * tests/testtoolbar.c (toolbar_drag_motion, toolbar_drag_leave): new functions (main): connect to dnd signals. Make the "New" item expand to make drag and drop more exciting. Wed Oct 15 22:39:23 2003 Kristian Rietveld * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): it's _set_active, not _set_active_item. Wed Oct 15 22:31:09 2003 Kristian Rietveld * gtk/gtkcombobox.h: add padding to the class structure. * gtk/gtkcomboboxentry.h: ditto. * gtk/gtkentrycompletion.h: ditto. Wed Oct 15 22:04:59 2003 Kristian Rietveld * gtk/gtkcombobox.c (gtk_combo_box_get_active), (gtk_combo_box_set_active): mention in the docs that -1 is a valid value and what it means. * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): set the active item to -1 (default), (gtk_combo_box_entry_active_changed): do nothing when the index is < 0. Tue Oct 14 16:10:21 2003 Jonathan Blandford * gtk/gtkcombobox.c (gtk_combo_box_set_active_iter): New function to set the active row by iter. * gtk/gtkcombobox.c (gtk_combo_box_get_active_iter): New function to get the active row by iter. 2003-10-13 Federico Mena Quintero * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Don't do operations on windows if the tree view is not mapped. (gtk_tree_view_button_press): Compare equal types of pointers, not GtkWidget* vs. GtkTreeView*. Mon Oct 13 21:01:43 2003 Kristian Rietveld * gtk/gtkentrycompletion.c (gtk_entry_completion_popup): remove the reset of first_sel_changed, as after the first popup the treeview will always have a row selected and will thus not focus_to_cursor. * gtk/gtkentry.c (keyval_is_cursor_move): new function to determine whether the keyval should move the completion selection cursor (used to avoid ending up with extreme cluttered code), also added all KP_ equivalents of the keys here, (gtk_entry_completion_key_press): Keynav tweaks based on comments from Dave Bordoley and Marco Pesenti Gritti; add the -1 state as possible current selection, implement Home/End keys, modified the down key to stop cycling. Maybe page up/down should be implemented at some later time. Mon Oct 13 20:58:07 2003 Matthias Clasen * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon): Make it work as documented when pixmap or mask is NULL. (#124081) Mon Oct 13 20:21:38 2003 Kristian Rietveld * gtk/gtkentry.c (gtk_entry_set_text): I overlooked a return when I was adding the signal block/unblock code. Oops. (Noticed by Marco Pesenti Gritti). Mon Oct 13 20:21:55 2003 Kristian Rietveld * demos/testpixbuf-scale.c: enable GTK_DISABLE_DEPRECATED again, (set_interp_type), (main): port over from option menu to GtkComboBox. Mon Oct 13 19:41:55 2003 Kristian Rietveld * tests/testmenus.c: Still uses option menus, so turn off GTK_DISABLE_DEPRECATED. Sun Oct 12 01:10:29 2003 Matthias Clasen * gtk/gtkalignment.[hc]: * gtk/gtkcombobox.[hc]: * gtk/gtkcomboboxentry.[hc]: * gtk/gtktreemodelfilter.[hc]: Move GET_PRIVATE macros from header to implementation. Sun Oct 12 00:18:02 2003 Matthias Clasen * tests/testtreeview.c: * demos/testpixbuf-scale.c: * tests/prop-editor.c: These files still use option menus, so turn off GTK_DISABLE_DEPRECATED to fix the build. Sat Oct 11 23:14:36 2003 Matthias Clasen * gtk/gtkactiongroup.h: * gtk/gtkaction.h: * gtk/gtkradioaction.h: * gtk/gtkradiotoolbutton.h: * gtk/gtkseparatortoolitem.h: * gtk/gtktoggleaction.h: * gtk/gtktoolitem.h: * gtk/gtkuimanager.h: Add G_BEGIN_DECLS/G_END_DECLS to make these usable in C++. (#124351, Murray Cumming) Sat Oct 11 19:09:05 2003 Kristian Rietveld * gtk/gtkentry.c (gtk_entry_set_text): Check if completion is non-NULL before accessing it. Oops. Sat Oct 11 15:47:03 2003 Kristian Rietveld * gtk/gtkentrycompletion.[ch] (gtk_entry_completion_insert_action), (gtk_entry_completion_insert_action_text), (gtk_entry_completion_insert_action_markup): the gchar* parameters should be const (pointed out by both Marco Pesenti Gritti and Murray Cumming (#124356). Sat Oct 11 15:37:19 2003 Kristian Rietveld * gtk/gtkcombobox.c (gtk_combo_box_size_allocate): for the custom child list mode, allocate the height allocation->height to the button instead of the height requested by the button. (Tiny size allocation screwup noticed by Macro Pesenti Gritti). Sat Oct 11 15:23:27 2003 Kristian Rietveld Fixes based on comments from Marco Pesenti Gritti. * gtk/gtkentry.c (gtk_entry_set_text): block the completion changed signal handler, avoids the completion popup to popup when text is set programmatically in most cases (we actually have to handle this in the _editable functions as well, but that will break popping up when the user actually typed something :), (gtk_entry_completion_key_press): when handling enter, bail out when nothing has been selected, (gtk_entry_completion_changed): don't popdown when the entry content changed. * gtk/gtkentrycompletion.c (gtk_entry_completion_init), (gtk_entry_completion_selected_changed): unselect_all on the first selected changed signal. Avoids having a default row selected, (_gtk_entry_completion_popup): don't select the first row by default. * gtk/gtkentryprivate.h (struct _GtkEntryCompletionPrivate): add a first_sel_changed field. Fri Oct 10 23:02:58 2003 Matthias Clasen * demos/gtk-demo/menus.c: Replace GtkItemFactory by GtkUIManager in the intro (again). Fri Oct 10 22:50:05 2003 Matthias Clasen Fixes for (#124212, Marco Pesenti Gritti): * gtk/gtkuimanager.c (update_smart_separators): Don't spit warnings for popups. (_gtk_menu_is_empty): Return FALSE for non-menus. Fri Oct 10 19:10:12 2003 Kristian Rietveld * gtk/gtkcombo.h: Deprecate. * gtk/gtkoptionmenu.h: Ditto. * gtk/gtkcombobox.c (gtk_combo_box_size_request), (gtk_combo_box_size_allocate): Rework, things behave better now. Still needs some work on requesting enough size when taking the items in the list into account. * gtk/gtkfilesel.c: put gtkoptionmenu.h include inside "enable deprecated" guards. * gtk/gtkinputdialog.c: ditto. * gtk/gtkitemfactory.c: ditto. * gtk/gtkoptionmenu.c: ditto. * demos/gtk-demo/menus.c: remove the option menu. * demos/gtk-demo/sizegroup.c: replace the option menus with GtkComboBox. * demos/gtk-demo/textview.c: ditto. (A general GtkComboBox demo will be added later on). Wed Oct 8 00:06:17 2003 Matthias Clasen * demos/gtk-demo/ui_manager.c (activate_radio_action): New callback to propertly report radio actions. * demos/gtk-demo/ui_manager.c (do_ui_manager): Use it here. Tue Oct 7 23:23:05 2003 Matthias Clasen * gtk/gtkplug.c (xembed_set_info): Put the supported protocol version in in the right field of the _XEMBED_INFO property. (#123885, Denis Mikhalkin) Mon Oct 6 14:18:47 2003 Jonathan Blandford * gtk/gtkexpander.c (gtk_expander_animation_timeout): only show the child if we have one. (gtk_expander_button_release): use gtk_widget_activate instead. Mon Oct 6 21:05:46 2003 Matthias Clasen * gtk/gtktable.c (gtk_table_class_init): Start the blurb for "right_attach" with a capital. (#123945, Christian Rose) Sun Oct 5 23:59:03 2003 Matthias Clasen * tests/testsocket.c (child_read_watch): Remove an extraneous unref. (#122336, Frederic Crozat) Sun Oct 5 22:38:22 2003 Matthias Clasen * gtk/gtkeventbox.c (gtk_event_box_class_init): Trim whitespace in "visible-window" blurb. (#123910, Christian Rose) Sun Oct 5 00:53:15 2003 Soeren Sandmann * gtk/gtktoolbar.c (gtk_toolbar_list_children_in_focus_order): focus arrow before pack_end items (#123851, Matthias Clasen) Fri Oct 3 20:50:48 2003 Kristian Rietveld * gtk/gtkcombobox.c (gtk_combo_box_set_model): only set the model on ->priv->cell_view if ->priv->cell_view is non-NULL. * gtk/gtkcomboboxentry.c: include gtkintl.h, add text_renderer field to GtkComboBoxEntryPrivate, (gtk_combo_box_entry_class_init), (gtk_combo_box_entry_init), (gtk_combo_box_entry_set_property), (gtk_combo_box_entry_get_property), (gtk_combo_box_entry_set_text_column), (gtk_combo_box_entry_new): add a construct-only "text_column" property and reorder code to use it and support inheriting this widget. Thu Oct 2 23:28:02 2003 Kristian Rietveld * gtk/gtkcombobox.c: Added API doc comments. * gtk/gtkcomboboxentry.c: Ditto. 2003-10-02 Matthias Clasen * gtk/gtktoggleaction.c: Documentation tweaks. Wed Oct 1 22:43:40 2003 Kristian Rietveld * gtk/gtkcellview.[ch]: implement the GtkCellLayout interface, drop packing/attribute/cell data functions from the header, (gtk_cell_view_set_cell_data): added support for cell data funcs. * gtk/gtkcombobox.[ch]: implement the GtkCellLayout interface, drop packing/attribute/cell data functions from the header, implemented cell data func support. * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_new): updated for the move to GtkCellLayout. * tests/testcombo.c (create_combo_box_grid_demo), (main): ditto. 2003-10-01 Matthias Clasen * gtk/gtkaction.c (gtk_action_class_init): (gtk_action_[gs]et_property): Introduce a separate "hide_if_empty" property for empty menu handling. (_gtk_action_sync_menu_visible): ...and use it here. * tests/testmerge.c (main): ...and here. * gtk/gtktoolitem.c (gtk_tool_item_class_init): Fix signal doc comments to pacify gtk-doc. * gtk/gtkmain.c: Doc formatting tweaks. * gtk/gtktoolitem.c (gtk_tool_item_set_is_important): Fix a typo. * gtk/gtkcheckmenuitem.h (gtk_check_menu_item_set_draw_as_radio): Use the same parameter names as in .c file, to pacify gtk-doc. * gtk/gtktoggletoolbutton.[hc]: * gtk/gtktoolbutton.[hc]: * gtk/gtktoolitem.[hc]: * gtk/gtktoolbar.[hc]: * gtk/gtkcolorbutton.[hc]: * gtk/gtkfontbutton.[hc]: * gtk/gtkalignment.[hc]: Define GET_PRIVATE macros in the source, not in the header. * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_[sg]et_draw_as_radio): Document these as 2.4 API additions. Tue Sep 30 23:42:56 2003 Kristian Rietveld * gtk/gtkentry.c (gtk_entry_set_completion), (gtk_entry_get_completion): Add API doc comments. * gtk/gtkentrycompletion.c: Fix #includes and add API doc comments. Tue Sep 30 23:12:34 2003 Kristian Rietveld * gtk/gtktreemodelfilter.c: Add "Since: 2.4" to all API doc comments. Tue Sep 30 22:59:58 2003 Kristian Rietveld * gtk/gtktreeviewcolumn.c: Some API doc comment fixes. * gtk/gtkcellayout.c: Fix #include and oooooh API doc comments! 2003-09-30 Matthias Clasen * tests/merge-*.ui: * tests/testmerge.c: Test handling of empty menus. * gtk/gtkuimanager.c (_gtk_menu_is_empty): New function to determine whether a menu is empty. Used in gtkaction.c. (update_smart_separators): Also update the visibility of empty menus. (update_node): When creating a new menu proxy, insert an "Empty" menu item which only gets shown if the menu is empty. * gtk/gtkaction.c (gtk_action_class_init): Document the meaning of "is_important" for menu proxies. (_gtk_action_sync_menu_visible): New function to sync the visibility of menu proxies. Used in gtkuimanager.c. (gtk_action_sync_visible): New function to sync the visibility of proxies. Tue Sep 30 21:43:34 2003 Kristian Rietveld * gtk/gtkcombobox.c (gtk_combo_box_menu_button_press): set popup_in_progress to TRUE, (gtk_combo_box_menu_show): and back to FALSE here; the menu now won't disappear on the first button release. (Reported by Matthias Clasen). Tue Sep 30 21:08:43 2003 Kristian Rietveld * gtk/gtkcombobox.c (gtk_combo_box_init): actually show the child. * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): ditto. (#123543, Marco Pesenti Gritti). 2003-09-30 Murray Cumming * gtk/gtkcellrenderer.h: The render vfunc takes a GdkDrawable* instead of a GdkWindow*, because that what it is given. The documentation was already correct. This should cause no API/ABI breakage with C compilers. * gtk/gtkcellrenderertext.c, gtkcellrendererpixbuf.c, gtkcellrenderertogger.c: Updated the declarations of the render vfunc implementation accordingly. 2003-09-30 Matthias Clasen * gdk/gdkkeys.c (gdk_keymap_class_init): Document the "direction-changed" and "keys-changed" signals. * gdk/gdkscreen.c (gdk_screen_class_init): Document the "size-changed" signal. * gdk/gdkdisplaymanager.c (gdk_display_manager_class_init): Document the "display-opened" signal. * gdk/gdkdisplay.c (gdk_display_close): Doc tweak. (gdk_display_class_init): Document the "closed" signal. Sat Sep 27 16:02:40 2003 Soeren Sandmann * gtk/gtktextview.[ch]: rename property tab_moves_focus to accepts_tab. (#122709 again). 2003-09-27 Matthias Clasen * gtk/gtkwindow.c (gtk_window_new): * gtk/gtkitemfactory.c (gtk_item_factory_new): Document the fact that the newly created object does not come with a floating reference. (#103068, patch by Frederic Lespez) * gtk/gtkitemfactory.h: Deprecate GtkItemFactory in favor of GtkUIManager. Just leave GtkTranslateFunc undeprecated, since GtkActionGroup uses it. * tests/testtext.c: Turn off GTK_DISABLE_DEPRECATED, since this test uses the soon-to-be-deprecated GtkItemFactory. * demos/gtk-demo/Makefile.am (demos): Add ui_manager.c, remove item_factory.c * demos/gtk-demo/ui_manager.c: Duplicate of item_factory.c using GtkUIManager instead of GtkItemFactory. * tests/testmerge.c: Demonstrate the use of the connect-proxy signal. * gtk/gtkaction.c (connect_proxy): Add connect-proxy and disconnect-proxy signals to do small customizations like displaying tooltips in the statusbar without custom actions. (#122894, Philip Langdale) * gtk/gtkuimanager.c (update_node): Don't leak tooltip. Fri Sep 26 23:49:44 2003 Kristian Rietveld Landing the new ComboBox. Note that only gtkcombobox.h and gtkcomboboxentry.h are public. * gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch], gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch]: new files. * gtk/Makefile.am, gtk/gtk.h: adding the new files. * tests/testcombo.c: and a new test. * tests/Makefile.am: adding the new test. 2003-09-25 Tor Lillqvist * demos/gtk-demo/main.c: Don't use hardcoded DEMOCODEDIR on Windows. 2003-09-21 Tor Lillqvist * gdk/win32/gdkevents-win32.c (handle_wm_paint): New function. Code split out from gdk_event_translate(). Needed because gdk_event_get_graphics_expose() couldn't do anything sensible otherwise. (Not that I think graphics exposes work anyway in gdk/win32, but at least now the code could work.) (gdk_event_get_graphics_expose): Call handle_wm_paint() instead of gdk_event_translate(), which couldn't have worked as it doesn't take any pre-allocated GdkEvent parameter any longer. (gdk_event_translate): Handle WM_MOUSEACTIVATE: Don't let GDK_WINDOW_TEMP windows be activated. (#122578, John Ehresman) 2003-09-24 Matthias Clasen * demos/gtk-demo/appwindow.c (do_appwindow): Demonstrate tooltips on toolitems. * gtk/gtkaction.c (connect_proxy): Sync tooltips on toolitems. * gtk/gtkuimanager.c (update_node): Don't complain about missing actions on popups. Re-set "tooltip" property on toolitems after adding them to parent to trigger proxy update. 2003-09-22 Matthias Clasen * tests/testmerge.c (main): Initially activate the JUSTIFY_RIGHT group member to test the fix for #122904. * gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): Add the action to the group before activating it, otherwise we may end up with multiple active group members. (#122904, Marco Pesenti Gritti) 2003-09-21 Matthias Clasen Changes to make cross-process merging feasible: * gtk/gtkuimanager.[hc]: Add a readonly "ui" property which holds the merged UI definition. Remove the "changed" signal, since its role is now filled by "notify::ui". Instead add a "actions-changed" signal which gets emitted when the set of actions changes. * gtk/gtktoggleactionprivate.h: * gtk/gtktoggleaction.[hc] (gtk_toggle_action_[sg]et_draw_as_radio): Add a "draw_as_radio" property to toggle actions so that they can be used as proxies for radio actions much like the "draw_as_radio" property on check menu items enables them to operate as proxies for radio actions. Prevent the "show_all" trap for action-based menus (see http://mail.gnome.org/archives/gtk-devel-list/2003-September/ msg00260.html): * gtk/gtkmenu.c (gtk_menu_{hide,show}_all): Remove g_return_if_fail() calls from static functions. * gtk/gtkuimanager.c (update_node): * gtk/gtkaction.c (connect_proxy): Set "no_show_all" on constructed widgets whose visibility is externally controlled. * gtk/gtkwidget.[hc] (gtk_widget_[gs]et_no_show_all): Add a boolean "no_show_all" property with setter and getter. When TRUE, it keeps gtk_widget_{hide,show}_all() from modifying the visibility of the widget and its children. Sun Sep 21 23:13:37 2003 Soeren Sandmann * gtk/gtktextview.[ch]: Add new "tab moves focus" property (#122709) 2003-09-20 Tor Lillqvist * gtk-zip.sh.in: Don't use zip -r on the etc directory, to avoid including editor backup files. List files we want explicitly. * gtk/gtkmain.c (_gtk_get_lc_ctype): New function. On Unix, just calls setlocale (LC_CTYPE, NULL). On Windows, looks for the LC_ALL, LC_CTYPE and LANG environment variables, than calls g_win32_getlocale(). (gtk_get_default_language): Code snippet moved to above function, call it. * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave) * gtk/gtkrc.c (gtk_rc_context_parse_file): Call _gtk_get_lc_ctype() instead of setlocale(). Fri Sep 19 18:15:31 2003 Soeren Sandmann * gtk/gtkpaned.c, gtk/gtkhpaned.c: implement RTL flipping (#96632) Fri Sep 19 13:24:54 2003 Soeren Sandmann * gtk/gtktreeview.c (gtk_tree_view_get_cursor): Improve documentation. (#117306, Steve Chaplin) 2003-09-19 Tor Lillqvist * gdk/win32/gdkkeys-win32.c (update_keymap): Handle dead keysyms present on the US-International keyboard. For clarity, order keysyms in case statement according to numeric value. (gdk_keymap_translate_keyboard_state): Handle Caps Lock correctly. (#120176, Ken Rastatter and Owen Taylor) 2003-09-18 Matthias Clasen * gtk/gtkaction.c (gtk_action_finalize): Call g_closure_unref() to unref a closure, not g_object_unref(). (#122637, Marco Pesenti Gritti) Install accelerators on actions, not on proxies, support accelerator-only actions: * gtk/gtkmenu.c (get_accel_path): New function to get the accel path and its lock status either via _gtk_widget_get_accel_path() or by looking at the accel_path stored in the menu item itself and determining its lock status by peeking into the contained accel label. This was already (accidentally) committed a week ago. * gtk/gtkaction.h (gtk_action_set_accel_group): (gtk_action_[dis]connect_accelerator): New functions. * gtk/gtkaction.c (struct _GtkActionPrivate): Add accel_group, accel_closure and accel_count. We must have a reference to the accel_group, since we need it in connect_proxy. The count is necessary to ensure that the accelerator isn't removed before the last proxy requesting it has been unmerged. (connect_proxy): Connect the accelerator to the action now, only set the accel_path on the menuitem. (remove_proxy): Disconnect the accelerator from the action, not from the menuitem. (gtk_action_set_accel_group): Set the accel group. (gtk_action_[dis]connect_accelerator): Count the number of times this functions have been called and install/remove the accelerator if the count leaves/reaches zero. * gtk/gtkuimanager.h (GtkUIManagerItemType): Add GTK_UI_MANAGER_ACCELERATOR. * gtk/gtkuimanager.c (NodeType): Add NODE_TYPE_ACCELERATOR. (start_element_handler): Create NODE_TYPE_ACCELERATOR nodes from elements. (gtk_ui_manager_add_ui): Create NODE_TYPE_ACCELERATOR nodes when type is GTK_UI_MANAGER_ACCELERATOR. (update_node): Set the accel group on actions before creating their proxies. Don't set the accel group on created menus. For NODE_TYPE_ACCELERATOR nodes, [dis]connect the actions' accelerator. (print_node): Also emit elements. * tests/testmerge.c (dump_accels): Add a "Dump Accels" button. * gtk/gtkuimanager.c (update_node): Robustness improvements. 2003-09-17 Matthias Clasen * gtk/gtkuimanager.c (text_handler): Report unexpected character data as error from the GMarkup parser, otherwise things like gtk_ui_manager_add_ui_from_string (ui, "Hi there!", -1, &error) pass unexpectedly. Wed Sep 17 02:38:53 2003 Soeren Sandmann * gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally committed redraw_on_allocate change. Tue Sep 16 10:42:00 2003 Eric Warmenhoven * gdk/linux-fb/gdkwindow-fb.c: Add gdk_window_set_keep_{above,below} stubs to fix compilation * gdk/linux-fb/gdkrender-fb.c: Add gdk_shadow_fb_stop_updates stub for when shadowfb is disabled. Patch from pjm@cctechnol.com (#120847). * gdk/linux-fb/gdkmouse-fb.c: Add GDK_MOUSE_DEVICE environment variable. Patch from Marc Welz (#121347). 2003-09-16 Matthias Clasen * gtk/gtkaction.h: Apply egtk-format-protos. 2003-09-15 Matthias Clasen * gtk/gtkuimanager.c: Doc tweaks. Smart separators; see http://mail.gnome.org/archives/gtk-devel-list/2003-September/msg00133.html: * gtk/gtkuimanager.c (update_smart_separators): New function which implements "smart" separators by iterating once over the entries of a menu, hiding and showing separators as necessary. (update_node): Mark separators used as fences of placeholders as hidden. Explicitly added separators are marked as smart. Call update_smart_separators after updating a menu or toolbar node. Connect update_smart_separators to "notify::visible" signal on menu and tool items. * tests/merge-[12].ui: Test smart separators. Changes to allow setting action state before connecting signal; see the thread starting at http://mail.gnome.org/archives/gtk-devel-list/2003-September/msg00140.html: * gtk/gtkactiongroup.[hc]: (gtk_action_group_add_radio_actions): (gtk_action_group_add_radio_actions_full): Add value parameter to allow setting the currently selected group member before connecting signals. (GtkToggleActionEntry): Separate struct for constructing toggle actions, including a boolean to initialize the action state before connecting signals. (gtk_action_group_add_toggle_actions): (gtk_action_group_add_toggle_actions_full): New functions to construct toggle actions from an array of GtkToggleActionEntries. * demos/gtk-demo/appwindow.c: * tests/testactions.c: * tests/testmerge.c: Adjust to new action group API. Sun Sep 14 16:59:52 2003 Soeren Sandmann * gtk/gtktoolbar.c (gtk_toolbar_init): Name the arrow "gtk-toolbar-arrow" so themes can special-case it. Sun Sep 14 16:07:49 2003 Soeren Sandmann * gtk/Makefile.am (gtk_c_sources): sort the list of files. Sun Sep 14 15:49:00 2003 Soeren Sandmann * gtk/gtktoolbar.c (toolbar_item_is_homogeneous): Unref the PangoFontMetrics. Patch from Steve Chaplin (#122257). 2003-09-14 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (show_window_internal): Remove special-case code for WS_EX_TRANSPARENT (GDK_INPUT_ONLY) windows, the usefulness of which was already in doubt. Removing it fixes bugs #118575 and #121851. Fri Sep 12 16:32:53 2003 Jonathan Blandford Merge from stable. * gtk/gtktreeview.c (gtk_tree_view_button_press): only save the pressed button (used to determine if we want to initiate a drag later on) if the current grab widget is either NULL or tree_view (Reported by Jeroen Zwartepoorte). 2003-09-12 Matthias Clasen * gdk/gdkdraw.c (gdk_draw_string, gdk_draw_text) (gdk_draw_text_wc): Add deprecation notes. (#121955, Martin Pool) 2003-09-11 Matthias Clasen * gdk/gdkpango.c: Doc tweaks. * tests/testgtk.c: Add table menu tests. * gtk/gtkmenu.c (gtk_menu_free_private): Don't forget to free the GtkMenuPrivate struct itself. Pointed out by valgrind. * gtk/gtkuimanager.c (gtk_ui_manager_finalize): Clean up properly. (#121998) Wed Sep 10 22:25:04 2003 Kristian Rietveld The table menu patch! Turns GtkMenu into a table, so you can attach menu items in numerous new ways! Be creative! Contains some bug fixes and RTL adaptions from Matthias Clasen. * gtk/gtkmenu.c [toplevel]: introduce ATTACH_INFO_KEY, extend GtkMenuPrivate, introduce AttachInfo, add child properties enum, (gtk_menu_free_private), (gtk_menu_get_private): we have to free the heights array in the private struct, (gtk_menu_class_init): reorder code a bit, install child properties, (get_attach_info), (get_child_attach): new utility functions, (gtk_menu_set_child_property), (gtk_menu_get_child_property): introduce child properties, for the attach info, (gtk_menu_remove): remove AttachInfo from menu item, (gtk_menu_real_insert): implemented algorithm to automagically place inserted menu items at the correct place in the table, (gtk_menu_size_request), (gtk_menu_size_allocate), (compute_child_offset): reworked/rewritten to support table menus, (gtk_menu_attach): new function, (find_child_containing), (gtk_menu_move_current): new functions to get table menu keynav right. * gtk/gtkmenu.h: add gtk_menu_attach() prototype. 2003-09-10 Matthias Clasen * gtk/gtksocket.c (gtk_socket_filter_func): Only remove PropertyNotify events from the stream if they have been handled, in order to enable extending the plug<->socket communication via properties. Wed Sep 10 01:06:44 2003 Kristian Rietveld Big TreeView DnD fixage, makes drops on empty models work, makes TreeStore DnD work and gets rid of gtk-tree-model-drop-append. Related bugs #95362 and #113314. I don't want to touch this code ever again. * gtk/gtktreeprivate.h (GtkTreePrivate): add empty_view_drop field. * gtk/gtktreednd.c (gtk_tree_get_row_drag_data): add check for selection_data->length. * gtk/gtktreeview.c (struct DestRow), (dest_row_free), (set_dest_row), (get_dest_row): we don't store just the row ref anymore, but a struct with the row ref and additional info, (set_destination_row): handle drops on empty space and some style fixes, (get_logical_dest_row): also return path_down_mode/drop_append_mode flags, handle dropping childs on their new parents, rewrite drop append handling into something saner, (gtk_tree_view_drag_motion): show a "drop possible arrow" on empty spaces, (gtk_tree_view_drag_drop): updates for updated backend, (gtk_tree_view_drag_data_received): updates for updated backend, path down mode (treestore DnD) handling, (gtk_tree_view_set_drag_dest_row): set empty_view_drop flag, when we are trying to drop a row on an empty model, (gtk_tree_view_get_drag_dest_row): handle empty_view_drop flag. * gtk/gtkliststore.c (gtk_list_store_drag_data_received), (gtk_list_store_row_drop_possible): style and drop-append fixes. * gtk/gtktreestore.c (gtk_tree_store_drag_data_received): ditto. 2003-09-08 Alexander Larsson * gtk/gtkeventbox.[hc]: Implement gtk_event_box_get/set_input_only() * tests/testgtk.c: Tests for the new input only event boxes Mon Sep 8 21:44:20 2003 Kristian Rietveld Fixes from David Hampton via gtk-devel-list. * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_elt_get_path): fix the call to gtk_tree_model_filter_add_root, (gtk_tree_model_filter_row_changed): bail out if c_path is not above the virtual root, allow building levels on the second try to convert the child path to a filter path, (gtk_tree_model_filter_convert_iter_to_child_iter): pass the virtual root when calling gtk_tree_model_filter_elt_get_path. 2003-09-07 Matthias Clasen * gtk/gtkuimanager.c (update_node): Fix a C99ism. (#121640, Josh Beam) Fixes for accelerator handling during (un)merging: * gtk/gtkuimanager.c (update_node): Move setting info-action after the switch, since the old action is needed in some cases. In cases of proxy type mismatch, disconnect the old proxy from the old action. * gtk/gtkaction.c (remove_proxy): Renamed from gtk_action_remove_proxy(). Move unsetting of the accelerator here from disconnect_proxy() in order to catch all cases of removing a proxy. (gtk_action_disconnect_proxy): Fix logic in g_return_if_fail() to fail if proxy isn't a proxy of action. 2003-09-07 Pablo Saratxaga * configure.in: Added Uzbek latin (uz) and cyrillic (uz@Cyrl) to ALL_LINGUAS 2003-09-07 Matthias Clasen * gtk/gtkaction.c (disconnect_proxy): Make disconnect work for toolitems. 2003-09-06 Matthias Clasen * gtk/gtkaction.c (gtk_action_connect_proxy): Disconnect from prev_action, not from action. (Fix by David Hampton) Fri Sep 5 14:15:10 2003 Owen Taylor * Back out locale-dependent interpretation of KP_Decimal, the official XFree86 interpretation is that KP_Decimal => . KP_Separator => , always, independent of locale. (#105161, Frederic Crozat, http://bugs.xfree86.org/show_bug.cgi?id=534) 2003-09-04 Matthias Clasen * tests/testmerge.c: Test buttons and toggle buttons as proxies. * gtk/gtktoggleaction.c (connect_proxy): (gtk_toggle_action_real_toggled): Support toggle buttons as proxies. Note that a "draw_as_radio" property is needed for check buttons similar to check menu items, in order to fully support button proxies for radio actions. * gtk/gtkaction.c (connect_proxy): Allow buttons as proxies. * tests/testmerge.c (toggle_dynamic): Test gtk_ui_manager_add_ui(). * gtk/gtkuimanager.h: Add GtkUIManagerItemType enum which is needed for the 'type' argument of gtk_ui_manager_add_ui(). * gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui): Add 'type' and 'top' arguments to make this function as powerful as the XML methods of adding UI. (#120647) Thu Sep 4 19:11:23 2003 Kristian Rietveld Merge from stable. * docs/RELEASE-HOWTO: updates. 2003-09-04 Matthias Clasen * tests/merge-2.ui: Use "position" instead of "pos". * gtk/gtkuimanager.c (start_element_handler): No need to be terse: Change the name of the "pos" attribute to "position". 2003-09-04 Matthias Clasen * gtk/gtkuimanager.c: Un-prefix GtkUIManagerNodeType and GtkUIManagerNode to shorten the names and to make the GTK_UI_MANAGER_ names available for a public enum. * gtk/gtkactiongroup.c: * gtk/gtkuimanager.c: Various doc tweaks. * gtk/gtkuimanager.c (start_element_handler): (end_element_handler): Improve error reporting. Wed Sep 3 23:18:17 2003 Kristian Rietveld Merge from stable. * gtk/gtkmenu.c (gtk_menu_real_move_scroll): for the END case, use end_position - page_size instead of G_MAXINT, since gtk_menu_scroll_to doesn't CLAMP anymore internally. (Fixes #121237, reported by Havoc Pennington). Wed Sep 3 21:58:03 2003 Kristian Rietveld Merge from stable. * gtk/gtkiconfactory.c (cached_icon_free): if icon->style != NULL, unref it. (Fixes memleak, patch from Kjartan Maraas). Wed Sep 3 21:38:26 2003 Kristian Rietveld * gdk/Makefile.am, gdk/linux-fb/gdkfbmanager.c, gdk/x11/gdkcolor-x11.c, gdk-pixbuf/io-gif.c, gtk/Makefile.am, gtk/gtkcalendar.c, gtk/gtkclist.c, gtk/gtkctree.c, gtk/gtkdnd.c, gtk/gtkentry.c, gtk/gtkhandlebox.c, gtk/gtkitemfactory.c, gtk/gtkmenu.c, gtk/gtknotebook.c, gtk/gtkrange.c, gtk/gtkrc.h, gtk/gtktree.c, gtk/gtktypeutils.h: big patch from Kjartan Maraas to fix numerous typos. Wed Sep 3 17:38:01 BST 2003 Tony Gale * docs/faq/gtk-faq.sgml: Correct compile line for threads example. 2003-09-02 Tor Lillqvist * gdk/win32/gdkdisplay-win32.c (gdk_display_open): Don't call CloseHandle() on the HMODULE returned from GetModuleHandle(). Didn't cause any harm, but didn't do anything useful either. When running a GTK+ program under MS's debugger, the CloseHandle() call would cause a "first-chance exception" in ntdll.dll to show up. (The exception is caught appropriately if you let it proceed, but it confuses the person using the debugger). Thanks to Bruce Hochstetler for noticing. Tue Sep 2 21:01:19 2003 Kristian Rietveld Merge from stable. * gtk/gtktreeview.c (gtk_tree_view_button_press): revert the change to only select when button 1 is pressed introduced in the fix of bug #120187. 2003-09-02 Matthias Clasen * gtk/gtkactiongroup.c (gtk_action_group_new): Doc addition. * gtk/gtkuimanager.c: Shorten the names of some static functions. Support adding and removing merge nodes dynamically (#120647, Anders Carlsson): * gtk/gtkuimanager.[ch] (gtk_ui_manager_new_merge_id): Renamed gtk_ui_manager_next_merge_id to gtk_ui_manager_new_merge_id and made it public. (gtk_ui_manager_add_ui): New function to add UI elements without juggling XML fragments, currently restricted to menuitems, toolitems and separators. Actions still come from registered action groups. Mon Sep 1 19:39:14 2003 Soeren Sandmann * gdk/gdkwindow.c (gdk_window_get_bg_gc): Fix bug where the background pixmap was being offset twice, once by the ts_origin in gdk_window_get_bg_gc(), and once by gdk_draw_rectangle(). 2003-09-01 Matthias Clasen * gtk/gtkuimanager.[ch] (gtk_ui_manager_ensure_update): Make this public again, since it's occasionally useful. (#121128, Marco Pesenti Gritti) * gtk/gtkaction.c: Add an "is_important" property and propagate it to toolitem proxies. (#121058, Marco Pesenti Gritti) Mon Sep 1 00:32:30 2003 Soeren Sandmann * tests/testtoolbar.c (main): connect to "delete_event" so the application will actually quit when you close the window 2003-09-01 Matthias Clasen * gtk/gtkuimanager.c (gtk_ui_manager_get_widget) (gtk_ui_manager_get_action): g_return_if_fail() if path is NULL. (gtk_ui_manager_get_node): Avoid a segfault if path is empty. (gtk_ui_manager_finalize): Remove the idle on finalize. (#121125, Marco Pesenti Gritti) 2003-08-31 Matthias Clasen * gtk/gtktoolitem.c: Fix some typos in docs. * gtk/gtkuimanager.[ch] (gtk_ui_manager_get_action): New function, replaces gtk_ui_manager_activate(). (#120658) * tests/testmerge.c: Use gtk_ui_manager_get_action() instead of gtk_ui_manager_activate(). * gtk/gtkaction.c: * gtk/gtkactiongroup.c: Some doc tweaks. * gtk/gtkuimanager.[hc]: Get rid of the remove_widget signal. It wasn't emitted anyway. Some doc tweaks. 2003-08-30 Matthias Clasen * tests/testmerge.c (add_widget): Connect to "destroy" on toolbar, rather than to "remove" on handlebox. * gtk/gtkuimanager.[hc] (gtk_ui_manager_activate): New method to activate an action found by following a path. (#120658) * tests/testmerge.c: Add a button to test gtk_ui_manager_activate(). * tests/testmerge.c (add_widget): Put toolbars in handleboxes. * gtk/gtkuimanager.[hc]: Add a boolean property, "add_tearoffs" with setter and getter. If it is set, add tearoff menu items to regular menus, but not to popups. Add a signal "changed", which gets emitted when the merged ui has changed. (#120649, #120656) * tests/testmerge.c: Add button to test the generation of tearoff menu items. 2003-08-29 Matthias Clasen * gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): Actually group the actions together rather than putting each in its own group. * gtk/gtkradioaction.c (create_menu_item): Set "draw_as_radio" on proxy menu items for radio actions. * gtk/gtkgamma.c (gamma_ok_callback): Use g_strtod instead of strtod. Fri Aug 29 21:40:01 2003 Soeren Sandmann * gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): Fix use of uninitialized variable. * gtk/gtktextutil.c (_gtk_text_util_append_special_char_menuitems): add const cast to get rid of warning 2003-08-29 Matthias Clasen * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Install "draw_as_radio" as a separate property, not as an alias of "inconsistent". (gtk_check_menu_item_get_property): (gtk_check_menu_item_set_property): Also support "draw_as_radio". Fri Aug 29 20:32:07 2003 Soeren Sandmann * gtk/gtktoolbar.c: Only treat buttons as homogeneous when they are narrower than 13 time the estimated character width of the font. (#107781, David Bordoley) * gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_init): Check here if the GtkToggleButton is active. This may be the case if it is a radio button. * gtk/gtktoolbar.c: Clarify documentation wrt. GtkSignalFunc vs. void (*) (GtkWidget, gpointer). (#107495, Mariano Suarez-Alvarez). * gtk/gtkcheckmenuitem.[ch]: new "draw_as_radio" property. (#111207, David Bordoley). * gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_create_menu_proxy): use new "draw_as_radio" property on the menu item when the item is a radio tool button * gtk/gtktoolbutton.c (gtk_tool_button_create_menu_proxy): Fixes to only pay attention to the "use_underline" property when the button label comes from the "label" property. 2003-08-29 Laurent Dhima * configure.in: Added "sq" to ALL_LINGUAS. 2003-08-28 Matthias Clasen * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Markup fix in the docs. * gtk/gtkuimanager.c: Change the XML format: element is replaced by , element is replaced by , element is replaced by , element is replaced by , element is gone, verb attribute is replaced by action, name defaults to action or the element name. * gtk/gtkactiongroup.[hc]: Replace GtkActionGroupEntry by GtkActionEntry and GtkRadioActionEntry. GtkActionEntry is simplified by removing the user_data, entry_type and extra_data fields, GtkRadioActionEntry is further simplified by removing the callback. The user_data can now be specified as an argument to gtk_action_group_add_actions(). There is a new method gtk_action_group_add_radio_actions(), which is similar to gtk_action_group_add_actions(), but takes GtkRadioActionEntrys and a callback parameter in addition to the user_data. The callback is connected to the ::changed signal of the first group member. There are _full() variants taking a GDestroyNotify of gtk_action_group_add_[radio_]actions(). * gtk/gtkradioaction.[hc]: Add a ::changed signal which gets emitted on every member of the radio group when the active member is changed. Add an integer property "value", and a getter for the value of "value" on the currently active group member. * tests/testactions.c: * tests/testmerge.c: * tests/merge-[123].ui: * demos/gtk-demo/appwindow.c: Adjust to these changes. * gtk/gtktoolbar.c (gtk_toolbar_append_element): Trivial doc fix. 2003-08-27 Anders Carlsson * demos/gtk-demo/appwindow.c (do_appwindow): Focus the text view, so the tool bar won't have focus. Tue Aug 26 09:57:38 2003 Owen Taylor * gdk/x11/gdkkeys-x11.c (update_keymaps): Fix variable declaration not at start of block. (#120371, Damien Carbery) 2003-08-26 Matthias Clasen * gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui_from_string): Use gssize for length, not gsize. * gtk/gtkuimanager.c: Refactor the XML format a bit: rename to and make it optional in strings. Rename verb to action, to , to , to . * demos/gtk-demo/appwindow.c: * tests/testactions.c: * tests/testmerge.c: * tests/merge-1.ui: * tests/merge-2.ui: * tests/merge-3.ui: Adjust to the new XML format. Mon Aug 25 19:55:55 2003 Owen Taylor * gtk/gtktextview.c (gtk_text_view_update_layout_width): Since we add one to the layout's reported width to account for the cursor, we need to subtract one when setting the wrap width for the layout. (Fixes infinite loop (#120325, Frederic Crozat) * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Be a bit more careful about rounding when converting wrapped width from Pango units to pixels. 2003-08-26 Matthias Clasen Rename GtkMenuMerge to GtkUIManager. * gtk/gtkuimanager.[hc]: New files. * gtk/gtkmenumerge.[hc]: Removed. * gtk/Makefile.am: * gtk/gtk.h: * tests/testmerge.c: * tests/testactions.c: * demos/gtk-demo/appwindow.c: Replace all uses of GtkMenuMerge by GtkUIManager. * demos/gtk-demo/appwindow.c: Make GtkMenuMerge demo less intimidating: add comments to entries array, remove newlines from ui definition. Don't use the ::add_widget signal. Mon Aug 25 17:28:04 2003 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_forall): Don't include page->menu_label - causes various problems, including #12047. Mon Aug 25 23:21:43 2003 Kristian Rietveld Merge from stable. Fixes #115871, reported by Michael Natterer. * gtk/gtktreeprivate.h: added GtkTreeSelectMode enum, added ctrl_pressed and shift_pressed bitfields, (_gtk_tree_selection_internal_select_node): replace GdkModifierType arg with GtkTreeSelectMode. * gtk/gtktreeselection.c (gtk_tree_selection_set_mode), (gtk_tree_selection_select_path), (gtk_tree_selection_unselect_path), (_gtk_tree_selection_internal_select_node): all updated for GdkModifierType -> GtkTreeSelectMode move. * gtk/gtktreeview.c (gtk_tree_view_button_press): set ctrl_pressed and shift_pressed around selection handling block, (gtk_tree_view_real_select_cursor_row), (gtk_tree_view_real_toggle_cursor_row), (gtk_tree_view_real_selection_cursor_parent), (gtk_tree_view_real_set_cursor): use ctrl_pressed and shift_pressed, instead of checking the event state. And also updates for the GdkModifierType -> GtkTreeSelectMode move. Wed Aug 20 21:26:49 2003 Owen Taylor * gtk/gtkplug.c (gtk_plug_focus): Send the focus on to the parent when there was no focus widget before and no focus widget after - that is, when there are no focusable widgets. (#108678, help tracking it down from Padraig O'Briain, Federico Mena Quintero, ) * gtk/gtkxembed.[ch]: Move various shared utilities for the XEMBED protocol eused by GtkPlug and GtkSocket here. * gtk/gtkxembed.[ch] gtkplug.c gtksocket.c: Implement a flag bit that is sent with focus mesages to indicate that the focus has wrapped around on the toplevel; use this bit to catch infinite loops when there is no focusable widget at ll in the entire toplevel. * tests/testsocket.c (child_read_watch): Remove an extraneous unref. * gtk/gtkplug.c gtk/gtksocket.c gtk/gtkxembed.h: Up XEMBED protocol version to 1, add logic for sending the right version in XEMBED_EMBEDDED_NOTIFY. * gtk/gtksocket.c (gtk_socket_add_window): Send the embedder window in the XEMBED_EMBEDDED_NOTIFY as the spec requires. Mon Aug 25 16:15:41 2003 Owen Taylor * gdk/x11/gdkkeys-x11.c: Fix up CapsLock and NumLock handling for non-XKB. Add a special case hack for NumLock on Sun servers. (Patch from Robert Basch, #115819) 2003-08-25 Matthias Clasen * gtk/gtkactiongroup.c (gtk_action_group_add_actions): Remove C99isms. (Morten Welinder) * gtk/gtkactiongroup.[hc] (gtk_action_group_set_translate_func, gtk_action_group_set_translation_domain): Hooks for translation of label and tooltip in GtkActionGroupEntries. (#120620) 2003-08-25 Matthias Clasen * gtk/gtkactiongroup.h (GtkActionGroupEntryType): Namespace the enum values properly. Sorry about the resize grip trouble, Owen. (#120621) * gtk/gtkactiongroup.c: * demos/gtk-demo/appwindow.c: * tests/testmerge.c: * tests/testactions.c: Use new GtkActionGroupEntryType enum. Sun Aug 24 17:14:44 2003 Owen Taylor * gtk/gtk.h: Remove reference to gtkresizegrip.h. Sun Aug 24 17:03:44 2003 Owen Taylor * gtk/Makefile.am: Fix accidental commit of references to gtkresizegrip.[ch] Sun Aug 24 17:00:03 2003 Owen Taylor * gtk/gtkrc.c: Fix some missing initializations of rc_file->directory. 2003-08-24 Matthias Clasen * gtk/gtkaction.[ch]: * gtk/gtktoggleaction.[ch]: * gtk/gtktoggleactionprivate.h: * gtk/gtkradioaction.[ch]: * gtk/gtkactiongroup.[ch]: * gtk/gtkmenumerge.[ch]: A model-view separation for menus and toolbars, using the EggMenu code by James Henstridge. * gtk/gtk.h: Include new headers. * gtk/Makefile.am: Add new files. * tests/testactions.c: Test for actions. * tests/testmerge.c: Test for menu merging. * tests/merge-[123].ui: Test data for testmerge. * tests/Makefile.am: Add testactions and testmerge. * demos/gtk-demo/appwindow.c: Use GtkMenuMerge to construct the menubar and toolbar. Sat Aug 23 21:40:18 2003 Owen Taylor * gtk/gtkrc.c (gtk_rc_context_parse_one_file): Fix problem where rc_file->directory wasn't always getting set. (#120549, Luis Villa) 2003-08-22 Christian Rose * configure.in: Added "ne" to ALL_LINGUAS. Thu Aug 21 16:00:36 2003 Owen Taylor * gtk/gtkrc.c: Keep a list of current GtkRcFiles being parsed, not just the directories for those files. Use that to catch recursion. (Part of #114988) Thu Aug 21 21:27:45 2003 Kristian Rietveld Merge from stable. Fix option menu scrolling (#119821, Owen Taylor). * gtk/gtkmenu.c (gtk_menu_scroll_to): remove logic introduced by #80484 and the CLAMP, (get_menu_height): new function, (gtk_menu_real_move_scroll): sort of moved the CLAMP here to correct new_offset to handle page up/down right. Thu Aug 21 15:17:42 2003 Owen Taylor * gdk/x11/gdkkeys-x11.c: Change the interpretation of consumed_modifiers so that it contains: - Modifiers combinations actually found in state. - Single modifier modifier combinations. But not multi-modifier combinations that aren't in event->state. Document. (#100439) Thu Aug 21 20:53:46 2003 Kristian Rietveld Slightly modified patch from Yann Rouillard to improve selection behavior with the mouse. Fixes #120187. * gtk/gtktreeview.c (gtk_tree_view_button_press): only select/deselect items on the first button press of button 1, expand checks for row_activated to include triple clicks. Thu Aug 21 01:33:51 2003 Kristian Rietveld Merge from stable. * gtk/gtkspinbutton.c (gtk_spin_button_size_request): always round approximate digit widths up, to avoid truncation, convert to pango pixels when we have the full string width instead of converting the approx digit width to pango pixels, take inner border and interior focus into account correctly. (Fixes #116368, patch from Morten Welinder). 2003-08-20 Noah Levitt * gtk/queryimmodules.c: Don't look at the same directory twice (in simple cases). (#120342) Wed Aug 20 22:04:47 2003 Soeren Sandmann * gdk/gdkwindow.c: Make the layers in the paint stack have their own pixmap instead of sharing one. (#118317) * tests/testgtk.c (create_get_image): Fixes to make the window fit on an 800x600 screen Wed Aug 20 22:03:25 2003 Kristian Rietveld Merged from stable. * gtk/gtkspinbutton.c (start_spinning): change the type of step to gdouble, since it gets it's data from a gdouble (Fixes #113547). Mon Aug 18 17:19:12 2003 Owen Taylor * modules/input/gtkimcontextxim.[ch]: Substantially rework the handling of status windows: - Store the current StatusWindow in the GtkIMContextXIM structure and vice-versa, so we don't have to hunt the window hierarchy on cleanup. - Use the Gtkidget hierarchy instead of/or as well as the GdkWindow hierarchy when finding the toplevel; this helps for things like GtkHandlebox - Watch GtkWidget::hierarchy_changed to catch changes in the toplevel without changes in the GdkWindow (reparenting) - Never create the GtkWindow for the status window unless we have text to display. - Various cleanups, add lots of comments. (#115077, much help from Takuro Ashie and Hidetoshi Tajima in tracking this down and figuring out a fix.) * modules/input/gtkimcontextxim.c (gtk_im_context_xim_focus_in): * modules/input/gtkimcontextxim.c: Track the current screen for each toplevel so that we show the status window on the right screen. (#116340, James Su) * modules/input/gtkimcontextxim.c: If create a new IC when we currently have the focus, call XSetICFocus() on it. * modules/input/gtkimcontextxim.c (get_im): Fix bug with multiple open screens. Tue Aug 19 14:37:46 2003 Owen Taylor * gtk/gtkimmulticontext.[ch] (struct _GtkIMMulticontext): Replace client_window field with 'priv' pointer, retaining binary compatibility. * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_slave): save use_preedit/cursor_location/focus status and set up the new slave appropriately. (#118651, Botond Botyanszki) Tue Aug 19 13:58:50 2003 Owen Taylor * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): Don't use impl->position_info.clip_rect for toplevels. (#107068, reported by Thomas Mirlacher) Mon Aug 18 11:48:51 2003 Owen Taylor * gdk/x11/gdkdrawable-x11.c (convert_to_format): Add a fallback for unaligned source data for FORMAT_ARGB_MASK. (#117217) Mon Aug 18 10:51:57 2003 Owen Taylor * configure.in: Rework handling of REBUILD_PNGS, so that we also don't try to REBUILD_PNGS when cross-compiling and there is no gdk-pixbuf-csource. But give an error if gtk/stock-icons/gtkstockpixbufs.h is not in the source tree. (Note that REBUILDS_PNG was set backwards before, which is why you always had to manually recreate gtkstockpixbufs.h!) Mon Aug 18 10:19:55 2003 Owen Taylor * gtk+-2.0-uninstalled.pc.in: Add a missing gtk/ in the path to libgtk.la. (#120080, Benedikt Spranger) Sat Aug 16 10:34:49 2003 Owen Taylor * modules/input/imcedilla.c: Make the list of default languages more comprehensive. (Suggestion of Fco. Javier F. Serrador) Sat Aug 9 12:47:11 2003 Owen Taylor * gdk/gdk.c (gdk_arg_context_parse): Fix broken parentheses when skipping args. Sat Aug 16 16:22:23 2003 Kristian Rietveld Fix major bug in row ref handling, so the new combo box will actually work right (:. Bug #107748. Patch written with help from Tim Janik. The basic idea is to update the row refs in a closure, before the actual signal is emitted (rather than having the model connect signal handlers). * gtk/gtktreemodel.c (gtk_tree_model_base_init): change g_signal_new calls for row_inserted, row_deleted and rows_reordered to use the new marshallers, (row_inserted_marshall), (row_deleted_marshall), (rows_reordered_marshall): the new marshallers, (gtk_tree_row_ref_inserted_callback): renamed to gtk_tree_row_ref_inserted since it isn't a callback anymore and gets called by the marshaller now, (gtk_tree_row_ref_deleted_callback): likewise, (gtk_tree_row_ref_reordered_callback): likewise, (connect_ref_callbacks), (disconnect_ref_callbacks): removed, (gtk_tree_row_reference_new_proxy), (gtk_tree_row_reference_free), (gtk_tree_row_reference_inserted), (gtk_tree_row_reference_deleted), (gtk_tree_row_reference_reordered): updated. Fri Aug 15 16:54:39 2003 Owen Taylor Improve Cedilla handling - based on a patch from Gustavo De Nardin, #111334 * modules/input/imcedilla.c po/POTFILES.in: Input method that produces C_WITH_CEDILLA rather than C_WITH_ACUTE for dead_acute+c combinations. Make this the default for fr and pt. * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave): Use LC_CTYPE instead of LC_MESSAGES to pick the default input method. Fri Aug 15 17:00:19 2003 Owen Taylor * gtk/gtkimcontextsimple.c: Fix missing compose sequence for Multi_key+c+apostrophe. Fri Aug 15 21:57:34 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): stop editing on vertical scrolling. (#108035, reported by Tim Janik). Fri Aug 15 20:06:42 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_model_sort_row_changed), (gtk_tree_model_sort_level_find_insert), (gtk_tree_model_sort_insert_value): fix off-by-one error. (#109292 continued, patch from Yann Rouillard). Fri Aug 15 19:43:14 2003 Kristian Rietveld (Note: This is not exactly the same as the patch which went in gtk-2-2). * gtk/gtktreeview.c (gtk_tree_view_class_init), (gtk_tree_view_key_press), (gtk_tree_view_search_key_press_event): Also support the up, down, left, right, home, end, page up and page down keys on the numpad. (#119419, reported by Alex Larsson). Fri Aug 15 12:34:04 2003 Owen Taylor Fixes for X/Cygwin builds of GTK+ (#107623, Masahiro Sakai): * configure.in (GDK_DEP_LIBS_FOR_X): Make sure that we link libgtk against X explicitely, since we make GTK+ calls for plug/socket. * gtk/queryimmodules.c: Use USE_LA_MODULES and G_MODULE_SUFFIX here. * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_image): Protect XShmPutImage with #ifdef USE_SHM. Thu Aug 14 18:25:39 2003 Owen Taylor * gtk/gtkfilesel.c (gtk_file_selection_populate): Don't reposition the cursor when we aren't trying to complete. (Fixes problems with selection on startup, #108433, reported by Mark Finlay.) * gtk/gtkfilesel.c (gtk_file_selection_populate): Remove code that tried to position the cursor after the common prefix when there was one, it wasn't working, and would be hard to fix. Just always put the cursor at the end when completing. Thu Aug 14 17:58:23 2003 Owen Taylor * gtk/gtkfilesel.c (get_current_dir_utf8): If getting the current directory fails because of encoding conversion problems, walk up textually to parent directories until we can convert. (#113627) Wed Aug 13 17:01:49 2003 Owen Taylor * gtk/gtkmenushell.[ch] (gtk_menu_shell_enter_notify): Remove usage of menu_shell->ignore leave which was to deal with stray events we no longer get because we do grabbing differently. Comment it as unused in the header. (#115837, Keith Bissett) Wed Aug 13 16:32:43 2003 Owen Taylor * gtk/gtkmenu.c (gtk_menu_position, gtk_menu_window_size_request): Fix some places that weren't properly Xinerama-ified. * gtk/gtkmenu.c: Fix problem with windows that scroll at the top of the screen. Wed Aug 13 11:34:53 2003 Owen Taylor * gtk/gtkcombo.c (gtk_combo_init): connect_after() to key-press-event on the entry, so input methods get access to key presses before GtkCombo customization. (#115451, Botond Botyanszki) 2003-08-13 Anders Carlsson * tests/testtoolbar.c: (set_important_func), (important_toggled), (create_items_list): Add an important column. Tue Aug 12 15:00:15 2003 Owen Taylor * gtk/gtkwindow.c (gtk_window_real_set_focus): Protect against reentrancy from ::focus-out handlers. (#118129, Felipe Heidrich) Tue Aug 12 14:27:42 2003 Owen Taylor * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Remove GDK_LOCK_MASK before calling gdk_keymap_translate_keyboard_state so bindings and accelerators are independent of the Caps-lock key. (#115384, reported by Toni Willberg) Mon Aug 11 12:07:14 2003 Owen Taylor * gdk/x11/gdkevents-x11.c (get_real_window): Add missing break statements (#119494, Soeren Sandmann) Mon Aug 11 11:10:07 2003 Owen Taylor * gtk/gtkwidget.h: Mark parent public as well; it's extensively accessed in existing code, so there is no advantage in making people use get_parent(). (Tweak to #119463 fix) 2003-08-11 Matthias Clasen Add support for EWMH "Above" and "Below" window states. (105100, Manuel Clos) * tests/testgtk.c: Add "Above" and "Below" to the the "Window State" demo. * gtk/gtkwindow.h: Add gtk_window_set_keep_above and gtk_window_set_keep_below. * gtk/gtk.def: Add gtk_window_set_keep_above and gtk_window_set_keep_below. * gtk/gtkwindow.c (gtk_window_set_keep_below): (gtk_window_set_keep_above): New functions, call the corresponding gdk functions. * gdk/x11/gdkwindow-x11.c (gdk_window_set_keep_below): New function, sets _NET_WM_STATE_BELOW. (gdk_window_set_keep_above): New function, sets _NET_WM_STATE_ABOVE. * gdk/gdkwindow.h: Add gdk_window_set_keep_above and gdk_window_set_keep_below. * gdk/gdkevents.h (GdkWindowState): Add GDK_WINDOW_STATE_ABOVE and GDK_WINDOW_STATE_BELOW. * gdk/gdk.def: Add gdk_window_set_keep_above and gdk_window_set_keep_below. * acinclude.m4: Copy newer versions of JH_CHECK_XML_CATALOG and JH_PATH_XML_CATALOG from gtk-doc to enable configuring without xmlcatalog in PATH. (#119115) 2003-08-10 Matthias Clasen * gtk/gtkwidget.h (struct _GtkWidget): Mark some members as public. (#119463) 2003-08-09 Noah Levitt * gdk/gdkevents.h: * docs/reference/gdk/tmpl/windows.sgml: Elaborate a bit more in the docs on GdkFilterFunc and GdkFilterReturn. 2003-08-09 Matthias Clasen * gtk/gtkcalendar.c: Add and hook in gtk_calendar_scroll, to let the mouse wheels select the month. Scrolling down moves forward in time. (#53134, Abigail Brady) * gtk/gtkcalendar.c: Complete the RTL flipping support for GtkCalendar, make it possible to flip the headings using the "magic translated string" technique. Translators, note the comment in gtk_calendar_init() explaining this. (#102416) * gtk/gtkcalendar.c: Get the information about the first day of the week from the locale using another instance of the "magic translated string" technique. Ignore the display option GTK_CALENDAR_WEEK_START_MONDAY with a warning. (#87977) * gtk/gtkcalendar.c: Add DND support to GtkCalendar. The selected date is dragged as text, formatted via strftime %x. Text drops are accepted if g_date_set_parse() can make sense of the text. A dedicated data format for date DND has not been introduced yet, since there didn't seem to be sufficient consensus on such a format on xdg-list. (#117297) 2003-08-08 Matthias Clasen * gdk/gdkregion-generic.c (gdk_region_spans_intersect_foreach): Fix a segfault. (#115284, Jan Kratochvil) 2003-08-08 Tor Lillqvist * gdk/win32/gdkevents-win32.c (print_event): Print also the root coordinates for events that have such. Print coordinates for enter and leave events. (gdk_event_translate): Don't use event uninitialixed in the return_exposes branch of the WM_PAINT handler. * gdk/win32/gdkwindow-win32.c (gdk_window_new, _gdk_windowing_window_get_pointer, _gdk_windowing_window_at_pointer): Must offset top-level window coordinates here, too. 2003-08-08 Matthias Clasen * demos/gtk-demo/appwindow.c (do_appwindow): Hide the resize grip when maximized or fullscreen. 2003-08-07 Tor Lillqvist * gdk/win32/gdkinput-win32.h * gdk/win32/gdkinput-win32.c (_gdk_input_configure_event, _gdk_input_enter_event): Drop the GdkEvent* parameter, it wasn't used. * gdk/win32/gdkevents-win32.c (gdk_event_translate): Adapt caller accordingly, in fact an uninitialised variable was dereferenced. [Win32] Add support for multiple monitors. * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkglobals-win32.c: New global variables for multiple-monitor info: _gdk_num_monitors, _gdk_monitors, and _gdk_offset_x and _gdk_offset_y. * gdk/win32/gdkdisplay-win32.c (count_monitor, enum_monitor): New functions, enumeration functions passed to EnumDisplayMonitors(). (gdk_display_open): If the EnumDisplayMonitors() and GetMonitorInfo() API is present (on Win98, Win2000 and newer), use if to find out monitor info. Calculate the offset between Win32 coordinates (relative to the primary monitor's origin (and thus negative on monitors to the left of or above it), and GDK's (visible coordinates should be non-negative). * gdk/win32/gdkscreen-win32 (gdk_screen_get_n_monitors, gdk_screen_get_monitor_geometry): Use information collected above. (gdk_window_move, gdk_window_move_resize_window_get_geometry): Subtract _gdk_offset_{x,y} from GDK root window coordinates. (gdk_window_get_geometry, gdk_window_get_origin, gdk_window_get_frame_extents): For top-level windows, add _gdk_offset_{x,y} to GDK root window coordinates Still need to handle multiple monitors in gdk_window_fullscreen(). Probably should make the window fullscreen on the monitor where the cursor is? * gdk/win32/gdkevents-win32.c: Add _gdk_offset_{x,y} to all GDK root window coordinates in GdkEvents. [Win32] Fix geometry hint handling. Add support for resize increment and base size, and aspect ratio geometry hints. The "gridded geometry" test in testgtk now works beautifully. * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints): Turns out this function shouldn't actually ever modify the window's size, just store the hints. (Old code kept for a while inside #if 0.) (gdk_window_set_hints): Remove presumably broken code that handles the position hints, this function is obsolete anyway. * gdk/win32/gdkevents-win32.c: Drop the current_{x,y}_root variables, not used. (adjust_drag): New function, used to implement resize increment hints. (gdk_event_translate): Handle WM_SIZING, implement resize increment and base size, and aspect ratio geometry hints here. The WM_GETMINMAXINFO handler takes care of the minimum and maximum size hints as before. Fix the WM_GETMINMAXINFO handler to take into account window decorations. No need to modify the ptMaxPosition and ptMaxSize fields in the MINMAXINFO struct, the defaults are fine. * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkwindow-win32.c (_gdk_win32_adjust_client_rect, _gdk_win32_get_adjusted_client_rect): New helper functions. 2003-08-07 Matthias Clasen * gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed): Reset the toplevel->have_* flags before iterating over the _NET_WM_STATE atoms. (#119217) Thu Aug 7 16:49:29 2003 Owen Taylor * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix a bug where on theme change, resize/redraw wasn't properly getting queued on toplevel windows. (#116346, Rajkumar Siva) * gtk/gtkwidget.c (gtk_widget_invalidate_widget_windows): Fix bug where wrong coordinates were used for toplevel window. Thu Aug 7 16:40:21 2003 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_remove): Remove leftover page_num variable (Archit Baweja) 2003-08-07 Matthias Clasen * gtk/gtkspinbutton.c (gtk_spin_button_default_input): Use g_strtod() to cope with C libraries with crippled locale support. (#115293) 2003-08-07 Hans Breuer * gdk/win32/gdkevents-win32.c : finally use TrackMouseEvent (only if the new window not known to Gdk) to get proper leave notification, and get rid of the wrong placed tooltips, bug #102283 (gdk_event_translate) : small code reordering to not get GDK_MOTION_NOTIFY for still mouse and get back tooltips on menus, bug #117367 2003-08-07 Tor Lillqvist * gdk/gdk.def * gdk/win32/gdkfont-win32.c (gdk_fontset_load_for_display): Add missing function, trivially implement. 2003-08-07 Matthias Clasen * gtk/gtkctree.c (draw_row): Don't cut descenders when rendering. (#118646, Charles Kerr) 2003-08-06 Hans Breuer * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) : initialize bits to 0 (probably default on NT) * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon) : now it works as intended ;-) 2003-08-04 Hans Breuer * gdk/win32/gdkwindow-win32.c(gdk_window_set_modal_hint) : set HWND_NOTOPMOST for modal==FALSE, fixes bug #118435 * gdk/win32/gdkwindow-win32.c : implement gdk_window_[un]fullscreen (gdk_window_{move,resize,move_rezize})) : noop if FULLSCREEN * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon) : against all expectations it is basically ony a call with WM_SETICON needed (the visual effect is there, though colors or mask are still somewhat wrong). * gdk/win32/gdkwindow-win32.h : place to store the HICON * gdk/win32/gdkdrawabke.win32.c : readded the conditional end pixel drawing as it was fixed at 1999-08-23 gtk/gtk.def : updated Tue Aug 5 10:07:08 2003 Owen Taylor * gtk/gtkmessagedialog.c (gtk_message_dialog_get_property): Add a missing break. (#119156, Callum McKenzie) Tue Aug 5 00:24:13 2003 Soeren Sandmann * gtk/gtkmenu.c (gtk_menu_position): New positioning algorithm.(#116649) Fri Aug 1 15:26:46 2003 Soeren Sandmann * gtk/gtktoolbar.c, gtk/toolitem.c: add new "is_important" property * gtk/gtkradiotoolbutton.c (gtk_radio_tool_button_new_from_widget): Don't take a stock id * gtk/gtkradiotoolbutton.c (gtk_radio_tool_button_new_with_stock_from_widget): make this function take a stock_id. * gtk/toolbar: documentation Mon Aug 4 14:53:46 2003 Owen Taylor * gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init): Fix problem where use_xshm was getting set wrong if MIT_SHM wasn't found. (George Lebel) 2003-08-04 Tor Lillqvist * gdk/x11/gdkscreen-x11.c (gdk_screen_get_n_monitors): (gdk_screen_get_monitor_geometry): Improve wording of the docs, avoid the term "virtual screen". (#119030, Tor Lillquist) 2003-08-02 Matthias Clasen * tests/testtext.c (test_init): * tests/testgtk.c (test_init): * tests/testdnd.c (test_init): * demos/pixbuf-init.c (pixbuf_init): * demos/gtk-demo/main.c (main): Use g_setenv(). * gdk/x11/gdkdisplay-x11.c (_gdk_windowing_set_default_display): Use g_unsetenv(). Sat Aug 2 12:53:16 2003 Owen Taylor * configure.in: Requires glib-2.3.0, pango-1.2.0. * configure.in: Require Xft version 2, remove code for handling older versions of pango and Xft. Many miscellaneous improvements to X checks * acinclude.m4: Add GTK_ADD_LIB() macro for adding a library to a variable, avoiding dups. * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): Always load "fixed" * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and for pangox. 2003-08-02 Matthias Clasen * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): Accept drops with the wrong format, since the KDE color chooser incorrectly drops application/x-color with format 8. (#118810) * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): Accept drops with the wrong format, since the KDE color chooser incorrectly drops application/x-color with format 8. (#118810) 2003-08-02 Tor Lillqvist Fix gdk/win32 window geometry handling again. The window position in a GDK_CONFIGURE event should be that of the client area, not of the window decorations. (I was confused by the term "window border" in X11. It does *not* mean the window manager decorations. There are no X11-style window borders in Win32.) Also, this time do take the geometry hints into account appropriately when moving windows. Now testgtk's gravity test's move buttons work OK. There are stil problems with taking gravity into account when showing a hidden window. * gdk/win32/gdkwindow-win32.h: Keep a whole GdkGeometry as hints instead of separate fields. * gdk/win32/gdkevents-win32.c (handle_configure_event): Don't adjust for decorations. * gdk/win32/gdkwindow-win32.c (get_outer_rect, adjust_for_gravity_hints): New functions. (gdk_window_move, gdk_window_resize, gdk_window_move_resize): Use above functions, take geometry hints into account. (gdk_window_set_geometry_hints): Size hints specicy client area, not including decorations. Fri Aug 1 17:10:22 2003 Owen Taylor * gtk/gtkfilesel.c (cmpl_completion_fullname): Always return an absolute path (#115590), fix a problem where you could crash the file selector with a looong name by returning a newly allocated buffer. Fri Aug 1 16:44:51 2003 Owen Taylor * gtk/gtkfilesel.c (update_cmpl): Fix obvious reallocation bug in rarely or never hit code path (#118071, Tor Lillqvist) Fri Aug 1 16:30:13 2003 Owen Taylor * gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render): If the check for missing depths, try actually creating pixmaps of the depths to deal with Xinerama not reporting all the depths it should. (#115822) Fri Aug 1 15:33:59 2003 Owen Taylor * gtk/gtksocket.c: Patch from Denis Mikhalkin to forward KeyRelease events as well as KeyPress events. (#115597) Fri Aug 1 15:06:25 2003 Owen Taylor * gdk/gdk.c (gdk_parse_args): g_set_prgname("") if argc is 0 as well, instead of leaving it unset. (#116023, Michael Meeks) Thu Jul 31 23:09:02 2003 Soeren Sandmann * gtk/gtktoolbar.c (gtk_toolbar_class_init): make show_arrow default to TRUE; ignore the property when api_mode != NEW_API 2003-07-31 Matthias Clasen * gtk/gtkwindow.c (gtk_window_set_default_icon): Rename parameter pixbuf to icon, to pacify gtk-doc. * gtk/gtkwidget.c (gtk_widget_class_init): Fix formatting of drag-motion example. Thu Jul 31 15:33:33 2003 Soeren Sandmann * gtk/gtk*tool*.h: add padding to subclasses of GtkToolItem Thu Jul 31 15:29:28 2003 Soeren Sandmann * gtk/gtktoolitem.c (struct _GtkToolItemPrivate): remove unused overflow_item field. Wed Jul 30 21:11:13 2003 Soeren Sandmann * gtk/gtktoolitem.h: make _gtk_tool_item_toolbar_reconfigured() an internal function * gtk/gtktoolitem.h: remove unused declaration of _gtk_tool_item_get_drag_window(). Wed Jul 30 17:03:58 2003 Soeren Sandmann * gtk/gtktoolbutton.[ch]: (gtk_tool_button_new): swap icon_widget and label arguments to match BonoboUIToolbarButton. * gtk/gtktoolbar.h: un-deprecate gtk_toolbar_{set|unset}_style(). 2003-07-30 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_class_init): Some updates to the DND signal docs. 2003-07-29 Tor Lillqvist Fix for #108007, #112402, #117042: There was confusion in gdk/win32 at various places whether a window position refers to the decoration position or the client area position. Also whether window size includes decorations or not. The correct interpretation apparently is that in GDK (like in X11), a top-level window position means the decoration's position, but size means the window's inner size (client area size). In the Win32 API, the window size usually includes the decorations, though. * gdk/win32/gdkevents-win32.c (decode_key_lparam): Move inside #ifdef G_ENABLE_DEBUG. (handle_configure_event): New function, generates GDK_CONFIGURE events from WM_SIZE and WM_MOVE messages. Even if no event is generated because of the event mask, still set the private position and size fields. Calculate position and size correctly. (gdk_event_translate): Call handle_configure_event(). * gdk/win32/gdkgeometry-win32.c: Cosmetics. * gdk/win32/gdkwindow-win32.c: Use GDI_CALL() and API_CALL() macros. Cosmetic debugging output changes. (SafeAdjustWindowRectEx): Remove. If an application wants to locate a window outside of the screen, it's not GDK's business to prevent it. And anyway, with multiple monitors, negative coordinates are perfectly normal. (gdk_window_new): Adjust the window size for decorations after _gdk_window_init_position() has done its job. (But the big window code currently is presumably broken on Win32 anyway.) (gdk_window_move): The position passed in is supposed to be that of the window border, so don't need to adjust for decorations. (gdk_window_resize, gdk_window_move_resize): Simplify somewhat. Tue Jul 29 13:55:44 2003 Soeren Sandmann * gtk/gtktoolbar.c (gtk_toolbar_set_style, gtk_toolbar_prepend_element, gtk_toolbar_append_element, gtk_toolbar_insert_space, gtk_toolbar_prepend_space, gtk_toolbar_append_space, gtk_toolbar_insert_item, gtk_toolbar_prepend_item, gtk_toolbar_append_item, gtk_toolbar_set_tooltips, gtk_toolbar_set_orientation, gtk_toolbar_new, gtk_toolbar_prepend_item): Move documentation inline from template files. * gtk/gtktoolbar.c (gtk_toolbar_insert_element, gtk_toolbar_insert_widget, gtk_toolbar_prepend_widget, gtk_toolbar_append_widget, gtk_toolbar_remove_space, gtk_toolbar_insert_stock, gtk_toolbar_unset_icon_size, gtk_toolbar_get_icon_size, gtk_toolbar_set_icon_size, gtk_toolbar_get_tooltips, gtk_toolbar_unset_style, gtk_toolbar_get_style, gtk_toolbar_get_orientation) Copy documentation from stable that was added after the EggToolbar branched. * gtk/gtktoolbar.h: deprecate gtk_toolbar_unset_icon_size() Mon Jul 28 18:21:34 2003 Soeren Sandmann * gtk+/docs/: Commit autogenerated changes, so patches will make sense. 2003-07-27 Tor Lillqvist * gdk/win32/gdkevents-win32.c (build_key_event_state): On Win9x, the keyboard state returned by GetKeyboardState() doesn't distinguish between the left and right Control and Alt keys. Thus we cannot detect AltGr (which is supposed to be left Control + right Alt) the same way as on NT-based systems, but have to accept either Control + either Alt as AltGr. 2003-07-27 Matthias Clasen * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): Fix function name in warning message. (#118156, Tim-Philipp Mller) * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): is-expander and is-expanded are boolean properties, not ints. (#118359, Josh Parsons) Sat Jul 26 15:21:27 2003 Soeren Sandmann * gtk/gtkimagemenuitem.c (gtk_image_menu_item_toggle_size_request): don't request toggle_space when the image width is 0. 2003-07-25 Tor Lillqvist * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkglobals-win32.c: New flags _gdk_input_locale_is_ime and _gdk_keyboard_has_altgr. * gdk/win32/gdkevents-win32.c: Lots of changes. Most important ones detailled here. Code that has been ifdeffed out for a long time removed. Remove some really old doc comments that were left behind for some public functions, the official ones are in the X11 backend anyway. Change GDK_WINDOW_OBJECT() calls to GdkWindowObject casts. Reformat multi-line boolean expressions to have the operators at ends of lines. As mouse capture with SetCapture() indeed seems to work OK, no need to have the correspoinding macro USE_SETCAPTURE and ifdefs. Ifdef out the gdk-ping-msg stuff. I don't remember why it was needed at some time, and things seem to work fine now without (knock on wood). Ifdef out the search for some Latin locale keyboard layout being loaded. Not used currently, but might be needed after all, if we decide that we want to be able to generate ASCII control character events with a non-Latin keyboard. (assign_object): New helper function, handles the g_object_ref() and unref() calls when assigning GObject pointers. (generate_crossing_events): Also generate the GDK_NOTIFY_INTERIOR enter event when the pointer has moved to an ancestor window. Was left out by mistake. (gdk_window_is_ancestor): Renamed from gdk_window_is_child(). (gdk_pointer_grab, gdk_pointer_ungrab): Implement the confine_to functionality, using ClipCursor(). (find_window_for_mouse_event): Splice part of code into new function find_real_window_for_grabbed_mouse_event(). (fixup_event, append_event, apply_filters): New functions, code refactored out from elsewhere. (synthesize_enter_or_leave_event, synthesize_leave_event, synthesize_enter_event, synthesize_leave_events,synthesize_enter_events): Also take a GdkCrossingMode parameter, in preparation to generating GDK_CROSSING_GRAB and GDK_CROSSING_UNGRAB events. (fixup_event, append_event, fill_key_event_string): New functions, code refactoring. (vk_from_char, build_keypress_event, build_keyrelease_event): Removed as part of dropping WM_CHAR handling. (build_key_event_state,gdk_event_translate): Call GetKeyboardState(), once, for each keyboard message, instead of several calls to GetKeyState() here and there. (gdk_event_translate): Fix bugs #104516, #104662, #115902. While at it, do some major refactoring, and some fixes for potential problems noticed while going through the code. Don't handle WM_CHAR at all. Only handle WM_KEYDOWN and WM_KEYUP. Don't need the state variables related to whether to wait for WM_CHAR or not, and whether the current key is AltGr. Remove lots of complexity. Thus don't need the use_ime_composition flag. Not handling WM_CHAR means dead key handling will have to be taken care of by GTK, but that seems to work fine, so no worry. Another side-effect is that Alt+keypad digits don't work any longer, but it's better to learn to use GTK's ISO14755 support is anyway. Be more careful in checking whether AltGr is involved. Only attempt to handle it if the keyboard actually has it. And explicitly check for *left* Control plus *right* Alt being pressed. Still, allow (left) Alt and/or (right) Control with AltGr chars. Handle keys using similar code as in the X11 backend. As we have built a keymap in gdkkeys-win32.c anyway, use it by calling gdk_keymap_translate_keyboard_state() to look up the keysym from the virtual key code and keyboard state. Build the key event string in exactly the same way as the X11 backend. If an IME is being used, don't generate GDK events for keys between receiving WM_IME_STARTCOMPOSITION and WM_IME_ENDCOMPOSITION, as those keys are for the IME. For WM_IME_COMPOSITION, handle all the Unicode chars returned from the IME, not just the first one. gdk_event_translate() is still quite complex, could split the message handler cases out into separate functions. On mouse events, when the mouse is grabbed, use find_real_window_for_grabbed_mouse_event() in order to be able to generate correct crossing events. No longer take a pre-allocated GdkEvent as parameter. Instead, allocate events as needed and append them to the queue. (This is different from how gdk_event_translate() in the X11 backend works.) This change made the code much clearer, especially in the cases where we have to generate several GDK events for one Windows message. Return FALSE if DefWindowProc() should be called, TRUE if not. If DefWindowProc() should not be called, also return the value to be returned from the window procedure. (Previously, the interaction with gdk_event_translate()'s caller was much more complex, when we had to indicate whether the already-queued event should be left in the queue or removed, and in addition also had to indicate whether to call DefWindowProc() or not, and what value to return from the window procedure if not.) Don't use a separate "private" variable required to be pointing to the GdkWindowObject of the "window" variable at all times. Just use casts, even if looks a bit uglier. Notice destroyed windows as early as possible, and break out of the messsage switch. Use _gdk_pointer_root as current_window when the pointer is outside GDK's top-level windows. On WM_INPUTLANGCHANGE, set _gdk_input_locale_is_ime as appropriate, based on ImmIsIME(). (gdk_event_translate, gdk_event_send_client_message_for_display, gdk_screen_broadcast_client_message): Implement client messages. Use a registered Windows message to pass GDK client messages. Note that the amount of user data is restricted to four bytes, as it is carried in the LPARAM. (The WPARAM is used for the message type "atom".) (real_window_procedure): Adapt for new gdk_event_translate() interface. * gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Set _gdk_input_locale_is_ime initially. * gdk/win32/gdkwindow-win32.c: Use g_object_ref()/unref() instead of g_colormap_ref()/unref(). (gdk_window_new): Made code a bit more like the X11 one, pretend to handle screens (although we just have one for now). * gdk/x11/gdkevents-x11.c (gdk_event_send_client_message_for_display, gdk_screen_broadcast_client_message): Document the user data limitation on Win32. * gdk/win32/gdkevents-win32.c (print_event): More complete enter and leave notify detail output. * gdk/win32/gdkkeys-win32.c (update_keymap): Make dead keys visible to GDK and GTK. Store the corresponding GDK_dead_* keysym for those, so that the GtkIMContextCimple compose tables will work. Deduce if the keyboard layout has the AltGr key, and set the above flag accordingly. 2003-07-26 Matthias Clasen * gtk/gtkwidget.c: Document DND signals. 2003-07-24 Matthias Clasen * gtk/gtktextview.c (popup_targets_received): Make the "Input Methods" insensitive when editing isn't possible. (#118150) 2003-07-23 Matthias Clasen * gtk/gtkcolorsel.c (gtk_color_selection_init): Make the hue spinbutton wrap. (#118097, John Darrington) * docs/faq/gtk-faq.sgml: Mention Xnest as a way to debug GTK+ apps. 2003-07-20 Hans Breuer * makefile.msc : new file to build it all * Makefile.am : ... added to EXTRA_DIST * gdk/makefile.msc gtk/stock-icons/makefile.msc gtk/makefile.msc.in tests/makefile.msc : updated * gdk/gdk.def gtk/gtk.def : export a bunch of new functions * gtk/gtkbbox.c : use g_return_val_if_fail() if there is a value to return * gtk/gtkfontsel.c gtk/gtkiconfactory.c : static correctness * gtk/gtkicontheme.c : ported to use GTimeVal instead of struct timeval and GTK_DATA_PREFIX instead of GTK_DATADIR * gtk/gtkicontheme.c : use HAVE_LC_MESSAGES * gtk/gtkimmulticontext.c : use gtkprivate.h * gtk/stock-icons/stock_color_picker_25.png gtk/stock-icons/stock_jump_to_rtl_16.png gtk/stock-icons/stock_jump_to_rtl_24.png gtk/stock-icons/stock_redo_rtl_16.png gtk/stock-icons/stock_redo_rtl_24.png gtk/stock-icons/stock_undelete_rtl_16.png gtk/stock-icons/stock_undelete_rtl_24.png gtk/stock-icons/stock_undo_rtl_16.png : gtk/stock-icons/stock_undo_rtl_24.png : readded as binary Sat Jul 19 22:39:24 2003 Soeren Sandmann * gtk/gtktoolitem.c (gtk_tool_item_size_request): remove leftover request of {xy}thickness Sat Jul 19 16:26:02 2003 Soeren Sandmann * gtk/gtktoolbutton.c (gtk_tool_button_construct_contents): don't attempt to add a NULL icon to the box. Sat Jul 19 12:13:20 2003 Soeren Sandmann * gtk/gtknotebook.c (gtk_notebook_focus_in|out): only redraw tabs on focus in/out. 2003-07-19 Matthias Clasen * gtk/gtkstock.h (GTK_STOCK_DIALOG_AUTHENTICATION): New stock id. * gtk/gtkiconfactory.c (get_default_icons): Add stock_dialog_authentication_48. (#65765) * gtk/stock-icons/Makefile.am (VARIABLES2, IMAGES): Here too. * gtk/stock-icons/stock_dialog_authentication_48.png: New image. * gtk/gtkbbox.h: * gtk/gtkbbox.c (gtk_button_box_get_child_secondary): New function. (#64562) Sat Jul 19 00:18:40 2003 Soeren Sandmann * gtk/gtkwindow.c (gtk_window_set_default_icon): Fix C99 declaration * gtk/gtkwidget.c (gtk_widget_queue_shallow_draw): new function (gtk_widget_real_focus_{in|out}_event): queue shallow draws instead of full draws. 2003-07-18 Matthias Clasen * gtk/gtkwindow.c: Add properties decorated and gravity. (#80234) * gtk/gtktextview.c (gtk_text_view_class_init): Add a new keybinding signal, move_viewport. (gtk_text_view_move_viewport): New function which implements the move_viewport functionality. (gtk_text_view_move_cursor_internal): If the cursor is not visible, move the viewport. (#78669) * gtk/gtkenums.h (GtkScrollStep): New enumeration, used for move_viewport argument. * gtk/gtkstatusbar.c (gtk_statusbar_class_init): Add a has_resize_grip property. (#111779) * gtk/gtkwindow.h: * gtk/gtkwindow.c (gtk_window_set_default_icon): New method. (#95816) * gtk/gtkmessagedialog.h: * gtk/gtkmessagedialog.c (gtk_message_dialog_add_buttons): New method. (#65501, Sebastian Rittau) Fri Jul 18 20:06:57 2003 Soeren Sandmann * gtk/gtktextview.c (changed_handler): use gtk_widget_queue_resize_noredraw(). 2003-07-16 Jody Goldberg * gdk/x11/gdkwindow-x11.c (gdk_window_focus) : fix cut-n-paste-o Fri Jul 18 19:55:50 2003 Soeren Sandmann * gtk/gtkwidget.c (gtk_widget_queue_resize_no_redraw): Add this API. Fri Jul 18 18:43:01 2003 Soeren Sandmann By popular request give toolbuttons a border. * gtk/gtktoolitem.c (gtk_tool_item_size_allocate): (gtk_tool_item_size_request): don't request and allocate a border around the child * gtk/gtktoolbutton.c (gtk_tool_button_size_allocate): (gtk_tool_button_size_request): remove these functions * gtk/gtktoolbar.c (gtk_toolbar_size_request): (gtk_toolbar_size_allocate): request and allocate a border if we have a shadow. Thu Jul 17 19:24:51 2003 Kristian Rietveld Merged from stable. Fixes issues pointed out by Morten Welinder in #115140. * gtk/gtktreeview.c (gtk_tree_view_size_request): fix comment, (do_validate_rows): update validated_area with a logic OR instead of a bitwise OR, (validate_rows_handler): make the if statement match the one in validate_rows(), so we don't leak the timeout. Thu Jul 17 19:12:02 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_remove_widget): the treeview should only grab focus back if the "cell_editable" widget still has focus. (Fixes #110104, testcase provided by Marco Pesenti Gritti). Thu Jul 17 19:06:34 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button): Don't set attr.event_mask twice, those things were meant to be ORred. (#115139, pointed out by Morten Welinder). Thu Jul 17 16:11:21 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_rows_reordered): stop editing if needed. (Fixes #115869, reported by Michael Natterer). 2003-07-15 Matthias Clasen * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity. 2003-07-13 Matthias Clasen * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc. Sun Jul 13 15:57:57 2003 Soeren Sandmann * gtk/gtktoolbutton.c (gtk_tool_button_finalize): Fix leaks of label_text, label_widget and icon_widget. (#117312, Christian Persch) Sun Jul 13 01:37:51 2003 Soeren Sandmann * gtk/gtkmenu.c (gtk_menu_class_init): new properties "horizontal-offset" and "vertical-offset" that determines the position of the menu when it is a submenu. * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): position submenus according to new vertical- and horizontal-offset properties. Sat Jul 12 16:16:04 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_drag_data_received): special case drags to "0", scroll to the top after dropping. (Fixes #94968, reported by Alp Toker). Sat Jul 12 16:08:32 2003 Kristian Rietveld Merged from stable. * demos/gtk-demo/editable_cells.c (cell_edited): fixup bad code (#115784, Owen Taylor). Sat Jul 12 16:01:03 2003 Kristian Rietveld Merged from stable. * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property): free the old text and extra_attrs *after* we parsed the new markup string. (Fixes #114485, reported by Owen Taylor). Sat Jul 12 15:51:33 2003 Kristian Rietveld Merged from stable. Fixes #113904, testcase provided by Rene Seindal. * gtk/gtktreeview.c (gtk_tree_view_button_press): set pressed_button to -1 when a row has been activated, (gtk_tree_view_motion_bin_window): only start a drag if there's a button being pressed. Sat Jul 12 15:51:18 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): use gdk_window_get_pointer instead of gdk_display_get_window_at_pointer to avoid a roundtrip (#110272, Owen Taylor). Sat Jul 12 15:28:26 2003 Kristian Rietveld Merged from stable. This patch really really fixes scrolling. Related bugs: #81627, testcase provided by Timo Sirainen, #111500, testcase provided by manu, #113241, reported by Pedro Gimeno/Michael Natterer. * gtk/gtktreeview.c (validate_visible_area): scrolling to a dy which is equal to the lower border of the window means scrolling to an invisible row, always update the dy when scrolling to an invisible row, corrected area_above/below calculations for invisible rows, when walking the tree correct the size subtracted for invalidated rows, fix wrong logic in comment. 2003-07-11 Matthias Clasen * gtk/gtkicontheme.c (pixbuf_supports_svg): Use g_strfreev() to free mime_types. (#117219, Steve Chaplin) Tue Jul 8 20:11:04 2003 Owen Taylor * gdk/x11/gdkevents-x11.c (get_real_window) gdk/x11/gdkinput-x11.c (_gdk_input_common_init) gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init) gdk/x11/gdkprivate-x11.h (_gdk_windowing_image_init) Don't assume that all events start with XEventAny - Xkb events don't! (#105745). So, only do that for core events, and for non-core events, add a system for registering event types that start with XEventAny. * gdk/x11/gdkevents-x11.c (gdk_event_translate): Check to see if the result of gdk_window_lookup_for_display() is actually a window. Fri Jul 11 20:48:14 2003 Kristian Rietveld * gtk/gtktreemodel.c (gtk_tree_path_free): make the path != NULL check a silent assert, so it follows the g_free() behaviour. 2003-07-11 Matthias Clasen * gtk/gtkstatusbar.c (gtk_statusbar_init): Center statusbar contents vertically. (#109823, Joe Shaw) 2003-07-11 Morten Welinder * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixbuf): Fix memory access error. (#69436) Fri Jul 11 14:32:43 2003 Kristian Rietveld Landing GtkTreeModelFilter and the completion code. (Test program and documentation will follow next week). * gtk/gtkcellayout.[ch], gtk/gtkentrycompletion.[ch], gtk/gtktreemodelfilter.[ch], gtk/gtkentryprivate.h: new files. * gtkentry.[ch]: added gtk_entry_{get,set}_completion, wrote necessary code to hook up completion. * gtktreeviewcolumn.c: made GtkTreeViewColumn implement the new GtkCellLayout interface. * gtkmarshalers.list: added BOOLEAN:OBJECT,BOXED. * gtk/gtk.h, gtk/Makefile.am, po/POTFILES.in: all updated for the new source files. Wed Jul 9 19:48:26 2003 Kristian Rietveld Merge from stable. * gdk/gdkdisplay.c (gdk_display_get_window_at_pointer): don't directly return from ->window_at_pointer, but set win_x and win_y first if needed. (Fixes #110166, reported by Arno Charlet). * gdk/gdkwindow.c (gdk_window_get_composite_drawable): change function to accept GdkDrawables and not just GdkWindows. This was already done in some other functions a while back, but this patch got lost for some reason. 2003-07-09 Matthias Clasen * gtk/gtkcontainer.c (gtk_container_focus_sort_tab): Consider the text direction when sorting children. (#116540, Soeren Sandmann) Tue Jul 8 17:36:21 2003 Owen Taylor * gdk/x11/gdkasync.[ch] gdk/gdkdnd-x11.c: Change _gdk_x11_send_xevent_async() to _gdk_x11_send_client_message_async() avoid using Xlib internals that are different on Solaris. (#116917, Morten Welinder) 2003-07-08 Matthias Clasen * gtk/gtkcontainer.c (gtk_container_remove): Doc addition. (#116501, Doug Quale) Tue Jul 8 21:35:22 2003 Soeren Sandmann * gtk/gtktoggletoolbutton.h: remove strange #define * gtk/gtktoolbutton.h: fix cut'n'paste error * gtk/gtktoolbutton.c (gtk_tool_button_init): use instance private data * gtk/gtktoolitem.c (gtk_tool_item_class_init): use instance private data instead of g_new0() * gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_init): use instance private data Tue Jul 8 21:10:14 2003 Soeren Sandmann * gtk/gtkbutton.c (gtk_button_realize): remove GDK_EXPOSURE_MASK for INPUT_ONLY window * gtk/gtkmenuitem.c (gtk_menu_item_realize): same * gtk/gtknotebook.c (gtk_notebook_realize): same * gtk/gtkexpander.c (gtk_expander_realize): same * gtk/gtkrange.c (gtk_range_realize): same Fix #116303 Tue Jul 8 19:57:14 2003 Soeren Sandmann * gtk/gtkstyle.c (gtk_default_draw_arrow): remove correction on x when detail is "menuitem". With the new menu look is isn't needed anymore. * gtk/gtktoolitem.c (gtk_tool_item_toolbar_reconfigured): queue a resize here, so that tool items will get a chance to relayout themselves based on the toolbar configuration. change DEFAULT_SPACE_SIZE to 4 instead of 5 * gtk/gtktoolbar.c Get rid of "!GTK_BIN (item)->child means separator". Separators are widgets in their own right change DEFAULT_SPACE_SIZE to 4 instead of 5 (get_space_size): remove this function (toolbar_item_is_homogeneous): new function * gtk/gtkseparatortoolitem.c (gtk_separator_tool_item_size_request): new function. Tue Jul 8 14:10:35 2003 Soeren Sandmann * gtk/gtktoggletoolbutton.h: use private data, add new internal function _gtk_toggle_tool_button_get_button() * gtk/gtktoolbutton.h: move to private data * gtk/gtkradiotoolbutton.c, gtk/gtktoolbutton.c: updates for new private data. Tue Jul 8 12:50:20 2003 Soeren Sandmann * gtk/gtktoolbutton.c (gtk_tool_button_get_icon_widget): fix a type check, (#116947, Krasimir Angelov) * gtk/gtktoolbar.c: Use new GtkToolItem accessors. * gtk/gtktoolitem.[ch]: Use a private struct to hold the instance data. Not instance private data yet, because of bug 116921. * gtk/gtktoolitem.h: new accessors: gtk_tool_item_get_homogeneous () gtk_tool_item_get_expand () gtk_tool_item_get_pack_end () gtk_tool_item_get_use_drag_window () Mon Jul 7 16:50:32 2003 Soeren Sandmann * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): remove accidentally committed debugging spew * gtk/gtktoolbar.c (gtk_toolbar_paint_space_line): remove this function (gtk_toolbar_expose): always propagate expose, even if the item is a separator item * gtk/gtkseparatortoolitem.c (gtk_separator_tool_item_expose): moved here from gtktoolbar.c (get_space_size): new function. (get_space_style): new function Sun Jul 6 13:00:20 2003 Owen Taylor * gtk/gtkdnd.c (_gtk_drag_source_handle_event) * gtk/gtkdnd.c (gtk_drag_begin_internal): Remove use of GDK_POINTER_MOTION_HINT_MASK. * gtk/gtkdnd.c (gtk_drag_update_idle): Move updating of the drag into an idle as a superior form of expose compression. * gtk/gtkdnd.c (gtk_drag_begin_internal): Move default icon creation here, so that we have an icon at the start of the drag (e.g., when retrieving the window cache information.) Sun Jul 6 17:21:23 2003 Soeren Sandmann * docs/widget_geometry.txt: better drawing of GtkMenuItem * docs/widget_geometry.txt: add notes about GtkMenu * gtk/gtkstyle.c: remove leftover "#include "gtkhandlebox.h"" Sat Jul 5 10:34:00 2003 Soeren Sandmann * gtk/gtkmenu.c: add vertical_padding style property. * gtk/gtkmenuitem.c: add style properties toggle_spacing, arrow_spacing and horizontal_padding. Also center separators and make them a bit taller. * gtk/*menuitem.c: use new style properties. * docs/widget_geometry.txt: Add note about GtkMenuItem * gtk/gtkstyle.c (gtk_default_draw_vline, gtk_default_draw_hline): fix +/-1 errors. (gtk_default_draw_shadow): draw a black border around menus. * gtk/gtkvseparator, gtk/gtkhseparator.c, gtk/gtkmenuitem.c: fix calls to gtk_paint_hline() and gtk_paint_vline() (they take x1, x2 and y1, y2 respectively, not x, width and y, height). Sat Jul 5 09:55:38 2003 Owen Taylor * gdk/x11/gdkdnd-x11.c (precache_target_list): Lookup all the atoms in the target list at once. * gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display): Local drag short-circuit. * gdk/x11/gdkdnd-x11.c (gdk_drag_motion): For the local case, poke the actions in directly instead of going through xdnd_set_actions. * gdk/x11/gdkdnd-x11.c (xdnd_read_actions): Short-circuit the local case. * gdk/x11/gdkdnd-x11.c (xdnd_manage_source_filter): Don't XSelectInput()/add a filter if the drag is local. * gdk/x11/gdkdnd-x11.c (gdk_drag_get_selection): Simplify handling of "XdndSelection". * gdk/x11/gdkevents-x11.c (gdk_event_send_client_message_to_all_recurse): Somehow, a WM_STATE => _NET_WM_STATE change hand been made here. * gdk/x11/gdkproperty-x11.c (_gdk_x11_precache_atoms): Free xatom_names, not atom_names. * tests/testdnd.c (target_drag_motion): Make the trashcan open again. (Got lost in deprecation cleanup.) Sat Jul 5 00:49:32 2003 Owen Taylor * gtk/gtkdnd.c (gtk_drag_begin): Move the grabs up earlier, so we don't get a big pile of uncompressed motion events before the grab takes effect. * gtk/gtkdnd.c (gtk_drag_update_icon): Call gdk_window_process_all_updates() so that the area we are dragging over gets a change to redraw. * gtk/gtkdnd.c (_gtk_drag_dest_handle_event): Use gdk_window_get_position(), not gdk_window_get_origin(). * gdk/x11/gdkwindow-x11.[ch] (gdk_window_have_shape_ext) gdkdisplay-x11.h: use XShapeQueryExtension to avoid duplicate XQueryExtension when we actually use it. Remove unnecessary caching in GdkDisplayX11. Fri Jul 4 23:49:22 2003 Owen Taylor * gdk/x11/gdkasync.[ch] (_gdk_x11_get_window_child_info): Function to get a range of information about all the children of a window in a single pass. * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse) gdk/x11/gdkdnd-x11.c (gdk_window_cache_new): Use _gdk_x11_get_window_child_info() to greatly reduce the number of roundtrips. Fri Jul 4 22:57:18 2003 Owen Taylor * gdk/x11/gdkasync.[ch] (_gdk_send_xevent_async): Add a function to XSendEvent() and call a calback on failure/success. * gdk/x11/gdkdnd-x11.c (xdnd_send_xevent): Short-circuit messages to the same process, use _gdk_send_xevent_async(). Fri Jul 4 22:26:27 2003 Owen Taylor * gdk/x11/gdkwindow-x11.[ch] gdkevents-x11.c: Split toplevel-specific pieces of GdkWindowImplX11 into a separate GdkToplevelX11 structure. Fri Jul 4 22:05:09 2003 Owen Taylor * gdk/x11/gdkasync.c (struct _SetInputFocusState): Fix some leftover fields. Fri Jul 4 15:57:52 2003 Owen Taylor * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Use asynchronously _gdk_x11_set_input_focus_safe to avoid having to trap errors and XSync(). * gdk/x11/gdkwindow-x11.c (gdk_window_focus): Use _gdk_x11_set_input_focus_safe() here as well. * gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed): Rework handling of property notifies on _NET_WM_STATE so that we ignore _NET_WM_DESKTOP notifies unless we really care. * gdk/x11/gdkimage-x11.c (gdk_image_check_xshm): Use XShmQueryExtension() rather than XQueryExtension() to avoid extra rountrip. * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init): Remove unused call to XGetWindowAttributes() * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Remove unused call to XGetKeyboardControl(). * gdk/x11/gdkdisplay-x11.c gdk/gdk.def (gdk_display_flush): Add (#99571) * gdk/win32/gdkevents-win32.c gdk/linux-fb/gdkevents-fb.c No-op implementations of gdk_display_flush(). * gdk/gdkwindow.c (gdk_window_process_all_updates): Use gdk_display_flush() rather than gdk_flush() to avoid XSync(). * gdk/x11/gdkwindow-x11.c (update_wm_hints) gdk/x11/gdkwindow-x11.h: Centralize all handling of WM_HINTS here so that we don't have to get the property back from the server. * gdk/x11/gdkwindow-x11.c (show_window_internal): Store the serial of when we map a toplevel to allow optimizing out notifies on _NET_WM_STATE/_NET_WM_DESKTOP. * gdk/x11/gdkevents-x11.c (gdk_event_translate): Don't XTranslateCoordinates() for override-redirect windows. Fri Jul 4 15:59:27 2003 Owen Taylor * gdk/x11/gdkwindow-x11.c (gdk_window_set_group): Remove comment about setting window group after the window is mapped from docs - nothing the ICCCM forbids that. * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fix g_return_val_if_fail() in void return function. * configure.in: Fix misplaced comma that was resulting in XShm always being disabled. Fri Jul 4 19:55:49 2003 Soeren Sandmann * tests/stresstest-toolbar: remove this accidentally committed file. * tests/stresstest-toolbar.c: really add this new test Fri Jul 4 19:06:31 2003 Soeren Sandmann * tests/stresstest-toolbar.c: new test for removing items * tests/testtoolbar.c: add a popup menu * gtk/gtkcontainer.c (gtk_container_remove): add hack to avoid assert widget->parent == container when the container is a toolbar. * gtk/gtktoolbar.c (gtk_toolbar_remove_tool_item): Make much simpler. Also make correct. * gtk/gtktoolbar.c (gtk_toolbar_button_press): make popup_context_menu a boolean handled signal. 2003-07-04 Tor Lillqvist * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_polygon, gdk_win32_draw_segments, gdk_win32_draw_lines): We can calculate the width and height of the bounding rectangle only after the minumum x and y have been found, and need a separate loop for it. Thanks to Bruce Hochstetler for providing a sample program exhibiting the bug. 2003-07-03 Tor Lillqvist * gdk/gdk.def: Add gdk_string_to_compound_text_for_display. (#116537, Peter Zelezny) Thu Jul 3 03:13:20 2003 Soeren Sandmann * gtk/gtkpaned.c (gtk_paned_set_child_property): Insert cast to fix warning. Assign something to old_value to quiet gcc * gtk/gtkcalendar.c (start_spinning): gtk_timeout_add->g_timeout_add * gtk/gtkicontheme.c (theme_lookup_icon): Make it compile (remove double semicolon) * gtk/gtktoolbutton.c (gtk_tool_button_class_init): Long comment about properties. (gtk_tool_button_class_init): Improve text for "use_underline" property (gtk_tool_button_create_menu_proxy): Fix up to use_mnemonic based on whether the passed-in label has use_mnemonic set (gtk_tool_button_create_menu_proxy): Split image cloning out in new function. Make that function also handle image with pixbuf storage. (gtk_tool_button_construct_contents): Use gtk_widget_destroy() instead of gtk_container_remove(). (gtk_tool_button_construct_contents): Fix eliding bug * gtk/gtktoolbar.c (gtk_toolbar_finalize): New function. Unref tooltips, pointed out by Morten Welinder (gtk_toolbar_button_press): Make popup_context_menu signal provide coordinates and button number * tests/testtoolbar.c (main): Add new pixbuf toolbutton * tests/apple-red.png: new file Wed Jul 2 18:00:56 2003 Owen Taylor * gtk/gtkicontheme.[ch]: Implement a loader for named themed icon based on from gnome-desktop library by Alex Larsson. * gtk/gtkiconthemeparser.[ch]: .ini file parsing code from gnome-desktop. * gtk/gtkiconfactory.[ch]: Add gtk_icon_source_set/get_icon_name() to allow stock icons to be based off of named theme icons. * gtk/gtkiconfactory.c: Rework sources so that the source is *either* a pixbuf, or a filename, or an icon name, instead of the pixbuf/filename mix it was before. Put a workaround for get_pixbuf() so that it can return the filename pixbuf, e.g, for render_icon(). * gtk/gtkiconfactory.c: Make the default setup use themed icons, and add builtin icons to the default icon theme for all the standard pixbufs, so we don't rely on actually having an icon theme on disk. * gtk/gtkrc.c: Add support for @"icon-name" to specify a themed icon for a stock icon source. * tests/Makefile.am test/testicontheme.c: Add a test program from gnome-desktop. * gdk/x11/gdkevents-x11.c gtk/gtksettings.c: Add Net/IconThemeName / gtk-icon-theme-name setting. * gtk/gtkiconfactory.c (ensure_cache_up_to_date): Actually update the icon cache serial so we don't continually think we are out-of-date. * gtk/gtkwidget.c: Fix a couple of references in doc comments to ::direction_set that should have been to ::direction-changed Wed Jul 2 14:45:41 2003 Owen Taylor * gtk/gtktoolbar.c (gtk_toolbar_realize): Attach the style to the widget. Wed Jul 2 15:42:26 2003 Soeren Sandmann * gtk/gtk.h: Add new toolbar headers * tests/testtoolbar.c: new file * tests/Makefile.am (noinst_PROGRAMS): Add testtoolbar.c * gtk/gtkexpander.c (gtk_expander_class_init): Make it compile Tue Jul 1 22:49:25 2003 Soeren Sandmann * gtk/gtktoolbar.c: (gtk_toolbar_remove_tool_item): Fix bug where list is changed inside a for loop (pointed out by Morten Welinder). (gtk_toolbar_focus_home_or_end): Minor formatting change Comments from Owen: * gtk/gtktoolbutton.c: remove copy of elide_underscores(). Use gtk_toolbar_elide_underscores instead. * gtk/gtktoolbar.c: rename signal from focus_ends to focus_home_or_end. (_gtk_toolbar_elide_underscores): export this as an internal function. (gtk_toolbar_move_focus): add comment explaining difference to gtk_toolbar_focus(); (gtk_toolbar_list_children_in_focus_order): Make TAB_FORWARD and TAB_BACKWARD focus the right widgets in RTL mode * gtk/gtktoolbutton.c (gtk_tool_button_new): Change to take "label" and "icon" parameters * gtk/gtktoolbutton.[ch]: remove icon_set property. 2003-07-01 Matthias Clasen * gtk/gtkspinbutton.c (gtk_spin_button_set_digits): Improve docs. (116364, Morten Welinder) * tests/testgtk.c: Use GtkFontButton and GtkColorButton to bring up the corresponding dialogs. * gtk/Makefile.am (gtk_public_h_sources): Add gtkfontbutton.h, gtkcolorbutton.h. (gtk_c_sources): Add gtkfontbutton.c, gtkcolorbutton.c. * gtk/gtkfontbutton.[hc]: New files containing a font picker widget. * gtk/gtkcolorbutton.[hc]: New files containing a color picker widget. * gtk/gtk.h: Include gtkexpander.h, gtkfontbutton.h, gtkcolorbutton.h. * gtk/gtkexpander.c: Small additions to the docs. 2003-07-01 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (_gdk_windowing_window_get_pointer): WindowFromPoint() wants screen coordinates (#115422, Tim Evans). 2003-07-01 Matthias Clasen * configure.in: Check for Xcursor. * gdk/x11/gdkcursor-x11.c: * gdk/gdkdisplay.h: * gdk/gdkcursor.h: RGBA cursor support based on Xcursor. New functions: gdk_cursor_new_from_pixbuf(), gdk_display_supports_cursor_alpha(), gdk_display_supports_cursor_color(), gdk_display_get_default_cursor_size() and gdk_display_get_maximal_cursor_size(). (#69436) 2003-06-30 Tor Lillqvist * gdk/win32/gdkdnd-win32.c (find_window_enum_proc): New function, callback proc for EnumWindows(). (gdk_drag_find_window_for_screen): Actually take the drag_window argument into account: Instead of using WindowFromPoint(), use EnumWindows(), to be able to skip the drag_window. (#116320, Tony M Brown, Herman Bloggs) * gdk/win32/*.c: Replace gdk_drawable_ref()/unref() and gdk_window_ref()/unref() calls with g_object_ref()/unref(). Consistently use %p format in debugging output of pointers and HANDLEs. 2003-06-30 Mark McLoughlin * gtk/gtkexpander.h: kill some stray characters breaking the build. 2003-06-30 Mark McLoughlin Add GtkExpander. See discussion in bug #60553. * gtk/gtkexpander.[ch]: add. * gtk/Makefile.am: build gtk-expander.[ch]. * docs/widget_geometry.txt: add info on the layout of GtkExpander. Mon Jun 30 01:20:19 2003 Soeren Sandmann * gtkradiotoolbutton.c: new file * gtkradiotoolbutton.h: " * gtktoggletoolbutton.c: " * gtktoggletoolbutton.h: " * gtktoolbutton.c: " * gtktoolbutton.h: " * gtktoolitem.c: " * gtktoolitem.h: " * gtktoolbar.c: many changes * gtktoolbar.h: many changes * gtkseparatortoolitem.c: new file * gtkseparatortoolitem.h " New toolbar. - Items on a toolbar are now separate widgets, instances of a subclass of GtkToolItem. - Items there aren't room for on the toolbar are unmapped, and an overflow menu with a proxy menu item is added instead. - The toolbar is keyboard navigatable. Press TAB to focus the first item, then use arrow keys and Ctrl TAB to move around the toolbar. TAB moves focus out of the toolbar. - Bascially all of the old toolbar API is deprecated in favor of new API in gtktoolbar.h, gtktoolitem.h, gtktoolbutton.h - The toolbar is backwards compatible with the old toolbar. 2003-06-29 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_class_init): Remove a duplicate parameter from docs, some more formatting fixes. 2003-06-28 Tor Lillqvist Fix for #111028, thanks to J. Ali Harlow, who writes: I found that the GdkPixmap->GdkImage reference really isn't important. It's only really there to have somewhere convenient to store the location of the pixel data in the pixmap and as an easy way of accessing the dimensions of that data. I have therefore put together a fix which removes this reference entirely which seems to solve the problem. * gdk/win32/gdkpixmap-win32.h (struct _GdkPixmapImplWin32): Instead of a pointer to a GdkImage, keep a pointer to the pixels directly. * gdk/win32/gdkimage-win32.c (_gdk_win32_setup_pixmap_image): Remove. (_gdk_win32_new_image): New function, replacing the above. Creates a GdkImage without any associated GdkPixmap. (gdk_image_new_bitmap, _gdk_image_new_for_depth): Use it instead. * gdk/win32/gdkprivate-win32.h: Remove from here, too. * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap) * gdk/win32/gdkdrawable-win32.c (blit_from_pixmap) * gdk/win32/gdkgc-win32.c (_gdk_win32_bitmap_to_hrgn) * gdk/win32/gdkmain-win32.c (_gdk_win32_drawable_description): * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize, gdk_pixmap_new, gdk_bitmap_create_from_data, gdk_pixmap_foreign_new) Corresponding changes. Thu Jun 26 21:41:16 2003 Soeren Sandmann * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_set_cell_data): only set "is_expander" and "is_expanded" if the new value is different fromt he old one. Wed Jun 25 18:59:15 BST 2003 Tony Gale * docs/faq/gtk-faq.sgml: Fix typos. Update thread example I missed yesterday. 2003-06-24 Matthias Clasen * gtk/gtkspinbutton.c (gtk_spin_button_class_init): Add a blurb for shadow_type. * gtk/gtkwidget.c (gtk_widget_class_install_style_property_parser): (gtk_widget_class_list_style_properties): Use same parameter names as in header (to silence gtk-doc). * gtk/gtkalignment.c (gtk_alignment_[gs]et_padding): Fix doc comments. Tue Jun 24 20:00:45 BST 2003 Tony Gale * docs/faq/gtk-faq.sgml: Thread support updates from Owen. Various suggestions from Steve Chaplin. 2003-03-24 Mohammad DAMT * po/id.po: Updated Indonesian translation 2003-06-21 Tor Lillqvist * gdk/win32/gdkevents-win32.c (gdk_event_translate): When emulating X11's automatic grab on button down, pass owner_events as FALSE. According to the XLib spec, automatic grabs use True for owner_events when OwnerGrabButtonMask is selected, and I don't see the X11 backend doing that. (#82497, #91619, #92835, #107322, #110271) (find_window_for_pointer_event): Improve debugging output. 2003-06-17 Tor Lillqvist * gtk-zip.sh.in (DLLDIR): Look for DLLs also in the bin subdirectory, where libtool 1.5 installs them. * README.win32: Point to FSF's binary Win32 distribution of gettext-runtime. 2003-06-17 Matthias Clasen * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New macros to check for XML catalog contents and path, borrowed from gtk-doc. * configure.in: New option --enable-man to enable regeneration of man pages from Docbook, if the necessary tools are found. 2003-06-15 Matthias Clasen * gtk/gtkcalendar.c (gtk_calendar_class_init): * gtk/gtknotebook.c (gtk_notebook_class_init): * gtk/gtkalignment.c (gtk_alignment_class_init): * gtk/gtkpaned.c (gtk_paned_class_init): Document new properties as 2.4 additions. * gtk/gtkwidget.c (gtk_widget_class_init): Move inline signal docs to the proper place, immediately before the g_signal_new() call. * gtk/gtktextiter.h: Make the flags-nature of GtkTextSearchFlags more obvious. (#115122, Jeff Franks) 2003-06-12 Anders Carlsson * gtk/gtkwidget.c: (event_window_is_still_viewable): Special case pixmaps. (#114880) 2003-06-12 Matthias Clasen * gtk/gtkwidget.c: Document child-notify and drag-data-received signals. Owen, we need to figure out where the best place for these comments in the source is. I currently put them in front of the signals enum. 2003-06-11 Matthias Clasen * gtk/gtkdnd.c (gtk_drag_check_threshold): s/threshhold/threshold/. Thu Jan 12 01:01:19 2003 Kristian Rietveld * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action): silly typo fix. s/seperator/separator/. This gets rid of the assert spam when using TreeView. Tue Jun 10 11:23:48 2003 Hidetoshi Tajima * modules/input/gtkimcontextxim.c (xim_instantiate_callback): New function for XIM instantiate callback. * modules/input/gtkimcontextxim.c (xim_info_try_im): New function where call to XOpenIM() or XRegisterIMInstantiateCallback() is actually made. * modules/input/gtkimcontextxim.c (xim_destroy_callback): New function for XIM's destroy callback. * modules/input/gtkimcontextxim.c (get_im): add a check if info->im is set or not - if it's not set, call xim_info_try_im() to try to initiaize it. * modules/input/gtkimcontextxim.c (reinitialize_ic): reset filter_key_release flag of the context. * modules/input/gtkimcontextxim.c (get_ic_real): removed * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic): move code from the removed get_ic_real(). For XIM instantiation, destruction and re-instantiation. With this, Gtk+ apps will be able to connect or reconnect to the XIM, when it starts after the apps, or when the XIM gets lost and recover. (#113099, #107782). Mon Jun 10 01:12:31 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_get_size): check if width is !null, not *width. Doh. Tue Jun 10 01:09:33 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action): Remove the weird dx logic, get all cell_area and background_area calculations right. Not sure what was up with it before. (Fixes #110989, testcase from Vasco Alexandre da Silva Costa). Tue Jun 10 00:58:23 2003 Soeren Sandmann * tests/testgtk.c: Make it compile with C89 compilers 2003-06-10 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_class_init): Install boolean property "overwrite". (gtk_text_view_[gs]et_property): Handle "overwrite". * gtk/gtktextview.[hc] (gtk_text_view_[gs]et_overwrite): Getter and setter for "overwrite" property. (#110241, Jeroen Zwartepoorte) 2003-06-09 Matthias Clasen * gtk/gtkpaned.c (gtk_paned_class_init): Install boolean child properties "resize" and "shrink". (gtk_paned_[gs]et_child_property): Implementations of GtkContainer::[gs]et_child_property. * tests/testgtk.c (toggle_resize, toggle_shrink): Use the new paned child properties instead of remove/add hacks. (#114667, Soeren Sandmann) Mon Jun 9 16:18:11 2003 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_button_press): Back out event->window test - it wasn't needed because of the call to get_widget_coordinates(). * gtk/gtknotebook.c (gtk_notebook_button_press): Remove call to gtk_widget_grab_focus() when not clicking on any tabs. (Real fix for #114534) Sun Jun 8 22:03:09 2003 Owen Taylor * tests/testdnd.c: Use application/x-rootwindow-drop for root window drops. (#108670, Alex Larsson) * gdk/x11/gdkdnd-x11.c (gdk_drag_motion) gtk/gtkdnd.c (gtk_drag_drop): Accept either application/x-rootwin-drop (what GTK+ has always used) or application/x-rootwindow-drop (what the XDND standard specifies). Fri Jun 6 11:07:33 2003 Owen Taylor * gtk/gtkwidget.c (event_window_still_viewable): Before delivering an event to a widget, check that (if relevant), the event's window is still viewable. (#105642, Dennis Björklund) * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): NULL out private->parent, since after destruction it might not be valid any more. * gdk/gdkwindow.c (gdk_window_is_viewable): Fix some accesses before g_return_val_if_fail(). Treat DESTROYED windows as unmapped. Thu Jun 5 09:28:03 2003 Owen Taylor * gtk/gtkentry.c: Recompute unconditionally in gtk_entry_style_set, and in a new gtk_label_screen_changed(). Protect the guts of recompute_idle_func() with gtk_widget_has_screen(). (#114040, Morten Welinder) Fix FALSE/0 confusion. Sun Jun 8 18:27:14 2003 Soeren Sandmann * gdk/gdkpixbuf-drawable.c (G8fromRGB565): swap G and B. Fixes (#114669) Sun Jun 8 11:27:29 2003 Owen Taylor * gtk/gtkviewport.c (viewport_set_adjustment): Fix bug with set_adjustment (viewport, NULL); 2003-06-07 Matthias Clasen * gtk/gtkiconfactory.c (get_default_icons): * gtk/stock-icons/stock_{undo,redo,undelete,revert}_rtl_{16,24}.png: * gtk/stock-icons/Makefile.am: Add rtl variants of undo, redo, undelete and revert. (#96633) Fri Jun 6 16:25:44 2003 Owen Taylor * gtk/gtkviewport.c: Many fixes, along with extensive cleanups and refactoring of code to reduce duplication; fixes include: - gtk_viewport_realize(): Position the window correct from adjustment values. (#110737, Michael Natterer) - Remove some division-by-zero checks in places where there is no longer division. (#110737) - gtk_viewport_class_init: Make the hadjustment/vadjustment properties G_PARAM_CONSTRUCT, so that there will always be adjustments, even if gtk_viewport_new isn't used (#101135, Thomas Leonard). - Switch over to encapsulated lazy-creation for hadjustment/ vadjustment; even with the CONSTRUCT property, we need this after destroy. - When updating the adjustment, immediate set their values to match the the current range of the viewport, and update the viewport position to match the value of the new adjustments. (Part of #1165) 2003-06-06 Tor Lillqvist * gdk/win32/gdkprivate-win32.h: Fix typo. * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Set graphics_exposures and subwindow_mode, too, even if they aren't currently used. Fri Jun 6 23:38:23 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (do_expand_collapse), (expand_collapse_timeout), (cancel_arrow_animation): made expand_collapse_timeout a wrapper with locks around do_expand_collapse, made cancel_arrow_animation use do_expand_collapse. Fixes threadlock. (Fixes #111286, patch from Peter Bloomfield). Fri Jun 6 11:05:45 2003 Hidetoshi Tajima * modules/input/gtkimcontextxim.h (struct _GtkIMContextXIM): * modules/input/gtkimcontextxim.c (preedit_start_callback, preedit_draw_callback, preedit_done_callback): Add a 'finalizing' flag to keep preedit-[start,changed,end] signals from being called during finalization (#111861). 2003-06-05 Noah Levitt * gtk/gtknotebook.c (gtk_notebook_button_press): Ignore button presses that are not on the tab (#114534). Thu Jun 5 20:35:40 2003 Owen Taylor * demos/Makefile.am: Conditionalize dependencies for gdk-pixbuf-csource on cross-compilation (#112391, J. Ali Harlowe). Buildtest-inline-pixbufs.h in srcdir. Don't try to build test-inline-pixbufs.h if we don't have libpng. * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Add a dependency on gdk-pixbuf.loaders when not cross-compiling, remove the dependency on gdk-pixbuf-csource when not cross compiling. Thu Jun 5 20:12:51 2003 Owen Taylor * gtk/gtkwindow.c (gtk_window_get_default_size): Handle gtk_window_get_geometry_info() returning NULL. (#107311, John Finlay) Thu Jun 5 19:24:33 2003 Owen Taylor * gtk/gtktoolbar.c (gtk_toolbar_expose): Subtract off twice the border width from the width/height, not 1x the border width. (#106336, Rodney Dawes) Thu Jun 5 15:33:38 2003 Owen Taylor * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line): If at the end of the buffer, move to the end iter - parallels behavior of move_iter_to_previous_line. (#81960, Padraig O'Briain) Thu Jun 5 16:12:54 2003 Owen Taylor #80023, Yao Zhang, TOKUNAGA Hiroyuki * gtk/gtktextlayout.c (gtk_text_layout_get_cursor_locations): Account for the preedit cursor offset if the iter passed in is at the same place as the insertion cursor. * gtk/gtktextview.c (gtk_text_view_get_cursor_location): Encapsulate getting the insertion cursor location. * gtk/gtktextview.c (gtk_text_view_update_im_spot_location): Pass the real y/height to the IM context. Take text_view->x/yoffset into account. Thu Jun 5 16:52:54 2003 Owen Taylor * gtk/gtktextview.[ch]: Never scroll on focus in (#81893, Patch from Paolo Maggi) * gtk/gtktextview.c (gtk_text_view_scroll_[h]pages): Scroll to the current cursor location before handling the action, in case the user just tabbed in and the cursor is offscreen. Thu Jun 5 17:20:40 2003 Owen Taylor #107883, Gustavo Giráldez * gtk/gtktextlayout.c (gtk_text_layout_emit_changed): Split out the case where we know we changed, and already dealt with our cached line being invalidated from external calls to gtk_text_layout_changed. * gtk/gtktextlayout.c (gtk_text_layout_changed): Check if the invalidate yrange intersects our cached line, and clear it if necessary. 2003-06-05 Tor Lillqvist * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle global filters. 2003-06-05 Matthias Clasen * gtk/gtktextview.c: Fix for #84668, reported by Torbjrn Andersson: (gtk_text_view_grab_notify): (gtk_text_view_state_changed): Implement these to unobscure cursor when grab shadowed or insensitised. (gtk_text_view_unobscure_mouse_cursor): New function to undo the effect of gtk_text_view_obscure_mouse_cursor(). Code lifted from gtk_text_view_motion_event(). (gtk_text_view_motion_event): Use gtk_text_view_obscure_mouse_cursor(). * gtk/gtktextview.c (select_all): New keybinding signal for (un)selecting the whole buffer. Bound to C-a/C-\. (see #107889) * gtk/gtkcalendar.c (calendar_timer): (stop_spinning): Replace deprecated gtk_timeout_* functions by their GLib counterparts. (#114429) * gtk/gtktreestore.c (gtk_tree_store_new): * gtk/gtkliststore.c (gtk_list_store_new): Document restriction on types. Wed Jun 4 19:42:17 2003 Owen Taylor * gdk/gdkpango.c (gdk_draw_layout_line_with_colors): When drawing underlines, join up adjacent runs where possible, so we don't get changes in shaper/font/etc. breaking underlines. (#103662, Kang Jeong-Hee) Wed Jun 4 19:22:58 2003 Jonathan Blandford * gtk/gtktreemodelsort.c (gtk_tree_model_sort_level_find_insert): Slightly modified patch from Owen Taylor to improve the speed of inserting rows into an already sorted list, #109292 Wed Jun 4 19:24:28 2003 Owen Taylor * gdk/x11/gdkgc-x11.c gdk/x11/gdkprivate-x11.h: Keep track of when we have a clip mask set for the GC, and when we unset it, or switch to a clip region, immediately call XSetClipMask (..., None) to avoid Xlib caching stale data. (#111806) * gtk/gtktextdisplay.c: Don't set a clip mask when drawing alpha pixmaps; it isn't necessary any more. (#111806) Wed Jun 4 18:27:44 2003 Owen Taylor * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator): gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): Use GTK_WIDGET_IS_SENSITIVE(), not GTK_WIDGET_SENSITIVE (#92548, Tim Evans) * gtk/gtkcheckmenuitem.c (gtk_real_check_menu_item_draw_indicator) gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator): If Use state_type = STATE_INSENSITIVE for insensitive menu items. Wed Jun 4 21:25:35 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_drag_begin): use a silent assert for get_info. (reported by Michael Natterer), (gtk_tree_view_expand_all_emission_helper), (gtk_tree_view_expand_all_helper): emit row_expanded for all expanded rows during an _expand_all operation. (Fixes #111280, reported by Benjamin Bayart). Tue Jun 3 18:32:30 2003 Owen Taylor * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't respond to pings on a root window; prevents infinite loops if we are selecting for SubstructureNotify on the root window. (#111945, Sergey V. Udaltsov) Tue Jun 3 17:39:16 2003 Owen Taylor #71597, reported by Morten Welinder * gdk/gdkpixbuf-drawable.c (rgb888amsb): Fix and simplify (Patch from Christian Petig) * gdk/gdkpixbuf-drawable.c (rgb{555,565}{a,}{msb,lsb}): Major rewrite of 555 and 565 conversion routines: - Move all the bit shifting into a small block of macros, eliminating much duplication of complicated arithmetic. - Get rid of 2-pixels at a time code, which was buggy, hard to maintain, caused unaligned accesses, and probably didn't actually perform any better. - Simplify cases where different data types were used for the little and big endian cases, use GUINT16_SWAP_LE_BE() where appropriate. Tue Jun 3 15:05:47 2003 Owen Taylor * gdk/x11/gdkdrawable-x11.c (convert_to_format): Remove bad optimization for src_rowstride == dest_stride. (Didn't consider the case where we were copying only partial widths of a wider source buffer) (#113034, reported by Hans Petter Jansson) 2003-06-03 Michael Natterer * gdk/x11/gdkinput-x11.c (_gdk_input_common_find_events): reenabled button_release events for xinput devices. (#113948) 2003-06-03 Christian Rose * configure.in: Added "li" to ALL_LINGUAS. Mon Jun 2 18:58:54 2003 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_size_allocate): Don't map the event window if the notebook isn't mapped. (#113980, Richard Reich) 2003-06-02 Sven Neumann * gtk/gtkprogress.c (gtk_progress_changed): added a missing cast. * gdk/gdkrgb.c (gdk_rgb_try_colormap): removed an unused variable. 2003-06-01 Matthias Clasen * gtk/gtkalignment.c (gtk_alignment_[gs]et_padding): Add Since: 2.4 to the docs. * gtk/gtkwindow.c (gtk_window_parse_geometry): Add some hints and an example to the docs. (#98427) 2003-05-30 Murray Cumming * gtk/gtkalignment.[h|c]: Added 4-sided padding as properties with gtk_alignment_get_padding() and gtk_aligment_set_padding(). This uses the new private data system - see g_type_class_add_private() in gtk_alignment_class_init() and the use of GTK_ALIGNMENT_GET_PRIVATE(). 2003-05-30 Matthias Clasen * gtk/gtknotebook.c: Changed guint to GtkNotebookArrow in the signature of gtk_notebook_draw_arrow() for Solaris builds to go through. (#114043, Anand Subramanian) Thu May 29 18:30:35 2003 Hidetoshi Tajima * modules/input/imipa.c: use GETTEXT_PACKAGE to get a translation for "ipa"(#113850). Thu May 29 18:08:01 2003 Hidetoshi Tajima * gtk/gtkimmodule.c (_gtk_im_module_list): use GETTEXT_PACKAGE to get a translation for "Default"(#113850). Thu May 29 09:34:05 2003 Hidetoshi Tajima * gtk/gtkimmodule.c (_gtk_im_module_list): make "Default" label of default input method localizable. * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems): use translations of input method context names * modules/input/imam-et.c, modules/input/imcyrillic-translit.c, modules/input/iminuktitut.c, modules/input/imthai-broken.c, modules/input/imti-er.c, modules/input/imti-et.c modules/input/imviqr.c, modules/input/imxim.c use GETTEXT_PACKAGE instead of "gtk+" for domain name. (#113850). Thu May 29 18:23:01 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_button_press): put the focus grab separate, the user might clear the tree in the focus-in callback. (Fixes #113086, testcase from Felipe Heidrich). Thu May 29 18:06:26 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_model_set_model): reset a bunch of row reference when we unset the model. Also reset dy and top_row_dy. (Fixes #109289, patch from Owen Taylor). Thu May 29 17:12:19 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_set_cursor_on_cell): cancel the current editing, if it exists. (Fixes #108956, reported by Michael Natterer). Thu May 29 17:06:09 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (check_selection_helper): new function, (gtk_tree_view_row_deleted): traverse the tree from the deleted node to see whether the selection changed, instead of just checking this node. (Fixes #107400, reported by 'Duncan'). Thu May 29 16:31:34 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_maybe_begin_dragging_row), (gtk_tree_view_drag_begin): set the DnD icon in _drag_begin instead of _maybe_begin_dragging_row, so the icon can be overridden by apps. (Fixes #104374, patch from Daniel Elstner). Thu May 29 16:14:04 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_start_editing): correct cell_area x/width for the expander if needed. (Fixes #101748, reported by Dave Cook and Mariano Suarez-Alvarez). Thu May 29 16:01:38 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_real_set_cursor): check if tree/node are still the same after _internal_select_node. (Fixes #92256, reported by edscott). Thu May 29 15:38:30 2003 Kristian Rietveld Fixes #75745, reported by Richard Hult. Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_bin_expose): set/unset GTK_CELL_RENDERER_FOCUSED flag whether the current node is the cursor or not. * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action): if we are rendering a cursor row, and the cell the be processed has focus, then set the GTK_CELL_RENDERER_FOCUSED flag (else we unset it). 2003-05-27 Matthias Clasen * gtk/gtkwindow-decorate.c: * gtk/gtktreeprivate.h: * gtk/gtkdnd.c: * gdk/win32/gdkwindow-win32.h: * gdk/linux-fb/gdkprivate-fb.h: * gdk/linux-fb/gdkkeyboard-fb.c: Remove dubious bitfields of unspecified signedness. (#112919, Morten Welinder) * gtk/queryimmodules.c (escape_string): * gtk/gtktextbtree.c (_gtk_text_btree_get_text): * gtk/gtksettings.c (_gtk_settings_parse_convert): * gtk/gtkrc.c (gtk_rc_parse_assignment): * gtk/gtkinputdialog.c (gtk_input_dialog_set_key): * gdk/x11/gdkdisplay-x11.c (escape_for_xmessage): Replace all occurances of g_string_new ("") by g_string_new (NULL). (#106975, Morten Welinder) 2003-05-27 Tor Lillqvist * gtk-zip.sh.in: Only include the Default and Emacs themes' gtkrc files. Include share/gtk-doc/{gdk-pixbuf,gdk,gtk}. * gdk/Makefile.am: libgdk-win32-2.0.la depends on win32/libgdk-win32.la. * gtk/gtk.def: Add gtk_tree_view_column_cell_get_position. Sat May 24 22:19:13 2003 Soeren Sandmann * gtk/gtkscrollbar.c (gtk_scrollbar_class_init): Make the minimum scrollbar slider length 21 instead of 7. 2003-05-23 Matthias Clasen * gtk/gtknotebook.c: Add support for up to four scroll arrows. Control their display by new style properties "has_forward_stepper", "has_backward_stepper", "has_secondary_forward_stepper" and has_secondary_backward_stepper". (#110540) * gtk/gtknotebook.h (struct _GtkNotebook): Make in_child and click_child three bits wide, add has_{before,after}_{previous,next} fields. * gtk/gtkcolorsel.c (gtk_color_selection_init): Update color on focus out of hex_entry. (#112665) (hex_focus_out): New signal handler for focus out of hex entry. Wed May 21 19:01:06 2003 Owen Taylor * gtk/gtkwidget.c (gtk_widget_realize): g_return_if_fail() if GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget). (#107872, Christian Reis) 2003-05-22 Matthias Clasen * gtk/gtkfilesel.c (gtk_file_selection_create_dir): (gtk_file_selection_rename_file): Some keynav improvements for the "Rename File" and "Create Directory" subdialogs: Enter in entry activates default, default is "Create"/"Rename", Escape cancels dialog. (#113110) (gtk_file_selection_set_filename): Add a hint about opening directories. (#113175) 2003-05-22 Matthias Clasen * gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_update_xft_clip): Use XftDrawSetClipRectangles(), since we're inside HAVE_XFT2 anyway. (#113476) Wed May 21 15:53:14 2003 Owen Taylor * gtk/gtkprogress.c (gtk_progress_set_format_string, gtk_progress_set_show_text): Always queue a resize ... we rely on the size-allocate to do the update, plus a different format can actually change our size requisition. (#111052, Vasco Alexandre da Silva Costa) * gtk/gtkprogress.c (gtk_progress_changed): Track ::changed as well as ::value_changed, and queue a resize on ::changed when necessary. * gtk/gtkprogress.c (gtk_progress_set_adjustment): Call gtk_progress_changed() here to update or queue a resize as necessary. Wed May 21 14:06:13 2003 Hidetoshi Tajima * gtk/gtkimcontextsimple.c: added composing rules of Greek accented letters, patch by Vasilis Vasaitis (#107507) Wed May 21 13:19:05 2003 Hidetoshi Tajima * gtk/gtkenums.h (enum GtkIMPreeditStyle, GtkIMStatusStyle): * modules/input/gtkimcontextxim.c (preedit_style_change, status_style_change): gtk settings for XIMPreeditNone and XIMStatusNone. (#105909) Wed May 21 12:10:25 2003 Hidetoshi Tajima * gtk/gtkimcontextsimple.c: code that can check the compose table for ascending order, by Vasilis Vasaitis (#104862). Wed May 21 12:52:01 2003 Owen Taylor * gtk/gtkkeyhash.[ch] (_gtk_key_hash_looku): We need to pass the unmasked state to gdk_keymap_translate_keyboard_state() to handle the case where a modifier not in the mask (like Num_Lock) changes the key value, so replace the masked state with a state/mask pair. (#106913, Olivier Ripoll) * gtk/gtkwindow.c gtk/gtkbinding.c: Update to pass in state/mask pair to _gtk_key_hash_lookup() Tue May 20 21:58:00 2003 Hidetoshi Tajima * modules/input/gtkimcontextxim.c (xim_info_display_closed): fix a memory leak, free input context list (#113259). 2003-05-21 Matthias Clasen * configure.in (all_loaders): Add pcx. * gtk/gtkcalendar.c: Make calendar controls spin. (#112540) Tue May 20 17:27:24 2003 Owen Taylor * gtk/gtkimmodule.c (gtk_im_module_init): Silently accept a missing gtk.immodules file, some people want to run without one. (#112406, patch from Arnaud Charlet) Tue May 20 17:05:31 2003 Owen Taylor * gtk/gtkwindow.c (gtk_window_compute_hints): Fix height/width confusion (#113370, Xan Lopez) Tue May 20 15:48:45 2003 Owen Taylor * gdk/x11/gdkdnd-x11.c gdk/x11/gdkwindow-x11.c: Comprehensively zero all unused parts of client messages (Mainly Motif DND and EWMH). Also, fix a couple places where we were putting contents into Motif DND messages that didn't belong. (#113361, EWMH problem reported by Lubos Lunak) * gtk/gtkselection.c (_gtk_selection_request): Handle the case where the property type for the multiple atoms is ATOM_PAIR by doing the conversions ourselve. This is needed for Xt inter-operation. 2003-05-19 Arafat Medini * configure.in: Added ar to ALL_LINGUAS 2003-05-19 Matthias Clasen * gtk/gtksettings.c (gtk_rc_property_parse_border, gtk_rc_property_parse_color, gtk_rc_property_parse_enum, gtk_rc_property_parse_flags, gtk_rc_property_parse_requisition): Add docs. * gtk/gtkwidget.c (gtk_widget_class_install_style_property, gtk_widget_class_install_style_property_parser): Add docs. 2003-05-17 Matthias Clasen * tests/prop-editor.c: Add navigation for object properties, so that you can easily edit the properties of the parent of a widget. (#113152) Wed May 14 17:45:32 2003 Owen Taylor * gdk/gdkkeysyms.h gdk/gdkkeynames.c gdk/gdkkeyuni.c: Patch from Vasilis Vasaitis to fix Greek_IOTAdi[a]eresis inconsistency and leave the old name as an aliass (#104873) Wed May 14 16:40:09 2003 Owen Taylor * gtk/gtkframe.c (gtk_frame_set_label_widget): Patch from Charles Schmidt to add missing notify (#108305) Wed May 14 16:00:51 2003 Owen Taylor * gdk/x11/gdkgc-x11.c: Remove unecessary g_return_if_fail(). (#105500, Morten Welinder.) Wed May 14 09:05:11 2003 Hidetoshi Tajima * modules/input/gtkimcontextxim.c (get_ic_real): use type of guint32 instead of gumake for XNFilterEvents event mask(#110493). 2003-05-11 Anders Carlsson * gtk/gtkdnd.c (gtk_drag_source_unset_icon): Don't cast a gchar to a GObject. (#112762) 2003-05-08 Sven Neumann * configure.in: set the HAVE_X11R6 automake conditional to false if not compiling for X11. 2003-05-08 Matthias Clasen * gtk/gtkcalendar.[ch] (gtk_calendar_set_display_options): (gtk_calendar_get_display_options): New functions. (gtk_calendar_display_options): Depreate. (#64567) (gtk_calendar_class_init): Add boolean properties for the display options. (#50949) Tue May 6 16:50:52 2003 Owen Taylor Patch from James Henstridge to update to automake-1.7 (#109542) * autogen.sh: update to call newer tools. * configure.in: various updates, to use M4 macros to put variables that change each release at the top. Use AC_HELP_STRING to format help strings. Use AC_CONFIG_COMMANDS to generate gdkconfig.h. * Makefile.am: require Automake 1.7. Remove gdk-2.0.pc and gtk+-2.0.pc on uninstall. Pass --enable-gtk-doc to configure during distcheck. * docs/reference/*/Makefile.am: simplify to use the gtk-doc.make makefile fragment. * */Makefile.am: don't use STRIP_BEGIN/STRIP_END. Use BUILT_SOURCES where appropriate. Build generated files in builddir rather than srcdir. Fix uninstall and distclean targets to satisfy distcheck. === * gdk/*/Makefile.am: Remove the hacks to get gdkenumtypes.h built first, since we are now using BUILT_SOURCES. * gdk/Makefile.am: Remove an outdated comment about gdk_headers. * demos/gtk-demo/Makefile.am: Fix srcdir != buildd problem with geninclude.pl. * configure.in: Update versions to 2.3.0. 2003-05-06 Tor Lillqvist Fix for #110165 (thanks to Arnaud Charlet): * gdk/win32/gdkevents-win32.c (build_keypress_event, build_keyrelease_event): For unshifted control char, use lowercase ASCII keyval. (gdk_event_translate): Similarily, when handling WM_SYSKEYDOWN and UP (i.e. Alt-something), if it's an unshifted ASCII letter, use lowercase keyval. Use build_key_event_state() here, too, instead of minor code duplication. 2003-05-06 Matthias Clasen * tests/testmultidisplay.c: Don't include strings.h, it's not needed anymore. (#112388) * examples/menu/itemfactory.c: * docs/tutorial/gtk-tut.sgml: Remove an unneeded include from the itemfactory example. 2003-05-05 Matthias Clasen * gtk/gtkdnd.c (gtk_drag_source_set_icon_stock): Actually set the icon type to the stock icon type. (#111735, Dave Bordoley) 2003-05-05 Christian Rose * configure.in: Added sr and sr@Latn to ALL_LINGUAS. Removed sp, it's replaced by sr@Latn. Wed Apr 30 22:09:11 BST 2003 Tony Gale * docs/faq/gtk-faq.sgml: GTK+ 2.x updates, mainly from Gonzalo Odiard Mon Apr 28 17:54:39 2003 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_destroy): destroy the search data iff the destroy func isn't NULL. Thu Apr 24 19:12:05 2003 Owen Taylor * autogen.sh (have_libtool): Accept libtool-1.5. (#111480) 2003-04-23 Abel Cheung * configure.in: Added "am" "mk" "ta" to ALL_LINGUAS. Tue Apr 22 15:33:51 2003 Owen Taylor * gtk/gtkfilesel.c (open_new_dir): Fix capitalization of UTF-8. (#106419, Roozbeh Pournader) Tue Apr 22 15:17:25 2003 Owen Taylor * configure.in: Only check for XFT2 if we found pango-xft (#105692, Jon Nall) Tue Apr 22 15:12:19 2003 Owen Taylor * gtk/gtkwidget.c (gtk_widget_class_init): Fix PROP_HAS_FOCUS/ PROP_IS_FOCUS confusion. (#111333, Jody Goldberg) Tue Apr 22 19:43:01 BST 2003 Tony Gale * docs/faq/gtk-faq.sgml: add note about version converage. Mon Apr 21 19:02:16 2003 Owen Taylor * gtk/gtksocket.c (activate_key): Fix prototype for activate_key. (#108927, Jason D. Hildebrand) Mon Apr 21 18:42:51 2003 Owen Taylor * demos/gtk-demo/Makefile.am demos/gtk-demo/geninclude.pl: Remove geninclude.pl from CVS and don't dist it either, it is generated. (#108970, Rich Kinder) Mon Apr 21 18:35:48 2003 Owen Taylor * gtk/gtkobject.h: Remove a couple of obsolete comments, fix another comment. (#109737, Britton Kerin) Mon Apr 21 18:29:03 2003 Owen Taylor * gtk/gtkiconfactory.c (gtk_icon_set_unref): Free the source list, not just it's contents (Patch from Charles Kerr, #108243) Mon Apr 21 18:13:46 2003 Owen Taylor * gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Patch from Alex Larsson fixing problem with restacking during DND. (#108671) Mon Apr 21 15:07:29 2003 Owen Taylor * gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard/pointer_ungrab): Calling XFlush() after ungrabbing, to avoid problems if the app subsequently blocks on a long-running operation. (#106520, reported by Rajkumar Siva) Fri Apr 18 17:42:45 2003 Owen Taylor * gdk/x11/gdkwindow-x11.c (set_initial_hints): Add SKIP_TASKBAR/SKIP_PAGER to set of properties we might set on map. (#110019, problem reported by Loban Rahman) Fri Apr 18 17:14:33 2003 Owen Taylor * gdk/gdkevents.c (gdk_event_copy): Fix for the case when gdk_event_copy() is called on a non-allocated event. (#109716, reported by Rich Burridge) Fri Apr 18 16:57:44 2003 Owen Taylor * gdk/x11/gdkdrawable-x11.c (draw_with_images/pixmaps): Fix pointer arithmetic on 'void *'. (#108322) Fri Apr 18 16:31:49 2003 Owen Taylor * configure.in gdk/x11/gdkdisplay-x11.c modules/input/Makefile.am: Check for XAddConnectionWatch()/X11R6, and if found, disable XIM and use of XAddConnectionWatch. Remove --enable-xim config option. Should fix building on X11R6 (#110523, Albert Chin) Fri Apr 18 15:56:46 2003 Owen Taylor * gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkdrawable-x11.[ch]: Patch from Morten Welinder to catch Sun servers with a broken implementation of the RENDER extension. (#108309) Fri Apr 18 15:30:38 2003 Owen Taylor * gdk/x11/gdkwindow-x11.c (set_text_property): Use gdk_free_compound_text(), not g_free(). (#107643, Michael Zucchi) Fri Apr 18 15:11:50 2003 Owen Taylor * gdk/x11/gdkdisplay-x11.c (_gdk_display_x11_get_type) gdk/x11/gdkscreen-x11.c (_gdk_screen_x11_get_type): Fix wrong use of base_finalize. (#105126, Sven Neumann) Fri Apr 18 15:06:00 2003 Owen Taylor * gdk/gdkwindow.c (gdk_window_constrain_size): Fix '/' vs. '*' problem in aspect ration computations. (#108237) Fri Apr 18 14:15:09 2003 Owen Taylor * gdk/x11/gdkdisplay-x11.c (gdk_display_open): * gdk/x11/gdkevents-x11.c (gdk_event_translate): You don't get a XkbMapNotify event if you get a XkbNewKeyboardNotify event, so select for both. (#108406, Egmont Koblinger) Thu Apr 17 09:57:44 2003 Jonathan Blandford * gtk/gtktreeview.c (validate_visible_area): remove infinite loop caused by not clearing the scroll_to_path. 2003-04-16 Matthias Clasen * gtk/gtkstyle.c: Doc additions and fixes. * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_get_neighbor_sizes): Doc fixes. 2003-04-14 Michael Natterer * gtk/gtkliststore.c (gtk_list_store_move): added checks to ensure that the iter is not reordered to its own position. Prevents model corruption for the case that the store contains only a single item (fixes bug #108387). Unrelated: * gtk/gtkliststore.c (gtk_list_store_insert): g_list_alloc() the new list element later so we don't leak it if we decide to return early. * gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node): set selection->tree_view->priv->anchor to NULL after freeing it. 2003-04-13 Matthias Clasen * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_get_position): Document. * gtk/gtktextbuffer.c (gtk_text_buffer_select_range): * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_[sg]et_expand): * gtk/gtkbutton.c (gtk_button_[sg]et_focus_on_click): Document these as 2.4 additions. 2003-04-09 Matthias Clasen * INSTALL.in: Fix the real thing. * INSTALL: Typo fix. Mon Apr 7 19:43:15 2003 Owen Taylor * gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush after ungrabbing the server. * gdk/x11/gdkimage-x11.c: Remove some no-longer-needed calls to XFlush(). * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer): Use gdk_x11_display_grab/ungrab. * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Initialize use_xshm to TRUE so SHM gets used when present. 2003-04-07 Matthias Clasen * gtk/gtktextlayout.c (set_para_values): * gtk/gtkenums.h (GtkWrapMode): Add GTK_WRAP_WORD_CHAR. (#110086, David Brigada) * gtk/gtkcelleditable.c, gtk/gtkfixed.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c, gtk/gtktreeview.c: Fix numerous misspellings of possessive "its". (#110027, Doug Quale) 2003-04-03 Matthias Clasen * demos/gtk-demo/main.c (demo_find_file): Only use files from the current directory if it looks like the srcdir. (#109357) Wed Apr 2 23:02:26 2003 Soeren Sandmann * gtk/gtkbutton.[ch] (gtk_button_class_init): add property focus_on_click * gtk/gtkwindow.c (gtk_window_focus): make arrow keyboard navigation not wrap around. 2003-04-02 Matthias Clasen * gtk/gtkprogress.c (gtk_progress_get_percentage_from_value): Return 0 if lower == upper. (#109155) (gtk_progress_get_current_percentage): Use gtk_progress_get_percentage_from_value(). 2003-04-01 Matthias Clasen * gtk/gtkimcontext.c (gtk_im_context_focus_in): Fix docs. (#109510, Noah Levitt) Mon Mar 31 13:52:13 2003 Jonathan Blandford * gtk/gtkrbtree.c (_gtk_rbtree_reorder): null initialize reorder's members so Purify won't complain. * gtk/gtkliststore.c (gtk_list_store_sort): ditto. 2003-03-31 Matthias Clasen * gtk/gtkwindow.c: Add a new property, role, corresponding to gtk_window_[gs]et_role(). (#93904) Sun Mar 30 03:57:42 2003 Jonathan Blandford * gtk/gtktreeselection.c (gtk_tree_selection_get_selected_rows): fix crash. Patch from Markus Lausser 2003-03-29 Matthias Clasen * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Set state of labels back to normal before reparenting back. (#102387) * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): Set a default window title to match the GtkFontSelectionDialog behavior. (gtk_color_selection_dialog_new): Don't call gtk_window_set_title() if title is NULL. (bug #101975, Daniel Elstner) 2003-03-29 Matthias Clasen Fix for bug #78499: * gtk/gtkentry.h (struct _GtkEntry): Add flags select_words and select_lines. * gtk/gtkentry.c (gtk_entry_button_press): Set select_words and select_lines on double/triple click. * gtk/gtkentry.c (gtk_entry_motion_notify): Implement select-by-words and select-by-lines behaviour. Fixes for bug #56248: * gtk/gtknotebook.c (stop_scrolling): New function to remove the timer and queue a redraw. (gtk_notebook_grab_notify): (gtk_notebook_state_changed): New functions to call stop_scrolling() if necessary. (gtk_notebook_button_release): Use stop_scrolling(). (gtk_notebook_draw_arrow): Fix drawing of insensitive arrows. * gtk/gtkrange.c (stop_scrolling): New function to remove the grab, remove the timer and queue a redraw. (gtk_range_grab_notify): (gtk_range_state_changed): New functions to call stop_scrolling() if necessary. (gtk_range_button_release): Use stop_scrolling(). * gtk/gtkspinbutton.c (gtk_spin_button_grab_notify): (gtk_spin_button_state_changed): Redraw after stop_spinning. (gtk_spin_button_stop_spinning): Reset click_child to correct the drawing of the arrows. (gtk_spin_button_button_release): Use a local copy of click_child, since stop_spinning() resets it. * gtk/gtknotebook.c (gtk_notebook_class_init): Add C-A-PgUp and C-A-PgDown as alternatives to the A-less variants. (This slipped in accidentally some time ago). (#97860) 2003-03-26 Sven Neumann * gtk/gtktreeview.c: rewrote the function that does node and arrow prelighting, queue all redraws from here (Fixes bug #108792). 2003-03-20 Richard Kinder * demos/testpixbuf.c (update_timeout): set error to NULL, not FALSE. Fixes bug #108778. 2003-03-20 Guntupalli Karunakar * configure.in: Added "ml" in ALL_LINGUAS Sat Mar 15 18:49:27 2003 Manish Singh * gtk/gtkradiomenuitem.h: use GTK_DISABLE_DEPRECATED instead of G_DISABLE_DEPRECATED. 2003-03-14 Tor Lillqvist * gdk/win32/gdkevents-win32.c: Use the signed GET_X_LPARAM() and GET_Y_LPARAM() to extract x and y coordinates from an LPARAM or DWORD, and not the unsigned HIWORD() and LOWORD(). Systems with multiple monitors can have negative coordinates on some of the monitors. (partial fix for #99496, Arnaud Charlet) 2003-03-15 Matthias Clasen * gtk/gtktextview.c: Add a "buffer" property. (#108353) 2003-03-13 Sven Neumann * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property): removed redundant calls to g_object_notify(). (gtk_cell_renderer_pixbuf_get_size): removed redundant casts, see bug #108236. * gtk/gtktextiter.c (_gtk_text_iter_get_segment_char) (_gtk_text_iter_get_segment_byte): return 0, not NULL (these functions return an integer value). 2003-03-13 Tor Lillqvist * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_MOUSEMOVE, the test whether we have actually moved (and thus shouldn't generate an GDK event) moved after the call to propagate() and translate_mouse_coords(). Otherwise we were testing wrong values. (#108115, Allin Cottrell) (gdk_event_translate): On WM_?BUTTONUP, set current_{x,y} the same way as in WM_?BUTTONDOWN and WM_MOUSEMOVE. * gdk/win32/gdkevents-win32.c (gdk_pointer_grab): if a grab cursor is used, must copy the HCURSOR with CopyCursor(), as it is OK to destroy the GdkCursor after calling gdk_pointer_grab(). Set the cursor right away with SetCursor(), as we won't get any WM_SETCURSOR messages while the mouse is captured. (gdk_display_pointer_ungrab): Correspondingly, destroy the copy with DestroyCursor() when no longer used. (#108114, Allin Cottrell) * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_SYSCHAR, return FALSE from the window procedure to prevent the DefWindowProc from being called. Otherwise Windows would beep, thinking you are tring to access a (nonexistent) menu when you press Alt-something. Don't do this for Alt-Space, though. (#107454, Martyn Russell) * gdk/win32/gdkcursor-win32.c: Minor spacing and debug print fixes. Tue Mar 11 12:01:07 2003 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_class_init): Ctrl/Shift [left/right] expands/collapses the tree, #108092 2003-03-09 Tor Lillqvist * gdk/win32/gdkdrawable-win32.c (draw_segments): Don't try to compensate for LineTo() not drawing the end pixel. It causes more harm than benefits, see bug #81895. 2003-03-08 Matthias Clasen Bug #107664 continued: * gdk/x11/gdkinputprivate.h: * gdk/x11/gdkinput-none.c (_gdk_input_window_none_event): Remove. (_gdk_input_other_event): Return gboolean. * gdk/x11/gdkinput-xfree.c (_gdk_input_window_none_event): Remove. (_gdk_input_other_event): Return gboolean. * gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): Return gboolean. * gdk/x11/gdkevents-x11.c (gdk_event_translate): Make return_val gboolean, remove pointless call to _gdk_input_window_none_event. * gdk/win32/gdkinput-win32.[hc] (_gdk_input_other_event): Return gboolean. (_gdk_input_window_none_event): Remove. * gtk/gtktextiter.c (_gtk_text_iter_get_indexable_segment): (_gtk_text_iter_get_any_segment): (_gtk_text_iter_get_segment_byte): (_gtk_text_iter_get_segment_char): (_gtk_text_iter_get_text_line): (_gtk_text_iter_get_btree): Fix 0/NULL confusion. * gdk/x11/gdkdnd-x11.c (motif_target_table_check): Return gint. * gdk/win32/gdkfont-win32.c (gdk_font_equal): * gdk/linux-fb/gdkwindow-fb.c (gdk_window_get_deskrelative_origin): (gdk_window_get_origin): * gdk/linux-fb/gdkcolor-fb.c (gdk_colors_alloc): Fix 0/FALSE confusion. 2003-03-06 Matthias Clasen * gdk/gdkrgb.c (gdk_rgb_try_colormap): Return gboolean, not gint. (#107664, Morten Welinder) * gdk/x11/gdkwindow-x11.c (gdk_window_get_deskrelative_origin): * gdk/x11/gdkfont-x11.c (gdk_font_equal): * gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display): Fix TRUE/1 and FALSE/0 confusion. (#107664, Morten Welinder) * gtk/gtktextmark.c (gtk_text_mark_get_buffer): * gtk/gtkeditable.c (gtk_editable_get_chars): * gtk/gtkctree.c (gtk_ctree_find_node_ptr): * demos/gtk-demo/main.c (demo_find_file): Fix NULL/FALSE confusion (#107648, Morten Welinder)Fix NULL/FALSE confusion (#107648, Morten Welinder) 2003-03-04 Matthias Clasen * gtk/gtkobject.h: Add deprecation guards for gtk_object_new (). Sun Mar 2 23:35:57 2003 Jonathan Blandford * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_get_size): handle rtl code. Thanks to Matthias Clasen for an initial patch to handle the RTL code. * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_get_size): ditto * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_size): ditto * gtk/gtktreeview.c: (invalidate_column), (invalidate_last_column), (gtk_tree_view_get_real_requested_width_from_column), (gtk_tree_view_size_allocate_columns), (gtk_tree_view_size_allocate), (gtk_tree_view_button_press), (gtk_tree_view_button_release_drag_column), (gtk_tree_view_update_current_reorder), (gtk_tree_view_motion_drag_column), (gtk_tree_view_bin_expose), (gtk_tree_view_key_press), (gtk_tree_view_header_focus), (gtk_tree_view_get_background_xrange), (gtk_tree_view_get_arrow_xrange), (gtk_tree_view_is_expander_column), (gtk_tree_view_set_column_drag_info), (gtk_tree_view_move_cursor_left_right): Add RTL support. * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): add an expand flag. * gtk/gtktreeviewcolumn.c: (gtk_tree_view_column_class_init), (gtk_tree_view_column_set_property), (gtk_tree_view_column_get_property), (gtk_tree_view_column_set_expand), (gtk_tree_view_column_get_expand), (gtk_tree_view_column_cell_process_action): Add support for expand flag. Thanks to Kristian Rietveld for an initial patch for this. Fri Feb 28 02:06:17 2003 Jonathan Blandford 2003-03-02 Tor Lillqvist * gdk/gdk.def * gtk/gtk.def: Add a bunch of missing entries. Noticed by Cedric Gustin. 2003-03-01 Matthias Clasen * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_vadjustment): (gtk_scrolled_window_set_hadjustment): Replace uses of gtk_object_new by g_object_new. Thu Feb 27 17:44:24 2003 Manish Singh * demos/gtk-demo/main.c * demos/gtk-demo/tree_store.c * gdk/x11/gdkscreen-x11.c * gtk/gtkcellrenderertoggle.c * gtk/gtkcolorsel.c * gtk/gtkdnd.c * gtk/gtkeditable.c * gtk/gtkentry.c * gtk/gtkmenu.c * gtk/gtkmenubar.c * gtk/gtkmenuitem.c * gtk/gtkmenushell.c * gtk/gtkrc.c * gtk/gtksettings.c * gtk/gtkstyle.c * gtk/gtktextbuffer.c * gtk/gtktextview.c * gtk/gtktreeviewcolumn.c * tests/testgtk.c * tests/testtext.c * tests/testtreeedit.c * tests/testtreefocus.c * tests/testtreeview.c: remove unnecessary G_OBJECT() casts. Tue Feb 25 21:55:17 2003 Jonathan Blandford * gtk/gtkoptionmenu.c (gtk_option_menu_position): account for RTL code. 2003-02-24 Sven Neumann * gtk/gtkmain.c (gtk_get_default_language): fixed documentation. 2003-02-21 Tomas Ogren * docs/reference/gtk/tmpl/gtktreemodel.sgml: Fix typos in an example 2003-02-20 Matthias Clasen * gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag): Check if line_ancestor_parent is NULL. (#102711, Manuel Clos) * gtk/gtktextview.c (gtk_text_view_scroll_to_iter): (gtk_text_view_update_adjustments): Make sure cursor stays visible during horizontal scrolling. (#75270) 2003-02-19 Matthias Clasen * tests/testdnd.c: Replace gtk_timeout_* by their GLib counterparts. (#106532) * gdk/gdkkeys.c (gdk_keymap_class_init): Associate the keys_changed virtual function with the keys_changed signal. (#106512, Jeff Franks) 2003-02-15 Larry Ewing * gdk/gdkevents.c (gdk_event_copy): copy the event axes as well. 2003-02-17 Mohammad DAMT * po/id.po: Added Indonesian translation * configure.in: Added "id" to ALL_LINGUAS 2003-02-14 Matthias Clasen * gtk/gtktextview.c (popup_targets_received): Remove bogus casts. 2003-02-12 Christian Rose * configure.in: Added "yi" to ALL_LINGUAS. 2003-02-12 Matthias Clasen Fix for #82734 and #78216: * gtk/gtktextview.c (delete_cb): (select_all_cb): New callbacks for context menu items. (popup_targets_received): Add "Delete" and "Select All" to context menu, mnemonics and title caps for all items. * gtk/gtkentry.c (gtk_entry_delete_cb): New callback for "Delete" context menu item. (popup_targets_received): Add "Delete" to context menu, mnemonics and title caps for all items. 2003-02-09 Tor Lillqvist * gtk/gtkfilesel.c (win32_gtk_add_drives_to_dir_list): Use GetDriveType() to recognize removable drives (in order to avoid hanging if trying to access an empty floppy drive), instead of hardcoding A: and B: (#105654). 2003-02-09 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_set_name): Add note about periods in names. (#57680) 2003-02-09 Christian Rose * configure.in: Removed "en@IPA.po" from ALL_LINGUAS. Fri Feb 7 04:49:46 2003 Tim Janik * gtk/gtkobject.c: remove quark_user_data usage in gtk_object_{g|s}et_user_data(). fixes get_user_data() returning NULL for user_data set through property interface. * gtk/gtkitemfactory.c (gtk_item_factory_create_item): don't put out warnings if a pixbuf couldn't be retrieved, since (a) this doesn't need to be a programming error (in case of loaded data), (b) it breaks with 2.0 behaviour where extra magic could be used to create empty images. don't attempt to retrieve pixbufs from NULL extra_data. 2003-02-06 Matthias Clasen * gdk/x11/gdkvisual-x11.c (gdk_visual_get_best_with_depth): Return a GdkVisual *, not a GdkVisual **. (#105243) * gtk/gtkclist.c: * gtk/gtkctree.c: * gtk/gtkcontainer.c: * gtk/gtkdnd.c: * gtk/gtkentry.c: * gtk/gtklist.c: * gtk/gtkmenu.c: * gtk/gtkmenuitem.c: * gtk/gtknotebook.c: * gtk/gtkselection.c: * gtk/gtkspinbutton.c: * gtk/gtktext.c: * gtk/gtktextview.c: * gtk/gtktooltips.c: * gtk/gtktreeview.c: * gtk/gtkwindow.c: Replace uses of gtk_timeout_* and gtk_idle_* by their non-deprecated GLib counterparts. * gtk/gtkmain.h: Fully deprecate gtk_timeout_* and gtk_idle_*. Sun Feb 2 16:45:57 GMT 2003 Tony Gale * docs/tutorial/gtk-tut.sgml: cleanups from Sebastian Rittau (#104832) 2003-02-01 Tor Lillqvist Merge from stable: * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_foreign_new_for_display, gdk_pixmap_lookup, gdk_pixmap_lookup_for_display): Implement. (#104108, Naofumi Yasufuku) * gdk/gdk.def: Export the above. Export gdk_screen_get_system_visual, noticed by Ed Woods. Fri Jan 31 17:45:22 2003 Manish Singh * demos/pixbuf-demo.c * demos/testpixbuf.c * demos/gtk-demo/pixbufs.c: remove deprecated gtk_timeout_* usage. Fri Jan 31 17:33:00 2003 Manish Singh * gtk/gtknotebook.c (gtk_notebook_remove_tab_label): set_state on the tab_label before unparenting it, in case the unparent drops the refcount to 0. 2003-02-01 Matthias Clasen * gtk/gtkiconfactory.h: Use GDK_MULTIHEAD_SAFE like all other gtk headers. Sorry about gtk_selection_clear, Yosh. Thu Jan 30 17:16:05 2003 Manish Singh * gtk/gtkselection.h: declare gtk_selection_clear in GTK_COMPILATION too, for gtkwidget.c. Remember people, when introducing new deprecations, make sure internal code isn't using it, or if so, reorganize appropriately like I've done in other places. * tests/testtext.c: don't use deprecated gtk_timeout_* stuff. 2003-01-31 Matthias Clasen * gtk/gtkselection.h: * gtk/gtkselection.c (gtk_selection_clear): Deprecate. (#85683) * gdk/gdkpixbuf.h: * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): (gdk_pixbuf_render_to_drawable_alpha): Deprecate. (#60582) * gtk/gtkcolorsel.h: * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook): Deprecate. (#98167) * gtk/gtkpaned.h: Deprecate gtk_paned_computed_position(). (#97077) * gtk/gtkmain.h: Deprecate the gtk_timeout_*, gtk_idle_* and gtk_input_* functions. (#71596) * gtk/gtkentry.c (gtk_entry_move_cursor): * gtk/gtklabel.c (gtk_label_move_cursor): Handle GTK_MOVEMENT_HORIZONTAL_PAGES in switches. * gdk/gdk.h: Deprecate gdk_wcstombs() and gdk_mbstowcs(). (#79803) * gtk/gtkitemfactory.h: * gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Deprecate. (#69244) Thu Jan 30 23:48:30 2003 Kristian Rietveld * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_count_special_cell): only count the special cell if it is also visible, (_gtk_tree_view_column_get_neighbor_sizes): only take the width into account from visible cells, (gtk_tree_view_column_cell_get_position): likewise, (Reported and testcase provided by Vasco Alexandre da Silva Costa, via IRC, tracking bug was #104563). Thu Jan 30 23:46:15 2003 Kristian Rietveld * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action): subtract expander space and focus line space from the extra space we are about the allocate. (Fixes #104635). Thu Jan 30 23:42:03 2003 Kristian Rietveld * gtk/gtkstyle.c (apply_affine_on_point): fix rouding error (Fixes #96242, patch from Soeren Sandmann). Thu Jan 30 16:54:29 2003 Owen Taylor * gtk/gtknotebook.c: Patch from Soeren Sandmann to update the states of the tab label child widgets to match the state of the tabs. (#93389, Reported by Tommi Komulainen) Thu Jan 30 16:30:54 2003 Owen Taylor * Makefile.am (EXTRA_DIST): Remove gtk+.spec.in from EXTRA_DIST, and from dist rules. (#102231) 2003-01-30 Daniel Elstner * gtk/gtktoolbar.c (set_child_packing_and_visibility): New helper function that sets the icon's and label's packing options and visibility based on toolbar->style. (gtk_toolbar_internal_insert_element): (gtk_real_toolbar_style_changed): Make use of set_child_packing_and_visibility() to clean up the code and get the packing right for icon-only/text-only toolbars. (#104679) (get_first_child): Remove, and use gtk_bin_get_child() instead. 2003-01-30 Matthias Clasen * gtk/gtktextview.c: Replace PAGE_HORIZONTALLY_HACK_VALUE by GTK_MOVEMENT_HORIZONTAL_PAGES. (#68947) * gtk/gtkenums.h: Add GTK_MOVEMENT_HORIZONTAL_PAGES to GtkMovementStep. Thu Jan 30 16:01:29 2003 Owen Taylor * gdk/gdkrgb.c (gdk_rgb_try_colormap): Remove the attempt-to-allocate then free code. To handle multiple people allocating colors at the same time, we need to just go ahead and try. (#102213, Shivram U) 2003-01-30 Daniel Elstner * gtk/gtkcolorsel.c (palette_paint): Explicitely draw an opaque rectangle using the background color rather than relying on gdk_window_clear_area(), so that the palette works properly with pixmap themes. (#101732) * demos/gtk-demo/colorsel.c: Install an "expose_event" handler to fill the drawing area in the background color. Wed Jan 29 14:11:21 2003 Hidetoshi Tajima * modules/input/gtkimcontextxim.c (choose_better_style): fix a memory initialization error for selecting input style (#103549). Wed Jan 29 17:02:41 2003 Owen Taylor * gdk/gdkkeyuni.c (get_decimal_char): Make the translation of GDK_KP_Decimal dependent on LC_NUMERIC. (#101225) Wed Jan 29 15:43:56 2003 Owen Taylor * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): Make up from the menu bar go to the end of the submenu. (#96114, Ian Peters.) * gtk/gtkmenuitem.c (gtk_menu_item_mnemonic_activate): Only do the select-but-not-activate stuff if the menu is already active. Otherwise, just activate. (#101690, Arvind Samptur) Tue Jan 28 15:18:24 2003 Owen Taylor * autogen.sh (have_automake): Fix version in complaint message about automake. (#104366, Rich Burridge) Mon Jan 27 16:38:13 2003 Owen Taylor * configure.in: Remove SOEXT stuff; it doesn't work portably. Mon Jan 27 22:45:15 2003 Kristian Rietveld * gtk/gtktreestore.c (gtk_tree_store_move): don't handle b if we appended/prepended, send the rows_reordered signal to the correct level ... (Reported by Matthew Tuck). Mon Jan 27 22:43:11 2003 Kristian Rietveld * gtk/gtktreestore.c (gtk_tree_store_sort_helper): don't just bail out if the level only has one item, recurse over the child if there is one. (Fixes #100458, reported by Gaël Le Mignot). Mon Jan 27 22:41:26 2003 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_set_model), (gtk_tree_view_search_equal_func): make TreeView search handle all types which are transformable by GValue. (Fixes #99803, reported by Muktha Narayan). Mon Jan 27 22:39:25 2003 Kristian Rietveld * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_sort_column_id): *really* handle unsetting the ID. Slightly modified patch from Soeren Sandmann. Fixes #87556, reported by Jarek Dukat. Mon Jan 27 22:33:43 2003 Kristian Rietveld Fixes the total GtkTreeSortable mess, and #83195, reported by Jarek Dukat * gtk/gtktreestore.c (gtk_tree_store_get_sort_column_id), (gtk_tree_store_set_sort_column_id), (gtk_tree_store_set_sort_func), (gtk_tree_store_set_default_sort_func): use the constant GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID instead of -1, make functions work as advertised by the documentation. * gtk/gtklistore.c (gtk_list_store_get_sort_column_id), (gtk_list_store_set_sort_column_id), (gtk_list_store_set_sort_func), (gtk_list_store_set_default_sort_func): likewise. * gtk/gtktreemodelsort.c (gtk_tree_model_set_sort_column_id), (gtk_tree_model_set_sort_func), (gtk_tree_model_sort_set_default_sort_func): make functions work as advertised by the documentation. Mon Jan 27 22:31:56 2003 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_button_press): update focus_column before we decide if we edit. (fixes #100973, reported by Dave Cook). Mon Jan 27 22:29:30 2003 Kristian Rietveld Bug report and test case from Paolo Maggi via IRC. * gtk/gtkliststore.c (gtk_list_store_swap): update tail if needed, (gtk_list_store_move): update tail if needed. Mon Jan 27 16:19:59 2003 Owen Taylor * gtk/gtksocket.c (gtk_socket_filter_func): event->any.window might be NULL. Use gtk_widget_get_display (widget) (#102860, Thomas Leonard) Mon Jan 27 15:58:31 2003 Owen Taylor * configure.in: Fix --without-modules/--disable-modules confusion that was causing --disable-modules not to work. (#102865, Akira Tagoh) * configure.in: Fix problem with plain --with-xinput (#104266, Akira Tagoh) 2003-01-24 Sebastian Rittau * docs/tutorial/gtk-tut.sgml: Fix a few typos, introduced by my last patch. Fri Jan 24 17:06:41 GMT 2003 Tony Gale * docs/tutorial/gtk-tut.sgml: Remove duplicate copy of tictactoe.h Thu Jan 23 21:15:29 GMT 2003 Tony Gale * docs/faq/gtk-faq.sgml: Learn to spell Library Thu Jan 23 20:56:56 GMT 2003 Tony Gale * Sebastian Rittau : docs/tutorial/gtk-tut.sgml: Adopted chapter 21.3 "Creating a Composite widget" to modern standards. (I.e. use gobject instead of glib, derive from GtkTable instead of GtkVBox.) Bugzilla #103869. * docs/tutorial/gtk-tut.sgml, examples/tictactoe: Fixup tic-tac-toe code in Appendix C to reflect above changes. * examples/rangewidgets/rangewidgets.c: From Roger Leigh auto resize on page size change 2003-01-23 Daniel Elstner * gtk/gtktoolbar.c (gtk_toolbar_hide_all): Override hide_all in addition to show_all in order to keep them symmetric. (#102201) Wed Jan 22 14:18:46 2003 Manish Singh * gdk/x11/gdkevents-x11.c (translate_key_event): add a "return" at the end of the function, so there is a statement following the "out" label in all cases (fixes #101961) 2003-01-22 Christian Rose * configure.in: Added "mn" to ALL_LINGUAS. Wed Jan 15 17:02:18 2003 Owen Taylor * gtk/gtktextlayout.c (gtk_text_layout_validate_yrange): Fix off-by-one error on the backward iteration loop, that was causing the wrong range to be redrawn. (at least part of #72734) 2003-01-21 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_size_allocate): Adjust the vadjustment value after changing its bounds. (fixes #101963 and #73562) * gtk/gtkcolorsel.c (hex_changed): Fix clamping to [0,1] to avoid unnecessary roundtrip failures. (#93500) 2003-01-19 Tor Lillqvist Merge from stable: Fix for #103614 and some other problems with GtkFileSelection on Windows: * gtk/fnmatch.c (get_char): Need to use g_unichar_tolower(), not g_ascii_tolower(). Windows file names are case-insensitive for all Unicode letters. * gtk/gtkfilesel.c: Instead of checking for G_OS_WIN32 or G_WITH_CYGWIN, check G_PLATFORM_WIN32. Move inclusion of gtkintl.h earlier, as it includes config.h unconditionally, and gtkprivate.h redefines GTK_LOCALEDIR. (struct _CompletionDirSent): Ifdef out the fields not used on Windows. (compare_utf8_filenames, compare_sys_filenames): Need different comparison implementation for UTF-8 file names and system locale file names on Win32. Cannot simply use g_ascii_strcasecmp(), but need to casefold all Unicode letters. (cmpl_completion_matches, open_dir, correct_parent): Ifdef out variables not used on Win32 to avoid warnings about unused variables. (open_ref_dir): Use g_path_skip_root() to skip past potential drive letter in front of the leading (back)slash. (open_new_dir): Ifdef out use of CompletionDirSent fields not there on Win32. (correct_parent): Bypass inode check also on Cygwin. Fix bug noticed by Alex Shaduri: Tooltips and other GDK_WINDOW_TEMP windows were activated. This looked very odd, and was a regression from earlier versions. * gdk/win32/gdkwindow-win32.c (show_window_internal): Fine-tune behaviour. Don't ever activate GDK_WINDOW_TEMP windows. (gdk_window_move, gdk_window_resize): Add debug logging. * gdk/win32/gdkevents-win32.c (gdk_event_translate): When we get a WM_SIZE message for a non-visible (withdrawn) window, don't clear the GDK_WINDOW_STATE_WITHDRAWN bit. The window is still withdrawn even if its size changes. 2003-01-16 Matthias Clasen * gtk/gtktextlayout.c (gtk_text_layout_get_cursor_locations): Typo fixes. (totally_invisible_line): Fix an incorrect optimization which caused invisible paragraphs to be occasionally misrendered. Wed Jan 15 15:55:47 2003 Owen Taylor * gtk/gtksettings.c: Set the double click speed from XSETTINGS when creating a new GtkSettings object as well as when getting a notify. (#103601, reported by Louis Garcia) Wed Jan 15 14:56:09 2003 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_size_allocate): Show/hide the notebook event window as necessary, we weren't previously keeping the visibility updated properly. (#103599) 2003-01-15 Matthias Clasen * examples/menu/itemfactory.c: * docs/tutorial/gtk-tut.sgml: Add a to the itemfactory example. (#103211) 2002-12-29 Murray Cumming Fixes #102168. * gtk/gtkliststore.c, gtktreednd.c, gtktreestore.c: Actually implement the GtkTreeDragSource::row_draggable virtual function in GtkListStore and GtkTreeStore instead of just checking whether it's implemented at all. This means that DnD isn't broken by gtkmm's virtual function wrappers. The alternative would be to hard-code the TRUE return value into gtkmm's wrappers, but that's part of GTK+'s implementation, not it's API. Tue Jan 14 23:42:29 2003 Kristian Rietveld * gtk/gtktreeview.c: fix compiler warning. Tue Jan 14 23:29:00 2003 Kristian Rietveld * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): make sure exposed pixbufs are clipped to the exposed area before drawing, which is a slight speedup. (#102379, patch from Soeren Sandmann). Tue Jan 14 23:26:41 2003 Kristian Rietveld * gtk/gtktreeview.c (validate_visible_area): silly typo fix, only free scroll_to_path when the complete tree has been validated. This makes sure that we scrolled to the correct path. Tue Jan 14 23:25:32 2003 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_style_set): update the background of widget->window and bin->window. (Fixes #96650, reported by Dave Camp). Tue Jan 14 23:24:02 2003 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_clamp_node_visible): process updates before scrolling, avoiding a "selection streak". (Fixes #101235, patch from Soeren Sandmann). Tue Jan 14 23:22:13 2003 Kristian Rietveld * gtk/gtktreeview.c (validate_visible_area): actually put values in the requisition using gtk_widget_size_request. (Fixes #100172, reported by Kjartan Maraas). Tue Jan 14 23:19:45 2003 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_rows_reordered): cancel the arrow animation timeout before we actually reorder the rbtree. If we don't do this we can get stuck arrows, (cancel_arrow_animation): new function. (Fixes #93629, part 2, reported and testcase provided by Hans Petter Jansson). Tue Jan 14 23:18:21 2003 Kristian Rietveld * gtk/gtktreeselection.c (gtk_tree_selection_real_modify_range): anchor_path should be start_path, not end_path. (Fixes #102618, patch from Carlos Garnacho Parro). Tue Jan 14 23:16:15 2003 Kristian Rietveld * gtk/gtkliststore.c (gtk_list_store_move): also update the tail, only correct new_pos if we don't move to the head/tail. Tue Jan 14 23:11:55 2003 Kristian Rietveld * gtk/gtktreestore.c (gtk_tree_store_swap): take the path from the parent_iter if depth >= 1, so we send the reordered signal to the correct level, remove debugging printfs which I forgot the remove earlier (2.2.0 shipped with this, oops). (Fixes #103198, Reported and testcase provided by Matthew Tuck). Tue Jan 14 20:58:44 2003 Kristian Rietveld * gtk/gtktreeview.c (invalite_last_column): split out actual column invalidation into invalidate_column(), (gtk_tree_view_size_allocate_columns): invalidate column if the new width is larger than the old width. (fixes #102890, reported by Alex Duggan). 2003-01-14 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Skip invisible chars for GTK_MOVEMENT_LOGICAL_POSITIONS and GTK_MOVEMENT_WORDS. * gtk/gtktextiter.c, gtk/gtktextiter.h: Add some variant movement functions which skip invisible chars, and do some cleanups. 2003-01-12 Tor Lillqvist Merge from stable: * gtk/gtkmain.c: Move inclusion of config.h and gtkintl.h earlier, as gtkprivate.h redefines GTK_LOCALEDIR on Win32, for run-time lookup. * gdk/Makefile.am (libgdk_win32_2_0_la_DEPENDENCIES): Depend on gdk.def. * gdk/gdk.def * gtk/gtk.def: Add some missing entries. Thanks to Kenichi SUTO. * gtk-zip.sh.in (DEVZIP): Add bin/{gtk-query-immodules-2.0, gtk-demo}.exe and share/gtk-2.0. * gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint): Implement by setting or clearing the WS_EX_TOOLWINDOW extended window style. (gdk_window_set_type_hint): Add all cases to the switch (not all do anything, though). Handle GDK_WINDOW_TYPE_HINT_TOOLBAR by calling gdk_window_set_skip_taskbar_hint(). This means that GTK won't know that the skip_taskbar hint is on for the window, is this bad? Wed Jan 8 18:43:03 2003 Manish Singh * gdk/x11/gdkdisplay-x11.c: #include for putenv, for strlen. * gdk/x11/gdkscreen-x11.c: #include for getenv, for strrchr. * tests/testgtk.c (create_saved_position): "x" and "y" properties for widgets no longer exist, use gtk_window_move instead. * test/testtextbuffer.c (check_get_set_text): cast strlen to int for g_error. 2003-01-08 Matthias Clasen * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix display of the selection in the presence of invisible segments. 2003-01-07 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_class_init): Bind C-/ and C-\ to "select all" and "unselect all". (#102065) * gtk/gtktextview.h (struct _GtkTextView): Add a comment that the just_selected_element is unused. * gtk/gtktextview.c (extend_selection): New helper function to find the range that should be added to the selection. (selection_motion_event_handler): (gtk_text_view_start_selection_drag): (gtk_text_view_end_selection_drag): (selection_motion_event_handler): (selection_scan_timeout): Support select-by-words/lines. (gtk_text_view_button_press_event): Start a selection drag on double/triple clicks. (#78499) 2003-01-06 Matthias Clasen Implement a utility function proposed in #102534: * gtk/gtktextbtree.h: * gtk/gtktextbtree.c (_gtk_text_btree_select_range): New function. (_gtk_text_btree_place_cursor): Now a simple wrapper around _gtk_text_btree_select_range(). * gtk/gtktextbuffer.h: * gtk/gtktextbuffer.c (gtk_text_buffer_select_range): New function. (gtk_text_buffer_place_cursor): Now a simple wrapper around gtk_text_buffer_select_range(). 2003-01-05 Havoc Pennington * configure.in: fix a stray bracket that was breaking the build 2003-01-05 Tor Lillqvist * gtk-zip.sh.in: Use correct DLL and import library names, with GTK_API_VERSION in name, not GTK_MAJOR_VERSION.GTK_MINOR_VERSION. (DEVZIP): Add gdk-pixbuf-query-loaders.exe. * configure.in: Improve check for dimm.h. * configure.in: Set SOEXT to 'so' on Unix, 'dll' on Win32. Used in gdk-pixbuf/Makefile.am. * gdk-pixbuf/makefile.mingw.in * gdk-pixbuf/pixops/makefile.mingw.in * gdk/makefile.mingw.in * gdk/win32/makefile.mingw.in * gtk/makefile.mingw.in: Remove. Not maintained anyway. * gdk-pixbuf/Makefile.am * gdk-pixbuf/pixops/Makefile.am * gdk/Makefile.am * gdk/win32/Makefile.am * gtk/Makefile.am * configure.in: Remove makefile.mingw{,.in} from here, too. * README.win32: Updates. Don't mention the now removed makefile.mingw files. * gdk/gdk.def * gtk/gtk.def: Add a couple of missing entries. * gdk/gdkkeynames.c: Include for strcmp() and memcpy(). * gdk/win32/gdkevents-win32.c: Move dimm.h header clash workaround earlier. * gdk/win32/rc/Makefile.am: Add hack to help build/win32/lt-compile-resource decide which kind of libtool object file to produce. 2003-01-05 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Make C-Down step through the sequence of paragraph ends (old behaviour included paragraph starts). (#80340, patch by Narayana Pattipati) * gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_first_toggle): Check for a tag toggle at the start iterator before calling gtk_text_iter_forward_to_tag_toggle(). (#102090, patch by Daniel Elstner) 2003-01-04 Matthias Clasen * gtk/gtkfilesel.h (struct _GtkFileSelection): Add /*< public >*/ and /*< private >*/ as appropriate. (#97211) 2003-01-04 Tor Lillqvist * Makefile.am (EXTRA_DIST): Don't distribute gtk-zip.sh, but do distribute gtk-zip.sh.in. * gtk-zip.sh.in (DEVZIP): Add gdk-pixbuf-csource.exe and .1. 2003-01-03 Havoc Pennington * docs/Makefile.am (EXTRA_DIST): put it in EXTRA_DIST * docs/text_widget_internals.txt: add a file documenting some of the text widget internals 2003-01-02 Matthias Clasen * gtk/gtkwindow.c (gtk_window_get_focus): Document that it may return NULL. (#102069) 2003-01-01 Matthias Clasen * gtk/fnmatch.c (FNMATCH_TEST_CASES): #undef, since having a main() in the library is obviously bad. 2002-12-27 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_drag_data_received): Place the cursor at drop point. (#72384) (gtk_text_view_size_allocate): Update the horizontal adjustment value. (#75694) 2002-12-25 Matthias Clasen * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix highlighting of selection wrt. to empty lines. (#90435, #90582, #91619) * gtk/gtktextview.c (gtk_text_view_preedit_changed_handler): Keep the cursor on screen. (#96929) 2002-12-24 Matthias Clasen * gtk/gtktextbuffer.c (paste_from_buffer): (clipboard_text_received): Let the user action span the insertion and the deletion of the old selection. (#82844) 2002-12-23 Matthias Clasen * gtk/gtktextiter.c (gtk_text_iter_backward_sentence_starts): Don't call gtk_text_iter_backward_sentence_start() if count is zero. (#99115) * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Call move_cursor() even if the cursor hasn't moved, since it has the side effect of canceling the selection. (#81395, #98537, #98333) 2002-12-22 Matthias Clasen * gtk/gtktextlayout.c (add_preedit_attrs): Don't add attributes with empty ranges. (fixes #101564 and #80637) 2002-12-21 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (gdk_window_new): Move the code that sets the window style and extended window style, and adjusts the width and height to take the window decorations into account earlier. The adjusted width and height used to be ignored. Remove the local x, y, width and height variables, no need to further confuse the code by having local copies. (Partial fix, I hope, for #101588) (gdk_window_move): When moving top-level windows, take title bar and border width into account, offsetting the coordinates before calling SetWindowPos(). (gdk_window_set_decorations, gdk_window_set_functions): Reimplement, taking into account the peculiar semantics of GDK_DECOR_ALL and GDK_FUNC_ALL. (#79036) (gdk_window_get_decorations): Implement. (#98981) (gdk_window_set_type_hint): When setting GDK_WINDOW_TYPE_HINT_MENU, call gdk_window_set_decorations(). (#79036) * gdk/gdk.def: Add gdk_window_get_decorations. (#98981) 2002-12-21 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_set_background): New static function to set the background of all windows. (gtk_text_view_style_set): Use gtk_text_view_set_background(). (gtk_text_view_state_changed): New function; change background according to state. (#88126) 2002-12-21 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_move_visually): fix the documentation