diff options
author | Takao Fujiwara <takao.fujiwara1@gmail.com> | 2015-08-25 14:54:31 +0900 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-08-25 19:41:46 +0000 |
commit | 418824dc691fd7fe2fede6b9566f0c4db098e772 (patch) | |
tree | e81f126c4c94035d6061967a31b8e5e64a9c8ff4 /src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h | |
parent | 4b5da50b29b79b899838685163ce01cfac01bc60 (diff) |
ibus: Return correct scan code to windows
ibus keycode is qt scancode - 8 and needs to be returned to app windows
as the right value.
Use QWindowSystemInterface::handleExtendedKeyEvent() instead of
QCoreApplication::sendEvent() in qtbase 5.6 to follow
QXcbKeyboard::handleKeyEvent().
Also qApp->focusObject() returns QMdiChild which is a QWidget and
that is not a QWindow.
Task-number: QTBUG-47833
Change-Id: Ie634a86d7790d8093cfca2dc8666f726844ae654
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h')
-rw-r--r-- | src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h index 91f15ea159..127db7df8b 100644 --- a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h +++ b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h @@ -38,6 +38,7 @@ #include <QtCore/qpointer.h> #include <QtDBus/qdbuspendingreply.h> #include <QLoggingCategory> +#include <QWindow> QT_BEGIN_NAMESPACE @@ -51,23 +52,23 @@ class QIBusFilterEventWatcher: public QDBusPendingCallWatcher public: explicit QIBusFilterEventWatcher(const QDBusPendingCall &call, QObject *parent = 0, - QObject *input = 0, + QWindow *window = 0, const Qt::KeyboardModifiers modifiers = 0, const QVariantList arguments = QVariantList()) : QDBusPendingCallWatcher(call, parent) - , m_input(input) + , m_window(window) , m_modifiers(modifiers) , m_arguments(arguments) {} ~QIBusFilterEventWatcher() {} - inline QObject *input() const { return m_input; } + inline QWindow *window() const { return m_window; } inline const Qt::KeyboardModifiers modifiers() const { return m_modifiers; } inline const QVariantList arguments() const { return m_arguments; } private: - QPointer<QObject> m_input; + QPointer<QWindow> m_window; const Qt::KeyboardModifiers m_modifiers; const QVariantList m_arguments; }; |