Mon Feb 25 22:10:47 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init): Fix
double set of bindings for page-up/down. (#72605, Tor Lillquist)
* gtk/gtkmenu.c (gtk_menu_key_press): Remove consumed modiifers
when setting up accelerator to make accelerators look prettier.
(#65416, Guillermo S. Romero)
2002-02-26 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkkeys-win32.c: Implement the functions that until
now just were non-functional stubs. For "hardware keycodes", we
use Windows virtual keycodes. Not scancodes, although that at
first might seem more low-level and a better match to X11
keycodes.
The Windows API is really mixed up and confused with respect to
scancodes and virtual keycodes. (Surprised?) Some scancodes are
generated by two keys on the keyboard (!), and although the
keyboard messages do have a flag to indicate which key the user
pressed, other API that take a scan code as input don't let you
specify which actual key you mean.
(update_keymap): Function to build a X11-like representation of
the keyboard. Each key has four keysyms: two levels (nonshifted
and shifted) and two groups (normal and with AltGr).
(gdk_keymap_get_direction): Use the codepage corresponding to the
thread's input locale, not the system codepage.
* gdk/win32/gdkglobals.h
* gdk/win32/gdkmain-win32.c
* gdk/win32/gdkprivate-win32.h
* gdk/win32/gdkwindow-win32.h
* gdk/win32/gdkwindow-win32.c: Remove the input_locale and
charset_info fields from GdkWindowImplWin32. Input locale is
per-thread in Windows, and as GDK on Windows really only works
when the GDI interaction all happens in just one thread anyway,
this state can be global. Use globals _gdk_input_locale and
_gdk_input_codepage instead. Set these based on the thread's input
locale (keyboard layout, or which IME is active).
* gdk/win32/gdkevents-win32.c: Set the group and hardware_keycode
fields in GDK key events. On input locale change messages, set
the global state variables, and inform update_keymap() that it
has to rebuild the keymap.
* docs/tutorial/gtk-tut.sgml: Fix typos in pkg-config
invokations. (#72476)
Fixes for #72478:
* gtk/tmpl/gtkprogressbar.sgml: Add note about new GtkProgressBar
API to introduction.
* gtk/gtk-sections.txt: Reorder GtkProgressBar functions to move
undeprecated API to top.
Mon Feb 25 18:59:27 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktooltips.c (start_keyboard_mode): Set the keyboard-mode
flag before popping up the tooltip so that pop it up
in the right place. (#71917, Narayani Pattipati)
Mon Feb 25 22:11:34 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_visible): call
_gtk_tree_view_column_cell_set_dirty when visible, so this column
gets some space allocated. (#70996)
* gtk/gtkliststore.c (gtk_list_store_get_path): add simple
optimization for the tail case
(gtk_list_store_real_set_value): remove unneeded _get_path calls
Sun Feb 24 23:23:28 2002 Owen Taylor <otaylor@redhat.com>
* tests/testselection.c (main): Convert over to using
an GtkInvisible - selections don't work properly
with now NO_WINDOW GtkToggleButton. (Example really
should be using GtkClipboard.)
* gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
Fix problems if sizeof(GdkAtom) != sizeof(Atom). (Unlikely)
* gdk/x11/gdkproperty-x11.c (gdk_property_get): Set
actual_length when converting atoms as well.
(Gregory Merchan, #72074)
2002-02-24 Havoc Pennington <hp@pobox.com>
* gtk/gtkstyle.c (_gtk_draw_insertion_cursor): change to pass in
the cursor direction always, not just when we need an arrow, so we
can flip the cursor around its axis for RTL. Resolves#72372
* gtk/gtkentry.c (gtk_entry_draw_cursor): update for
draw_insertion_cursor change
* gtk/gtklabel.c (gtk_label_draw_cursor): ditto
* gtk/gtktextdisplay.c (gtk_text_layout_draw): ditto
2002-02-24 Alexander Larsson <alla@lysator.liu.se>
* gdk/x11/gdkwindow-x11.c (gdk_window_set_background):
Always NULL out bg_pixmap, even when it used to be None
or parent relative.
2002-02-24 Havoc Pennington <hp@pobox.com>
* gtk/gtktextbuffer.c (parent_class): parent_class variable was
GtkObjectClass instead of GObjectClass
* gtk/gtktextview.c (widget_to_buffer): fix this the way
buffer_to_widget was fixed, to avoid duplicating
the code that computes text_window->allocation.x/y
Sun Feb 24 21:18:20 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtksocket.c (gtk_socket_end_embedding): Fix
off-by-one error. (Pointed out by Anders Carlsson)
Mon Feb 25 01:14:26 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktextlayout.c (find_display_line_above): free iter before
going to done
* gtk/gtktreeview.c (validate_visible_area): free above_path,
(set_destination_row): free path before returning,
(gtk_tree_view_set_drag_dest_row): free current_dest
Sun Feb 24 14:15:45 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextview.c (widget_to_buffer): Take border
width into account.
* gtk/gtklabel.c (get_label_wrap_width): Don't use GdkFont
to compute wrap width ... GdkFont will pull in X11 core
fonts.
Sun Feb 24 00:06:58 2002 Owen Taylor <otaylor@redhat.com>
* Released 1.3.15.
* configure.in: Version 1.3.15, binary, interface age 0.
* NEWS: Updates
* configure.in: Update version requirements.
Sat Feb 23 22:37:23 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkstyle.c (gtk_style_init): Sanity check default
font family name and size.
* gtk/gtkwindow.c (gtk_window_set_default_size): Remove
incorrect comment about the geometry widget.
* gtk/gtkwindow.c (gtk_window_move_resize): Unset the
gtk_window_resize)() information once we've set the size
once, to avoid it coming back next time we queue a resize.
(#72359)
* gtk/gtkwindow.c (gtk_window_move_resize): Remove
setthing of ->need_default_size from here, Havoc
says that it should correspond more or less exactly
to GTK_WIDGET_MAPPED (window).
Sat Feb 23 22:10:52 2002 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.c (gtk_tree_path_new_first): change new_root to
new_first to avoid confusion.
(gtk_tree_model_get_iter_first): ditto.
Sat Feb 23 20:59:05 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkstyle.c gtk/gtkrc.[ch]: gtk/gtksettings.c gtk/gtkstyle.c:
Patch from Richard Hestilow to add a gtk-font-name GtkSetting.
* gdk/x11/gdkevents-x11.c: Add Gtk/FontName XSETTING.
2002-02-24 Tor Lillqvist <tml@iki.fi>
* gtk/gtkfilesel.c: Move inclusion of <windows.h> before inclusion
of <winsock.h>, to actually get STRICT prototypes for Win32
API. Include glib.h early to get G_OS_WIN32 and G_WITH_CYGWIN.
Don't declare static functions that aren't defined if !HAVE_PWD_H
or if G_OS_WIN32.
(win32_gtk_add_drives_to_dir_list): Remove #if 0 code, reindent.
(gtk_file_selection_get_selections): Don't crash if nothing has
been selected.
2002-02-23 Havoc Pennington <hp@redhat.com>
* gtk/gtktextbuffer.c (save_range): change gravity of start/end
marks so that text added at either end of the range doesn't end up
inside the range.
(gtk_text_buffer_real_insert_range): fix to handle pasting a range
into itself. #71412
Sat Feb 23 19:05:34 2002 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (validate_visible_area): Didn't refind node
when it was NULL. Bug found by Tor Lillqvist.
2002-02-24 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (build_keypress_event,
build_keyrelease_event, gdk_event_translate): Set also group in
the key press/release events, always to zero for now.
2002-02-24 Anders Carlsson <andersca@gnu.org>
* gtk/stock-icons/stock_dialog_error_48.png:
* gtk/stock-icons/stock_sort_ascending_16.png:
* gtk/stock-icons/stock_undelete_24.png:
* gtk/stock-icons/stock_sort_descending_16.png:
Alpha-pad icons so they get the correct size.
Sat Feb 23 16:52:38 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c: Patch from Matthias Clasen to remove some
excessive ::changed signals for GtkEntry. (#53130)
2002-02-23 Anders Carlsson <andersca@gnu.org>
* gtk/gtkiconfactory.c (get_default_icons): Register 16x16
versions of most icons.
* gtk/stock-icons: Add 16x16 versions
of most icons.
Wed Feb 20 16:44:05 2002 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): delay
scrolling until we try to draw the window.
* gtk/gtktreeview.c (validate_visible_area): Implement
scroll_to_cell.
2002-02-23 Tor Lillqvist <tml@iki.fi>
* gtk/gtk.def: Add missing gtk_file_selection_get_select_multiple.
Remove gtk_tree_view_column_cell_* entry points that were made
private.
Sat Feb 23 15:43:46 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktogglebutton.c: Make button draw depressed whenever
the user clicks / activates it, whether it's off/on/inconsistent.
Sat Feb 23 11:54:12 2002 Owen Taylor <otaylor@redhat.com>
* gtk/*.h gdk/*.h: Massive padding addition to class structures.
* gtk/gtktextmark.h: Fix a FIXME about G_CONST_RETURN.
Fri Feb 22 20:28:18 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrange.c: Applied patch from Thomas Leonard to make
stepper click to scroll take effect immediately, rather than after
a delay (#67649).
* gtk/gtkrange.c: Remove right-click == step in trough since it
isn't a useful binding and it's a large area to hit accidentally.
(Leave it on the steppers since its more useful there and less
likely to do accidentally.)
Sat Feb 23 03:10:20 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_key_press): honor min_width and
max_width while resizing columns (pointed out by Jorn Baayen)
Fri Feb 22 18:36:45 2002 Owen Taylor <otaylor@redhat.com>
Fixes for AIX compilation from Miroslaw Dobrzanski-Neumann,
#72182.
* demos/gtk-demo/main.c gtk/gtktreeview.c gtk/gtktoolbar.c
gtk/gtkpaned.c gtk/gtkobject.c gtk/gtkcontainer.c
gtk/gtkcolorsel.c gtk/gtkcellrender.c gdk/x11/xsettings-client.h:
Squash trailing commas on enumerations.
* gdk/gdktypes.h: Drop GDK_RELEASE_MASK to 1 << 30 instead
of 1 << 31 to work around AIX compiler problem. (C standard
seems to imply that compiler is required to use an unsigned
type for the enum value in this case.)
* gdk/gdkpixbuf-drawable.c: Fix lvalue casts.
* gtk/gtkwindow.h: Fix use of enum types for bitfields ...
compilers may choose to use a signed type for bitfields.
2002-02-22 Anders Carlsson <andersca@gnu.org>
* gtk/stock-icons/*: Rename icons.
* gtk/stock-icons/Makefile.am: Update for new icon names.
* gtk/gtkiconfactory.c (init_icon_sizes): Set the
GTK_ICON_SIZE_BUTTON size to be 20x20.
(get_default_icons): Change stock names.
2002-02-22 Anders Carlsson <andersca@gnu.org>
* gtk/Makefile.am (HTML_IMAGES): Update for name changes.
Fri Feb 22 22:39:59 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeprivate.h: add last_single_clicked and
last_single_clicked_2 rowrefs and add disable_popdown to the
bitfield
* gtk/gtktreeview.c (gtk_tree_view_destroy): add destroy stuff
for two new rowrefs
(gtk_tree_view_button_press): add some 'advanced' button handling,
so double click is being handled right (double click madness was
discovered by Anders Carlsson)
* gtk/gtktreeview.c (gtk_tree_view_set_property): add missing
break
(gtk_tree_view_class_init): default value of headers_visible
should be TRUE (both pointed out by Damon Chaplin, #71986)
* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
connect to populate_popup,
(gtk_tree_view_search_disable_popdown): new function,
(gtk_tree_view_real_search_enable_popdown): ditto,
(gtk_tree_view_search_enable_popdown): ditto,
(gtk_tree_view_search_dialog_destroy): check for
gtk-tree-view-popdown-disabled (#71868)
* gtk/gtktreeview.c (gtk_tree_view_set_reorderable): move
->priv->reorderable assignment to bottom. (#72122)
2002-02-22 Havoc Pennington <hp@redhat.com>
* gtk/gtkstyle.c (_gtk_draw_insertion_cursor): subtract 1 from
line endpoint, to avoid cursor dirt in the text widget.
zero-width lines appear to draw the endpoint always. #67999
2002-02-22 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (buffer_to_widget): implement more cleanly by
using text_window->allocation.x/y instead of recomputing it.
Fixes a bug caused by leaving out the border width here.
2002-02-22 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (changed_handler): call
gtk_size_group_queue_resize to avoid invalidating the widget every
time its requisition changes. Instead we use the btree invalid
lines to know what to redraw. Fixes#71429
Fri Feb 22 14:08:38 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkradiobutton.c, gtk/gtkcheckbutton.c, gtkbutton.h,
gtktogglebutton.c: feedback when check and radio buttons are
depressed.
Thu Feb 21 23:02:29 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.[ch]: add keynav handling for unselect all,
focus column header, change focus with arrow keys in column headers,
column reordering, column resizing, small try to fix page up/down
(this fixes#70889, and fixes a great deal of #53580)
Thu Feb 21 16:51:17 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkaccelgroup.c (gtk_accelerator_valid): Add
GDK_ISO_Next_Group/Prev_Group/Level3_Shift/
First_Group/Last_Group to list of invalid accelerators.
(A lot more that should be added, but probably would
want a range mechanism. These are the ones found in
the standard XFree86 config files.)
* gtk/gtkbindings.c (gtk_bindings_activate): Fix problem
that broke bindings for menus.
* gtk/gtkwindow.[ch]: Export _gtk_window_activate_key()
privately.
* gtk/gtkmenushell.c (gtk_menu_shell_key_press): Use
_gtk_window_activate_key(), gtk_bindings_activate_event().
Thu Feb 21 12:24:22 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkctree.c (gtk_ctree_class_init): Remove some workarounds
for +/= and shift key handling.
Wed Feb 20 14:26:47 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkkeyhash.[ch]: Implement "fuzzy" key binding lookups;
allow matches on key and level but not group. Also, implement
ignoring "consumed modifiers correctly."
* gtk/gtkaccelgroup.c gtk/gtkbindings.c: Convert to using
GtkKeyHash.
* gtk/gtkdebug.h gtk/gtkmain.c: Support GTK_DEBUG=keybindings
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Fill in
the group for key release events as well as key press events.
* gdk/gdkkeys.h gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
Rename unused_modifiers to consumed_modifiers, make the docs and
non-Xkb implementation match the Xkb implementation.
* gdk/linux-fb/gdkkeyboard-fb.c gdk/win32/gdkkeys-win32.c: Propagate
doc and parameter name changes.
* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
XkbTranslateKeyCode doesn't handle LockMask, we need to handle
it ourselves.
* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Force
<Shift>Tab to give GDK_ISO_Left_Tab, since we need consistency
to allow dealing with ISO_Left_Tab.
* gtk/gtkwindow.c gtk/gtktextview.c gtk/gtkscrolledwindow.c
gtk/gtkpaned.c gtk/gtkcombo.c gtk/gtknotebook.c:
Remove inappropriate uses of GDK_ISO_Left_Tab. (GDK_ISO_Left_Tab
or <Shift>Tab both are equivalent as a binding specifier.)
* gtk/gtkbutton.c (gtk_button_class_init): Make ::activate
GTK_RUN_ACTION, so you can bind an accelerator to it.
* gtk/gtklabel.c (gtk_label_set_uline_text_internal): Call
gdk_unicode_to_keyval on the mnemonic character.
* tests/testgtk.c: Add a test for the new fuzzy key binding matching.
Wed Feb 20 21:52:13 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkselection.c (gtk_selection_request): Set the property
as type ATOM_PAIR, not ATOM. (#72074, Gregory Merchan.)
* gdk/x11/gdk{property,selecton}-x11.c: Auto-convert properties
of type ATOM_PAIR as well as properties of type ATOM.
Thu Feb 21 00:31:41 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkspinbutton.c: Many cleanups and fixes. Draw exclusively
in expose handler. Feedback when buttons are depressed.
* gtk/gtkstyle.c: update for changes in gtkspinbutton.c. Fix
spinbuttons for RTL langauges.
Wed Feb 20 23:00:08 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkstyle.c: new radio buttons. handle inconsistent state for
check- and radiobuttons.
* gtk/theme-bits/check-13-inconsistent.png,
gtk/theme-bits/radio-13-inconsistent.png: new files
* gtk/theme-bits/radio-13.png: new radio buttons
* gtk/theme-bits/Makefile.am (EXTRA_DIST): add new
-inconsistent.png files
Wed Feb 20 16:19:49 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c: Add a XSETTING mapping for
gtk-can-change-accels. (#70218, Thomas Leonard.)
2002-02-20 Sven Neumann <sven@gimp.org>
* gtk/gtkcolorsel.c (gtk_color_selection_finalize): check
handler_id before disconnecting the signal handler since it might
have never been connected if the GtkColorSelection is destroyed
before it was realized.
* docs/tutorial/gtk-tut.sgml: Fold back Svens g_signal fixes from
the examples.
* docs/tutorial/gtk-tut.sgml, examples/progressbar/progressbar.c,
examples/progressbar/Makefile: Make the progressbar example
deprecation-clean.
Tue Feb 19 22:10:59 2002 Kristian Rietveld <kris@gtk.org>
* gtktreeviewcolumn.c (gtk_tree_view_column_mnemonic_activate): new
function
(gtk_tree_view_column_create_button): use g_signal_* instead of
gtk_signal_*, hook up _mnemonic_activate callback
(gtk_tree_view_column_update_button): use
gtk_label_set_text_width_mnemonic instead of gtk_label_set_text
(#69095)
* gtktreeview.c (gtk_tree_view_class_init): remove key bindings
for C-f and C-b, let treeview search use C-f (instead of C-s)
(#61886)
* gtkrc.key.emacs: add some GtkTreeView bindings
2002-02-19 Sven Neumann <sven@gimp.org>
* examples/*/*.c: finish conversion to g_signal_* functions by
using G_OBJECT and G_CALLBACK and other assorted changes.
Tue Feb 19 17:36:31 2002 Kristian Rietveld <kris@gtk.org>
* gtktreeprivate.h, gtktreeviewcolumn.[ch], gtktreeview.c: change
gtk_tree_view_column_cell_render,
gtk_tree_view_column_cell_focus,
gtk_tree_view_column_cell_draw_focus and
gtk_tree_view_column_cell_set_dirty to be private functions.
* gtktreeviewcolumn.[ch]: add install_handler argument to
_cell_set_dirty to control if _mark_rows_col_dirty (which calls
install_presize_handler) gets called, set widths correctly so
autosizing works (#71870)
* gtktreeview.c (gtk_tree_view_column_autosize): new function,
(gtk_tree_view_button_press): make double click on column
separator resize the row (#71870)
(gtk_tree_view_get_dest_row_at_pos): change DnD threshold to 33%
(#71869, suggestion by Anders Carlsson)
Mon Feb 18 23:16:16 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmain.[ch]: Add routines _gtk_find_module(),
_gtk_get_module_path() to look up a module of an arbitrary type in
a standard fashion. (#68474)
* gtk/gtkrc.c: Make module_path keyword warn and do
nothing. Remove the im_module_path keyword.
* gtk/gtkrc.c (gtk_rc_get_im_module_path): Fix
to return the standard path instead of one determined
from im_module_path and GTK_IM_MODULE_PATH.
* gtk+-2.0.pc.in: Add gtk_host to go along with gtk_binary_version.
Mon Feb 18 18:27:45 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Select
the right item in the family list. (Reported by Mark Patton,
Patch from Satajyit Kanungo, #64240)
* gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Update
the size and face entry lists as well, fix memory leak.
(Also #64240)
* gtk/gtkfontsel.c (gtk_font_selection_show_available_sizes):
Allow fractional sizes, unselect the selected row if none
matches.
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_focus): Fix
a bug where the scrolled window would always get focus
when focusing out of the child.
2002-02-18 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkevents-win32.c : process WM_PAINT messages
for bg_pixmap == GDK_NO_BG, fixes The GIMP's canvas
rendering glitches on win32
* gdk/win32/gdkinput-win32.c : use g_object_new to create
GdkDevice instead of g_new
* gtk/gtkpaned.c : make LAST_SIGNAL the last in enum.
This avoids to smash totally unrelated static data and
resulting random crashes. (as reported on gtk-devel-list,
2002-02-10 : testgtk crashes)
* gtk/gtk.def : add new file selection entry points
Mon Feb 18 17:34:43 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c gtk/gtktextview.c: Remove support for
the poorly defined text/plain type for now. (#55117)
Mon Feb 18 16:44:00 2002 Owen Taylor <otaylor@redhat.com>
* docs/widget_system.txt: Add some docs for GTK_NEED_REQUEST
GTK_NEED_ALLOCATION.
* gtk/gtkmenu.c (gtk_menu_popup): Scroll the menu
to the right place before showing the menu to
avoid spurious enter events.
* gtk/gtkmenu.c (gtk_menu_realize): Only scroll
if there is an active menu item.
* gtk/gtkwidget.c (gtk_widget_init): Set RESIZE_NEEDED
ALLOC_NEEDED initially.
2002-02-18 Manish Singh <yosh@gimp.org>
* Makefile.am: don't comment out the lines to dist the packer
example, just simply remove it. (the continuation line confused
make even though it was in the comment, barf)
Mon Feb 18 14:40:22 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcombo.c (gtk_combo_popdown_list): Fix problems
with stuck grab (#60132, reported by Nicolas Setton) and
stuck prelighting. Combine duplicated code in three
places for popping down the list.
Mon Feb 18 14:17:59 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkclist.c (adjust_adjustments)
* gtk/gtklayout.c (gtk_layout_size_allocate)
* gtk/gtktextview.c (gtk_text_view_size_allocate)
* gtk/gtktreeview.c (gtk_tree_view_size_allocate)
* gtk/gtkviewport.c (gtk_viewport_size_allocate):
Standardize on a page increment of page minus 1 line
rather than half a page (#51027, Eric Fischer)
* gtk/gtkviewport.c (gtk_viewport_size_allocate):
Change step increment to be 0.1 * page_size height rather than
a fixed 10 pixels.
Mon Feb 18 12:31:52 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress):
Don't commit unless we got at least one hex digit. (#70619)
Sun Feb 17 21:30:49 2002 Owen Taylor <otaylor@redhat.com>
* Released 1.3.14
* configure.in: Version 1.3.14, interface, binary age 0.
* gdk/gdkregion-generic.c (miSubtractO): Fix out-of-bounds
read. (#71619, reported by Morten Welinder)
* gtk/gtkmenu.c (gtk_menu_class_init): Fix setting default.
* gtk/gtkfilesel.c (gtk_file_selection_class_init): Add
a select_multiple property to go along with thenew
get/set_select_multiple.
* gdk/gdkwindow.c: Patch from Soeren Sandmann to improve
update debugging code. (#71703)
2002-02-17 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkcolor-win32.c (free_colors): Don't set the
PC_EXPLICIT flag for unused palette entries, that might have
undesired side effects. Just set them to black. Black is always
present in a palette, so having superfluous black entries won't
cause any extra allocations from the system palette either when
realized.
* gdk/win32/gdkevents-win32.c
(gdk_event_translate:WM_QUERYNEWPALETTE): Don't do anything if the
system visual is static color, i.e. the user has told GDK to use
just the 16 static colors. In that case no need to redraw
anything, as the colors are static and by definition always
correctly mapped in the system palette.
(WM_PALETTECHANGED): Ditto, no need to call UpdateColors() either.
* docs/tutorial/gtk-tut.sgml, examples/paned/paned.c,
examples/paned/Makefile: Make the paned example deprecation-clean.
* various ChangeLog files: correct my email.
2002-02-16 Manish Singh <yosh@gimp.org>
* tests/testgtk.c: redid the filesel test. Added a way to set select
multiple as a toggle button, and made show/hide fileops toggle
buttons as well. get_selections() is called on OK and all the
filenames selected are printed.
2002-02-17 Tor Lillqvist <tml@iki.fi>
* gdk/win32/*.c: Massive changes. Too many to list here, but I'll
try a summary:
1) Unify GdkPixmap and GdkImage implementation: For each
GdkPixmap, allocate a GdkImage, and vice versa.
GdkPixmapImplWin32Data has a pointer to the GdkImage.
GdkImage::windowing_data is a pointer to the GdkPixmap.
This simplifies many pixmap and image related functions a lot, and
reduces duplicated code snippets. For instance, there is only one
place in gdk/win32 where CreateDIBSection() is called, in the
function _gdk_win32_new_pixmap(). Converting a bitmap (GdkPixmap)
to a Windows region is almost trivial, with the bitmap bits being
readily accessible in the associated GdkImage.
All blitting between GdkPixmaps, GdkWindows and GdkImages goes
through handled the _gdk_win32_blit() function, which calls
different functions to handle the cases of blitting from pixmaps,
inside windows (scrolling), or from windows, which all require
somewhat different handling.
2) Support 256-color mode. This has long been very broken, now it
works more or less OK. Keep the logical palette for each colormap
as small as possible while allocating and freeing colors. Select
and realize the logical palette associated with a GdkColormap into
a DC before drawing or blitting.
When the display is in 256-color mode, make it possible for the
user to override the size of the palette(s) used with either the
GDK_WIN32_MAX_COLORS environment variable, or a -max-colors
command line option. It is possible to reduce the palette size all
the way down to using just the 16 static colors (which causes the
system visual to be of type GDK_VISUAL_STATIC_COLOR. This could
possibly be useful if one desperately wants to avoid color
flashing. (Note that in order for this to work properly, an as of
yet not commited fix to gdkrgb.c is needed.)
Handle the palette messages. On WM_PALETTECHANGED, call
UpdateColors() for the given window hierarchy. Do this only if a
window in some other top-level window hierarchy caused the palette
change (realized a palette). Do this max five times in a row (an
arbitrarily chosen limit), though, otherwise redraw by generating
expose events. On WM_QUERYNEWPALETTE, cause a redraw of the whole
window hierarchy by generating GDK_EXPOSE events.
3) Code cleanup in general. For instance, remove the "emulated"
X11 structs ColormapStruct, Visual and XStandardColormap. Use the
new GDK_DEBUG_* flags for debugging output in the relevant source
files. Remove the unused colormap hash table in gdkcolor-win32.c
4) Plug some resource leaks.
2002-02-14 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkdnd-win32.c (gdk_dropfiles_filter): Use
g_filename_to_uri() to actually create legal URIs in the
text/uri-list data.
* examples/*/Makefile (CFLAGS): add deprecation guards.
* docs/tutorial/gtk-tut.sgml, examples/*/*.c: make most examples
deprecation-clean; the major offenders right now are the examples
that make heavy use of completely deprecated or broken widgets:
list, tree, text, pixmap, paned and progressbar. These will have
to be redone from scratch.
* demos/Makefile.am (INCLUDES): add -DGDK_PIXBUF_DISABLE_DEPRECATED.
Sun Feb 17 00:13:06 2002 Kristian Rietveld <kris@gtk.org>
This commit lands the 'dy patch'.
* gtk/gtktreeview.c (validate_rows_handler): update top_row or dy,
(gtk_tree_view_top_row_to_dy): new function,
(gtk_tree_view_row_changed): update top_row or dy,
(gtk_tree_view_rows_reordered): update top_row
* examples/extract.awk: rearrange rules to not emit the example
start and end markers.
* docs/tutorial/gtk-tut.sgml: turn the start and end markers into
SGML comments, so they don't clutter the formatted tutorial.
2002-02-16 Havoc Pennington <hp@pobox.com>
* gtk/gtkwindow.c (gtk_window_parse_geometry): take
GDK_HINT_RESIZE_INC into account, and handle negative coordinates
correctly. (Can't email Owen - hope this is OK.)
Fri Feb 15 20:09:45 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkscrolledwindow.[ch] gtk/gtkmarshallers.list:
Add key bindings on GtkScrolledWindow for arrow keys,
PageUp/PageDown Home/End to scroll the window.
Bind Control-[Shift]-Tab to focus out of the scrolled
window entirely. Allow the scrolled window to be
focused if no child can be focused. (#63480)
* gtk/gtkwidget.c (gtk_widget_hide): Remove the REALIZED()
check - if we have visible but not mapped widgets
(inside a unshown notebook tab, for instance), we need
to track their size. (#65087, reported by Damon Chaplin.)
* gtk/gtkcolorsel.c (palette_change_color): Shut up
a warning.
2002-02-16 Tor Lillqvist <tml@iki.fi>
* gdk/win32/rc/Makefile.am (gdk-win32res.lo): Depend on gtk.ico.
* gdk/win32/rc/gtk.ico: Use the real GTK logo. Thanks to Jernej
Simoncic for providing the nice multi-resolution .ico file.
Fri Feb 15 19:38:00 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreestore.c (gtk_tree_store_clear_traverse): new function
(gtk_tree_store_clear): traverse the tree, so we emit row_deleted
for every node. This way we don't have confused row refs crashing the
application. (#70631)
2002-02-14 Richard Hult <rhult@codefactory.se>
* gtk/gtkpaned.c (gtk_paned_enter): Only queue a draw on the
handle, not the whole widget. #71530.
(gtk_paned_leave): Likewise.
2002-02-14 Jody Goldberg <jody@gnome.org>
* gtk/gtkrange.c (gtk_range_class_init) : add new signal
'adjust_bounds' to potentialy change the bounds before assigning the
new value and camping it to the existing bounds.
(gtk_range_internal_set_value) : used here. #68800.
* gtk/gtkmarshalers.list : add VOID:DOUBLE
* examples/extract.sh, examples/extract.awk: Make extraction work.
* examples/Makefile (SUBDIRS): Remove packer.
* examples/packer/pack.c, examples/packer/Makefile: Removed.
* docs/tutorial/gtk-tut.sgml: Fix the included examples far
enough to make them compile and (mostly) work, remove the packer
example.
Thu Feb 14 16:46:48 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c gtk/gtktextdisplay.c gtk/gtklabel.c
gtk/gtkstyle.[ch] gtk/gtkwidget.c: Patch from Bill
Haneman and Padraig O'Briain to add cursor_aspect_ratio
style property to GtkWidget to allow theming the aspect
ratio of the cursor.
* gtk/gtkentry.c gtk/gtktextview.c gtk/gtklabel.c
gtk/gtkwidget.c tests/testgtkrc: Move cursor-color style property
to GtkWidget.
Thu Feb 14 11:13:22 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkimmulticontext.c (gtk_im_multicontext_get_surrounding):
Fix bug where we called get_surrounding on the context,.
not the slave.
Thu Feb 14 00:10:09 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktooltips.c (gtk_tooltips_event_handler): Only
pop the tooltip down on a select set of events, not
on any unknown event. (#71157, Jody Goldberg)
* gtk/gtktooltips.c (gtk_tooltips_event_handler):
Fix some warnings.
Thu Feb 14 00:02:21 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcalendar.c (gtk_calendar_size_request): A bunch of
small allocation/drawing fixes.
* gtk/gtkcalendar.c: Replace DAY_XPAD, DAY_YPAD with
GtkWidget::focus-padding
Wed Feb 13 23:01:20 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcalendar.c: Patch from Bill Haneman to draw
to focus using gtk_paint_focus() with the focus width
GtkWidget::focus-width. (#63075)
* gtk/gtkcalendar.c (gtk_calendar_size_request): Initialize
label_char_ascent/descent to 0. (#56925)
2002-02-13 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (gtk_text_view_flush_scroll): validate a
larger area, proportional to widget size, to fix
#71427 reported by Dennis Bjorklund
2002-02-13 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (gtk_text_view_paint): just go ahead and flush
all the first validate stuff if it hasn't been done, presumably
someone called process_updates at a weird time.
* tests/testtext.c (do_apply_colors): terminate on >= end, not >
end, avoids infinite loop when end is at the end of the buffer.
* gtk/gtktextbtree.c (_gtk_text_btree_delete): when creating a
line data, we were adding it to the wrong line ("line" instead of
"start_line")
2002-02-13 Joe Shaw <joe@ximian.com>
* gtk/gtktreeitem.c (gtk_tree_item_expose): Don't chain up to the
container's expose event. Instead call
gtk_tree_item_expose_child() on each child. Avoids a failed
g_assert() in gtk_container_propagate_expose().
(gtk_tree_item_expose_child): Added. Synthesize an expose event
for our children. Basically gtk_container_propagate_expose()
minus the g_assert(). (#71396)
2002-02-13 Tor Lillqvist <tml@iki.fi>
* gdk/gdkinternals.h: Add some more GdkDebugFlags, for more
fine-grained debugging output (mainly used in the Win32 backend).
* gdk/gdk.c: Corresponding additions to the gdk_debug_keys table.
Wed Feb 13 15:42:42 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktooltips.[ch] gtkwidget.c: Implement Control-F1
as toggle-tooltips-mode.
* gtk/gtktooltips.c: Remove parsing of tooltips style
string from here ... now in gtkrc.c.
Wed Feb 13 12:41:44 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmain.c (gtk_init_check): g_warning() if setting
the local fails, like gdk_set_locale() did.
* gdk/x11/gdkselection-x11.c (gdk_text_property_to_utf8_list):
Don't free local_list if local_count == 0. (#71241, reported
by Kevin Vandersloot.)
* gdk/x11/gdkselection-x11.c (gdk_text_property_to_text_list):
Clean up list == NULL handling and failure.
Wed Feb 13 11:27:31 2002 Owen Taylor <otaylor@redhat.com>
* tests/testtreeview.c (typesystem_recurse): Cast GType
to long and use %ld to fix warning. (#71318, Morten Welinder)
Wed Feb 13 06:42:37 2002 Tim Janik <timj@gtk.org>
* gtk/gtktable.c (gtk_table_size_allocate_pass1): partly revert
my recent expanding change to not expand the table if all children
have not epxand behaviour. this fixes palette views which often
use homogeneous non-expanding tables.
Tue Feb 12 14:27:41 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): emit
row_deleted before we start unreffing the nodes ourselves
(gtk_tree_model_sort_increment_stamp): always increment the stamp,
and not only if the stamp equals 0 (pointed out by Darin Adler)
* gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): we want
to continue the while loop and not the nested for loop.
Tue Feb 12 02:19:49 2002 Tim Janik <timj@gtk.org>
* gtk/gtktable.c (gtk_table_size_allocate_pass1): always spread out
the extra space allocated for the homogeneous case, as we don't
properly deal with readjusting table allocation within it. (for this
purpose, a GtkAlignment can be used as table parent).
* gtk/gtktreemodelsort.c: (gtk_tree_model_sort_row_changed):
Consider reordering the row even when there's no sort column, if
there's a default sort function.
(gtk_tree_model_sort_rows_reordered): Use symbolic constants.
(gtk_tree_model_sort_level_find_insert): Add code to handle the
case where there is no sort column, but a default sort function.
(gtk_tree_model_sort_insert_value): Add code to handle the case
where there is no sort column an no default sort function.
(gtk_tree_model_sort_set_model): Use symbolic constant.
(gtk_tree_model_sort_reset_default_sort_func): Use symbolic constant.
2002-02-11 Sven Neumann <sven@gimp.org>
* gtk/gtkfilesel.c: converted the "Delete File" dialog to
GtkMessageDialog. Marked missing strings for translation.
Mon Feb 11 21:42:17 2002 Kristian Rietveld <kris@gtk.org>
Implements DnD scrolling and fixes#71139
* gtk/gtktreeview.c (gtk_tree_view_vertical_autoscroll): new function,
(scroll_row_timeout): new function,
(gtk_tree_view_drag_motion): create scroll_timeout, so
scroll_row_timeout gets called
Mon Feb 11 17:54:46 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): set upper
member of hadjustment correct, so the hscrollbars of lists smaller
than 1 page (in width) are somewhat saner
Mon Feb 11 16:48:34 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtkliststore.c (gtk_list_store_set_valist): set value of
func to NULL during initialization (we don't use func in the
!SORTED case, so we just silent the compiler here) (#71029)
Mon Feb 11 16:40:44 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_set_model): install presize
handler, so the validate_rows_handler will always be run (#70997)
Sun Feb 10 22:20:46 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtkliststore.c (gtk_list_store_sort_iter_changed): increase
value of new_location by one if cmp_a > 0 and we hit the end of
the list and pass NULL instead of a 'NULL-iter' with
_rows_reordered
Sun Feb 10 12:32:44 2002 Owen Taylor <otaylor@redhat.com>
* modules/input/Makefile.am modules/input/{imam-et.c, imti-er.c,
imti-et.c} po/POTFILES.in: Add three Ethiopic input methods from
Daniel Yacob.
2002-02-10 Anders Carlsson <andersca@gnu.org>
* gtk/gtkcalendar.c (gtk_calendar_class_init): Set finalize handler;
(gtk_calendar_finalize): Rename gtk_calendar_destroy to gtk_calendar_finalize
since ::destroy can be called multiple times, resulting in double-freeing memory.
2002-02-10 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkgeometry-win32.c : don't reduce the scroll
rect size by the scroll amount
* gdk/win32/gdkwindow-win32.c
* gdk/win32/gdkselection-win32.c : added some casts to
make it compile with msvc's strict type checking
* gtk/fnmatch.c : #include <ctype.h> again for tolower
prototype. The fnmatch() code assumes to be in the crt
locale though it is feeded by utf8 strings from gtkfilesel.c
* gtk/gtkfilesel.c : let ->cmpl_text be a strdup managed by
_CompletionDir instead of referencing already freed memory
* gtk/gtktooltips.c (gtk_tooltips_init) : fix typo to
gtk_rc_parse_string (theDefaultTooltipColor) once as it
was intended
* tests/makefile.msc : added more tests
* tests/testgtk.c (create_list) : don't try to load gtkenums.h
from the current directory use ../gtk/gtkenums.h instead
* gtk/gtknotebook.c (gtk_notebook_set_focus_child): Avoid segfault
for selectable tab labels (even without a segfault, they make the
notebook almost unusable, though). (#69985)
* gtk/gtkmenuitem.c (gtk_menu_item_set_accel_path): Silently do
nothing if the parent is not a menu. (#66492)
* gtk/gtkitemfactory.c (gtk_item_factory_from_widget,
gtk_item_factory_path_from_widget): Try fetching the return value
from menu_item->submenu as a fallback. (#69020)
Sat Feb 9 22:57:43 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_build_level): convert
the iter to a child iter again, after doing _iter_children. It's
possible that _iter_children added some rows and updated the stamp.
2002-02-09 Daniel Elstner <daniel.elstner@gmx.net>
* gtk/gtktextchild.c (CHECK_IN_BUFFER_RETURN): Add missing curled braces so that it doesn't always return. Also indent both CHECK_IN_BUFFER* macros properly, and make use of G_STMT_START/G_STMT_END.
Sat Feb 9 00:16:31 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkimage-x11.c (_gdk_x11_copy_to_image):
XCopyArea with subwindow_mode = IncludeInferiors.
(#70999)
* demos/testpixbuf-save.c (configure_cb): Fix a minor
memory management problem.
Fri Feb 8 20:24:58 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkbindings.c (binding_compose_params): Fix problem
with string-valued parameters (#70012, Johan Dahlin.)
* gtk/gtkentry.c (gtk_entry_delete_whitespace): Fix
white space deletion.
Fri Feb 8 21:25:56 2002 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): fix
evil ref bug where the wrong row and a deleted row was unreffed.
Found by Darin Adler <darin@bentspoon.com>
Fri Feb 8 18:46:13 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkbindings.[ch] (_gtk_binding_reset_parsed): Add
a function to delete all bindings add by
gtk_binding_parse_binding() when rereading RC files.
* gtk/gtkrc.c (gtk_rc_reparse_all_for_settings): Reset
binding set content as well as RC content.
* gtk/gtkbindings.c (binding_compose_params): Fix
various GValue handling problems.
* gtk/gtkentry.c (gtk_entry_class_init): Remove bindings
for C-b, C-f, M-b, M-f, C-a, C-e, C-w, C-y, M-space, C-u,
C-k, M-\, M-d, C-d.
* gtk/gtktextview.c (gtk_text_view_class_init): Remove
same bindings as GtkEntry, plus C-n, C-p, C-space
* gtk/gtkrc.key.default gtk/gtkrc.key.emacs gtk/Makefile.am:
Add Emacs and Default key themes.
Fri Feb 8 14:30:14 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkclist.c (title_focus_in): Return FALSE if
not shoing the titles. (#70959, Thomas Leonard)
* gtk/gtktreemodelsort.c: (gtk_tree_model_sort_ref_node),
(gtk_tree_model_sort_unref_node): Pass the ref_node and
unref_node calls through to the child model.
2002-02-07 Havoc Pennington <hp@pobox.com>
* gtk/gtkspinbutton.h (struct _GtkSpinButtonClass): add
change_value virtual function, to fix build
* gtk/gtkpixmap.c (gtk_pixmap_class_init): parent_class was
from GtkWidget not GtkMisc. Not that it ever mattered.
Thu Feb 7 19:52:00 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.[ch]: Add ::move-focus-out signal
to handle Control[-Shift]-Tab and Control-arrow
bindings and implement bindings as per #53612.
* gtk/gtktextview.c (gtk_text_view_move_focus): Fix
fetching the toplevel for plug-socket.
* gtk/gtknotebook.c (gtk_notebook_class_init): Remove
bindings for Return/Enter to select the page.
* gtk/gtknotebook.c (gtk_notebook_change_current_page):
Beep at ends.
* gtk/gtknotebook.c (focus_tabs_move): Don't wrap around
and beep at ends.
* gtk/gtknotebook.c (gtk_notebook_focus): When focusing into
the page with the arrow keys, focus the first widget,
not the directionally closest widget.
Thu Feb 7 19:00:10 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkspinbutton.c (gtk_spin_button_key_release): Convert
to using binding set for doing key bindings. (#62622,
Requested by Skip Montaro)
* gtk/gtkwindow.c (gtk_window_class_init): Add control-arrow
bindings as overrides along with control-tab bindings.
* gtk/gtknotebook.c (gtk_notebook_class_init): Fix return
type for ::focus_tab signal.
Thu Feb 7 19:39:27 2002 Kristian Rietveld <kris@gtk.org>
Fixes#70782 and some drag dest rectangle/line issues
* gtk/gtktreeview.c (gtk_tree_view_set_model): set
GTK_TREE_VIEW_IS_LIST flag (we can switch from a TreeStore to a
ListStore for example)
(gtk_tree_view_get_path_at_pos): revert previous change, we
shouldn't correct for the header, because we are taking bin_window
coordinates here
(gtk_tree_view_set_drag_dest_row): queue old drag_dest row and
upper/lower neighbors for draw, so the drag dest rectangle/line will
be cleared correctly
(gtk_tree_view_get_dest_row_at_pos): correct for treeview header
here, as drag_y is relative to the widget and _get_path_at_pos wants
coords relative to bin_window, draw black outline rectangle after
drawing the cells
Thu Feb 7 10:53:12 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_draw_text): Use layout text
(which may be affected by invisible char) to compute
selection bounds, not entry text. (#70733, Alex Larsson)
* gtk/gtkwidget.[ch]:
Change show_help signal to return gboolean instead of void. This
allows the keypress which invokes the signal to be propagated to the
focus widgets ancestors if not handled by the focus widget.
* gtk/gtktoolips.[ch]
Change _gtk_tooltips_show_tip () to return a gboolean indicating
whether widget has tooltip to display.
* gtk/gtkwidget.[ch]:
Change popup_menu signal to return gboolean instead of void. This
allows the keypress which invokes the signal to be propagated to the
focus widgets ancestors if not handled by the focus widget.
* gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtktextview.c:
Change signature of popup_menu signal handler to return gboolean
instead of void and return TRUE in the signal handler
Wed Feb 6 23:28:39 2002 Kristian Rietveld <kris@gtk.org>
Fixes#70708
* gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): we're dealing
with widget coordinates here, so take the header height into
account while converting
(gtk_tree_view_widget_to_tree_coords): take header height into
account
(gtk_tree_view_tree_to_widget_coords): ditto
(gtk_tree_view_get_dest_row_at_pos): we were passing coords
relative to the tree with _get_path_at_pos, while that function
wants coords relative to the widget
2002-02-06 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (gtk_text_view_scroll_hpages): remove unused variable
(gtk_text_view_get_window): add warning about how you
can't get the private window. #70683, and avoid default: in the
switch so we get "enum value unhandled" warnings
2002-02-06 Havoc Pennington <hp@redhat.com>
* gtk/gtktextchild.c: Add warnings if you try to use a child
anchor that isn't inside a buffer. Really kind of lame;
we should separate the anchor from the buffer. But not worth
fixing for now. #70601
Wed Feb 6 18:25:24 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelsort.c: rip out all the debugging ifdefs, as
modelsort seems to be stable (and nobody complained :)
Tue Feb 5 19:13:42 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkgeometry-x11.c (gdk_window_queue): Keep
the length of the anti-expose queue finite, by if
it gets too long, first doing a XSync() and checking
the event queue, and if that doesn't work, simply
discarding all anti-expose items in the queue.
* gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Fix ordering
on ConfigureNotify (#56349, Thomas Leonard)
2002-02-05 Havoc Pennington <hp@redhat.com>
* gtk/gtkimage.c (gtk_image_expose): offset area being gotten from
pixmap by the align/padding offsets, so we don't get warnings
in gdk_pixbuf_get_from_drawable (and so it works, of course)
* gtk/gtkrc.c (gtk_rc_parse_file): Remove a (now) misleading comment.
* gtk/tmpl/gtkrc.sgml: Update the description of RC file loading
to match recent code changes. Also document font_name and engine.
Tue Feb 5 22:54:16 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtkliststore.c (gtk_list_store_insert_after): let's set the
path, which we're going to pass with the emission of row_inserted, to
the iter we inserted and not its sibling.
Mon Feb 4 10:40:28 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkstyle.c (gtk_default_draw_resize_grip):
Fix from Matthias Clasen to clear background appropriately
for theme by calling gtk_style_apply_default_background().
(#70449)
Sat Feb 2 21:54:01 2002 Owen Taylor <otaylor@redhat.com>
RC file lookup improvements (#68234, suggestions
from Matthias Clasen.)
* gtk/gtkrc.c (gtk_rc_parse_file): Look for the
locale suffix variants (gtkrc.en_US, gtkrc.en) for
all RC files we parse, not just the default RC
files.
* gtk/gtkrc.c (gtk_rc_parse_default_files): Remove
support for charset specific RC files.
Sat Feb 2 20:16:04 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenushell.c (_gtk_menu_shell_select_first):
Non-exported _gtk_menu_select_first() function that
selects the first item of the menu in a standard
way. (Skipping tearoffs.)
* gtk/gtkmenushell.c gtk/gtkentry.c gtk/gtktextview.c
gtkmenuitem.c: Use _gtk_menu_shell_select_first().
* gtk/gtkmenuitem.c (gtk_real_menu_item_select): Remember
if we are starting the timeout from a keypress so
we can set menushell->ignore_enter properly.
* gtk/gtknotebook.c (focus_child_in): Return something
meaningful if there are no children.
* gtk/gtkmenu.c (gtk_menu_key_press): Fix precendence
problem.
Sat Feb 2 17:43:00 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_grab_focus): Add a GtkSetting
(gtk-entry-select-on-focus) controlling whether the
contents of an entry are selected on focus in.
* gtk/gtkmenu.c (gtk_menu_key_press): Add a GtkSetting
(gtk-can-change-accels) controlling whether accelerators can be
changed on the fly or not. (#51902)
* gtk/gtkmenu.c (gtk_menu_key_press): Allow unmodified
accelerators, now that accelerator changing can be turned
off for those who won't expect it. (#61285)
* gtk/gtkaccelgroup.c (gtk_accelerator_valid): Allow
Backspace/Delete/KP_Delete as valid accelerators.
* gtk/gtkmenu.c (gtk_menu_key_press): Allow setting of
Delete/Backspace as accelerators by making them toggle
the menu item between empty and the pressed key.
(#58605)
* tests/testgtkrc: Remove the objectionably short cursor blink
time setting.
Sat Feb 2 16:43:31 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenu.c (gtk_menu_popup): To get around the fact
that we may have a owner_events = FALSE grab in effect
when we pop up a window, make a temporary grab on a
different window, then grab on the real window. Fixes
a problem where if a context menu popped up under the
cursor, the first item would be stuck unselected.
(#59812, reported by Arnaud Charlet.)
2002-02-02 Peter Williams <peterw@ximian.com>
* gtk/Makefile.am (install-data-local): Install gtkrc.default
from $(srcdir) for when $(builddir) is different.
Sat Feb 2 11:37:21 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenu.c (gtk_menu_popup): Remove the
"select first item if popped up from keypress" hack --
was causing more problems than it was worth
(#53191, #68483)
* gtk/gtktextview.c (popup_targets_received):
gtk/gtkentry.c (popup_targets_received): If activated
from keyboard, select first item of popup menu.
Sat Feb 2 18:07:51 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): set upper member
of vadjustment correct, so the vscrollbars of lists smaller than
1 page are somewhat saner (#66905)
* gtk/gtkliststore.c (gtk_list_store_remove_silently): do not
increment the stamp, liststore is a model with persisting iters
Fri Feb 1 23:54:00 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.[ch] (gtk_rc_parse_engine): Support
engine "" {} to mean override to the default
engine. (#70205)
Fri Feb 1 23:25:33 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktooltips.c (gtk_tooltips_init): Parse the
RC string here when the first object is created
rather than in the class_init to not break doc
building. (#70341, Havoc Pennington.)
* gtk/gtkrc.c (parse_include_file): Use the directories
for the currently parsed files as the starting point
to look for include files. (#59975)
Fri Feb 1 19:57:59 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Fix use of ! in shell.
* gtk/gtktooltips.c (gtk_tooltips_class_init) gtkrc.default:
Move the setting of default tooltips colors to gtktooltips.c
from gtkrc.default. (Use default priority so themes will
override.) (#58542)
Fri Feb 1 17:48:51 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c (gtk_rc_get_style): Fix ordering of
priorities so that priorities take precendence over
the ordering by type. (#70205)
* test/testgtkrc tests/testgtk.c (create_rc_file): Add
some labels to test priorities in testgtkrc.
Fri Feb 1 00:37:49 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): use
y coordinate relative to the tree and not the treeview window
(fixes the PgDn/PgUp brokenness)
Fri Feb 1 23:40:31 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_button_press): adjust
cell_area and background_area for possible treeview scroll
(fixes#70283, #70065)
Fri Feb 1 22:20:13 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): use
height - page_size not height - allocation->height (fixes#66269)
Fri Feb 1 22:20:13 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): use
height - page_size not height - allocation->height
Fri Feb 1 14:50:36 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c (gtk_rc_parse_string): Handle reparsing
any strings if the theme changes. (#69465)
* tests/testgtk.c: Add a test for gtk_rc_parse_string().
Fri Feb 1 20:50:29 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): set tree to
NULL if tree_view->priv->tree is NULL (#70152, patch by John Harper).
* gtk/gtkmain.c (gtk_exit_func): Remove this useless
atexit handler. (existance pointed out by Stefan Kost)
* gtk/gtkmain.c (gtk_init_check): Warning fixes.
Thu Jan 31 18:46:10 2002 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.c (gtk_tree_row_reference_free): unref the
model after the last use, not before.
Thu Jan 31 14:50:16 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.default gtk/Makefile.am: Install a Default
RC file that sets the tooltips color to yellow. (#58542)
* gtk/gtksettings.c (gtk_settings_class_init): make
the default theme "Default", not NULL.
Thu Jan 31 11:33:52 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkproperty-x11.c (insert_atom_pair): Fix
another missing static.
* gtk/gtkimmodule.c (n_loaded_contexts): And another.
* gdk/x11/Makefile.am gdk/x11/gxid_lib.c: Don't
build gxid sources at all except in the vanishingly
rare case of --with-xinput=xfree.
Thu Jan 31 10:21:05 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkplug.c (gtk_plug_focus): Handle the case where
bin->child is NULL. (#70153, Padraig O'Briain)
* gtk/gtktextutil.c (_gtk_text_util_append_special_char_menuitems):
Actually call gettext() on the labels; previously they
were marked with N_() but we never called gettext().
Wed Jan 30 20:15:49 2002 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreestore.c (gtk_tree_store_set_valist): save last minute
changes before committing.
Wed Jan 30 18:46:14 2002 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkliststore.c (gtk_list_store_set_valist): only emit the
signal if an interesting column changes.
* gtk/gtktreestore.c: ditto.
* gtk/gtktreeview.c (gtk_tree_view_set_cursor): change behavior so
that it no longer grabs
2002-01-30 Manish Singh <yosh@gimp.org>
* gtk/gtkhandlebox.c (gtk_handle_box_destroy): remove unused
variable.
* gtk/gtkwindow.c (gtk_window_get_icon): function returns a value,
so return NULL with g_return_val_if_fail instead of g_return_if_fail.
Wed Jan 30 13:55:59 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_show): Try to make
sure that we have some focused widget on map. (#50339)
* gtk/gtkdialog.c (gtk_dialog_map): Handling picking
a focus widget here differently so that if a
response button gets picked, it's the default one.
* tests/testgtk.c (make_message_dialog): Set the
default response for the dialogs.
Tue Jan 29 22:52:36 2002 Owen Taylor <otaylor@redhat.com>
* 1.3.13
* configure.in: Micro version 13, interface, binary
age 0. Require GLIB-1.3.13, Pango 0.24.
* docs/Makefile.am (EXTRA_DIST): Add widget_geometry.txt,
sizing-test.txt, tree-column-sizing.txt
* docs/Makefile.am (EXTRA_DIST): Don't distribute
Changes-1.2.txt, Changes-2.0.txt, README.linux-fb,
since they are no longer canonical.
* gtk/gtk.def: Convert spaces to tabs in front of
gtk_widget_set_accel_path in case it matters.
* NEWS: Updated for 1.3.13.
Tue Jan 29 21:50:28 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkaccelmap.[ch] gtk/gtkbindings.[ch] gtk/gtkwidget.[ch]:
Consistently use GdkModifierType. (#66950, Mark Patton)
* gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_from_stock):
For consistency with gtk_button_new_from_stock(), fall back
to gtk_image_menu_item_new_with_mnemnonic(). (#65944,
Havoc Pennington)
* gtk/gtkitemfactory.[ch] (gtk_item_factory_path_from_widget):
Make G_CONST_RETURN. (#68527, Matt Wilson)
Tue Jan 29 20:56:13 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtk[vh]scale.c (gtk_[vh]scale_new_with_range): Document
that the end points are included in the range. (#69783,
Jeffrey Baker)
Tue Jan 29 20:38:04 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkscale.[ch]: Revert the last changes to make the
number of digits only effect drawing, instead, don't
round unless we are in the 'draw_value' mode -- this
is the behavior of GTK+-1.2, and keeps the behavior that
if the user sees a displayed value, it is the correct value.
* gtk/gtkenums.h: Deprecate GtkPreviewType,
GtkSignalRunType, GtkSideType, GtkSubmenuPlacement, GtkSubmenuDirection
(#68183, Matthias Clasen)
* gtk/gtkmenuitem.h: Remove _gtk_menu_item_set_placement() from
the public header to avoid having to use GtkSubmenuPlacement.
* gtk/{gtkmenuitem.c,gtkmenubar.c,gtkmenushell.c}: #define
GTK_MENU_INTERNALS to preserve access to GtkSubmenu*.
* gdk/gdki18n.h: Deprecate contents. (Darin Adler.)
Tue Jan 29 19:32:47 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextview.c (gtk_text_view_get/set_property):
Fix wrong usage of g_value_set/get_object for PROP_TABS
and memory leak in getter for PROP_TABS. (Jeff Franks)
Tue Jan 29 19:04:41 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkstyle.c (gtk_style_render_icon): Document that
a size of (GtkIconSize)-1 means don't scale.
* gtk/gtkstyle.c (gtk_default_render_icon): Obey the
-1 convention.
* gtk/gtkimage.c (gtk_image_expose): Pass in -1 to
gtk_style_render_icon() to make sure that we catch it
obviously if the style's render function tries to
scale.
Tue Jan 29 18:50:59 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkimage.c (gtk_image_expose): Optimize exposes of
partial insensitive images.
2002-01-24 Havoc Pennington <hp@redhat.com>
* gtk/gtkimage.c (gtk_image_expose): create insensitive version of
the image regardless of storage type, #63305
* demos/gtk-demo/images.c: add toggle button to demonstrate that
GtkImage makes its contents insensitive
Tue Jan 29 17:40:02 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable):
Call _gdk_draw_pixbuf(), thus enabling using this function
for pixbufs with alpha. (#68801)
* gdk/gdkdraw.c (gdk_drawable_real_draw_pixbuf): Move
implementation of gdk_pixbuf_render_to_drawable()
to here.
Tue Jan 29 17:16:17 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtklayout.c: Patch from Jacob Berkman to fix problem
when the height/width of a layout was set before the
adjustments were added. (#66294)
* gtk/gtktreeview.c: Warning cleanups.
Tue Jan 29 16:35:04 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkhandlebox.c (gtk_handle_box_motion): Small
fix to size of torn off window (#60271, Detlef Reichl)
* gtk/Makefile.am: Don't install gtkhsv.h. (Pointed out
by Ross Burton)
Tue Jan 29 18:50:46 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): free
cursor_path after usage
(gtk_tree_view_real_start_interactive_search): use new g_signal
and g_object calls
(gtk_tree_view_search_dialog_destroy): use g_object calls and free
selected_iter if set
(gtk_tree_view_search_position_func): rework so it will never ever
appear offscreen (#68492)
(gtk_tree_view_search_move): use new g_object calls
(gtk_tree_view_search_init): free selected_iter if set, use new
g_object calls
(gtk_tree_view_leave_notify): don't destroy interactive search
dialog
Tue Jan 29 23:07:03 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
send focus in event
(gtk_tree_view_search_dialog_destroy): send focus out event (#66466)
Tue Jan 29 16:11:55 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfontsel.c (gtk_font_selection_show_available_sizes): Use
gtk_tree_view_set_cursor() instead of gtk_tree_selection_select_iter().
* gtk/gtkfontsel.c (gtk_font_selection_init): Add mnemonic to
preview field. (#52433, patch from Anders Carlsson)
* gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Remove the
dialog separator. (#69558, Alex Larsson, patch from Anders Carlsson)
Tue Jan 29 15:24:59 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfontsel.[ch]: Switch over to GtkTreeView from
GtkCList. Remove the entries above the font/face lists
since they were a little confusing. (Not sure about this
change, so the code is still there the entries are
just hidden.) (#68890)
* gtk/gtkfilesel.c: Switch over to GtkTreeView from
GtkCList. Add mnemonics for fileops. Allow Control/Shift
Tab to focus out.
* gtk/gtkfilesel.c: Make fileop dialogs transient-for
the fileselector. (#69336, patch from Melvin Hadasht)
* gtk/gtkgamma.c (button_clicked_callback): Fix handling
of gamma dialog a bit. (#69336, Matthias Clasen.)
Tue Jan 29 14:24:49 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_class_init): Add <Control>Tab
bindings for "move-focus" so that Control-Tab to escape from
something that eats Tab just works if not otherwise overriden.
* gtk/gtkspinbutton.c (gtk_spin_button_new_with_range)
* gtk/gtkvscale.c (gtk_vscale_new_with_range)
* gtk/gtkhscale.c (gtk_hscale_new_with_range): Use a page_size
of zero for the adjustment, since at times we think that the range
is lower to upper - page_size. A page size equally to the
step_increment is, in any case, not meaningful.
2002-01-29 Tor Lillqvist <tml@iki.fi>
* README.win32: Add comment about gtk-1-3-win32-production branch
currently being ahead in functionality and code cleanliness (in
gdk/win32). Just in case somebody looks at the code in gdk/win32
here and starts fixing it, when it is going to change soonish
anyway.
2002-01-29 Sven Neumann <sven@gimp.org>
* gtk/gtkrc.c: don't install an empty icon_set if none of the image
files could be found in the pixmap_path (bug #69398).
2002-01-29 Sven Neumann <sven@gimp.org>
* gdk/x11/gdkimage-x11.c (_gdk_x11_copy_to_image): fixed a segfault
that showed up when using the color picker.
Tue Jan 29 11:51:14 2002 Tim Janik <timj@gtk.org>
* gtk/gtkscale.[hc]: fix default value for ::digits property,
leave as 1 as per havoc's request.
don't apply the draw_digits value to range->round_digits,
so we don't perform gross quantization by default.
2002-01-25 Havoc Pennington <hp@redhat.com>
* gtk/gtktextbtree.c (_gtk_text_btree_delete): fix assertion
failure by creating the line data, but not validating it at this
stage. Also, remove old code related to the "bogus newline" mess
that removed all tags from the last char in the buffer if you
tried to delete it.
(_gtk_text_line_data_new): put this here and prepend underscore,
remove from gtktextlayout.c
Mon Jan 28 19:57:39 2002 Owen Taylor <otaylor@redhat.com>
* modules/input/imhangul.c modules/input/imhangul-defs.h
po/POTFILES.in. Add port of Emacs korean-hangul input
method from Yusuke Tabata (#67665)
Mon Jan 28 18:25:10 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_draw_frame): Paint focus
before shadow to give theme engines a bit more
flexibility. (#69857)
2002-01-28 Jon Trowbridge <trow@gnu.org>
* gtk/gtktreeview.c (gtk_tree_view_set_model): When setting the
GtkTreeView's model, set prelight_node, prelight_tree,
button_pressed_node and button_pressed_tree to NULL. (#69603)
Mon Jan 28 14:44:40 2002 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): Only
activate/edit the row if shift is not pressed, #69248
2002-01-28 Anders Carlsson <andersca@gnu.org>
* gtk/gtkaccelgroup.c (gtk_accel_groups_activate): & with the
default mod mask so accels work when numlock is on.
Sun Jan 27 23:23:23 Kristian Rietveld <kris@gtk.org>
* gtk/gtkrbtree.[ch]: add _gtk_rbtree_mark_invalid (my previous
commit already needed this ...)
(/me broke the build for the first time ... :)
Sun Jan 27 22:13:02 Kristian Rietveld <kris@gtk.org>
Fix for bug #69586
* gtk/gtktreeprivate.h: get rid of tab_offset, introduce
expander_size
* gtk/gtktreeview.c: get rid of ->priv->tab_offset, introduce
expander_size caching (from style), fix CELL_HEIGHT macro,
use MAX ("RBNODE_HEIGHT", expander_size) (differs per case) for
row height calculation, added style_set callback
2002-01-27 Anders Carlsson <andersca@gnu.org>
* gtk/gtktextview.h (struct _GtkTextView): add mouse_cursor_obscured.
* gtk/gtkentry.h (struct _GtkEntry): Add mouse_cursor_obscured.
* gtk/gtktextview.c (set_invisible_cursor): New function.
(gtk_text_view_obscure_mouse_cursor): Likewise.
(gtk_text_view_key_press_event): Call obscure_cursor if text
has been inserted.
(gtk_text_view_motion_event): Restore the mouse cursor.
* gtk/gtkentry.c (gtk_entry_realize): Add GDK_POINTER_MOTION_MASK.
(set_invisible_cursor): New function.
(gtk_entry_obscure_mouse_cursor): Likewise.
(gtk_entry_key_press): call obscure_cursor if text has been inserted.
(gtk_entry_motion_notify): Restore the mouse cursor.