summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
diff options
context:
space:
mode:
authorAlexis Menard <alexis.menard@nokia.com>2010-04-29 06:34:25 (GMT)
committerAlexis Menard <alexis.menard@nokia.com>2010-04-29 06:38:33 (GMT)
commit69efa1c869694666c66375179b43e2569cf2772b (patch)
treefdbdb3e901c37e69b0cd78351ef9989764fd4336 /src/gui/kernel
parent4eb2e50b97a9933ab249517aa42cce9b3b4115e2 (diff)
downloadQt-69efa1c869694666c66375179b43e2569cf2772b.zip
Qt-69efa1c869694666c66375179b43e2569cf2772b.tar.gz
Qt-69efa1c869694666c66375179b43e2569cf2772b.tar.bz2
Update the input method sensitivity in case of complex widgets in QGraphicsProxyWidget.
In case of a complex widget embedded in a proxy, we need to update the input method acceptance whenever the focus changes inside the proxy. Task-number:QTBUG-8847 Reviewed-by:janarve
Diffstat (limited to 'src/gui/kernel')
-rw-r--r--src/gui/kernel/qwidget.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index 20d1d30..60f38f2 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -6232,6 +6232,12 @@ void QWidget::setFocus(Qt::FocusReason reason)
QApplication::sendEvent(that->style(), &event);
}
if (!isHidden()) {
+#ifndef QT_NO_GRAPHICSVIEW
+ // Update proxy state
+ if (QWExtra *topData = window()->d_func()->extra)
+ if (topData->proxyWidget && topData->proxyWidget->hasFocus())
+ topData->proxyWidget->d_func()->updateProxyInputMethodAcceptanceFromWidget();
+#endif
// Send event to self
QFocusEvent event(QEvent::FocusIn, reason);
QPointer<QWidget> that = f;