diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2011-08-04 10:36:48 +0200 |
---|---|---|
committer | Samuel Rødal <samuel.rodal@nokia.com> | 2011-08-05 10:41:43 +0200 |
commit | 8dc2f81c9f0e6eb8cab09e5d682358fd140b49b8 (patch) | |
tree | 3d6fcd59b6b9f943e1e464fbf2f395939ae051ea /src/gui/kernel/qguiapplication.cpp | |
parent | 7d07ca24882ec49045c33d3cc67457bba6f5f73d (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/gui/kernel/qguiapplication.cpp')
-rw-r--r-- | src/gui/kernel/qguiapplication.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index f739037cc6..f1edf52b0a 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -510,6 +510,9 @@ void QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePriv case QWindowSystemInterfacePrivate::ActivatedWindow: QGuiApplicationPrivate::processActivatedEvent(static_cast<QWindowSystemInterfacePrivate::ActivatedWindowEvent *>(e)); break; + case QWindowSystemInterfacePrivate::WindowStateChanged: + QGuiApplicationPrivate::processWindowStateChangedEvent(static_cast<QWindowSystemInterfacePrivate::WindowStateChangedEvent *>(e)); + break; case QWindowSystemInterfacePrivate::Close: QGuiApplicationPrivate::processCloseEvent( static_cast<QWindowSystemInterfacePrivate::CloseEvent *>(e)); @@ -690,6 +693,15 @@ void QGuiApplicationPrivate::processActivatedEvent(QWindowSystemInterfacePrivate self->notifyActiveWindowChange(previous); } +void QGuiApplicationPrivate::processWindowStateChangedEvent(QWindowSystemInterfacePrivate::WindowStateChangedEvent *wse) +{ + if (QWindow *window = wse->window.data()) { + QWindowStateChangeEvent e(window->windowState()); + window->d_func()->windowState = wse->newState; + QGuiApplication::sendSpontaneousEvent(window, &e); + } +} + void QGuiApplicationPrivate::processGeometryChangeEvent(QWindowSystemInterfacePrivate::GeometryChangeEvent *e) { if (e->tlw.isNull()) |