Owen Taylor [Tue, 26 Feb 2002 03:23:45 +0000 (03:23 +0000)]
Fix double set of bindings for page-up/down. (#72605, Tor Lillquist)
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)
Tor Lillqvist [Tue, 26 Feb 2002 01:18:27 +0000 (01:18 +0000)]
Implement the functions that until now just were non-functional stubs. For
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-win32.c
* 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.
Tor Lillqvist [Tue, 26 Feb 2002 01:17:58 +0000 (01:17 +0000)]
Implement the functions that until now just were non-functional stubs. For
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.
Owen Taylor [Tue, 26 Feb 2002 00:05:59 +0000 (00:05 +0000)]
Set the keyboard-mode flag before popping up the tooltip so that pop it up
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)
call _gtk_tree_view_column_cell_set_dirty when visible, so this column
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
Owen Taylor [Mon, 25 Feb 2002 05:12:14 +0000 (05:12 +0000)]
Convert over to using an GtkInvisible - selections don't work properly
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)
Havoc Pennington [Mon, 25 Feb 2002 04:55:56 +0000 (04:55 +0000)]
add dx/dy to child allocation, don't subtract them. Also, copy code from
2002-02-24 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_value_changed): add dx/dy to
child allocation, don't subtract them. Also, copy code from CList
to recursively adjust the child allocation, instead of just
adjusting immediate children. #69115
Havoc Pennington [Mon, 25 Feb 2002 04:19:05 +0000 (04:19 +0000)]
change to pass in the cursor direction always, not just when we need an
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
Havoc Pennington [Mon, 25 Feb 2002 02:47:19 +0000 (02:47 +0000)]
parent_class variable was GtkObjectClass instead of GObjectClass
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
Owen Taylor [Sun, 24 Feb 2002 05:05:15 +0000 (05:05 +0000)]
Sanity check default font family name and size.
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).
Tor Lillqvist [Sun, 24 Feb 2002 02:09:16 +0000 (02:09 +0000)]
Move inclusion of <windows.h> before inclusion of <winsock.h>, to actually
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.
Owen Taylor [Sun, 24 Feb 2002 01:52:14 +0000 (01:52 +0000)]
Implement accelerator propagation using a custom XEMBED_GTK_KEY_GRAB
Sat Feb 23 20:33:29 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkplug.[ch] gtk/gtksocket.[ch] gtk/xembed.h: Implement
accelerator propagation using a custom XEMBED_GTK_KEY_GRAB
XEMBED_GTK_KEY_UNGRAB pair of messages.
Havoc Pennington [Sun, 24 Feb 2002 00:38:59 +0000 (00:38 +0000)]
change gravity of start/end marks so that text added at either end of the
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
Tor Lillqvist [Sat, 23 Feb 2002 23:51:19 +0000 (23:51 +0000)]
Set also group in the key press/release events, always to zero for now.
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.
Anders Carlsson [Sat, 23 Feb 2002 23:46:24 +0000 (23:46 +0000)]
Alpha-pad icons so they get the correct size.
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.
Owen Taylor [Sat, 23 Feb 2002 14:46:21 +0000 (14:46 +0000)]
Applied patch from Thomas Leonard to make stepper click to scroll take
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.)
* 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.
add last_single_clicked and last_single_clicked_2 rowrefs and add
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)
Havoc Pennington [Fri, 22 Feb 2002 17:16:59 +0000 (17:16 +0000)]
subtract 1 from line endpoint, to avoid cursor dirt in the text widget.
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
Havoc Pennington [Fri, 22 Feb 2002 16:12:13 +0000 (16:12 +0000)]
implement more cleanly by using text_window->allocation.x/y instead of
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.
Havoc Pennington [Fri, 22 Feb 2002 15:55:14 +0000 (15:55 +0000)]
call gtk_size_group_queue_resize to avoid invalidating the widget every
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
add keynav handling for unselect all, focus column header, change focus
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)
Owen Taylor [Thu, 21 Feb 2002 22:03:09 +0000 (22:03 +0000)]
Add GDK_ISO_Next_Group/Prev_Group/Level3_Shift/ First_Group/Last_Group to
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.
Owen Taylor [Thu, 21 Feb 2002 17:14:10 +0000 (17:14 +0000)]
Implement "fuzzy" key binding lookups; allow matches on key and level but
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.
Sven Neumann [Wed, 20 Feb 2002 11:56:17 +0000 (11:56 +0000)]
check handler_id before disconnecting the signal handler since it might
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.
new function (gtk_tree_view_column_create_button): use g_signal_* instead
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)
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)
Owen Taylor [Mon, 18 Feb 2002 23:43:25 +0000 (23:43 +0000)]
Select the right item in the family list. (Reported by Mark Patton, Patch
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.
Hans Breuer [Mon, 18 Feb 2002 22:56:57 +0000 (22:56 +0000)]
process WM_PAINT messages for bg_pixmap == GDK_NO_BG, fixes The GIMP's
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
Manish Singh [Mon, 18 Feb 2002 20:32:14 +0000 (20:32 +0000)]
don't comment out the lines to dist the packer example, just simply remove
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)
Owen Taylor [Mon, 18 Feb 2002 20:03:34 +0000 (20:03 +0000)]
Fix problems with stuck grab (#60132, reported by Nicolas Setton) and
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.