diff options
author | Lars Knoll <lars.knoll@nokia.com> | 2011-09-08 22:09:33 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@nokia.com> | 2011-09-08 22:12:46 +0200 |
commit | 970df646691f1fd1f710156af7ddf10abd72df07 (patch) | |
tree | 660758c46ab3346c17d0e9f5c27175b3056d0397 /src/plugins | |
parent | 2cdd7886bf424a4986cfa1e08462cf9689c4c3d3 (diff) |
Make inputcontext plugin loading a bit more generic
Add a create() method to the inputcontext factory that
takes no arguments.
Add a virtual isValid() to QPlatformInputContext to
determine whether it actually works.
Remove IBUS dependencies in the xcb code so that it
can also load other plugins.
Change-Id: I6345a845f48fd4b3cacf6d8652711b16835a235c
Reviewed-on: http://codereview.qt-project.org/4487
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h | 2 | ||||
-rw-r--r-- | src/plugins/platforms/xcb/qxcbintegration.cpp | 15 | ||||
-rw-r--r-- | src/plugins/platforms/xcb/qxcbkeyboard.cpp | 4 |
3 files changed, 2 insertions, 19 deletions
diff --git a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h index b6e40489c0..84b578db16 100644 --- a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h +++ b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h @@ -53,7 +53,7 @@ public: QIBusPlatformInputContext(); ~QIBusPlatformInputContext(); - Q_INVOKABLE bool isValid() const; + bool isValid() const; void invokeAction(QInputPanel::Action a, int x); void reset(void); diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp index db3bcf90a8..b0d377bcac 100644 --- a/src/plugins/platforms/xcb/qxcbintegration.cpp +++ b/src/plugins/platforms/xcb/qxcbintegration.cpp @@ -62,10 +62,8 @@ #include <EGL/egl.h> #endif -#if defined(XCB_USE_IBUS) #include <private/qplatforminputcontextfactory_qpa_p.h> #include <qplatforminputcontext_qpa.h> -#endif #if defined(XCB_USE_GLX) #include "qglxintegration.h" @@ -101,18 +99,7 @@ QXcbIntegration::QXcbIntegration(const QStringList ¶meters) m_fontDatabase = new QGenericUnixFontDatabase(); m_nativeInterface = new QXcbNativeInterface; - m_inputContext = 0; -#if defined(XCB_USE_IBUS) - QPlatformInputContext *platformInputContext = QPlatformInputContextFactory::create("ibus"); - if (platformInputContext) { - bool retval; - QMetaObject::invokeMethod(platformInputContext, "isValid", Qt::DirectConnection, Q_RETURN_ARG(bool, retval)); - if (retval) - m_inputContext = platformInputContext; - } - if (platformInputContext && !m_inputContext) - delete platformInputContext; -#endif + m_inputContext = QPlatformInputContextFactory::create(); } QXcbIntegration::~QXcbIntegration() diff --git a/src/plugins/platforms/xcb/qxcbkeyboard.cpp b/src/plugins/platforms/xcb/qxcbkeyboard.cpp index c445dbfe2a..907dd0f1b6 100644 --- a/src/plugins/platforms/xcb/qxcbkeyboard.cpp +++ b/src/plugins/platforms/xcb/qxcbkeyboard.cpp @@ -49,9 +49,7 @@ #include <private/qguiapplication_p.h> #include <stdio.h> -#if defined(XCB_USE_IBUS) #include <qplatforminputcontext_qpa.h> -#endif #ifndef XK_ISO_Left_Tab #define XK_ISO_Left_Tab 0xFE20 @@ -1030,7 +1028,6 @@ void QXcbKeyboard::handleKeyEvent(QWindow *window, QEvent::Type type, xcb_keycod xcb_keysym_t sym = lookupString(window, state, code, type, &chars); -#if defined(XCB_USE_IBUS) if (QObject* inputContext = QGuiApplicationPrivate::platformIntegration()->inputContext()) { bool retval; QMetaObject::invokeMethod(inputContext, "x11FilterEvent", Qt::DirectConnection, @@ -1042,7 +1039,6 @@ void QXcbKeyboard::handleKeyEvent(QWindow *window, QEvent::Type type, xcb_keycod if (retval) return; } -#endif Qt::KeyboardModifiers modifiers; int qtcode = 0; |