diff options
author | axis <qt-info@nokia.com> | 2010-02-12 12:30:45 (GMT) |
---|---|---|
committer | axis <qt-info@nokia.com> | 2010-02-12 13:10:11 (GMT) |
commit | b79a8406ef22c2dcd066966a28147f2ca2f895d4 (patch) | |
tree | 180e5188fc420e470e71e20c631e7ec416dcced7 /src | |
parent | 4a47bf6a06a4f7ebbf2336cd643c50332ac76d6d (diff) | |
download | Qt-b79a8406ef22c2dcd066966a28147f2ca2f895d4.zip Qt-b79a8406ef22c2dcd066966a28147f2ca2f895d4.tar.gz Qt-b79a8406ef22c2dcd066966a28147f2ca2f895d4.tar.bz2 |
Enabled searching of IM plugins on Symbian.
- It will try hbim and coefep first.
- If both are missing (coefep can only be missing if compiled without
S60 support), other plugins in the inputmethods plugin directory
are attempted.
Task: QT-2460
RevBy: Sami Merila
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/kernel/qapplication.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index bb6aca9..336be91 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -5264,10 +5264,20 @@ QInputContext *QApplication::inputContext() const qic = QInputContextFactory::create(QLatin1String("xim"), that); that->d_func()->inputContext = qic; } -#elif defined(Q_WS_S60) +#elif defined(Q_OS_SYMBIAN) if (!d->inputContext) { QApplication *that = const_cast<QApplication *>(this); - that->d_func()->inputContext = QInputContextFactory::create(QString::fromLatin1("coefep"), that); + const QStringList keys = QInputContextFactory::keys(); + // Try hbim and coefep first, then try others. + if (keys.contains("hbim")) { + that->d_func()->inputContext = QInputContextFactory::create(QLatin1String("hbim"), that); + } else if (keys.contains("coefep")) { + that->d_func()->inputContext = QInputContextFactory::create(QLatin1String("coefep"), that); + } else { + for (int c = 0; c < keys.size() && !d->inputContext; ++c) { + that->d_func()->inputContext = QInputContextFactory::create(keys[c], that); + } + } } #endif return d->inputContext; |