diff options
author | Pekka Vuorela <pekka.ta.vuorela@nokia.com> | 2012-01-23 13:09:14 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-27 13:28:03 +0100 |
commit | 1166ad8603fe4fbd1b008aaa7c043ee1078780a5 (patch) | |
tree | 1dadf8ef4160a2abaf7c5f020042d4cfc5905af9 /src/widgets/kernel/qinputcontext.cpp | |
parent | dd565d2d4c7e9b766bc9f575d803ebaad71b33b7 (diff) |
QWidgets to use QGuiApplication focus object change notifications
Moving away from deprecated QInputPanel inputItem.
Small behavioral changes:
- On focus proxy widgets, disabling WA_InputMethodEnabled on
proxy will no longer disable input method for proxy target.
- setEnabled(false) on proxy widget will no longer disable
input method for target as a special case.
Change-Id: Ifb5b7144d29bd3aefdde7cf4a0bd396db06e67e2
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Diffstat (limited to 'src/widgets/kernel/qinputcontext.cpp')
-rw-r--r-- | src/widgets/kernel/qinputcontext.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/widgets/kernel/qinputcontext.cpp b/src/widgets/kernel/qinputcontext.cpp index 7c16234cdd..5bc37568be 100644 --- a/src/widgets/kernel/qinputcontext.cpp +++ b/src/widgets/kernel/qinputcontext.cpp @@ -172,7 +172,13 @@ QInputContext::~QInputContext() */ QWidget *QInputContext::focusWidget() const { - return qobject_cast<QWidget *>(qApp->inputPanel()->inputItem()); + bool enabled = false; + if (qApp->focusWidget()) { + QInputMethodQueryEvent query(Qt::ImEnabled); + QGuiApplication::sendEvent(qApp->focusWidget(), &query); + enabled = query.value(Qt::ImEnabled).toBool(); + } + return enabled ? qobject_cast<QWidget *>(qApp->focusWidget()) : 0; } @@ -186,7 +192,7 @@ QWidget *QInputContext::focusWidget() const */ void QInputContext::setFocusWidget(QWidget *widget) { - qApp->inputPanel()->setInputItem(widget); + // not honored } /*! |