summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2014-06-19 13:45:06 +0200
committerFriedemann Kleint <Friedemann.Kleint@digia.com>2014-06-27 11:29:44 +0200
commit40f5a4d5f88300021a9c252a82c28a4777e87905 (patch)
tree6e0686d5f93102a35a6043f9e44e225dda94b595 /tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
parent71c6fdf871d6a66c85a7618ec4ced25cf2bb9b5d (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.cpp23
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);