From e4af79ebc4ebd54c175fcc02476a30c760153baa Mon Sep 17 00:00:00 2001 From: Paul Olav Tvete Date: Wed, 10 Dec 2014 15:11:59 +0100 Subject: [PATCH] Input method support for QQuickWidget MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Make sure QGuiApplication::focusObject() returns the QQuickItem that has focus, and forward input method events. Task-number: QTBUG-42677 Change-Id: Ic07f93a2529c3dde67272b489bdc61fd25582a69 Reviewed-by: Laszlo Agocs Reviewed-by: Jørgen Lind --- src/quickwidgets/qquickwidget.cpp | 8 ++++++++ src/quickwidgets/qquickwidget_p.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp index 83fe586..6143e4e 100644 --- a/src/quickwidgets/qquickwidget.cpp +++ b/src/quickwidgets/qquickwidget.cpp @@ -246,6 +246,11 @@ QImage QQuickWidgetPrivate::grabFramebuffer() return renderControl->grab(); } +QObject *QQuickWidgetPrivate::focusObject() +{ + return offscreenWindow ? offscreenWindow->focusObject() : 0; +} + /*! \module QtQuickWidgets \title Qt Quick Widgets C++ Classes @@ -1086,6 +1091,9 @@ bool QQuickWidget::event(QEvent *e) e->accept(); return true; #endif + case QEvent::InputMethod: + case QEvent::InputMethodQuery: + case QEvent::TouchBegin: case QEvent::TouchEnd: case QEvent::TouchUpdate: diff --git a/src/quickwidgets/qquickwidget_p.h b/src/quickwidgets/qquickwidget_p.h index 2ff9601..57782a6 100644 --- a/src/quickwidgets/qquickwidget_p.h +++ b/src/quickwidgets/qquickwidget_p.h @@ -81,6 +81,8 @@ public: void destroyContext(); void handleContextCreationFailure(const QSurfaceFormat &format, bool isEs); + QObject *focusObject() Q_DECL_OVERRIDE; + GLuint textureId() const Q_DECL_OVERRIDE; QImage grabFramebuffer() Q_DECL_OVERRIDE; -- 2.7.4