Commit Graph

175 Commits

Author SHA1 Message Date
Руслан Ижбулатов
5e6c1928b4 W32: Prefer the deadkey combinations that the OS uses
Pick the W32 API for possible deadkey+<something> combinations
and prefer these to other sources of deadkey combos.
Specifically, if W32 API supports at least one combo for a particular
deadkey, only use that data and do not attempt to do other, unsupported
combinations, even if they make sense otherwise.
This is needed to, for example, correctly support US-International
keyboard layout, which produces a combined character for <' + a>
combo, but not for <' + s>, for example.

This is achieved by stashing all the deadkeys that we find in
an array, then doing extra loop through all virtual key codes and
trying to combine them with each of these deadkeys. Any combinations
that produce a single character are cached for later use.

In GTK Simple IM context, call a new GDK W32 function to do a lookup
on that cached combination table early on, among the "special cases"
(which are now partially obsolete).

A limitation of this code is that combinations with more than
one deadkey are not supported, except for combinations that consist
entirely of 2 known deadkeys. The upshot is that lookups should
be relatively fast, as deadkey array stays small and the combination
tree stays shallow.

Note that the use of ToUnicodeEx() seems suboptimal, as it should
be possible to just load a keyboard library (KBD*.DLL) manually
and obtain and use its key table directly. However, that is much more
complicated and would result in a significant rewrite of gdkkeys-win32.
The code from this commit, though hacky, is a direct addition to
existing code and should cover vast majority of the use-cases.

https://bugzilla.gnome.org/show_bug.cgi?id=569581
2016-08-04 16:37:19 +00:00
Matthias Clasen
eff97fd55f Take a reference on the im context for async ops
This might fix the crash in yelp that some people continue
to see.

https://bugzilla.gnome.org/show_bug.cgi?id=762887
2016-03-01 07:59:15 -05:00
Matthias Clasen
0ac71e81cf Drop some unused debug printfs
Remove some debug spew that has been ifdef'ed out for years
and does not look useful enough to keep.
2016-02-28 21:40:23 -05:00
Benjamin Otte
dda959332f imcontextsimple: Remove unused variable on win32 2016-02-11 03:44:47 +01:00
Matthias Clasen
6f74de5331 Don't include the builtin sequence table in multiple places
The table is defined as static const guint16 [], so it really
should only be included in one source file.
2016-01-30 22:52:13 -05:00
Matthias Clasen
b3b048906c im context simple: Protect shared data structures
Since a41f02f9b1, GtkIMContextSimple
uses threads to load X Compose files. It does that every time a new
im context object is initialized, so we can easily end up with multiple
threads accessing the shared global_tables list at the same time.

Use a lock to prevent that.

https://bugzilla.redhat.com/show_bug.cgi?id=1276432
2016-01-18 13:57:39 -05:00
Matthias Clasen
5cc6fb7644 Avoid an unused variable warning
This was introduced with the recent win32 build fix.
2015-11-16 07:20:18 -05:00
Chun-wei Fan
d01ea18dc3 gtkimcontextsimple.c: Use X11_DATA_PREFIX only on X11/Wayland
Only use the hard-coded build-time path given by X11_PREFIX on X11 and
Wayland where a X11 package is normally available.  On other platforms,
get the datadir of the running system and mimic the behavior by
constructing the path dynamically.  This avoids hardcoding the path for
searching for compose tables where we want to have relocatability.

This fixes the build on Windows/MSVC as well, where we don't normally have
any X11 packages available.

https://bugzilla.gnome.org/show_bug.cgi?id=757984
2015-11-13 07:39:54 -05:00
Matthias Clasen
5548665351 im context simple: Add documentation
Document that GtkIMContextSimple is loading additional compose
tables. Also document Ctrl-Shift-u.
2015-10-09 00:19:41 -04:00
Takao Fujiwara
a41f02f9b1 GtkIMContextSimple: Load locale compose tables dynamically.
Load /usr/share/X11/locale/$LOCALE/Compose and $HOME/.XCompose
dynamically.

