+2003-07-30 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkwidget.c (gtk_widget_class_init): Some updates to the DND signal docs.
+
+2003-07-29 Tor Lillqvist <tml@iki.fi>
+
+ 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 <sandmann@daimi.au.dk>
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * gtk+/docs/: Commit autogenerated changes, so patches will make
+ sense.
+
+2003-07-27 Tor Lillqvist <tml@iki.fi>
+
+ * 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 <maclas@gmx.de>
+
+ * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
+ Fix function name in warning message. (#118156, Tim-Philipp
+ Müller)
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * 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 <tml@iki.fi>
+
+ * 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 <maclas@gmx.de>
+
+ * gtk/gtkwidget.c: Document DND signals.
+
+2003-07-24 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtktextview.c (popup_targets_received): Make the "Input Methods" insensitive
+ when editing isn't possible. (#118150)
+
+2003-07-23 Matthias Clasen <maclas@gmx.de>
+
+ * 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 <hans@breuer.org>
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * gtk/gtktoolitem.c (gtk_tool_item_size_request): remove
+ leftover request of {xy}thickness
+
+Sat Jul 19 16:26:02 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * gtk/gtknotebook.c (gtk_notebook_focus_in|out): only redraw tabs
+ on focus in/out.
+
+2003-07-19 Matthias Clasen <maclas@gmx.de>
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * 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 <maclas@gmx.de>
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * gtk/gtktextview.c (changed_handler): use
+ gtk_widget_queue_resize_noredraw().
+
+2003-07-16 Jody Goldberg <jody@gnome.org>
+
+ * gdk/x11/gdkwindow-x11.c (gdk_window_focus) : fix cut-n-paste-o
+
+Fri Jul 18 19:55:50 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * gtk/gtkwidget.c (gtk_widget_queue_resize_no_redraw): Add this
+ API.
+
+Fri Jul 18 18:43:01 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ 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 <kris@gtk.org>
+
+ 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 <kris@gtk.org>
+
+ 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 <kris@gtk.org>
+
+ 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 <kris@gtk.org>
+
+ 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 <maclas@gmx.de>
+
+ * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity.
+
+2003-07-13 Matthias Clasen <maclas@gmx.de>
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * 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 <kris@gtk.org>
+
+ 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 <kris@gtk.org>
+
+ 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 <kris@gtk.org>
+
+ 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 <kris@gtk.org>
+
+ 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 <kris@gtk.org>
+
+ 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 <kris@gtk.org>
+
+ 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 <maclas@gmx.de>
+
+ * 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 <otaylor@redhat.com>
+
+ * 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 <kris@gtk.org>
+
+ * 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 <maclas@gmx.de>
+
+ * gtk/gtkstatusbar.c (gtk_statusbar_init): Center statusbar contents
+ vertically. (#109823, Joe Shaw)
+
+2003-07-11 Morten Welinder <terra@gnome.org>
+
+ * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixbuf): Fix memory
+ access error. (#69436)
+
+Fri Jul 11 14:32:43 2003 Kristian Rietveld <kris@gtk.org>
+
+ 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 <kris@gtk.org>
+
+ 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 <maclas@gmx.de>
+
+ * 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 <otaylor@redhat.com>
+
+ * 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 <maclas@gmx.de>
+
+ * gtk/gtkcontainer.c (gtk_container_remove): Doc addition.
+ (#116501, Doug Quale)
+
+Tue Jul 8 21:35:22 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * 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 <otaylor@redhat.com>
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * 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 <otaylor@redhat.com>
+
+ * 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 <otaylor@redhat.com>
+
+ * 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 <otaylor@redhat.com>
+
+ * 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 <otaylor@redhat.com>
+
+ * 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 <otaylor@redhat.com>
+
+ * 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 <otaylor@redhat.com>
+
+ * gdk/x11/gdkasync.c (struct _SetInputFocusState): Fix
+ some leftover fields.
+
+Fri Jul 4 15:57:52 2003 Owen Taylor <otaylor@redhat.com>
+
+ * 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 <otaylor@redhat.com>
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * 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 <tml@iki.fi>
+
+ * 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 <tml@iki.fi>
+
+ * gdk/gdk.def: Add gdk_string_to_compound_text_for_display.
+ (#116537, Peter Zelezny)
+
+Thu Jul 3 03:13:20 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * 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 <otaylor@redhat.com>
+
+ * 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 <otaylor@redhat.com>
+
+ * gtk/gtktoolbar.c (gtk_toolbar_realize): Attach the
+ style to the widget.
+
+Wed Jul 2 15:42:26 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * 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 <sandmann@daimi.au.dk>
+
+ * 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 <maclas@gmx.de>
+
+ * 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 <tml@iki.fi>
* gdk/win32/gdkwindow-win32.c (_gdk_windowing_window_get_pointer):
Mon Jun 30 01:20:19 2003 Soeren Sandmann <sandmann@daimi.au.dk>
- * gtkradiotoolbutton.c
- * gtkradiotoolbutton.h
- * gtktoggletoolbutton.c
- * gtktoggletoolbutton.h
- * gtktoolbutton.c
- * gtktoolbutton.h
- * gtktoolitem.c
- * gtktoolitem.h
- * gtktoolbar.c
- * gtktoolbar.h
- * gtkseparatortoolitem.c
- * gtkseparatortoolitem.h
+ * 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 <maclas@gmx.de>