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.
Ha, pango_win32_font_logfontw hasn't been exported from libpangowin32
after all due to a typo. This will have to wait. And actually
libpangowin32 is supposed to be deprecated surely, so that
functionality should be moved to libpangocairo or something.
This reverts commit 804effba99.
Bring the various 'run uninstalled' hacks in line with the
new way of doing things, and fix make install for module cache
files.
Patch by Tadej Borovsak.
In particular, rename
- libraries to lib*-3.0.so
- pc files to *-3.0.pc
- include paths to /usr/include/gtk-3.0/*
- module paths to /usr/lib/gtk-3.0/*
- rc files names to gtk-3.0/gtkrc
- commandline utilities to *-3.0
- adjust documentation
Also change the install location for unix-print headers to
/usr/include/gtk-3.0/unix-print/gtk.
Deprecate widget flag macros GTK_WIDGET_STATE, GTK_WIDGET_SAVED_STATE,
GTK_WIDGET_FLAGS, GTK_WIDGET_TOPLEVEL, GTK_WIDGET_NO_WINDOW and
GTK_WIDGET_COMPOSITE_CHILD.
Also deprecate the type macros GTK_WIDGET_TYPE, GTK_OBJECT_TYPE_NAME and
GTK_OBJECT_TYPE which have become redundant.
Instances of GTK_WIDGET_TOPLEVEL are replaced with gtk_widget_is_toplevel,
GTK_WIDGET_TYPE is replaced with G_OBJECT_TYPE, GTK_WIDGET_COMPOSITE_CHILD
is replaced with use of the "composite-child" property and uses of
GTK_WIDGET_NO_WINDOW are adjusted to use gtk_widget_get_has_window.
Uses of GTK_WIDGET_SAVED_STATE and GTK_WIDGET_FLAGS inside GtkWidget are
changed to direct flag usage.
Documentation is updated to refer to gtk_widget_set_has_window and
gtk_widget_get_has_window.
Gail and tests are updated as well.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=69872
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-03-02 Theppitak Karoonboonyanan <thep@linux.thai.net>
Bug 457086 - numpad does not work when the Thai-Lao input method is
used
* modules/input/gtkimcontextthai.c (is_context_lost_key): Do not count
character-generating keypads as context-lost keys. (patch recommitted
after approval)
svn path=/trunk/; revision=22437
2009-02-18 Theppitak Karoonboonyanan <thep@linux.thai.net>
Bug 457086 - numpad does not work when the Thai-Lao input method is
used
* modules/input/gtkimcontextthai.c (is_context_lost_key): Do not count
character-generating keypads as context-lost keys.
svn path=/trunk/; revision=22354
* 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
* 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-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-04-25 Michael Natterer <mitch@imendio.com>
* gtk/gtkprintcontext.h: include <pango/pango.h> instead of
<pango/pango-layout.h>.
* gtk/gtkiconfactory.c
* gtk/gtkimmodule.c
* gtk/gtkmain.c
* gtk/gtkmodules.c
* gtk/queryimmodules.c: remove inclusion of single files from
pango, none of them was actually needed.
* modules/input/gtkimcontextime.c: include <pango/pango.h> instead of
<pango/pango-utils.h>.
svn path=/trunk/; revision=20042
2008-04-18 Michael Natterer <mitch@imendio.com>
* gtk/gtkicontheme.h
* gtk/gtkrecentmanager.h: include <gdk/gdk.h> instead of
<gdk/gdkscreen.h>.
* gtk/gtkbuilderparser.c
* gtk/gtklinkbutton.c
* gtk/gtkpreview.c
* gtk/gtkrecentchooserdefault.c
* gtk/gtkrecentchoosermenu.c
* modules/input/gtkimcontextthai.c: remove inclusion of single
files from gdk, none of the includes was actually needed.
svn path=/trunk/; revision=20023
2008-03-18 Tor Lillqvist <tml@novell.com>
Bug 523225 - modules/input/im*.c: MODULE_ENTRY macros make illegal code
* modules/input/im*.c: Modify the MODULE_ENTRY macro so the
G_MODULE_ENTRY decoration can be put in a more correct place.
svn path=/trunk/; revision=19902
2008-03-18 Tor Lillqvist <tml@novell.com>
Bug 99192 - Add --with-include-input-modules
* configure.in: Add --with-included-immodules switch. Handled in a
similar way as the --with-included-loaders switch. For each input
method module foo: Collect the list of input modules to be built
into libgtk into INCLUDED_IMMODULE_OBJ. Collect a list of
-DINCLUDE_IM_foo definitions into INCLUDED_IMMODULE_DEFINE.
Define Automake conditionals INCLUDE_IM_FOO.
* modules/input/Makefile.am: For modules to be included in libgtk,
build a static library.
* modules/input/im*.c: Use MODULE_ENTRY macros much like in
gdk-pixbuf to get unique names for the functions called by libgtk
in the included case. Use G_MODULE_EXPORT in the non-included case
so that we don't unnecessarily export unneeded random global
symbols on Windows.
* gtk/Makefile.am: Build the included modules and link them into libgtk.
* gtk/gtkimmodule.c: Handle the built-in modules. Remove
copy/paste leftover mentions of "themes" in comments.
svn path=/trunk/; revision=19896
* 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-01-26 Michael Natterer <mitch@imendio.com>
* modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize):
destroy the XIM only if it exists. While the code does look safe
in general, there can be corner cases where the "reconnecting"
boolean being FALSE does not correspond to the XIM being
allocated (fix taken from maemo-gtk).
svn path=/trunk/; revision=17218
2006-12-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimmulticontext.c: Be careful to not override
GTK+ translations with the translations of the input
method. (#317080, Tor Lillqvist)
* modules/input/imcedilla.c: Use standard macros
for translation domain and locale dir.
2006-01-28 Behdad Esfahbod <behdad@gnome.org>
* configure.in: If major.minor of required and available glib versions
are the same, add -DG_DISABLE_DEPRECATED to GLIB_CFLAGS. (bug #328617)
* */Makefile.am: Remove hardcoded -DG_DISABLE_DEPRECATED.
2005-06-27 Matthias Clasen <mclasen@redhat.com>
* modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize):
Avoid a segfault. (#309054)
* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add
fields for grab timestamps.
* gdk/x11/gdkmain-x11.c (gdk_pointer_grab, gdk_keyboard_grab):
Store grab timestamps when grabbing.
* gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard_ungrab)
(gdk_display_pointer_ungrab): Don't unset the grab_window
if the timestamps indicate that the ungrab will fails.
2005-06-05 Tor Lillqvist <tml@novell.com>
* modules/engines/Makefile.am
* modules/input/Makefile.am: Decide whether to build the
ms-windows theme engine based on the GDK backend, not based on
platform. (I.e., if building for Cygwin with the X11 backend, we
shouldn't build the ms-windows engine, but if building for Cygwin
but with the Win32 backend, we should.) Ditto for the IME
(Windows) input module. (#305832)
2005-02-03 Tor Lillqvist <tml@novell.com>
* modules/input/gtkimcontextime.c (get_pango_attr_list): Use the
wide character version of ImmGetCompositionString() here,
too. (#165278, Takuro Ashie)
2004-10-01 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkglobals-win32.c: Set _gdk_input_ignore_wintab to
FALSE, thus enabling tablet input by default.
* gdk/win32/gdkmain-win32.c (_gdk_windowing_args): Accept the
--use-wintab option again (but without effect, as this is now the
default, see above). (#153788)
* modules/input/gtkimcontextime.c: Numerous changes.
Remove the ifdef UNICODE conditionals. Always use the
wide-character Imm* API. It is present also in Windows 98 and
Me. (Not Windows 95, but I think we don't care about that.) Using
the multibyte API wouldn't work anyway on systems where the system
codepage doesn't support the language the user uses an IME for, so
for instance I wouldn't be able to test this module on my English
Windows 2000 although I do have C, J and K IMEs available.
Guard against IMM not being active, always check ImmGetContext()
returning NULL. Work to some extent even without any IME. Fixes
#153800 at least partially.
* modules/input/imime.c (ime_info): Rename to "ime" to match the
naming pattern of other input modules. Make it default for
ja:ko:zh only.
2004-08-30 Tor Lillqvist <tml@iki.fi>
* modules/input/Makefile.am (im_ime_la_LIBADD): Link with -limm32.
* modules/input/gtkimcontextime.c: Use quotes in #includes, to
find headers when building inside GTK+ sources.
2004-08-26 Matthias Clasen <mclasen@redhat.com>
* modules/input/Makefile.am: Build imime.la on Windows.
* modules/input/gtkimcontextime.h:
* modules/input/gtkimcontextime.c:
* modules/input/imime.c:
* modules/input/imm-extra.h: Add the IME input method for Win32
written by Takuro Ashie and Kazuko IWAMOTO. The code was previously
hosted at http://sourceforge.jp/projects/imime. (#135195)
2004-05-04 Matthias Clasen <mclasen@redhat.com>
* modules/input/gtkimcontextxim.c: Fix the recent
string_conversion_callback change to work on
Solaris. (#141190, Padraig O'Briain)
Thu Mar 11 17:51:10 2004 Owen Taylor <otaylor@redhat.com>
* modules/input/gtkimcontextxim.c (preedit_done_callback):
Clear preedit string and emit preedit_changed as needed
on AIX. (#130617, Philip K Warren)
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>
Thu Jan 29 18:08:06 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextlayout.c (line_display_iter_to_index)
* gtk/gtktextlayout.c (line_display_index_to_iter): Only
adjust the preedit position for lines that include the
preedit string. (#132353, Yao Zhang). How the heck
did this work as well as it did?!?!
* modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
Reverse change to change of XNFilterEvents event mask from
#110493 -- it's documented and in the Xlib code an
unsigned long.
* modules/input/gtkimcontextxim.c (preedit_start_callback):
Return -1 rather than void to indicate no length limit.
(#129548)
Fri Jan 16 23:59:01 2004 Matthias Clasen <maclas@gmx.de>
The first part of the fix for #114351 (see also
gdk-pixbuf/ChangeLog and po/ChangeLog):
* gtk/gtkintl.h:
* gdk-pixbuf/gdk-pixbuf-i18n.h:
* gdk/gdkintl.h: Define P_() for property blurbs and nicks.
* gdk/gdkdisplaymanager.c:
* gdk-pixbuf/gdk-pixbuf.c:
* modules/input/gtkimcontextxim.c:
* gtk/*.c: Mark property blurbs and nicks with P_().
* po/Makefile.in.in: Add --keyword=P_ to the xgettext
invocation, since property blurbs and nicks are
now marked with P_().
Fri Oct 24 16:54:04 2003 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.0 ===
* configure.in: Remove a stray comma.
* README.in: Fix a few notes about Xft 1 and pango-1.0.
* NEWS: Finish updates for 2.3.0.
* po/Makefile.in.in: Update to latest GLib version.
Mon Aug 18 17:19:12 2003 Owen Taylor <otaylor@redhat.com>
* modules/input/gtkimcontextxim.[ch]: Substantially
rework the handling of status windows:
- Store the current StatusWindow in the
GtkIMContextXIM structure and vice-versa, so we
don't have to hunt the window hierarchy on
cleanup.
- Use the Gtkidget hierarchy instead of/or as well
as the GdkWindow hierarchy when finding the toplevel;
this helps for things like GtkHandlebox
- Watch GtkWidget::hierarchy_changed to catch
changes in the toplevel without changes in the
GdkWindow (reparenting)
- Never create the GtkWindow for the status window
unless we have text to display.
- Various cleanups, add lots of comments.
(#115077, much help from Takuro Ashie and Hidetoshi
Tajima in tracking this down and figuring out a fix.)
* modules/input/gtkimcontextxim.c (gtk_im_context_xim_focus_in):
* modules/input/gtkimcontextxim.c: Track the current
screen for each toplevel so that we show the status
window on the right screen. (#116340, James Su)
* modules/input/gtkimcontextxim.c: If create a new IC
when we currently have the focus, call XSetICFocus()
on it.
* modules/input/gtkimcontextxim.c (get_im): Fix bug
with multiple open screens.
Sat Aug 16 10:34:49 2003 Owen Taylor <otaylor@redhat.com>
* modules/input/imcedilla.c: Make the list of default
languages more comprehensive. (Suggestion of
Fco. Javier F. Serrador)
Sat Aug 9 12:47:11 2003 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c (gdk_arg_context_parse): Fix broken
parentheses when skipping args.
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.
Tue Jun 10 11:23:48 2003 Hidetoshi Tajima <hidetoshi.tajima@sun.com>
* modules/input/gtkimcontextxim.c (xim_instantiate_callback): New
function for XIM instantiate callback.
* modules/input/gtkimcontextxim.c (xim_info_try_im): New function
where call to XOpenIM() or XRegisterIMInstantiateCallback() is
actually made.
* modules/input/gtkimcontextxim.c (xim_destroy_callback): New function
for XIM's destroy callback.
* modules/input/gtkimcontextxim.c (get_im): add a check if info->im
is set or not - if it's not set, call xim_info_try_im() to try to
initiaize it.
* modules/input/gtkimcontextxim.c (reinitialize_ic): reset
filter_key_release flag of the context.
* modules/input/gtkimcontextxim.c (get_ic_real): removed
* modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic): move
code from the removed get_ic_real().
For XIM instantiation, destruction and re-instantiation. With
this, Gtk+ apps will be able to connect or reconnect to the XIM,
when it starts after the apps, or when the XIM gets lost and recover.
(#113099, #107782).
Fri Jun 6 11:05:45 2003 Hidetoshi Tajima <hidetoshi.tajima@sun.com>
* modules/input/gtkimcontextxim.h (struct _GtkIMContextXIM):
* modules/input/gtkimcontextxim.c (preedit_start_callback,
preedit_draw_callback, preedit_done_callback): Add a 'finalizing' flag
to keep preedit-[start,changed,end] signals from being called during
finalization (#111861).
Thu May 29 18:30:55 2003 Hidetoshi Tajima <hidetoshi.tajima@sun.com>
* modules/input/imipa.c:
use GETTEXT_PACKAGE to get a translation for "Default"(#113850).
Tue May 6 16:50:52 2003 Owen Taylor <otaylor@redhat.com>
Patch from James Henstridge to update to automake-1.7
(#109542)
* autogen.sh: update to call newer tools.
* configure.in: various updates, to use M4 macros to put
variables that change each release at the top.
Use AC_HELP_STRING to format help strings.
Use AC_CONFIG_COMMANDS to generate gdkconfig.h.
* Makefile.am: require Automake 1.7. Remove gdk-2.0.pc and
gtk+-2.0.pc on uninstall. Pass --enable-gtk-doc to configure
during distcheck.
* docs/reference/*/Makefile.am: simplify to use the gtk-doc.make
makefile fragment.
* */Makefile.am: don't use STRIP_BEGIN/STRIP_END.
Use BUILT_SOURCES where appropriate.
Build generated files in builddir rather than srcdir.
Fix uninstall and distclean targets to satisfy distcheck.
===
* gdk/*/Makefile.am: Remove the hacks to get gdkenumtypes.h
built first, since we are now using BUILT_SOURCES.
* gdk/Makefile.am: Remove an outdated comment about gdk_headers.
* demos/gtk-demo/Makefile.am: Fix srcdir != buildd problem
with geninclude.pl.
* configure.in: Update versions to 2.3.0.
Fri Apr 18 16:31:49 2003 Owen Taylor <otaylor@redhat.com>
* configure.in gdk/x11/gdkdisplay-x11.c modules/input/Makefile.am:
Check for XAddConnectionWatch()/X11R6, and if found, disable XIM and
use of XAddConnectionWatch. Remove --enable-xim config option.
Should fix building on X11R6 (#110523, Albert Chin
Sat Dec 14 22:03:21 2002 Owen Taylor <otaylor@redhat.com>
* modules/input/gtkimcontextxim.c (status_window_hide): Don't
call status_window_set_text() if the status window doesn't
already exist. (#100933, reported by Anand Subra)
* modules/input/gtkimcontextxim.c (status_window_show):
Don't bother creating the status window here, wait for
the set_text(). (Fixes a warning)
Wed Dec 11 18:30:05 2002 Owen Taylor <otaylor@redhat.com>
* === Released GTK+-2.1.4 ===
* NEWS: Updated.
* modules/input/Makefile.am (INCLUDES): Remove GTK_LOCALEDIR
from here as well. (Manish Singh)
* modules/input/gtkimcontextxim.c:
Fix#90661: add im_info->im switch at the top of setup_im() and
get_ic_real().
Fix#97674: make sure only one status window for the focused
input context should be shown.
Tue Oct 15 17:25:47 2002 Owen Taylor <otaylor@redhat.com>
* modules/input/gtkimcontextxim.c (get_im): Don't use
connect_swapped() when the function being connected
has a non-swapped signature.
Tue Oct 15 09:54:54 2002 Owen Taylor <otaylor@redhat.com>
* modules/input/gtkimcontextxim.c (get_im): Initialize
info->ics to NULL. (Hidetoshi Tajima.)
* modules/input/gtkimcontextxim.c (status_window_get):
Call set_resizable on the window, not on the structure.
Mon Oct 14 15:10:34 2002 Owen Taylor <otaylor@redhat.com>
* modules/input/gtkimcontextxim.c:
- Make GtkXIMInfo structures per-screen (they were
a mix between per-display and per-context before)
- Make signal connections info->settings one-per-info
- Handle a GdkDisplay being closed, by destroying
all XIC, calling XCloseIM on the XIM. (#87482)
* modules/input/gtkimcontextxim.c (get_ic_real): Fix memory
intilization error caused by my previous checkin.
#94908 a patch from famao@momonga-linux.org (Motonobu Ichimura)