summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2011-08-04 10:36:48 +0200
committerSamuel Rødal <samuel.rodal@nokia.com>2011-08-05 10:41:43 +0200
commit8dc2f81c9f0e6eb8cab09e5d682358fd140b49b8 (patch)
tree3d6fcd59b6b9f943e1e464fbf2f395939ae051ea /src/widgets/kernel
parent7d07ca24882ec49045c33d3cc67457bba6f5f73d (diff)
Add WindowStateChanged event.
Not currently considering activation state. Change-Id: Iea9265d35536947b6cc85639bd9839e9fda69bdf Reviewed-on: http://codereview.qt.nokia.com/2609 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/widgets/kernel')
-rw-r--r--src/widgets/kernel/qwidgetwindow_qpa.cpp14
-rw-r--r--src/widgets/kernel/qwidgetwindow_qpa_p.h1
2 files changed, 15 insertions, 0 deletions
diff --git a/src/widgets/kernel/qwidgetwindow_qpa.cpp b/src/widgets/kernel/qwidgetwindow_qpa.cpp
index 24e76f05d6..ab8bacc1c7 100644
--- a/src/widgets/kernel/qwidgetwindow_qpa.cpp
+++ b/src/widgets/kernel/qwidgetwindow_qpa.cpp
@@ -114,6 +114,10 @@ bool QWidgetWindow::event(QEvent *event)
handleExposeEvent(static_cast<QExposeEvent *>(event));
return true;
+ case QEvent::WindowStateChange:
+ handleWindowStateChangedEvent(static_cast<QWindowStateChangeEvent *>(event));
+ return true;
+
default:
break;
}
@@ -385,4 +389,14 @@ void QWidgetWindow::handleExposeEvent(QExposeEvent *event)
m_widget->d_func()->syncBackingStore(event->region());
}
+void QWidgetWindow::handleWindowStateChangedEvent(QWindowStateChangeEvent *event)
+{
+ // QWindow does currently not know 'active'.
+ Qt::WindowStates eventState = event->oldState();
+ if (m_widget->windowState() & Qt::WindowActive)
+ eventState |= Qt::WindowActive;
+ QWindowStateChangeEvent widgetEvent(eventState);
+ QGuiApplication::sendSpontaneousEvent(m_widget, &widgetEvent);
+}
+
QT_END_NAMESPACE
diff --git a/src/widgets/kernel/qwidgetwindow_qpa_p.h b/src/widgets/kernel/qwidgetwindow_qpa_p.h
index f200839b0b..4253072933 100644
--- a/src/widgets/kernel/qwidgetwindow_qpa_p.h
+++ b/src/widgets/kernel/qwidgetwindow_qpa_p.h
@@ -76,6 +76,7 @@ protected:
void handleWheelEvent(QWheelEvent *);
void handleDragEvent(QEvent *);
void handleExposeEvent(QExposeEvent *);
+ void handleWindowStateChangedEvent(QWindowStateChangeEvent *event);
private:
void updateGeometry();