From e79cdd0e6df7dec2edaea13b6cff45965c3e7456 Mon Sep 17 00:00:00 2001 From: Paul Olav Tvete Date: Wed, 10 Dec 2014 15:07:00 +0100 Subject: Enable input methods for QQuickWidget MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make it possible for widgets to have non-widget focus objects. Since we cannot add new virtual functions due to binary compatibility, we have to do it in QWidgetPrivate. Task-number: QTBUG-42677 Change-Id: I5f74daed2793c1c149bbe02e54ff2f7e2ad1af9e Reviewed-by: Jørgen Lind --- src/widgets/kernel/qwidget_p.h | 2 ++ src/widgets/kernel/qwidgetwindow.cpp | 6 ++++++ 2 files changed, 8 insertions(+) (limited to 'src/widgets/kernel') diff --git a/src/widgets/kernel/qwidget_p.h b/src/widgets/kernel/qwidget_p.h index bbdbabc14b..b3552cba68 100644 --- a/src/widgets/kernel/qwidget_p.h +++ b/src/widgets/kernel/qwidget_p.h @@ -619,6 +619,8 @@ public: QOpenGLContext *shareContext() const; + virtual QObject *focusObject() { return 0; } + #ifndef QT_NO_OPENGL virtual GLuint textureId() const { return 0; } virtual QImage grabFramebuffer() { return QImage(); } diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp index 463eea4ddc..b31f9a51dd 100644 --- a/src/widgets/kernel/qwidgetwindow.cpp +++ b/src/widgets/kernel/qwidgetwindow.cpp @@ -147,6 +147,12 @@ QObject *QWidgetWindow::focusObject() const if (!widget) widget = m_widget; + if (widget) { + QObject *focusObj = QWidgetPrivate::get(widget)->focusObject(); + if (focusObj) + return focusObj; + } + return widget; } -- cgit v1.2.3