https://bugzilla.gnome.org/show_bug.cgi?id=721120
2015-10-09 00:19:41 -04:00
Takao Fujiwara
4535d09bea GtkIMContextSimple: Change guint to guint16 in gtkimcontextsimple.c
GtkComposeTable and GtkComposeTableCompact use guint16 for the data.

https://bugzilla.gnome.org/show_bug.cgi?id=721120
2015-10-08 22:35:52 -04:00
Takao Fujiwara
48a2477f2d GtkIMContextSimple: export _gtk_check_compact_table() and GtkComposeTable
Some functions need to be exported if X11 compose files are loaded.

https://bugzilla.gnome.org/show_bug.cgi?id=721120
2015-10-08 22:35:52 -04:00
Paolo Borelli
ca8f6dd7f6 cleanup: do not set members to null in finalize 2015-08-01 21:31:49 +02:00
Matthias Clasen
9f24b54786 Code cleanup
Use g_slist_free_full more consistently. This commit just converts
the obvious cases where g_slist_forall is directly followed by
g_slist_free.
2015-07-31 22:23:35 -04:00
Matthias Clasen
6ee9281a24 im context: Fix compiler warnings
Fix warnings due to -Wdeclaration-after-statement and -Wshadow.
2015-06-02 09:08:15 -04:00
Matthias Clasen
25308477e7 Silence a compiler warning 2015-02-22 17:01:52 -05:00
Takao Fujiwara
9f1724b355 Update gtk_compose_seqs_compact[] table for French layout bepo variant.
fr(bepo) XKB keymap sends dead_stroke with AltGr+l keys
and gtk-im-simple-context should send '/' with
dead_stroke+dead_stroke keys but gtkimcontextsimpleseqs.h
was not sorted in the descending order and failed to get
dead_stroke.
Also need to add dead_currency for Shift+AltGr+e and
dead_belowcomma for Shift+AltGr+Cedilla.

https://bugzilla.gnome.org/show_bug.cgi?id=736250
2014-09-10 21:30:46 -04:00
Evan Nemerson
e596e58c51 gtk: port missing array annotations from Vala bindings
https://bugzilla.gnome.org/show_bug.cgi?id=730745
2014-05-27 21:10:32 -07:00
William Jon McCann
e34bd4137d docs: use apostrophes in *n't 2014-02-07 13:32:47 -05:00
Takao Fujiwara
4d6c509943 GtkIMContextSimple: Update compose table
This adds Multi_key + f + i, as well as other sequences,
mainly Greek.

