summaryrefslogtreecommitdiffstats
path: root/src/testlib/qtesthelpers_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/testlib/qtesthelpers_p.h')
-rw-r--r--src/testlib/qtesthelpers_p.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/testlib/qtesthelpers_p.h b/src/testlib/qtesthelpers_p.h
index efe28c4f004..100ad8c2f9b 100644
--- a/src/testlib/qtesthelpers_p.h
+++ b/src/testlib/qtesthelpers_p.h
@@ -24,6 +24,7 @@
#ifdef QT_GUI_LIB
#include <QtGui/QGuiApplication>
#include <QtGui/QScreen>
+#include <QtGui/QWindow>
#endif
#ifdef QT_WIDGETS_LIB
@@ -91,6 +92,24 @@ static inline void androidCompatibleShow(QWidget *widget)
}
#endif // QT_WIDGETS_LIB
+#ifdef QT_GUI_LIB
+bool ensurePositionTopLeft(QWindow *window)
+{
+ const QPoint availableTopLeft = QGuiApplication::primaryScreen()->availableGeometry().topLeft();
+ window->setFramePosition(availableTopLeft);
+ bool positionCorrect = true;
+
+ if (!window->flags().testFlag(Qt::FramelessWindowHint))
+ positionCorrect = QTest::qWaitFor([&]{ return window->framePosition() != window->position() ;});
+
+ const bool positionUpdated = QTest::qWaitFor([&]{ return window->framePosition() == availableTopLeft ;});
+ if (!positionUpdated)
+ positionCorrect = false;
+
+ return positionCorrect;
+}
+#endif
+
#ifdef QT_NETWORK_LIB
inline bool isSecureTransportBlockingTest()
{