Tue Oct 22 20:02:22 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcombo.c: When popping up the list without
any selected items, hack the focus on the list to
avoid triggering a bug in GtkList when clicking
on focused-but-not-selected items (#86700,
Zimler Attila, Matthias Clasen) and to keep
GtkWindow from selecting the first item.
* tests/testgtk.c (create_list): Make the initial
setting of the selection mode correspond to the option
menu.
Wed Oct 23 01:03:43 2002 Kristian Rietveld <kris@gtk.org>
Another feature to create truly ugly TreeViews!: style properties
for the even/odd colors used for row hinting. (#71595, reported
by Owen Taylor).
* gtk/gtktreeview.c (gtk_tree_view_class_init): add even_row_color
and odd_row_color style properties.
* gtk/gtkstyle.c (get_darkened_gc): support darken_count == 0 case,
(gtk_default_draw_flat_box): rework cell coloring code to support
user-provided even/odd row colors.
Wed Oct 23 01:01:52 2002 Kristian Rietveld <kris@gtk.org>
Cache signal IDs to speed up signal emission. This is a good speedup
because GtkTreeModel emits a big number of signals.
* gtk/gtktreemodel.c (gtk_tree_model_base_init): save IDs returned
by g_signal_new,
(gtk_tree_model_row_changed): use g_signal_emit instead of
g_signal_emit_by_name,
(gtk_tree_model_row_inserted): ditto,
(gtk_tree_model_row_has_child_toggled): ditto,
(gtk_tree_model_row_deleted): ditto,
(gtk_tree_model_rows_reordered): ditto.
Wed Oct 23 00:56:15 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeselection.c (model_changed): new function,
(gtk_tree_selection_selected_foreach): monitor changes in the model,
bail out if the model has been changed from the foreach func.
(#50263, reported by Havoc Pennington).
* gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node):
free anchor if applicable (#94868, reported and testcase provided by
Daniel Elstner).
Tue Oct 22 16:37:12 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktooltips.c: Multihead safety fixes, handle
displays being closed. (#81651, based on patch
from Erwann Chenede)
* gtk/gtktoolbar.c (gtk_toolbar_init): Fix typo
from the last commit.
Tue Oct 22 15:55:08 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktoolbar.c: Fix handling of getting the
default style/icon size from the correct
GtkSettings. (#82184, reported by Vitaly Tishkov,
help from Soeren Sandmann)
Tue Oct 22 15:32:31 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c: Actively monitor the screen of the
parent. (#80281)
* gtk/gtkentry.c: Fix missing prototype from the
last commit.
Tue Oct 22 15:46:09 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_unrealize): Reset the
layout, since it holds a reference to the font on
a particular screen.
Tue Oct 22 15:03:41 2002 Owen Taylor <otaylor@redhat.com>
* gtk/fnmatch.h: When compiling our on fnmatch.c,
#define fnmatch _gtk_fnmatch (#92890, Jacob Berkman)
* gtk/gtkstatusbar.c (gtk_statusbar_get_type):
(gtk_statusbar_class_init): It is called GtkStatusbar, not
GtkStatusBar. This was changed accidentally during deprecation
cleanup and caused links in the API docs to break. (#96390)
Mon Oct 21 14:04:39 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_get_public_chars): Return
"" for entry->invisible_char == 0, otherwise N copies
of entry->invisible_char. (#95486, Vitaly Tishkov)
* gtk/gtkentry.c: Fix a bunch of places where entry->text
instead of layout->text was being used for computation
of offsets/indices in the layout. Using layout->text
is necessary because when the entry is invisible, it
doesn't correspond to entry->text.
Sun Oct 20 23:58:03 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtkmenu.c, gtkmenubar.c, gtkmenuitem.c, gtkmenushell.c,
gtkmenushell.h, gtkmenushell.h
- make the delay before submenus appear below menu bars a
GtkSetting
- make the delay before submenus pops up a GtkSetting
- make the stay up triangle slightly larger
- don't pop up the first submenu immediately.
- make the default delay for submenus 225 ms, and 0 for menubars.
- make the default delay before popping down inside the stay-up
triangle 1000 ms
Fixes#74950
Sun Oct 20 14:58:02 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init):
Add a scrollbar_spacing style property (#81396, based
on a patch from Anders Carlsson)
Fri Oct 18 15:38:50 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkprogressbar.c (gtk_progress_bar_set_text):
Reset use_text_format to %TRUE for a %NULL text string.
(#94157, once again).
Thu Oct 17 17:17:05 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcheckbutton.c (gtk_check_button_size_request):
Fix use of uninitialized variable.
Thu Oct 17 14:38:37 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkaccellabel.c (gtk_accel_label_expose_event):
Align the baseline of the accelerator label with the
first baseline of the main label of the menu item. (#76593)
Wed Oct 16 18:25:24 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (translate_key_event):
Use gdk_keymap_translate_keyboard_state() rather than
XLookupString() to get the keysymbol, since XLookupString
can confuse the input method handling. (#93575)
* gdk/x11/gdkkeys-x11.c: Rewrite the handling of
key translation for the non-XKB case to properly
handle Shift_Lock, Caps_Lock, Num_Lock according
to the Xlib spec. (#67066)
2002-10-16 Havoc Pennington <hp@redhat.com>
* gdk/x11/gdkscreen-x11.c (gdk_screen_get_monitor_geometry): add
g_return_if_fail for monitor number <= 0
* gtk/gtkmenu.c (gtk_menu_position): handle case where pointer
is outside the screen.
* gtk/gtkwindow.c (get_monitor_center): factor out
the code to position a window in center
(gtk_window_compute_configure_request): use here
(gtk_window_constrain_position): use here, the
code here wasn't multihead-aware
* gdk/x11/gdkevents-x11.c (get_real_window): function to
return the window the event describes, rather than the window
that received the event.
(gdk_event_translate): use result of that function for
filling in GdkEvent::window, which only matters for
MapNotify/UnmapNotify and ConfigureNotify, in practice.
Unbreaks various things using SubstructureNotifyMask.
Thu Oct 17 16:13:28 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcheckbutton.c gtk/gtkradiobutton.c: Make
the widgets work reasonably when they don't have
children -- draw the focus around the indicator,
and position the indicator symmetrically.
(#74830, Dave Camp)
* tests/testgtk.c: Add no-child portions to check and radio
button tests.
Thu Oct 17 22:09:05 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkmenu.c (gtk_menu_scroll_to): Take arrows into
account when clamping the offset. Fixes#95758.
Tue Oct 15 00:53:14 2002 Kristian Rietveld <kris@gtk.org>
Behaviour change, apply changes if the entry of the editable gets
a focus out event (#82405).
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_focus_out_event):
new function,
(gtk_cell_renderer_text_start_editing): stop editing and apply
changes on focus-out.
Tue Oct 15 00:47:35 2002 Kristian Rietveld <kris@gtk.org>
Fixes an *evil* GtkTreeModelSort bug, #93629.
* gtk/gtktreemodel.c (release_row_references): return if the
refs->list is NULL.
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_changed): if we
are swapping two rows (re-insertion on row_changed), also *emit*
a rows_reordered signal. oops.
Tue Oct 15 00:45:03 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtkliststore.c (gtk_list_store_remove_silently): free
the actual link after the node has been removed (#92014).
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_column_finalize):
free the cell_list and the child if the exists (#92014).
Tue Oct 15 00:40:25 2002 Kristian Rietveld <kris@gtk.org>
Don't accept drops if the model has been sorted, #93758)
* gtk/gtkliststore.c (gtk_list_store_row_drop_possible): return
FALSE if the list has been sorted.
* gtk/gtktreestore.c (gtk_tree_store_row_drop_possible): check
if drag_dest is a TreeStore, return FALSE if the tree has been
sorted.
Tue Oct 15 00:33:59 2002 Kristian Rietveld <kris@gtk.org>
Compiler warning fixage, (#85858, #85859, #85860, #85872)
* gtk/gtkcellrendererpixbuf (gtk_cell_renderer_pixbuf_render):
s/guint/GtkCellRendererState/.
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render):
ditto.
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render),
(gtk_cell_renderer_toggle_activate): ditto.
* gtk/gtkliststore.c (gtk_list_store_get_flags): a
s/guint/GtkTreeModelFlags/ on the return type.
Sun Oct 13 12:29:15 2002 Manish Singh <yosh@gimp.org>
* gtk/gtkcolorsel.[ch] gtk/gtkcombo.[ch] gtk/gtkplug.[ch]
gtk/gtksocket.[ch] gtk/gtktreeview.[ch] gtk/gtktreeviewcolumn.[ch]:
Deprecation cleanup
* gtk/gtkcolorseldialog.c: make window not resizable (lost
accidently in the previous cleanup)
Sun Oct 13 20:20:51 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktooltips.c (gtk_tooltips_force_window): Make tooltip
window not resizable. Fixes#95675.
Sun Oct 13 17:41:53 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkwidget.c (gtk_widget_queue_clear_area): Don't invalidate
a widget if it or one of its ancestors isn't mapped.
Sat Oct 12 15:44:29 2002 Manish Singh <yosh@gimp.org>
* gtk/gtkitemfactory.c: use GTK_IS_RADIO_MENU_ITEM instead
of comparing the type directly. This handles possible subclasses
too. (Recommended by Tim Janik)
Thu Oct 10 14:35:31 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkscrolledwindow.[ch]: Privately export
_gtk_scrolled_window_get_scrollbar_spacing().
* gtk/gtkcombo.c: Properly account from scrollbar
spacing when computing the size of the popup window.
(#84955, Marco Pesenti Gritti)
Wed Oct 9 17:06:21 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkiconfactory.c (add_size_and_dir_with_fallback):
Add GO_FORWARD and GO_BACK with both left and right
arrows depending on the direction. (#92211,
Kenneth Christiansen)
* tests/testgtk.c (create_flipping): Add forward/back button
pairs in default, RTL, LTR configurations.
2002-10-09 Stanislav Brabec <sbrabec@suse.cz>
* gtk/gtkimcontextsimple.c: Added support for hungarian characters
(addition to bug #91258). Only via dead keys, because compose key
combinations in X are erratic.
Mon Oct 7 18:21:39 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtk[hv]paned.c gtk/gtkpaned.c: Allow the slider
to be set all the way to the edge, and if that happens,
use gtk_widget_set_child_visible() to hide the
appropriate child. (#72784, request from Darin Adler)
Mon Oct 7 16:28:11 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcolorsel.c (palette_drag_begin): Use
a pixbuf to set the drag icon, combine code
to create drag icons (Fixes#80092, #80093)
* gtk/gtkcolorsel.c (get_screen_color): Don't warn
on failure to grab keyboard/mouse. (#80085)
* gtk/gtkcolorsel.c (palette_press): Return FALSE,
so DND initiation is possible.
* gtk/gtkcolorsel.c (palette_release): Set the color
from the palette on release, not press.
* tests/testgtk.c (create_color_selection): Use
gtk_widget_show_all()
Mon Oct 7 15:48:44 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkdnd.[ch] gdk/x11/gdkdnd-x11.c: Add
gdk_drag_find_window_for_screen(), so that we can
interpret x_root / y_root relative to the correct screen.
* gdk/gdkdnd.c Makefile.am gdk/x11/gdkdnd-x11.c
gdk/fb/gdkdnd-fb.c gdk/win32/gdkdnd-win32.c: New file.
Move gdk_drag_find_window(), gdk_drag_get_protocol() here.
* gtk/gtkdnd.c: Handle drags between screens; use
a fallback icon for icons set as windows/pixmaps,
move the drag icon between displays for icons set as
pixbufs.
* gdk/x11/gdkkeys-x11.c (update_keymaps): Fix infinite
loop from last change.
Mon Oct 7 15:10:00 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkdisplay.[ch] gdk/gdkinternals.h
gdk/gdkwindow.[ch] gdk/linux-fb/gdkwindow-fb.c
gdk/win32/gdkwindow-win32.c gdk/x11/gdkwindow-x11.c:
- Replace GdkPointerHooks with a multihead-safe
GdkDisplayPointerHooks, leave GdkPointerHooks
around for singlehead.
- Add gdk_display_get_pointer() to get the pointer
location with the screen it is on.
* gdk/gdk.def gdk/gdkdisplay.[ch] gdk/gdkscreen.[ch]:
Change gdk_screen_get_window_at_pointer() to
gdk_display_get_window_at_pointer().
* gtk/gtktreeview.c demos/gtk-demo/changedisplay.c
tests/testgtk.c: Use gdk_display_get_window_at_pointer(),
not gdk_screen_get_window_at_pointer().
* gtk/gtkcolorsel.c: Fix grabbing color to be multihead
safe.
* gtk/gtkwidget.c: Allow gtk_widget_push_colormap (NULL).
since it is useful for writing code that doesn't
know the dcurrent state but needs a clean colormap.
* gtk/gtkrc.c: When loading the settings for a particular
screen, only reset toplevels on that screen.
* gtk/gtkiconfactory.h: Fix #ifdef GTK_MULTIHEAD_SAFE
that should have been #ifndef GTK_MULTIHEAD_SAFE.