https://bugzilla.gnome.org/show_bug.cgi?id=710510
2013-12-14 15:34:54 -05:00
Emmanuele Bassi
0899ef7cc9 gtk: Use new macros for defining private data
https://bugzilla.gnome.org/show_bug.cgi?id=702996
2013-07-09 09:30:02 +01:00
Michael Natterer
9eea724e3b gtk: convert keyvals to unicode before committing to the imcontext
(cherry picked from commit 1eb0d98d73)
2012-11-30 15:10:51 +01:00
Michael Natterer
f619f91a8f gtk: add more OSX special casing for the deadacute and deaddoubleacute keys
So " plus foo prduces foo-with-diaereses and ' plus c produces
c-with-cedilla.
(cherry picked from commit c0102b3089)
2012-11-30 15:09:46 +01:00
William Jon McCann
b3a65248f5 Fix a typo in the the comments
https://bugzilla.gnome.org/show_bug.cgi?id=682724
2012-08-26 22:54:55 +08:00
Michael Natterer
c1cfcd03a5 quartz: add a special case to GtkIMContextSimply for entering '"'
Turn dead_doubleacute plus space into '"' and not into a double
acute because that's the way to enter double quotes on the
US-International keyboard layout.
(cherry picked from commit 71164e57b9)
2012-05-10 11:06:09 +02:00
Javier Jardón
9d0febc9a6 Change FSF Address 2012-02-27 17:06:11 +00:00
Matthias Clasen
e2bde55277 Remove leftover debug spew 2012-02-14 13:08:27 -05:00
Matthias Clasen
3c70a12785 GtkImContextSimple: fix tentative match handling
When switching to the compact table format, we inadvertedly lost
the 'tentative match' handling which allows to complete longer
compose sequences even if a prefix is a complete sequence.
This was pointed out in bug 666710.
2011-12-29 23:42:03 -05:00
Matthias Clasen
694bbf4ac0 Cosmetic changes to comments 2011-12-29 23:42:03 -05:00
Michael Natterer
87cc0dc79f gtk: use the new modifier API instead of GTK_DEFAULT_ACCEL_MOD_MASK
in gtkimcontextsimple and gtktreeview, which are the easy places,
but also true bugfixes, because on OSX we can't use the virtual META
here, we needs MOD2 as delivered in key events.
2011-10-07 09:33:07 +02:00
Michael Natterer
0abe8ce27b gtk: remove the private GTK_NO_TEXT_INPUT_MOD_MASK
and use the new public modifier abstraction API.
2011-09-27 11:34:19 +02:00
Michael Natterer
2a8be23d17 gtk: fix entering of Option-foo symbols on the Mac
define GTK_NO_TEXT_INPUT_MOD_MASK in gtkprivate.h
and use it in the IM contexts, so Option-foo is no longer
filtered away.
2011-09-26 16:01:50 +02:00
Jasper St. Pierre
ff9eb56c6e Don't only use ch != 0 to check if a character is a control char.
https://bugzilla.gnome.org/show_bug.cgi?id=644976
2011-03-16 20:09:14 -04:00
Pavel Holejsovsky
374e76a19d [GI] Mark unintrospectable constructs as (skip)
Also adds 'Rename to:' annotation to some constructs replacing the
skipped ones.
2011-01-20 13:57:21 +01:00
Pavel Holejsovsky
a1c297a310 [GI] Cosmetic cleanups of annotations and doc comments
This change does not introduce any functionality change, mostly
cosmtic cleanups, like re-linebreak when introduced annotations messed
up indentation or whitespace errors fixes.
2011-01-18 17:31:59 +01:00
Matthias Clasen
b5c6904c2f Drop explicit includes of gdkkeysyms.h
These are no longer needed. At the same time, port gtkimcontextsimpleseqs.h
to use the new GDK_KEY_ symbols.
2011-01-04 12:21:41 -05:00
Benjamin Otte
a7e6d6c4b4 gtk: Avoid GdkDrawable usage, including needless casts 2010-12-02 20:21:02 +01:00
Ryan Lortie
56d2590b49 GtkIMContextSimple: avoid gdk_window_get_user_data
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.
2010-10-20 23:58:20 +02:00
Matthias Clasen
f53ad33994 Remove GtkObject completely 2010-09-26 22:18:19 -04:00
Benjamin Otte
2ee8fdb79b gtk: gdk_drawable_get_display() => gdk_window_get_display() 2010-09-26 15:11:33 +02:00
Benjamin Otte
9f47be2216 gtk: gdk_drawable_get_screen/visual => gdk_window_get_screen/visual 2010-09-26 15:11:33 +02:00
Colin Walters
913cdf3be7 GDK: Prefix key names with KEY_
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.
2010-09-08 18:51:44 -04:00
Javier Jardón
a47e5483b6 gtkimcontextsimple: move documentation to inline comments 2010-09-01 20:37:39 +02:00
Javier Jardón
1e5d7c0225 Use GtkFooPrivate instead GtkFooPriv 2010-08-27 04:48:23 +02:00
Javier Jardón
47e824a5e4 GtkImageMenuItem: move public members to private structure 2010-07-13 19:40:48 +02:00
Javier Jardón
0a07e9733b gtk/: fully remove gtkalias hacks
https://bugzilla.gnome.org/show_bug.cgi?id=623845
2010-07-10 02:51:26 +02:00
Matthias Clasen
c08ed56f13 Allow holding compose key while entering a sequence
This broke when we started allowing Super, Hyper and Meta as
accel modifiers. See bug 601959.
2009-11-28 21:47:36 -05:00
Matthias Clasen
4c26d99d3e Update compose sequences
This patch includes additions to the X.org Compose file from the
last year. Patch by Peter Hutterer
2009-10-25 23:42:58 -04:00
Yevgen Muntyan
3c510f028f Use standard mac shortcuts
This changes Ctrl-X, Ctrl-C, etc. to Cmd-X, Cmd-C, etc. Also,
Alt-Left and Alt-Right in text widgets bound to Ctrl-Left and
Ctrl-Right actions

