diff options
author | Fabian Bumberger <fbumberger@rim.com> | 2014-04-08 17:01:01 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-05-02 17:36:45 +0200 |
commit | 637b6e1097500235ca2146ae706b52ed9fc0effc (patch) | |
tree | f4ddeca866574a6315f4273f08bd6396d5e6523e /src/widgets/widgets | |
parent | 2567b35a5e14a704c3b33c17e4b39a940c033a4e (diff) |
Ignore the fullscreen state of a QMdiSubWindow
On some platforms all windows are by default forced into fullscreen mode when show() is executed.
In QMdiSubWindow we cannot handle the fullscreen state and should ignore it. Otherwise
the window will be forced in "normal" state and ignore any previously
executed geometry changes.
Change-Id: I09ce6507a1eac6a0adb3405ca3f423642d30f801
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Diffstat (limited to 'src/widgets/widgets')
-rw-r--r-- | src/widgets/widgets/qmdisubwindow.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/widgets/widgets/qmdisubwindow.cpp b/src/widgets/widgets/qmdisubwindow.cpp index b1adb3f760..9104074122 100644 --- a/src/widgets/widgets/qmdisubwindow.cpp +++ b/src/widgets/widgets/qmdisubwindow.cpp @@ -1676,15 +1676,18 @@ void QMdiSubWindowPrivate::ensureWindowState(Qt::WindowState state) switch (state) { case Qt::WindowMinimized: windowStates &= ~Qt::WindowMaximized; + windowStates &= ~Qt::WindowFullScreen; windowStates &= ~Qt::WindowNoState; break; case Qt::WindowMaximized: windowStates &= ~Qt::WindowMinimized; + windowStates &= ~Qt::WindowFullScreen; windowStates &= ~Qt::WindowNoState; break; case Qt::WindowNoState: windowStates &= ~Qt::WindowMinimized; windowStates &= ~Qt::WindowMaximized; + windowStates &= ~Qt::WindowFullScreen; break; default: break; @@ -2732,7 +2735,7 @@ bool QMdiSubWindow::eventFilter(QObject *object, QEvent *event) showMinimized(); else if (!(oldState & Qt::WindowMaximized) && (newState & Qt::WindowMaximized)) showMaximized(); - else if (!(newState & (Qt::WindowMaximized | Qt::WindowMinimized))) + else if (!(newState & (Qt::WindowMaximized | Qt::WindowMinimized | Qt::WindowFullScreen))) showNormal(); break; } @@ -3005,7 +3008,7 @@ void QMdiSubWindow::changeEvent(QEvent *changeEvent) d->setMinimizeMode(); else if (!(oldState & Qt::WindowMaximized) && (newState & Qt::WindowMaximized)) d->setMaximizeMode(); - else if (!(newState & (Qt::WindowMaximized | Qt::WindowMinimized))) + else if (!(newState & (Qt::WindowMaximized | Qt::WindowMinimized | Qt::WindowFullScreen))) d->setNormalMode(); if (d->isActive) |