summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qinputcontext.cpp
diff options
context:
space:
mode:
authorPekka Vuorela <pekka.ta.vuorela@nokia.com>2012-01-23 13:09:14 +0200
committerQt by Nokia <qt-info@nokia.com>2012-01-27 13:28:03 +0100
commit1166ad8603fe4fbd1b008aaa7c043ee1078780a5 (patch)
tree1dadf8ef4160a2abaf7c5f020042d4cfc5905af9 /src/widgets/kernel/qinputcontext.cpp
parentdd565d2d4c7e9b766bc9f575d803ebaad71b33b7 (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.cpp10
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
}
/*!