https://bugzilla.gnome.org/show_bug.cgi?id=530351
2009-10-26 00:03:05 +01:00
Tor Lillqvist
934014af3d Bug 145058 - Inputting "^^" requires four keystrokes on Win32, differs
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
2009-01-29 13:43:42 +00:00
Simos Xenitellis
41639683d9 Closes #557420 – Some compose sequences don't work anymore
svn path=/trunk/; revision=21843
2008-12-03 16:19:45 +00:00
Simos Xenitellis
77a980ec79 Closed #555625 – Updated gtk_compose_seqs_compact table (gtkimcontextsimpleseqs.h)
svn path=/trunk/; revision=21634
2008-10-12 16:11:48 +00:00
Simos Xenitellis
a3fe407624 Fixed Bug 555000, check_algorithmically() applies to deadkey keysyms only.
svn path=/trunk/; revision=21623
2008-10-10 08:21:54 +00:00
Simos Xenitellis
d84a56d3a3 Fixed Bug 554192 – deadkey-only compose sequences now working
svn path=/trunk/; revision=21613
2008-10-08 23:04:54 +00:00
Simos Xenitellis
7d7dfa73a4 Fixed Bug 554506 – combining diacritics broken, became deadkeys
svn path=/trunk/; revision=21557
2008-10-01 10:53:51 +00:00
Matthias Clasen
a05204154c Fix a C99ism
svn path=/trunk/; revision=21398
2008-09-16 04:44:12 +00:00
Simos Xenitellis
8c71a0d4c5 Closed Bug 550676 – Memory leak, update keyboard layout data table
svn path=/trunk/; revision=21339
2008-09-10 18:03:53 +00:00
Sven Neumann
4c33ae06be gtk/gtkdnd-quartz.c gtk/gtkdnd.c gtk/gtkentry.c gtk/gtkfilesel.c
2008-08-11  Sven Neumann  <sven@gimp.org>

	* gtk/gtkdnd-quartz.c
	* gtk/gtkdnd.c
	* gtk/gtkentry.c
	* gtk/gtkfilesel.c
	* gtk/gtkimcontextsimple.c
	* gtk/gtkimmulticontext.c
	* gtk/gtkoptionmenu.c
	* gtk/gtkplug.c
	* gtk/gtkrecentchooserdefault.c
	* gtk/gtkscrolledwindow.c
	* gtk/gtksocket-x11.c: use canonical signal names in some more
	places that I missed earlier.


svn path=/trunk/; revision=21069
2008-08-11 13:36:15 +00:00
Simos Xenitellis
1d510a9e84 Fixed typo in comment (the name of Markus Kuhn)
svn path=/trunk/; revision=20817
2008-07-10 23:20:30 +00:00
Cody Russell
57223c9a05 Revert name change
svn path=/trunk/; revision=20724
2008-07-01 22:57:50 +00:00
Cody Russell
fce9c8b7d4 Practically everything changed.
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
2008-06-30 23:01:56 +00:00
Johan Dahlin
d97cdbdf53 Include "config.h" instead of <config.h> Command used: find -name
2008-06-21  Johan Dahlin  <jdahlin@async.com.br>

    * *.[ch]: Include "config.h" instead of <config.h>
    Command used:
    find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
    Rubberstamped by Mitch and Tim


