Commit Graph

16 Commits

Author SHA1 Message Date
Carlos Garnacho
668bb1bddd modules: Update input context impls to using GdkEvent API 2017-09-19 18:39:02 +02:00
Matthias Clasen
24174e5528 multipress: Only emit preedit signals if needed
When clearing the compose buffer, don't emit preedit-changed
unconditionally. This triggers a recursion which leads to
a crash.

https://bugzilla.gnome.org/show_bug.cgi?id=753644
2015-08-18 15:44:45 -04:00
Bastien Nocera
438cd857c4 all: Add names to timeouts
Add names to every timeout we setup, so it's easier to track their
usage, and debug possible misbehaviour.

https://bugzilla.gnome.org/show_bug.cgi?id=710651
2013-10-23 13:31:18 +02:00
Benjamin Otte
30a49f1d66 imcontexts: Include config.h first 2013-05-07 14:06:12 +02:00
Matthias Clasen
3e78324501 modules: Don't use GDK_THREADS_ENTER/LEAVE macros internally
These are just wrappers for the functions, and we want to
deprecate them. Stopping to use them internally is a good
first step. Also define GTK_COMPILATION so we can keep using
gdk_threads_enter/leave without causing deprecation warnings.
2012-07-30 18:01:47 +02:00
Javier Jardón
9d0febc9a6 Change FSF Address 2012-02-27 17:06:11 +00:00
Matthias Clasen
585a6652d5 Use G_SOURCE_CONTINUE/REMOVE
Now that GLib provides these macros, we should use them
to make the code more readable.
2012-01-30 19:12:27 -05: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
Nicola Fontana
1e1131c959 Do not use static GTypeInfo and GInterfaceInfo
Either g_type_register_static_simple (used by G_DEFINE_TYPE_EXTENDED)
and G_IMPLEMENT_INTERFACE use automatic variables for GTypeInfo and
GInterfaceInfo structs, while tutorials and source code often use
static variables. This commit consistently adopts the former method.

https://bugzilla.gnome.org/show_bug.cgi?id=600158
2009-11-06 01:21:09 +01:00
Daniel Elstner
47aae53285 Remove the namespace prefix from functions defined locally only. Clean up
* modules/input/gtkimcontextmultipress.[ch]: Remove the namespace
prefix from functions defined locally only.  Clean up the code and
change indentation to match the GTK+ coding style.
(_GtkImContextMultipress::key_sequences): Replace array of pointers
by GHashTable.  Adapt the implementation accordingly.
(passthrough_enabled_for_window): Remove.  The passthrough hack is
no longer necessary thanks to the recently introduced "im-module"
property of GtkEntry and GtkTextView.
(load_config): Rework to implement an improved configuration file
format.  Just fetch all keys of the group instead of expecting the
keys to be named a certain way.  This also allows interpreting the
config key itself as the GDK key name to bind the character sequence
to, thereby making it independent of the sequence itself.

* modules/input/im-multipress.conf: New example configuration using
the new syntax.  The example sequences are now bound to the numeric
keypad and imitate the behavior of a standard mobile phone.

svn path=/trunk/; revision=22125
2009-01-16 15:02:06 +00:00
Daniel Elstner
3c5a7c3b70 Maintenance of Multipress input method by Openismus GmbH:
* modules/input/gtkimcontextmultipress.[ch]: Clean up the code
a bit to follow the GTK+ coding style more closely.  Fix the code
to emit "preedit-start" and "preedit-end", too, rather than only
"preedit-changed".
(GTK_IM_CONTEXT_MULTIPRESS*): Rename incorrectly spelled macros
gtk_im_context_multipress*. Shouldn't break API or ABI as it's
only used internally.
* modules/input/immultipress.c: More cleanup,
* modules/input/README.multipress: ditto.

svn path=/trunk/; revision=21864
2008-12-10 11:58:37 +00:00
Sven Neumann
e3e126ae9e modules/input/gtkimcontextime.c modules/input/gtkimcontextmultipress.c use
2008-08-11  Sven Neumann  <sven@gimp.org>

	* modules/input/gtkimcontextime.c
	* modules/input/gtkimcontextmultipress.c
	* modules/input/gtkimcontextxim.c: use canonical signal names.


svn path=/trunk/; revision=21070
2008-08-11 14:55:31 +00:00
Matthias Clasen
c04c884f35 Use a second-granularity timer.
svn path=/trunk/; revision=20922
2008-07-31 22:27:02 +00:00
Michael Natterer
d6ef4416f5 modules/input/gtkimcontextime.h modules/input/gtkimcontextmultipress.h
2008-05-28  Michael Natterer  <mitch@imendio.com>

	* modules/input/gtkimcontextime.h
	* modules/input/gtkimcontextmultipress.h
	* modules/input/gtkimcontextthai.h
	* modules/input/gtkimcontextxim.h: include <gtk/gtk.h> instead of
	individual files.

	* modules/input/gtkimcontextime.c
	* modules/input/gtkimcontextmultipress.c
	* modules/input/gtkimcontextxim.c
	* modules/input/imam-et.c
	* modules/input/imcedilla.c
	* modules/input/imcyrillic-translit.c
	* modules/input/iminuktitut.c
	* modules/input/imipa.c
	* modules/input/imti-er.c
	* modules/input/imti-et.c
	* modules/input/imviqr.c: ditto. Some minor cleanups like moving
	"gtk/gtkintl.h" to the end of includes.


svn path=/trunk/; revision=20200
2008-05-27 23:55:28 +00:00
Daniel Elstner
d5fef5c60f Change input method behavior to act on key presses instead of key
* modules/input/gtkimcontextmultipress.c (vfunc_filter_keypress):
Change input method behavior to act on key presses instead of
key releases, matching normal text input behavior.  This change
alleviates the need to take special action for control keys not
handled by the input module itself.

svn path=/trunk/; revision=18169
2007-06-17 09:48:28 +00:00
Matthias Clasen
f326c1e9ec Add the multipress input method. (#417446, Johannes Schmid, Murray
2007-03-18  Matthias Clasen <mclasen@redhat.com> 

        * modules/input/gtkimcontextmultipress.[hc]:
        * modules/input/im-multipress.conf:
        * modules/input/immultipress.c:
        * modules/input/README.multipress: Add the multipress input
        method.  (#417446, Johannes Schmid, Murray Cumming)

        * modules/input/Makefile.am: Glue



svn path=/trunk/; revision=17541
2007-03-18 05:34:24 +00:00