Soeren Sandmann [Fri, 29 Aug 2003 18:28:23 +0000 (18:28 +0000)]
Only treat buttons as homogeneous when they are narrower than 13 time the
Fri Aug 29 20:32:07 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* 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/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.
Matthias Clasen [Wed, 27 Aug 2003 22:22:28 +0000 (22:22 +0000)]
Change the XML format: <Root> element is replaced by <ui>, <menu> element
2003-08-28 Matthias Clasen <maclas@gmx.de>
* gtk/gtkuimanager.c: Change the XML format:
<Root> element is replaced by <ui>,
<menu> element is replaced by <menubar>,
<submenu> element is replaced by <menu>,
<dockitem> element is replaced by <toolbar>,
<popups> 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.
Matthias Clasen [Tue, 26 Aug 2003 00:13:59 +0000 (00:13 +0000)]
Use gssize for length, not gsize.
2003-08-26 Matthias Clasen <maclas@gmx.de>
* 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 <Root> to
<ui> and make it optional in strings. Rename verb to action, <dockitem>
to <toolbar>, <menu> to <menubar>, <submenu> to <menu>.
* 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.
Owen Taylor [Tue, 26 Aug 2003 00:06:18 +0000 (00:06 +0000)]
Since we add one to the layout's reported width to account for the cursor,
Mon Aug 25 19:55:55 2003 Owen Taylor <otaylor@redhat.com>
* 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, Federico 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.
Owen Taylor [Mon, 25 Aug 2003 21:46:57 +0000 (21:46 +0000)]
Send the focus on to the parent when there was no focus widget before and
Wed Aug 20 21:26:49 2003 Owen Taylor <otaylor@redhat.com>
* 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 23:21:43 2003 Kristian Rietveld <kris@gtk.org>
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.
Owen Taylor [Mon, 25 Aug 2003 21:16:25 +0000 (21:16 +0000)]
Send the focus on to the parent when there was no focus widget before and
Wed Aug 20 21:26:49 2003 Owen Taylor <otaylor@redhat.com>
* 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.
Owen Taylor [Mon, 25 Aug 2003 20:22:39 +0000 (20:22 +0000)]
Fix up CapsLock and NumLock handling for non-XKB. Add a special case hack
Mon Aug 25 16:15:41 2003 Owen Taylor <otaylor@redhat.com>
* 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)
Matthias Clasen [Sun, 24 Aug 2003 23:11:14 +0000 (23:11 +0000)]
Hooks for translation of label and tooltip in GtkActionGroupEntries.
2003-08-25 Matthias Clasen <maclas@gmx.de>
* 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)
Matthias Clasen [Sun, 24 Aug 2003 19:58:30 +0000 (19:58 +0000)]
A model-view separation for menus and toolbars, using the EggMenu code by
2003-08-24 Matthias Clasen <maclas@gmx.de>
* 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.
Owen Taylor [Thu, 21 Aug 2003 20:06:17 +0000 (20:06 +0000)]
Keep a list of current GtkRcFiles being parsed, not just the directories
Thu Aug 21 16:00:36 2003 Owen Taylor <otaylor@redhat.com>
* 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 <kris@gtk.org>A
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.
Owen Taylor [Thu, 21 Aug 2003 19:23:39 +0000 (19:23 +0000)]
Change the interpretation of consumed_modifiers so that it contains: -
Thu Aug 21 15:17:42 2003 Owen Taylor <otaylor@redhat.com>
* 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)
Slightly modified patch from Yann Rouillard to improve selection behavior
Thu Aug 21 20:53:46 2003 Kristian Rietveld <kris@gtk.org>
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 <kris@gtk.org>
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).
Owen Taylor [Tue, 19 Aug 2003 21:17:18 +0000 (21:17 +0000)]
Substantially rework the handling of status windows:
Mon Aug 18 17:19:12 2003 Owen Taylor <otaylor@redhat.com>
* 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: 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.
Owen Taylor [Tue, 19 Aug 2003 19:24:39 +0000 (19:24 +0000)]
Replace client_window field with 'priv' pointer, retaining binary
Tue Aug 19 14:37:46 2003 Owen Taylor <otaylor@redhat.com>
* 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)
Owen Taylor [Mon, 18 Aug 2003 15:19:32 +0000 (15:19 +0000)]
Rework handling of REBUILD_PNGS, so that we also don't try to REBUILD_PNGS
Mon Aug 18 10:51:57 2003 Owen Taylor <otaylor@redhat.com>
* 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!)
Owen Taylor [Mon, 18 Aug 2003 15:17:03 +0000 (15:17 +0000)]
Add the correct alignment magic for Sun compiler and for GCC to get the
Mon Aug 18 10:25:29 2003 Owen Taylor <otaylor@redhat.com>
* gdk-pixdata.c (gdk_pixdata_to_csource): Add the correct
alignment magic for Sun compiler and for GCC to get
the strings aligned. (Patch from Brian Cameron, #117217)
Fix major bug in row ref handling, so the new combo box will actually work
Sat Aug 16 16:22:23 2003 Kristian Rietveld <kris@gtk.org>
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.
Owen Taylor [Fri, 15 Aug 2003 21:30:44 +0000 (21:30 +0000)]
Improve Cedilla handling - based on a patch from Gustavo De Nardin,
Fri Aug 15 16:54:39 2003 Owen Taylor <otaylor@redhat.com>
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 <otaylor@redhat.com>
* gtk/gtkimcontextsimple.c: Fix missing compose sequence
for Multi_key+c+apostrophe.
(Note: This is not exactly the same as the patch which went in gtk-2-2).
Fri Aug 15 19:43:14 2003 Kristian Rietveld <kris@gtk.org>
(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).
Owen Taylor [Thu, 14 Aug 2003 22:30:28 +0000 (22:30 +0000)]
Don't reposition the cursor when we aren't trying to complete. (Fixes
Thu Aug 14 18:25:39 2003 Owen Taylor <otaylor@redhat.com>
* 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.
Owen Taylor [Thu, 14 Aug 2003 22:00:27 +0000 (22:00 +0000)]
If getting the current directory fails because of encoding conversion
Thu Aug 14 17:58:23 2003 Owen Taylor <otaylor@redhat.com>
* 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)
Owen Taylor [Wed, 13 Aug 2003 21:13:09 +0000 (21:13 +0000)]
Remove usage of menu_shell->ignore leave which was to deal with stray
Wed Aug 13 17:01:49 2003 Owen Taylor <otaylor@redhat.com>
* 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)
Owen Taylor [Wed, 13 Aug 2003 16:34:35 +0000 (16:34 +0000)]
connect_after() to key-press-event on the entry, so input methods get
Wed Aug 13 11:34:53 2003 Owen Taylor <otaylor@redhat.com>
* 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)
Owen Taylor [Tue, 12 Aug 2003 18:38:16 +0000 (18:38 +0000)]
Remove GDK_LOCK_MASK before calling gdk_keymap_translate_keyboard_state so
Tue Aug 12 14:27:42 2003 Owen Taylor <otaylor@redhat.com>
* 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)
Owen Taylor [Mon, 11 Aug 2003 15:18:27 +0000 (15:18 +0000)]
Mark parent public as well; it's extensively accessed in existing code, so
Mon Aug 11 11:10:07 2003 Owen Taylor <otaylor@redhat.com>
* 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)
Matthias Clasen [Sun, 10 Aug 2003 22:30:02 +0000 (22:30 +0000)]
Copy newer versions of JH_CHECK_XML_CATALOG and JH_PATH_XML_CATALOG from
* 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)
Matthias Clasen [Fri, 8 Aug 2003 23:01:17 +0000 (23:01 +0000)]
Add DND support to GtkCalendar. The selected date is dragged as text,
* 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)
Matthias Clasen [Fri, 8 Aug 2003 22:44:14 +0000 (22:44 +0000)]
Get the information about the first day of the week from the locale using
* 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)
Matthias Clasen [Fri, 8 Aug 2003 22:17:34 +0000 (22:17 +0000)]
Complete the RTL flipping support for GtkCalendar, make it possible to
* 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.
Matthias Clasen [Fri, 8 Aug 2003 22:03:25 +0000 (22:03 +0000)]
Add and hook in gtk_calendar_scroll, to let the mouse wheels select the
2003-08-09 Matthias Clasen <maclas@gmx.de>
* 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)
Tor Lillqvist [Thu, 7 Aug 2003 22:17:18 +0000 (22:17 +0000)]
gdk/win32/gdkinput-win32.h Drop the GdkEvent* parameter, it wasn't used.
2003-08-07 Tor Lillqvist <tml@iki.fi>
* 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.
Hans Breuer [Thu, 7 Aug 2003 15:10:16 +0000 (15:10 +0000)]
finally use TrackMouseEvent (only if the new window not known to Gdk) to
2003-08-07 Hans Breuer <hans@breuer.org>
* 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