summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qplatforminputcontextfactory.cpp
diff options
context:
space:
mode:
authorGatis Paeglis <gatis.paeglis@digia.com>2013-03-01 12:55:42 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-03-21 15:26:24 +0100
commit24c10b0b8d7673f2d5e04766b7e3e0e65f771127 (patch)
treed430145296d294490ce92ea64326db521af3b61c /src/gui/kernel/qplatforminputcontextfactory.cpp
parentfb9cff6e88699b57b5dbc05d79c7958a2deacd71 (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.cpp4
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())