diff options
Diffstat (limited to 'src/testlib/qtesthelpers_p.h')
-rw-r--r-- | src/testlib/qtesthelpers_p.h | 19 |
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() { |