We lookup a widget to call a function on GtkWidget that ends up just
performing an operation directly on the GdkWindow again anyway
(beeping). There's already fallback code at the point of the call that
does exactly that anyway, so just do that all of the time.
The keysyms create a lot of potential namespace conflicts for
C, and are especially problematic for introspection, where we take
constants into the namespace, so GDK_Display conflicts with GdkDisplay.
For C application compatiblity, add gdkkeysyms-compat.h which uses
the old names.
Just one user in GTK+ continues to use gdkkeysyms-compat.h, which is
the gtkimcontextsimple.c, since porting that requires porting more
custom Perl code.
2009-01-29 Tor Lillqvist <tml@novell.com>
Bug 145058 - Inputting "^^" requires four keystrokes on Win32,
differs from platform default behaviour
* gtk/gtkimcontextsimple.c
(check_win32_special_case_after_compact_match): New
function. Called from check_compact_table() after a table-based
match has committed a character. In case there was two identical
dead accents in the input, another copy of the spacing accent that
was already committed is committed. This fixes#145058.
(check_win32_special_cases): New function. Called first from
gtk_im_context_simple_filter_keypress(). This fixes another
problem: a dead accent followed by a space should commit the
corresponding spacing accent. The compose tables from X commit
another character in two cases and we want to override that on
Windows.
Add GTK_NOTE (MISC) debugging output to this code.
svn path=/trunk/; revision=22253
2008-06-30 Cody Russell <bratsche@gnome.org>
* Practically everything changed.
Change all references of GIMP Toolkit (and variations of it)
to GTK+ Toolkit, showing no mercy at all to our beloved
ancestry. (#540529)
svn path=/trunk/; revision=20709
2007-08-18 Cody Russell <bratsche@gnome.org>
* gtk/gtkimcontextsimple.c: Fixed incorrect compose mapping
for capital U with macron. (#468055, Aaron Crane)
svn path=/trunk/; revision=18651
2006-11-16 Michael Natterer <mitch@imendio.com>
Add new infrastructure for notifications of failed keyboard
navigation and navigation with restricted set of keys.
The patch handles configurable beeping, navigating the GUI with
cursor keys only (as in phone environments), and configurable
wrap-around. Fixes bugs #322640, #70986, #318827, #334726, #334742
and #309291.
* gtk/gtksettings.c: added properties gtk-keynav-cursor-only,
gtk-keynav-wrap-around and gtk-error-bell.
* gtk/gtkwidget.[ch]: added new signal "keynav-failed" and public
API to emit it. Added New function gtk_widget_error_bell() which
looks at the gtk-error-bell setting and calls gdk_window_beep()
accordingly.
* gtk/gtk.symbols: add the new widget symbols.
* gtk/gtkcellrendereraccel.c
* gtk/gtkimcontextsimple.c
* gtk/gtkmenu.c
* gtk/gtknotebook.c: use gtk_widget_error_bell() or look at the
gtk-error-bell setting instead of calling gdk_display_beep()
unconditionally.
* gtk/gtkcombobox.c
* gtk/gtkentry.c
* gtk/gtkiconview.c
* gtk/gtklabel.c
* gtk/gtkmenushell.c
* gtk/gtkspinbutton.c
* gtk/gtktextview.c
* gtk/gtktreeview.c: call gtk_widget_error_bell() on failed keynav.
* gtk/gtkentry.c
* gtk/gtklabel.c
* gtk/gtkrange.c
* gtk/gtktextview.c: consult gtk_widget_keynav_failed() on failed
cursor navigation and leave the widget if it returns FALSE.
* gtk/gtkmenushell.c
* gtk/gtknotebook.c: only wrap around if gtk-keynav-wrap-around
is TRUE.
* gtk/gtkradiobutton.c: ask gtk_widget_keynav_failed() to decide
whether to to wrap-around, and don't select active items on cursor
navigation if gtk-keynav-cursor-only is TRUE. Should look at
gtk-keynav-wrap-around too, will look into that.
2006-03-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimcontextsimple.c: Make return and release work again
to commit a hex sequence. Additionally, make escape reset the
im context when in a hex sequence. (#334423, Behdad Esfahbod)
2005-12-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimcontextsimple.c (gtk_im_context_simple_reset): Don't
commit from reset, it upstets GtkTextView.
* gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Be more
careful when turning blinking on and off.
(gtk_text_view_focus_out_event): Make the cursor really invisible
when the focus goes away. (#323087, Sadrul Habib Chowdhury)
(cursor_blinks): Check the gtk-cursor-blink setting first.
2005-09-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress):
Let GDK_Return pass through in some more cases.
* gtk/gtkentry.c (gtk_entry_key_press): Reset the im context before
activating the entry.
2005-09-07 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress):
Make C-u commit and restart hex input if we are already in a
hex sequence.
2005-09-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimcontextsimple.c: Rework the Unicode hex input
code. Now we only steal a single key combination, Ctrl-Shift-U,
instead of sixteen.
A hex Unicode sequence must be started with Ctrl-Shift-U, followed
by a sequence of hex digits entered with Ctrl-Shift still held.
Releasing one of the modifiers or pressing space while the modifiers
are still held commits the character. It is possible to erase
digits using backspace.
As an extension to the above, we also allow to start the sequence
with Ctrl-Shift-U, then release the modifiers before typing any
digits, and enter the digits without modifiers.
(#82011, Owen Taylor)
2005-09-01 Matthias Clasen <mclasen@redhat.com>
* gdk/*.c: Intern some more strings.
* gtk/gtkintl.h:
* gtk/*.c: Define an I_() macro and use it instead of the
bulky g_intern_static_string().
2005-08-31 Matthias Clasen <mclasen@redhat.com>
* gdk/Makefile.am:
* gtk/Makefile.am: Intern type names in code generated by
glib-mkenums, too.
* gtk/*.c:
* gdk/x11/*.c:
* gdk/*.c: Intern type names before registering the type to avoid
unnecessary copies.
2005-08-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimcontextsimple.c: Change the compose sequence for
soft hyphen to be multi_key-minus-minus-space, and add
compose sequences multi_key-minus-minus-period and
multi_key-minus-minus-minus for en dash and em dash.
(#172653, Christian Lohmaier)
2005-07-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimcontextsimple.c: Add ISO_Level3_Shift to
the list of keysyms to ignore for composition, since
AltGr keys produce it in some keyboard layouts. (#307283)
2005-03-20 Matthias Clasen <mclasen@redhat.com>
Make PLT-reduction work with gcc4, and don't include
everything in gdkalias.h:
* gtk/grk.symbols: Group symbols by header and source file.
* gtk/makegtkalias.pl: Protect definitions by the same
preprocessor symbols used to guard the headers. Move
the alias declarations to a separate file which is
produced when calling makegtkalias.pl -def
* gdk/Makefile.am (gtkaliasdef.c): Add a rule to generate
this file.
* gtk/*.c: Include gtkalias.h after the other headers,
include gtkaliasdef.c at the bottom.
* gtk/*.h: Small cleanups.
2005-01-23 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkkeys-win32.c (update_keymap): Handle Greek tonos
dead accent key. (#164859, reported and fix verified by Daniel
Atallah.)
* gtk/gtkimcontextsimple.c (gtk_compose_seqs): Handle
GDK_Greek_accentdieresis (tonos and dialytika) combining with iota
and upsilon.