diff options
author | Pekka Vuorela <pekka.ta.vuorela@nokia.com> | 2011-09-27 14:36:56 +0300 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-09-28 14:02:08 +0200 |
commit | 50f0aeee770d4e23bb7466c6b5128f5d7dfe4590 (patch) | |
tree | 42f799c7d08f16581b8fd14ac9977ead5c7e8a33 /src/widgets/kernel/qapplication.cpp | |
parent | 3d71266fea91628d28ae4e55cd105a0bd5d8b457 (diff) |
Adapted most QInputContext usage on widgets to QInputPanel
Including most of stuff excluding mouse event handling
which differs between the classes.
Change-Id: Iff1e56b9c50c3f84de2d1c43a3416a1952197a17
Reviewed-on: http://codereview.qt-project.org/5640
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/widgets/kernel/qapplication.cpp')
-rw-r--r-- | src/widgets/kernel/qapplication.cpp | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index 80223743b1..7550e7dec3 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -78,10 +78,6 @@ #include <private/qt_x11_p.h> #endif -#if defined(Q_WS_X11) || defined(Q_OS_SYMBIAN) -#include "qinputcontextfactory.h" -#endif - #include "qguiplatformplugin_p.h" #include <qthread.h> @@ -2054,16 +2050,13 @@ void QApplicationPrivate::setFocusWidget(QWidget *focus, Qt::FocusReason reason) focus_widget = focus; #ifndef QT_NO_IM if (prev && ((reason != Qt::PopupFocusReason && reason != Qt::MenuBarFocusReason - && prev->testAttribute(Qt::WA_InputMethodEnabled)) - // Do reset the input context, in case the new focus widget won't accept keyboard input - // or it is not created fully yet. - || (focus_widget && (!focus_widget->testAttribute(Qt::WA_InputMethodEnabled) - || !focus_widget->testAttribute(Qt::WA_WState_Created))))) { - QInputContext *qic = prev->inputContext(); - if(qic) { - qic->reset(); - qic->setFocusWidget(0); - } + && prev->testAttribute(Qt::WA_InputMethodEnabled)) + // Do reset the input context, in case the new focus widget won't accept keyboard input + // or it is not created fully yet. + || (focus_widget && (!focus_widget->testAttribute(Qt::WA_InputMethodEnabled) + || !focus_widget->testAttribute(Qt::WA_WState_Created))))) { + qApp->inputPanel()->commit(); + qApp->inputPanel()->setInputItem(0); } #endif //QT_NO_IM @@ -2092,11 +2085,10 @@ void QApplicationPrivate::setFocusWidget(QWidget *focus, Qt::FocusReason reason) } if(focus && QApplicationPrivate::focus_widget == focus) { #ifndef QT_NO_IM - if (focus->testAttribute(Qt::WA_InputMethodEnabled)) { - QInputContext *qic = focus->inputContext(); - if (qic && focus->testAttribute(Qt::WA_WState_Created) - && focus->isEnabled()) - qic->setFocusWidget(focus); + if (focus->testAttribute(Qt::WA_InputMethodEnabled) + && focus->testAttribute(Qt::WA_WState_Created) + && focus->isEnabled()) { + qApp->inputPanel()->setInputItem(focus); } #endif //QT_NO_IM QFocusEvent in(QEvent::FocusIn, reason); |