diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-06-19 13:45:06 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-06-27 11:29:44 +0200 |
commit | 40f5a4d5f88300021a9c252a82c28a4777e87905 (patch) | |
tree | 6e0686d5f93102a35a6043f9e44e225dda94b595 /tests/auto/gui/kernel/qwindow/tst_qwindow.cpp | |
parent | 71c6fdf871d6a66c85a7618ec4ced25cf2bb9b5d (diff) |
Windows: Fix setting of geometries in minimized state.
Use SetWindowPlacement() to set the normal position when applicable
as is done in Qt 4.
Task-number: QTBUG-39544
Change-Id: Ia158b968ea15361d9937619f07b56eb8a0312a13
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Diffstat (limited to 'tests/auto/gui/kernel/qwindow/tst_qwindow.cpp')
-rw-r--r-- | tests/auto/gui/kernel/qwindow/tst_qwindow.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp index 868288e36e..9517264e55 100644 --- a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp +++ b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp @@ -67,6 +67,7 @@ private slots: void mapGlobal(); void positioning_data(); void positioning(); + void positioningDuringMinimized(); void isExposed(); void isActive(); void testInputEvents(); @@ -306,6 +307,28 @@ void tst_QWindow::positioning() } } +void tst_QWindow::positioningDuringMinimized() +{ + // QTBUG-39544, setting a geometry in minimized state should work as well. + if (QGuiApplication::platformName().compare("windows", Qt::CaseInsensitive)) + QSKIP("Not supported on this platform"); + Window window; + window.setTitle(QStringLiteral("positioningDuringMinimized")); + const QRect initialGeometry(QGuiApplication::primaryScreen()->availableGeometry().topLeft() + QPoint(100, 100), + QSize(200, 200)); + window.setGeometry(initialGeometry); + window.showNormal(); + QVERIFY(QTest::qWaitForWindowExposed(&window)); + QCOMPARE(window.geometry(), initialGeometry); + window.setWindowState(Qt::WindowMinimized); + QCOMPARE(window.geometry(), initialGeometry); + const QRect newGeometry(initialGeometry.topLeft() + QPoint(50, 50), initialGeometry.size() + QSize(50, 50)); + window.setGeometry(newGeometry); + QTRY_COMPARE(window.geometry(), newGeometry); + window.setWindowState(Qt::WindowNoState); + QTRY_COMPARE(window.geometry(), newGeometry); +} + void tst_QWindow::isExposed() { QRect geometry(80, 80, 40, 40); |