diff options
Diffstat (limited to 'src/widgets/kernel')
-rw-r--r-- | src/widgets/kernel/qapplication.cpp | 10 | ||||
-rw-r--r-- | src/widgets/kernel/qwidget_p.h | 4 |
2 files changed, 2 insertions, 12 deletions
diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index 25c0e7f8cc..ff3fd89712 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -2098,16 +2098,6 @@ void QApplicationPrivate::setFocusWidget(QWidget *focus, Qt::FocusReason reason) prev->setEditFocus(false); } #endif -#ifndef QT_NO_IM - if (focus) { - QInputContext *prevIc; - prevIc = prev->inputContext(); - if (prevIc && prevIc != focus->inputContext()) { - QEvent closeSIPEvent(QEvent::CloseSoftwareInputPanel); - QApplication::sendEvent(prev, &closeSIPEvent); - } - } -#endif QFocusEvent out(QEvent::FocusOut, reason); QPointer<QWidget> that = prev; QApplication::sendEvent(prev, &out); diff --git a/src/widgets/kernel/qwidget_p.h b/src/widgets/kernel/qwidget_p.h index 7c74f794f9..6e1568e0fa 100644 --- a/src/widgets/kernel/qwidget_p.h +++ b/src/widgets/kernel/qwidget_p.h @@ -59,6 +59,7 @@ #include "QtCore/qlocale.h" #include "QtCore/qset.h" #include "QtGui/qregion.h" +#include "QtGui/qinputpanel.h" #include "QtWidgets/qsizepolicy.h" #include "QtWidgets/qstyle.h" #include "QtWidgets/qapplication.h" @@ -663,8 +664,7 @@ public: QStyle::RequestSoftwareInputPanel behavior = QStyle::RequestSoftwareInputPanel( q->style()->styleHint(QStyle::SH_RequestSoftwareInputPanel)); if (!clickCausedFocus || behavior == QStyle::RSIP_OnMouseClick) { - QEvent event(QEvent::RequestSoftwareInputPanel); - QApplication::sendEvent(q, &event); + qApp->inputPanel()->show(); } } } |