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)
2003-08-13 Anders Carlsson <andersca@gnome.org>
* tests/testtoolbar.c: (set_important_func), (important_toggled),
(create_items_list):
Add an important column.
Tue Aug 12 15:00:15 2003 Owen Taylor <otaylor@redhat.com>
* 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 <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)
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)
* 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-09 Noah Levitt <nlevitt@columbia.edu>
* gdk/gdkevents.h:
* docs/reference/gdk/tmpl/windows.sgml: Elaborate a bit more in the
docs on GdkFilterFunc and GdkFilterReturn.
* 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)
* 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: 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.
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)
2003-08-08 Tor Lillqvist <tml@iki.fi>
* 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-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.
2003-08-07 Matthias Clasen <maclas@gmx.de>
* 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 <otaylor@redhat.com>
* 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.
2003-08-07 Matthias Clasen <maclas@gmx.de>
* 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 <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
2003-08-04 Hans Breuer <hans@breuer.org>
* 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
Fri Aug 1 15:26:46 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* 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 <otaylor@redhat.com>
* 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)
* gdk/win32/gdkevents-win32.c (apply_filters): Fix braino:
actually use the passed-in filter list. The function also needs a
GdkWindow parameter, as filter functions expect
GdkEvent::any.window to be valid. (#119034, Hans Breuer)
2003-08-03 Matthias Clasen <maclas@gmx.de>
* 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)
Sat Aug 2 12:53:16 2003 Owen Taylor <otaylor@redhat.com>
* 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 <maclas@gmx.de>
* 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.
2003-08-02 Tor Lillqvist <tml@iki.fi>
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.