diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2012-07-18 13:12:59 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-20 09:27:28 +0200 |
commit | 87618403976aa82450895da6196a944195980de7 (patch) | |
tree | 906d035678d8a31e57a94c01e8756b0085b3e1e4 /src/testlib/qtestsystem.h | |
parent | c081107206cb1d31415539c4429f7896b997cf71 (diff) |
Implement waitForWindowExposed and friends for widget windows.
- Implement waitForWindowExposed() for toplevel windows.
- Implement waitForWindowShown(QWidget *) and mark as
deprecated in line with waitForWindowShown(QWindow*).
- Use in tests.
- Simplify tests (collapse waitForExposed, setActive
into setActiveWindow, waitForActive), remove most
hard-coded timeouts.
- Stabilize graphicsview tests by using waitForWindowActive.
Change-Id: Ic7c061e2745b36f71a715ee4e47c0346b11a91e8
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Diffstat (limited to 'src/testlib/qtestsystem.h')
-rw-r--r-- | src/testlib/qtestsystem.h | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/src/testlib/qtestsystem.h b/src/testlib/qtestsystem.h index eb0fcb8178..66849f465d 100644 --- a/src/testlib/qtestsystem.h +++ b/src/testlib/qtestsystem.h @@ -46,14 +46,14 @@ #include <QtCore/qcoreapplication.h> #include <QtCore/qelapsedtimer.h> #include <QtGui/QWindow> +#ifdef QT_WIDGETS_LIB +# include <QtWidgets/QWidget> +#endif QT_BEGIN_HEADER QT_BEGIN_NAMESPACE - -class QWidget; - namespace QTest { inline static void qWait(int ms) @@ -69,13 +69,6 @@ namespace QTest } while (timer.elapsed() < ms); } - inline static bool qWaitForWindowShown(QWidget *window) - { - Q_UNUSED(window); - qWait(200); - return true; - } - inline static bool qWaitForWindowActive(QWindow *window, int timeout = 1000) { QElapsedTimer timer; @@ -120,11 +113,34 @@ namespace QTest return window->isExposed(); } +#ifdef QT_WIDGETS_LIB + inline static bool qWaitForWindowActive(QWidget *widget, int timeout = 1000) + { + if (QWindow *window = widget->windowHandle()) + return qWaitForWindowActive(window, timeout); + return false; + } + + inline static bool qWaitForWindowExposed(QWidget *widget, int timeout = 1000) + { + if (QWindow *window = widget->windowHandle()) + return qWaitForWindowExposed(window, timeout); + return false; + } +#endif + #if QT_DEPRECATED_SINCE(6, 0) QT_DEPRECATED inline static bool qWaitForWindowShown(QWindow *window, int timeout = 1000) { return qWaitForWindowExposed(window, timeout); } + +# ifdef QT_WIDGETS_LIB + QT_DEPRECATED inline static bool qWaitForWindowShown(QWidget *widget, int timeout = 1000) + { + return qWaitForWindowExposed(widget, timeout); + } +# endif // QT_WIDGETS_LIB #endif // QT_DEPRECATED_SINCE(6, 0) } |