svn path=/trunk/; revision=20669
2008-06-22 14:28:52 +00:00
Matthias Clasen
3a2df1836e Emit preedit_start/_end as appropriate. (#521934, Huang Peng)
2008-03-15  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkimcontextsimple.c: Emit preedit_start/_end as
        appropriate.  (#521934, Huang Peng)



svn path=/trunk/; revision=19878
2008-03-15 04:24:50 +00:00
Simos Xenitellis
11abc0d691 Fix #321896 - Synch gtkimcontextsimple.c with Xorg
svn path=/trunk/; revision=19706
2008-03-04 11:21:48 +00:00
Michael Natterer
9c7a2c321f remove unused variable.
2008-01-09  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkcolorsel.c (make_label_spinbutton): remove unused
	variable.

	* gtk/gtkcombobox.c (gtk_combo_box_detacher)
	* gtk/gtkicontheme.c (theme_list_contexts)
	(gtk_icon_theme_lookup_icon)
	* gtk/gtkimcontextsimple.c (beep_window)
	* gtk/gtklinkbutton.c (set_link_color)
	* gtk/gtkuimanager.c (child_hierarchy_changed_cb): add casts to
	fix warnings.

	* gtk/gtkpathbar.c (_gtk_path_bar_set_file_system): remove unused
	variable and add const to another to fix a warning.


svn path=/trunk/; revision=19330
2008-01-09 17:02:50 +00:00
Cody Russell
72528aba5f Fixed incorrect compose mapping for capital U with macron. (#468055, Aaron
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
2007-08-19 04:41:09 +00:00
Matthias Clasen
9020751b2a Fix en/em dash confusion. (#378462)
2007-01-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkimcontextsimple.c: Fix en/em dash confusion.  (#378462)



svn path=/trunk/; revision=17000
2007-01-01 05:40:05 +00:00
Matthias Clasen
dfbde7a8d8 Allow composing l with stroke. (#349638, Daniel Lublin)
2006-12-23  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkimcontextsimple.c: Allow composing l with
        stroke.  (#349638, Daniel Lublin)
2006-12-23 21:08:45 +00:00
Michael Natterer
7f374a74ba Add new infrastructure for notifications of failed keyboard navigation and
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-11-16 12:56:30 +00:00
Matthias Clasen
c70489d6eb 0-terminate outbuf in all cases. (#348227, Nguyen Thái Ngoc Duy)
2006-07-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkimcontextsimple.c (gtk_im_context_simple_get_preedit_string):
	0-terminate outbuf in all cases.  (#348227, Nguyen Thái Ngoc Duy)
2006-07-21 13:42:43 +00:00
Matthias Clasen
113f364a37 More of the same 2006-05-14 04:25:34 +00:00
Matthias Clasen
f26aad1916 Boilerplate reduction 2006-05-02 23:56:43 +00:00
Matthias Clasen
98569f6e65 Make return and release work again to commit a hex sequence. Additionally,
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)
2006-03-14 16:42:59 +00:00
Tor Lillqvist
87ff791dcb Avoid emitting superfluous preedit_changed signals. Thanks to Matthias.
2006-03-03  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkimcontextsimple.c (gtk_im_context_simple_commit_char)
	(gtk_im_context_simple_reset): Avoid emitting superfluous
	preedit_changed signals. Thanks to Matthias. (#319407)
2006-03-03 14:16:45 +00:00
Matthias Clasen
6f72d3a8c7 Don't commit from reset, it upstets GtkTextView.
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-12-06 21:21:44 +00:00
Matthias Clasen
4957e325c0 Let GDK_Return pass through in some more cases.
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-13 18:50:39 +00:00
Matthias Clasen
78ea5d7ed2 Make C-u commit and restart hex input if we are already in a hex sequence.
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-07 17:02:47 +00:00
Matthias Clasen
4083637a11 Rework the Unicode hex input code. Now we only steal a single key
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-02 18:14:59 +00:00
Matthias Clasen
94eec04267 Intern some more strings.
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-09-01 05:11:46 +00:00
Matthias Clasen
c09cc89317 Intern type names in code generated by glib-mkenums, too.
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-31 16:53:43 +00:00
Matthias Clasen
37df0b0172 Change the compose sequence for soft hyphen to be
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-08-30 17:29:28 +00:00
Matthias Clasen
4242628811 Make it compile 2005-07-26 17:16:51 +00:00
Matthias Clasen
31329ec363 Add ISO_Level3_Shift to the list of keysyms to ignore for composition,
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-07-26 15:56:50 +00:00
Matthias Clasen
6f282c4970 Forgotten file. 2005-05-21 01:07:47 +00:00
Matthias Clasen
cca8dd6347 Make PLT-reduction work with gcc4, and don't include everything in
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-03-20 07:01:23 +00:00
Tor Lillqvist
26629f7a93 Handle Greek tonos dead accent key. (#164859, reported and fix verified by
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.
2005-01-23 00:20:12 +00:00
Matthias Clasen
e645924c80 Stop preediting if strtoul couldn't parse the complete preedit string.
2004-10-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkimcontextsimple.c (check_hex): Stop preediting if strtoul couldn't
	parse the complete preedit string.  (#156434)
2004-10-26 20:56:52 +00:00
Matthias Clasen
3612aee585 Add hidden aliases for exported symbols which are used internally in order
Mon Aug  9 12:48:04 2004  Matthias Clasen  <maclas@gmx.de>

	Add hidden aliases for exported symbols which are
	used internally in order to get rid of many PLT
	entries.  (#145519, Arjan van de Ven)

	* gtk/Makefile.am: Add rules to generate gtk.def and
	from gtk.symbols, and make make check check the abi
	with abicheck.sh.
	(gtk_private_h_sources): Add gtkinternals.h
	(gtk_built_private_headers): Add gtkalias.h
	(gtk_extra_sources): Add gtk.symbols
	(EXTRA_DIST): Add makegtkalias.pl and abicheck.sh

	* gtk/gtk.symbols: New file. Definition of the GTK+ ABI.
	The file can be processed by cpp to filter out certain
	subsets of symbols.

	* gtk/abicheck.sh: New file. Script to check the actually
	symbols exported from libgtk-x11.2.0.so against the symbols
	found in gtk.symbols.

	* gtk/makegtkalias.pl: New file. Perl script to generate the
	header containing the alias definitions for internally used
	exported symbols from a list of symbols.

	* gtk/gtkinternals.h: New file. An uninstalled header listing
	symbols which must be exported for some reason and do not appear
	in any other header.

	* gtk/*.c: Include gtkalias.h
2004-08-09 16:59:53 +00:00
Federico Mena Quintero
80581c3011 Fixes #136082 and #135265, patch by Morten Welinder.
2004-03-05  Federico Mena Quintero  <federico@ximian.com>

	Fixes #136082 and #135265, patch by Morten Welinder.

	* configure.in: Use AC_SYS_LARGEFILE.

	* */*.c: #include <config.h>
2004-03-06 03:38:59 +00:00
Owen Taylor
d270a00d21 Improve Cedilla handling - based on a patch from Gustavo De Nardin,
Fri Aug 15 16:54:39 2003  Owen Taylor  <otaylor@redhat.com>

        Improve Cedilla handling - based on a patch from Gustavo
        De Nardin, #111334

        * modules/input/imcedilla.c po/POTFILES.in: Input method that
        produces C_WITH_CEDILLA rather than C_WITH_ACUTE for
        dead_acute+c combinations. Make this the default for
        fr and pt.

        * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave):
        Use LC_CTYPE instead of LC_MESSAGES to pick the default
        input method.

Fri Aug 15 17:00:19 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkimcontextsimple.c: Fix missing compose sequence
        for Multi_key+c+apostrophe.
2003-08-15 21:30:44 +00:00
Hidetoshi Tajima
611a2667e6 added composing rules of Greek acceted letters, patch by Vasilis Vasaitis
Wed May 21 14:06:13 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>

	* gtk/gtkimcontextsimple.c: added composing rules of
	Greek acceted letters, patch by Vasilis Vasaitis (#107507)
2003-05-21 21:09:05 +00:00
Hidetoshi Tajima
ec288c7017 code that can check the compose table for ascending order, by Vasilis
* gtk/gtkimcontextsimple.c:
	code that can check the compose table for ascending order,
	by Vasilis Vasaitis (#104862).
2003-05-21 19:14:06 +00:00
Matthias Clasen
050c933b34 Add a const here.
* gtk/theme-bits/decompose-bits.c (do_part): Add a const here.

	* gtk/gtkcolorsel.c:
	* gtk/gtkimcontextsimple.c:
	* gtk/gtkstyle.c: Mark constant data as const to give the compiler
	a chance to put it in a readonly section.  (#75754)
2002-11-13 20:23:02 +00:00
Owen Taylor
6e43dea3e1 Use '_' not '-' in signal name to be consistent with what we do elsewhere
Thu Nov  7 15:29:43 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkimcontextsimple.c (check_hex): Use '_'
        not '-' in signal name to be consistent with
        what we do elsewhere (#97151, TOKUNAGA Hiroyuki)
2002-11-07 20:32:27 +00:00
Manish Singh
5d021465d6 Deprecation cleanup
Thu Oct 10 15:13:48 2002  Manish Singh  <yosh@gimp.org>

        * gtk/gtkimcontext.[ch] gtk/gtkimcontextsimple.[ch] gtk/gtkimmodule.c
        gtk/gtkimmulticontext.[ch] gtk/gtktreestore.[ch]: Deprecation
        cleanup
2002-10-10 22:20:48 +00:00
Stanislav Brabec
bee4a6815e Added support for hungarian characters (addition to bug #91258). Only via
2002-10-09  Stanislav Brabec  <sbrabec@suse.cz>

	* gtk/gtkimcontextsimple.c: Added support for hungarian characters
	(addition to bug #91258). Only via dead keys, because compose key
	combinations in X are erratic.
2002-10-09 14:15:15 +00:00
Owen Taylor
8555f42715 Add a check for the Xrandr extension.
Fri Oct  4 11:43:47 2002  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Add a check for the Xrandr extension.

        * gdk/gdkscreen.[ch]: Add a size-changed signal.

        * gdk/x11/gdkscreen-x11.[ch]: Patch from Keith packard
        to hook up ConfigureNotify events on the root window
        to the ::size-changed signal. (#94560)

        * gtk/gtkimcontextsimple.c: Warning fixes
2002-10-04 15:58:19 +00:00
Owen Taylor
ef33adff83 Add a 'type' parameter, make public.
Thu Oct  3 14:13:33 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkevents.c (gdk_event_new): Add a 'type'
        parameter, make public.

        * gdk/gdkevents.c (gdk_event_copy): Copy the screen.

        * gdk/gdkevents.c gdk/linux-fb/gdkmain-fb.c
        gdk/x11/gdkevents-x11.c gdk/win32/gdkevents-win32.c:
        _gdk_event_new() => gdk_event_new().

        * gdk/win32/gdkevents-win32.c (real_window_procedure):
        Fix event_private->screen breakage that results from evil
        encapsulation breakage here.

        * gtk/gtkclist.c gtk/gtkcombo.c gtk/gtkcontainer.c
        gtk/gtkdialog.c gtk/gtkdnd.c gtk/gtkdrawingarea.c
        gtk/gtkimcontextsimple.c gtk/gtklist.c gtk/gtkmenu.c
        gtk/gtknotebook.c gtk/gtkplug.c gtk/gtkselection.c
        gtk/gtktext.c gtk/gtktreeitem.c gtk/gtktreeview.c
        gtk/gtkviewport.c gtk/gtkwindow-decorate.c gtk/gtkwindow.c
        tests/testgtk.c: Remove most usage of stack-allocated
        GdkEvent structures.

        * gtk/gtktreeview.c: Use a cut-and-paste of the full
        send_focus_event() from gtkwindow.c that does the necessary
        notification of the ::has-focus property and setting of
        the HAS_FOCUS flag.x

        * gtk/gtkdnd.c: Clean up some mess/duplicated code; removing
        an extraneous use of a GdkEvent.
2002-10-03 20:53:30 +00:00
Stanislav Brabec
8e18d89dfa Fixed alphabetical order (bug #91258).
2002-10-01  Stanislav Brabec  <sbrabec@suse.cz>

	* gtk/gtkimcontextsimple.c: Fixed alphabetical order (bug #91258).
2002-10-01 10:20:15 +00:00
Stanislav Brabec
913f2681ff Completed ISO-8859-2 characters support (#93421), fixed cacute, umacron,
2002-09-30  Stanislav Brabec  <sbrabec@suse.cz>

	* gtk/gtkimcontextsimple.c: Completed ISO-8859-2 characters
	support (#93421), fixed cacute, umacron, completed dead_key+space
	convention.
2002-09-30 16:40:04 +00:00