diff options
author | Gatis Paeglis <gatis.paeglis@digia.com> | 2013-03-01 12:55:42 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-03-21 15:26:24 +0100 |
commit | 24c10b0b8d7673f2d5e04766b7e3e0e65f771127 (patch) | |
tree | d430145296d294490ce92ea64326db521af3b61c /src/gui/kernel/qplatforminputcontextfactory.cpp | |
parent | fb9cff6e88699b57b5dbc05d79c7958a2deacd71 (diff) |
Introducing QComposeInputContext
When switching from Xlib to xcb platform plugin it was agreed that
XIM is deprecated. Users should be using QT_IM_MODULE to load input context
plugin for a more advance input method framework support.
The proposed solution is to parse the compose file directly from Qt. This
approach removes the overhead of communication protocols used in Xlib and/or IBUS.
TableGenerator class follows [1].
The compose file is searched for in the following order:
1) If the environment variable $XCOMPOSEFILE is set,
its value is used as the name of the Compose file.
2) If the user’s home directory has a file named
.XCompose, it is used as the Compose file.
3) The system provided compose file is used by mapping the
locale to a compose file from the list in
/usr/share/X11/locale/compose.dir.
Regarding step 3 - TableGenerator searches in hard-coded locations for
system-provided compose files. Here I have introcuded a new environment
variable QTCOMPOSE which can be used to prepend an extra location
to be searched.
[1] http://www.x.org/archive/X11R7.7/doc/man/man5/Compose.5.xhtml
Task-number: QTBUG-28183
Change-Id: I76dcfd454f3acc23db98192a3673c1ab2af4425f
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Diffstat (limited to 'src/gui/kernel/qplatforminputcontextfactory.cpp')
-rw-r--r-- | src/gui/kernel/qplatforminputcontextfactory.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gui/kernel/qplatforminputcontextfactory.cpp b/src/gui/kernel/qplatforminputcontextfactory.cpp index 81368a0f25..ee80a70939 100644 --- a/src/gui/kernel/qplatforminputcontextfactory.cpp +++ b/src/gui/kernel/qplatforminputcontextfactory.cpp @@ -82,8 +82,8 @@ QPlatformInputContext *QPlatformInputContextFactory::create() QString icString = QString::fromLatin1(qgetenv("QT_IM_MODULE")); - if (icString == QStringLiteral("none")) - return 0; + if (icString == QLatin1String("none")) + icString = QStringLiteral("compose"); ic = create(icString); if (ic && ic->isValid()) |