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).
Wed Aug 20 22:04:47 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gdk/gdkwindow.c: Make the layers in the paint stack have their
own pixmap instead of sharing one.
* 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 <kris@gtk.org>
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 <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 (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 <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)
Tue Aug 19 13:58:50 2003 Owen Taylor <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <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!)
Mon Aug 18 10:19:55 2003 Owen Taylor <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* gdk/gdk.c (gdk_arg_context_parse): Fix broken
parentheses when skipping args.
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.
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.
Fri Aug 15 21:57:34 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): stop editing
on vertical scrolling. (#108035, reported by Tim Janik).
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).
Fri Aug 15 12:34:04 2003 Owen Taylor <otaylor@redhat.com>
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 <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.
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)
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)
Wed Aug 13 16:32:43 2003 Owen Taylor <otaylor@redhat.com>
* 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 <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