2002-02-28 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_finalize): free the tab array
for custom tabs, reported by Paolo Maggi #72980
Thu Feb 28 19:55:01 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkkeys.c: include gdkkeysysms.h if
compiling gdk_keyval_convert_case.
* gtk/gtkmenubar.c (gtk_menu_bar_cycle_focus): Implement
<Control>Tab <Control><Shift>Tab to cycle between
all menu bars in a toplevel once one is up.
* tests/testgtk.c: Add a second menubar, this
example is already full of crack anyways.
* gtk/gtkmenushell.c (gtk_menu_shell_key_press): Padd
unhandled events up to the parent menu shell.
* gtk/gtkmenuitem.c (gtk_menu_item_select_timeout): Only
pop up the menu if the parent menu shell is still active.
* gtk/gtkcontainer.[ch] (_gtk_container_focus_sort): Add a
old_focus argument, export privately.
2002-03-01 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkwindow-win32.h (struct _GdkWindowImplWin32): Remove
the event_mask, it is now in GdkWindowObject.
* gdk/win32/gdkwindow-win32.c: Change accordingly. Set the
GDK_STRUCTURE_MASK in gdk_window_set_events(), as it is always set
in gdk_window_new(), too. (Bug#72921)
* gdk/win32/gdkevents-win32.c: Change accordingly here, too.
(vk_from_char): New function, calculates the virtual keycode
corresponding to the char in a WM_CHAR message.
(build_keypress_event, build_keyrelease_event): Use it.
(build_keypress_event): Call ImmReleaseContext() after using the
input context. This might plug a memory or resource leak.
(build_key_event_state): Remove #if 0 code.
(gdk_event_translate): Actually, it would be preferrable to always
handle just the WM_KEYDOWN and WM_KEYUP messages, not WM_CHAR at
all, and thus drop the contorted logic with ignore_wm_char etc.
* gdk/win32/gdkkeys-win32.c: (gdk_keymap_get_entries_for_keyval):
Debugging output.
(gdk_keymap_translate_keyboard_state): Return correct value. (But
_gtk_key_hash_lookup() doesn't check the return value...)
Thu Feb 28 14:49:08 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): Initialize
private->event_mask from attributes we retrieved for
the window.
ChangeLog entry.
2002-02-22 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.
2002-02-28 Tor Lillqvist <tml@iki.fi>
* gdk/win32/Makefile.am: Move bdfcursor.c from
libgdk_win32_la_SOURCES to EXTRA_DIST.
* gdk/win32/gdkgc-win32.c (gdk_win32_colormap_color_pack): In the
bitmap case, use just the LSB of the pixel value. Does this match
X11 semantics? Or should it be pixel!=0?
Wed Feb 27 18:50:29 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_event): Allow focus-change
events to be sent to unrealized widgets; they aren't
really normal events in that they have anything to
do with widget->window. (#72914)
Wed Feb 27 18:39:25 2002 Owen Taylor <otaylor@redhat.com>
* gtk/stock-icons/Makefile.am: Split big VARIABLES variable
that was causing overlong lines into 6 variables with 20
in each one.
Wed Feb 27 18:01:03 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkaccellabel.c (gtk_accelerator_name) po/POTFILES.in: Mark
<Control>, <Shift>, <Release>, <Alt> for translation.
* gtk/gtkfontsel.c: Mark PREVIEW_TEXT for translation.
(Vlad Harchev, #53223)
Wed Feb 27 17:32:09 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrange.c (gtk_range_get_props): if CAN_FOCUS
reserve focus_line_width + focus_line_pad extra
space and draw the focus in that space. #72027.
Wed Feb 27 14:58:12 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenubar.c (gtk_menu_bar_size_request/allocate):
Don't reserve space for border when the shadow type
for the menubar is "none". (#61843)
* gtk/gtkmenubar.c (gtk_menu_bar_size_allocate): Fix
offset for right-justified menu items.
Wed Feb 27 14:45:21 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Go
back to old style of drawing children over the bevel.
(#58615)
Wed Feb 27 12:34:21 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkiconfactory.c: Register all stock icons
"unscaled" so that we don't have icons only available
at some sizes. (#68896)
Wed Feb 27 11:59:05 2002 Owen Taylor <otaylor@redhat.com>
Some ASCII vs. locale fixes from Darin Adler (#55837)
* gtk/gtkcombo.c (gtk_combo_find): Implement real
case-insensitive comparison using g_utf8_casefold().
* gtk/gtkaccellabel.c (gtk_accel_label_refetch): Fix
assignment of gunichar to char by replacing g_unichar_totitle
with g_ascii_toupper ... the contents would only be ascii
here anyways.
* gdk/x11/gdkim-x11.c (_gdk_x11_initialize_locale)
* gtk/gtkfontsel.c (gtk_font_selection_show_available_fonts):
Replace a calls to g_strcasecmp() with g_ascii_strcasecmp().
Wed Feb 27 10:34:46 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrange.c (gtk_range_set_range): After computing
the clamped value, actually set it. (#62639, Sergey Kuzminov)
Tue Feb 26 22:22:37 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkbox.c (gtk_box_reorder_child): Clean up
the code so < 0 == end wasn't just a side effect,
remove most of the manual linked list manipulation
code in favor of g_list_* functions.
Tue Feb 26 22:01:59 2002 Owen Taylor <otaylor@redhat.com>
* gtk/tmpl/gtkbox.sgml: Fix docs to correspond to the code -
negative @position indicates the end of the list.
Tue Feb 26 21:44:01 2002 Owen Taylor <otaylor@redhat.com>
* config.status config.guess: Remove these files
from CVS so we more-or-less current versions from
automake --add-missing. (Reported by Finlay Dobbie,
#60342)
* gdk/gdkkeyuni.c: Shouldn't map KP_Enter to '\n',
or KP_Tab to \t' since we don't map the corresponding
main keyboard characters in that way. (#61561,
Padraig O'Briain)
Tue Feb 26 21:35:31 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkkeyuni.c: Shouldn't map KP_Enter to '\n',
or KP_Tab to \t' since we don't map the corresponding
main keyboard characters in that way. (#61561,
Padraig O'Briain)
Tue Feb 26 19:45:29 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcombo.c (gtk_combo_set_popdown_strings):
Call gtk_combo_set_popdown_strings() in case
the combo is up currently. (#63535, Skip Montaro)
Tue Feb 26 19:38:14 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init):
Switch control-home/end and home/end with
the idea that scrolled windows more typically contain
vertical sets of controls and to correspond to the bindings
in GtkTreeView.
Tue Feb 26 19:32:42 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtk[hv]vscale.c (gtk_[hv]scale_expose): Chain
up before drawing the scale values so that the number
is drawn in the right place instead of one step
back. (#61743, patch from Satyajit Kanungo)
Tue Feb 26 19:16:28 2002 Owen Taylor <otaylor@redhat.com>
* gdk/win32/gdkkeys-win32.c (gdk_keyval_name):
* gdk/x11/gdkkeys-x11.c (gdk_keyval_name):
Make sure Page_Up, Page_Down get those names, not Prior,
Next.
* gtk/gtkaccelgroup.c (gtk_accelerator_set_default_mod_mask):
OR in the three default modifiers to any value passed
in by the caller, so that the caller won't break the
the default bindings. (#70142, Jody Goldberg, though he
wasn't in favor of this particular way of solving it.)
Tue Feb 26 18:47:44 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_add_mnemonic): Append
mnemonics rather than prepending them so that the
order is typically forward rather than typically
backward. (Partial fix for #52395)
Tue Feb 26 18:38:17 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkaccellabel.c (gtk_accel_label_refetch):
Display any "g_unicode_isgraph()" char literally,
not just latin1. (#65679)
Tue Feb 26 18:01:10 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_grab_focus): Don't
to focus insensitive widgets. (#68203)
* gtk/gtkentry.c (gtk_entry_state_changed): Clear any
current selection if we become insensitive. (#68203)
* gtk/gtkentry.c (gtk_entry_grab_focus): Don't
select the text if the entry isn't editable. (#67203)
* gtk/gtkentry.c: Activate keybindings when not editable,
but supress keybindings that change the text. (#65848, #68203)
* gtk/gtkentry.c (gtk_entry_set_property): Reset the
IM context for the entry when it is made not editable.
Tue Feb 26 17:04:44 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcolorsel.c (update_color): Emit ::color_changed
every time we notify current_color. (Brute force
fix for #72470, Matthias Clasen). Some fixes to improve
reentrancy.
Tue Feb 26 15:04:33 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_enter_text): use
the cursor position _after_ deleting the text
as the position to insert at. (#72717, Jan Mynarik)
2002-02-26 Vitaly Tishkov <tvv@sparc.spb.su>
* gtk/gtktreemodel.c
misprints in documentation for gtk_tree_row_reference_inserted()
and gtk_tree_path_new () are fixed
Tue Feb 26 19:47:16 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (validate_visible_area): take into account
that a path from a rowref can be NULL. (#72623 and #72650)
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_render_or_focus):
let focus_rectangle be the same as cell_area for empty cells (#69900)
Tue Feb 26 10:38:14 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkkeyhash.c (_gtk_key_hash_lookup_keyval): Handle
a keyval of 0, by returning an empty list. (#72617,
Kevin Breit)
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.