aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@theqtcompany.com>2015-08-21 12:48:36 +0200
committerSimon Hausmann <simon.hausmann@theqtcompany.com>2015-11-30 13:47:02 +0000
commit4b09f9ffdc7b5fd3c4e18d9fff3350390baac130 (patch)
treea3702de31fad58bba38d22d8e35a585fea622a02 /tests
parent3b9dc5c6e728872af4328e156a68b51931c1055f (diff)
GifRecorder: don't assume QQuickView
This allows us to use windows as root items, which means we can have complete examples - not just a snippet without imports. With this, we can have runnable snippets under each GIF, without the need for the user to add code to get it to run. This change is also necessary to generate GIFs for Panel-based items like Menu, which require an ApplicationWindow. Change-Id: I66fec30cde8d719be35766f8c917cd2a06b09127 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/manual/gifs/data/qtlabscontrols-busyindicator.qml4
-rw-r--r--tests/manual/gifs/data/qtlabscontrols-button.qml14
-rw-r--r--tests/manual/gifs/data/qtlabscontrols-rangeslider.qml4
-rw-r--r--tests/manual/gifs/data/qtlabscontrols-slider.qml4
-rw-r--r--tests/manual/gifs/data/qtlabscontrols-switch.qml11
-rw-r--r--tests/manual/gifs/data/qtlabscontrols-tabbar.qml4
-rw-r--r--tests/manual/gifs/data/qtlabscontrols-tumbler-wrap.qml4
-rw-r--r--tests/manual/gifs/gifrecorder.cpp42
-rw-r--r--tests/manual/gifs/gifrecorder.h10
-rw-r--r--tests/manual/gifs/tst_gifs.cpp384
10 files changed, 250 insertions, 231 deletions
diff --git a/tests/manual/gifs/data/qtlabscontrols-busyindicator.qml b/tests/manual/gifs/data/qtlabscontrols-busyindicator.qml
index 8b6940cc..e68af7dd 100644
--- a/tests/manual/gifs/data/qtlabscontrols-busyindicator.qml
+++ b/tests/manual/gifs/data/qtlabscontrols-busyindicator.qml
@@ -39,11 +39,13 @@
****************************************************************************/
import QtQuick 2.6
+import QtQuick.Window 2.0
import Qt.labs.controls 1.0
-Item {
+Window {
width: busyIndicator.implicitWidth
height: busyIndicator.implicitHeight
+ visible: true
property alias busyIndicator: busyIndicator
diff --git a/tests/manual/gifs/data/qtlabscontrols-button.qml b/tests/manual/gifs/data/qtlabscontrols-button.qml
index c536d1e1..f804b987 100644
--- a/tests/manual/gifs/data/qtlabscontrols-button.qml
+++ b/tests/manual/gifs/data/qtlabscontrols-button.qml
@@ -39,9 +39,17 @@
****************************************************************************/
import QtQuick 2.6
+import QtQuick.Window 2.0
import Qt.labs.controls 1.0
-Button {
- text: pressed ? "Pressed" : "Normal"
- width: 80
+Window {
+ width: button.width
+ height: button.height
+ visible: true
+
+ Button {
+ id: button
+ text: pressed ? "Pressed" : "Normal"
+ width: 80
+ }
}
diff --git a/tests/manual/gifs/data/qtlabscontrols-rangeslider.qml b/tests/manual/gifs/data/qtlabscontrols-rangeslider.qml
index c7033f38..55056cf8 100644
--- a/tests/manual/gifs/data/qtlabscontrols-rangeslider.qml
+++ b/tests/manual/gifs/data/qtlabscontrols-rangeslider.qml
@@ -39,11 +39,13 @@
****************************************************************************/
import QtQuick 2.6
+import QtQuick.Window 2.0
import Qt.labs.controls 1.0
-Item {
+Window {
width: slider.implicitWidth
height: slider.implicitHeight
+ visible: true
property alias slider: slider
diff --git a/tests/manual/gifs/data/qtlabscontrols-slider.qml b/tests/manual/gifs/data/qtlabscontrols-slider.qml
index 82cd3ad9..92dc8bf8 100644
--- a/tests/manual/gifs/data/qtlabscontrols-slider.qml
+++ b/tests/manual/gifs/data/qtlabscontrols-slider.qml
@@ -39,11 +39,13 @@
****************************************************************************/
import QtQuick 2.6
+import QtQuick.Window 2.0
import Qt.labs.controls 1.0
-Item {
+Window {
width: slider.implicitWidth
height: slider.implicitHeight
+ visible: true
Slider {
id: slider
diff --git a/tests/manual/gifs/data/qtlabscontrols-switch.qml b/tests/manual/gifs/data/qtlabscontrols-switch.qml
index 01818ba8..3968b60f 100644
--- a/tests/manual/gifs/data/qtlabscontrols-switch.qml
+++ b/tests/manual/gifs/data/qtlabscontrols-switch.qml
@@ -39,7 +39,16 @@
****************************************************************************/
import QtQuick 2.6
+import QtQuick.Window 2.0
import Qt.labs.controls 1.0
-Switch {
+Window {
+ width: theSwitch.width
+ height: theSwitch.height
+ visible: true
+
+ Switch {
+ id: theSwitch
+ anchors.centerIn: parent
+ }
}
diff --git a/tests/manual/gifs/data/qtlabscontrols-tabbar.qml b/tests/manual/gifs/data/qtlabscontrols-tabbar.qml
index c7a8653f..55bf5e27 100644
--- a/tests/manual/gifs/data/qtlabscontrols-tabbar.qml
+++ b/tests/manual/gifs/data/qtlabscontrols-tabbar.qml
@@ -39,11 +39,13 @@
****************************************************************************/
import QtQuick 2.6
+import QtQuick.Window 2.0
import Qt.labs.controls 1.0
-Item {
+Window {
width: 200
height: tabBar.height
+ visible: true
TabBar {
id: tabBar
diff --git a/tests/manual/gifs/data/qtlabscontrols-tumbler-wrap.qml b/tests/manual/gifs/data/qtlabscontrols-tumbler-wrap.qml
index 8e9183c4..4b84c6d1 100644
--- a/tests/manual/gifs/data/qtlabscontrols-tumbler-wrap.qml
+++ b/tests/manual/gifs/data/qtlabscontrols-tumbler-wrap.qml
@@ -39,11 +39,13 @@
****************************************************************************/
import QtQuick 2.6
+import QtQuick.Window 2.0
import Qt.labs.controls 1.0
-Item {
+Window {
width: 200
height: 200
+ visible: true
Frame {
padding: 0
diff --git a/tests/manual/gifs/gifrecorder.cpp b/tests/manual/gifs/gifrecorder.cpp
index be5032d5..617ce506 100644
--- a/tests/manual/gifs/gifrecorder.cpp
+++ b/tests/manual/gifs/gifrecorder.cpp
@@ -65,7 +65,7 @@ namespace {
GifRecorder::GifRecorder() :
QObject(Q_NULLPTR),
- mView(Q_NULLPTR),
+ mWindow(Q_NULLPTR),
mHighQuality(false),
mRecordingDuration(0),
mRecordCursor(false),
@@ -116,9 +116,9 @@ void GifRecorder::setQmlFileName(const QString &fileName)
mQmlInputFileName = fileName;
}
-void GifRecorder::setView(QQuickView *view)
+void GifRecorder::setView(QQuickWindow *view)
{
- this->mView = view;
+ this->mWindow = view;
}
/*!
@@ -136,6 +136,11 @@ void GifRecorder::setHighQuality(bool highQuality)
mHighQuality = highQuality;
}
+QQuickWindow *GifRecorder::window() const
+{
+ return mWindow;
+}
+
namespace {
void startProcess(QProcess &process, const QString &processName, const QString &args)
{
@@ -165,18 +170,19 @@ namespace {
void GifRecorder::start()
{
- QVERIFY2(mView, "Must have a view to record");
-
QDir gifQmlDir(mDataDirPath);
QVERIFY(gifQmlDir.entryList().contains(mQmlInputFileName));
const QString qmlPath = gifQmlDir.absoluteFilePath(mQmlInputFileName);
- mView->setSource(QUrl::fromLocalFile(qmlPath));
- QVERIFY(mView->rootObject());
+ mEngine.load(QUrl::fromLocalFile(qmlPath));
+ mWindow = qobject_cast<QQuickWindow*>(mEngine.rootObjects().first());
+ QVERIFY2(mWindow, "Top level item must be a window");
+
+ mWindow->setFlags(mWindow->flags() | Qt::FramelessWindowHint);
- mView->show();
- mView->requestActivate();
- QVERIFY(QTest::qWaitForWindowActive(mView, 500));
+ mWindow->show();
+ mWindow->requestActivate();
+ QVERIFY(QTest::qWaitForWindowActive(mWindow, 500));
if (mOutputFileBaseName.isEmpty()) {
mOutputFileBaseName = mOutputDir.absoluteFilePath(mQmlInputFileName);
@@ -195,10 +201,10 @@ void GifRecorder::start()
QString args = QLatin1String("-d %1 -v %2 -x %3 -y %4 -w %5 -h %6 %7");
args = args.arg(QString::number(mRecordingDuration))
.arg(mRecordCursor ? QStringLiteral("-c") : QString())
- .arg(QString::number(mView->x()))
- .arg(QString::number(mView->y()))
- .arg(QString::number(mView->width()))
- .arg(QString::number(mView->height()))
+ .arg(QString::number(mWindow->x()))
+ .arg(QString::number(mWindow->y()))
+ .arg(QString::number(mWindow->width()))
+ .arg(QString::number(mWindow->height()))
.arg(mByzanzOutputFileName);
@@ -208,7 +214,7 @@ void GifRecorder::start()
// manually from the command line by recording any section of the screen
// without moving the mouse and then running avprobe on the resulting .flv.
// Our workaround is to force view updates.
- connect(&mEventTimer, SIGNAL(timeout()), mView, SLOT(update()));
+ connect(&mEventTimer, SIGNAL(timeout()), mWindow, SLOT(update()));
mEventTimer.start(100);
startProcess(mByzanzProcess, byzanzProcessName, args);
@@ -231,14 +237,14 @@ void GifRecorder::waitForFinish()
if (mHighQuality) {
// Indicate the end of recording and the beginning of conversion.
- QQmlComponent busyComponent(mView->engine());
+ QQmlComponent busyComponent(&mEngine);
busyComponent.setData("import QtQuick 2.6; import Qt.labs.controls 1.0; Rectangle { anchors.fill: parent; " \
"BusyIndicator { width: 32; height: 32; anchors.centerIn: parent } }", QUrl());
QCOMPARE(busyComponent.status(), QQmlComponent::Ready);
QQuickItem *busyRect = qobject_cast<QQuickItem*>(busyComponent.create());
QVERIFY(busyRect);
- busyRect->setParentItem(mView->rootObject());
- QSignalSpy spy(mView, SIGNAL(frameSwapped()));
+ busyRect->setParentItem(mWindow->contentItem());
+ QSignalSpy spy(mWindow, SIGNAL(frameSwapped()));
QVERIFY(spy.wait());
QProcess avconvProcess;
diff --git a/tests/manual/gifs/gifrecorder.h b/tests/manual/gifs/gifrecorder.h
index f848a1f4..3f8aa1b6 100644
--- a/tests/manual/gifs/gifrecorder.h
+++ b/tests/manual/gifs/gifrecorder.h
@@ -39,7 +39,8 @@
#include <QObject>
#include <QProcess>
-#include <QQuickView>
+#include <QQmlApplicationEngine>
+#include <QQuickWindow>
#include <QDir>
#include <QString>
#include <QTimer>
@@ -57,9 +58,11 @@ public:
void setOutputDir(const QDir &dir);
void setOutputFileBaseName(const QString &fileBaseName);
void setQmlFileName(const QString &fileName);
- void setView(QQuickView *mView);
+ void setView(QQuickWindow *mWindow);
void setHighQuality(bool highQuality);
+ QQuickWindow *window() const;
+
void start();
bool hasStarted() const;
void waitForFinish();
@@ -75,7 +78,8 @@ private:
QString mByzanzOutputFileName;
QString mGifFileName;
QString mQmlInputFileName;
- QQuickView *mView;
+ QQmlApplicationEngine mEngine;
+ QQuickWindow *mWindow;
bool mHighQuality;
int mRecordingDuration;
bool mRecordCursor;
diff --git a/tests/manual/gifs/tst_gifs.cpp b/tests/manual/gifs/tst_gifs.cpp
index 9883fd13..e7f50f2b 100644
--- a/tests/manual/gifs/tst_gifs.cpp
+++ b/tests/manual/gifs/tst_gifs.cpp
@@ -58,11 +58,9 @@ private slots:
void tabBar();
private:
- void moveSmoothly(const QPoint &from, const QPoint &to, int movements,
- QEasingCurve::Type easingCurveType = QEasingCurve::OutQuint,
- int movementDelay = 15);
+ void moveSmoothly(QQuickWindow *window, const QPoint &from, const QPoint &to, int movements,
+ QEasingCurve::Type easingCurveType = QEasingCurve::OutQuint, int movementDelay = 15);
- QQuickView view;
QString dataDirPath;
QDir outputDir;
};
@@ -76,11 +74,10 @@ void tst_Gifs::initTestCase()
outputDir = QDir(QDir::current().filePath("gifs"));
QVERIFY(outputDir.exists() || QDir::current().mkpath("gifs"));
qInfo() << "output directory:" << outputDir.absolutePath();
-
- view.setFlags(view.flags() | Qt::FramelessWindowHint);
}
-void tst_Gifs::moveSmoothly(const QPoint &from, const QPoint &to, int movements, QEasingCurve::Type easingCurveType, int movementDelay)
+void tst_Gifs::moveSmoothly(QQuickWindow *window, const QPoint &from, const QPoint &to,
+ int movements, QEasingCurve::Type easingCurveType, int movementDelay)
{
QEasingCurve curve(easingCurveType);
int xDifference = to.x() - from.x();
@@ -89,7 +86,7 @@ void tst_Gifs::moveSmoothly(const QPoint &from, const QPoint &to, int movements,
QPoint pos = QPoint(
from.x() + curve.valueForProgress(movement / qreal(qAbs(xDifference))) * xDifference,
from.y() + curve.valueForProgress(movement / qreal(qAbs(yDifference))) * yDifference);
- QTest::mouseMove(&view, pos, movementDelay);
+ QTest::mouseMove(window, pos, movementDelay);
}
}
@@ -100,69 +97,66 @@ void tst_Gifs::tumblerWrap()
gifRecorder.setOutputDir(outputDir);
gifRecorder.setRecordingDuration(4);
gifRecorder.setQmlFileName("qtlabscontrols-tumbler-wrap.qml");
- gifRecorder.setView(&view);
-
- view.show();
gifRecorder.start();
// Left as an example. Usually EventCapturer code would be removed after
// the GIF has been generated.
+ QQuickWindow *window = gifRecorder.window();
EventCapturer eventCapturer;
#ifdef GENERATE_EVENT_CODE
eventCapturer.setMoveEventTrimFlags(EventCapturer::TrimAll);
- eventCapturer.startCapturing(&view, 4000);
+ eventCapturer.startCapturing(window, 4000);
#else
- QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, QPoint(89, 75), 326);
- QTest::mouseMove(&view, QPoint(89, 76), 31);
- QTest::mouseMove(&view, QPoint(89, 80), 10);
- QTest::mouseMove(&view, QPoint(93, 93), 10);
- QTest::mouseMove(&view, QPoint(95, 101), 10);
- QTest::mouseMove(&view, QPoint(97, 109), 11);
- QTest::mouseMove(&view, QPoint(101, 125), 10);
- QTest::mouseMove(&view, QPoint(103, 133), 11);
- QTest::mouseMove(&view, QPoint(103, 141), 11);
- QTest::mouseMove(&view, QPoint(105, 158), 10);
- QTest::mouseMove(&view, QPoint(105, 162), 13);
- QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, QPoint(105, 162), 0);
- QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, QPoint(154, 130), 1098);
- QTest::mouseMove(&view, QPoint(154, 129), 50);
- QTest::mouseMove(&view, QPoint(153, 128), 0);
- QTest::mouseMove(&view, QPoint(153, 125), 16);
- QTest::mouseMove(&view, QPoint(152, 121), 0);
- QTest::mouseMove(&view, QPoint(152, 117), 17);
- QTest::mouseMove(&view, QPoint(151, 113), 0);
- QTest::mouseMove(&view, QPoint(151, 106), 16);
- QTest::mouseMove(&view, QPoint(150, 99), 1);
- QTest::mouseMove(&view, QPoint(148, 93), 16);
- QTest::mouseMove(&view, QPoint(148, 88), 0);
- QTest::mouseMove(&view, QPoint(148, 84), 17);
- QTest::mouseMove(&view, QPoint(147, 81), 0);
- QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, QPoint(147, 81), 0);
- QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, QPoint(147, 74), 550);
- QTest::mouseMove(&view, QPoint(147, 75), 17);
- QTest::mouseMove(&view, QPoint(147, 76), 17);
- QTest::mouseMove(&view, QPoint(147, 80), 0);
- QTest::mouseMove(&view, QPoint(148, 85), 16);
- QTest::mouseMove(&view, QPoint(148, 92), 0);
- QTest::mouseMove(&view, QPoint(148, 103), 17);
- QTest::mouseMove(&view, QPoint(150, 119), 17);
- QTest::mouseMove(&view, QPoint(151, 138), 16);
- QTest::mouseMove(&view, QPoint(151, 145), 1);
- QTest::mouseMove(&view, QPoint(153, 151), 16);
- QTest::mouseMove(&view, QPoint(153, 157), 0);
- QTest::mouseMove(&view, QPoint(153, 163), 17);
- QTest::mouseMove(&view, QPoint(153, 167), 0);
- QTest::mouseMove(&view, QPoint(155, 171), 17);
- QTest::mouseMove(&view, QPoint(155, 175), 0);
- QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, QPoint(155, 175), 0);
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(89, 75), 326);
+ QTest::mouseMove(window, QPoint(89, 76), 31);
+ QTest::mouseMove(window, QPoint(89, 80), 10);
+ QTest::mouseMove(window, QPoint(93, 93), 10);
+ QTest::mouseMove(window, QPoint(95, 101), 10);
+ QTest::mouseMove(window, QPoint(97, 109), 11);
+ QTest::mouseMove(window, QPoint(101, 125), 10);
+ QTest::mouseMove(window, QPoint(103, 133), 11);
+ QTest::mouseMove(window, QPoint(103, 141), 11);
+ QTest::mouseMove(window, QPoint(105, 158), 10);
+ QTest::mouseMove(window, QPoint(105, 162), 13);
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(105, 162), 0);
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(154, 130), 1098);
+ QTest::mouseMove(window, QPoint(154, 129), 50);
+ QTest::mouseMove(window, QPoint(153, 128), 0);
+ QTest::mouseMove(window, QPoint(153, 125), 16);
+ QTest::mouseMove(window, QPoint(152, 121), 0);
+ QTest::mouseMove(window, QPoint(152, 117), 17);
+ QTest::mouseMove(window, QPoint(151, 113), 0);
+ QTest::mouseMove(window, QPoint(151, 106), 16);
+ QTest::mouseMove(window, QPoint(150, 99), 1);
+ QTest::mouseMove(window, QPoint(148, 93), 16);
+ QTest::mouseMove(window, QPoint(148, 88), 0);
+ QTest::mouseMove(window, QPoint(148, 84), 17);
+ QTest::mouseMove(window, QPoint(147, 81), 0);
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(147, 81), 0);
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(147, 74), 550);
+ QTest::mouseMove(window, QPoint(147, 75), 17);
+ QTest::mouseMove(window, QPoint(147, 76), 17);
+ QTest::mouseMove(window, QPoint(147, 80), 0);
+ QTest::mouseMove(window, QPoint(148, 85), 16);
+ QTest::mouseMove(window, QPoint(148, 92), 0);
+ QTest::mouseMove(window, QPoint(148, 103), 17);
+ QTest::mouseMove(window, QPoint(150, 119), 17);
+ QTest::mouseMove(window, QPoint(151, 138), 16);
+ QTest::mouseMove(window, QPoint(151, 145), 1);
+ QTest::mouseMove(window, QPoint(153, 151), 16);
+ QTest::mouseMove(window, QPoint(153, 157), 0);
+ QTest::mouseMove(window, QPoint(153, 163), 17);
+ QTest::mouseMove(window, QPoint(153, 167), 0);
+ QTest::mouseMove(window, QPoint(155, 171), 17);
+ QTest::mouseMove(window, QPoint(155, 175), 0);
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(155, 175), 0);
#endif
gifRecorder.waitForFinish();
foreach (CapturedEvent event, eventCapturer.capturedEvents())
qDebug().noquote() << event.cppCommand();
-
}
void tst_Gifs::slider()
@@ -173,113 +167,111 @@ void tst_Gifs::slider()
gifRecorder.setRecordingDuration(4);
gifRecorder.setHighQuality(true);
gifRecorder.setQmlFileName("qtlabscontrols-slider.qml");
- gifRecorder.setView(&view);
-
- view.show();
gifRecorder.start();
- QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, QPoint(18, 19), 122);
- QTest::mouseMove(&view, QPoint(20, 19), 154);
- QTest::mouseMove(&view, QPoint(22, 19), 10);
- QTest::mouseMove(&view, QPoint(24, 20), 10);
- QTest::mouseMove(&view, QPoint(27, 20), 11);
- QTest::mouseMove(&view, QPoint(31, 20), 10);
- QTest::mouseMove(&view, QPoint(33, 20), 10);
- QTest::mouseMove(&view, QPoint(36, 21), 11);
- QTest::mouseMove(&view, QPoint(40, 22), 10);
- QTest::mouseMove(&view, QPoint(43, 22), 10);
- QTest::mouseMove(&view, QPoint(45, 22), 11);
- QTest::mouseMove(&view, QPoint(50, 23), 16);
- QTest::mouseMove(&view, QPoint(54, 23), 17);
- QTest::mouseMove(&view, QPoint(60, 24), 16);
- QTest::mouseMove(&view, QPoint(63, 24), 17);
- QTest::mouseMove(&view, QPoint(65, 24), 0);
- QTest::mouseMove(&view, QPoint(66, 24), 17);
- QTest::mouseMove(&view, QPoint(68, 24), 0);
- QTest::mouseMove(&view, QPoint(70, 24), 16);
- QTest::mouseMove(&view, QPoint(71, 24), 1);
- QTest::mouseMove(&view, QPoint(73, 24), 16);
- QTest::mouseMove(&view, QPoint(74, 24), 0);
- QTest::mouseMove(&view, QPoint(76, 24), 16);
- QTest::mouseMove(&view, QPoint(77, 24), 0);
- QTest::mouseMove(&view, QPoint(78, 24), 17);
- QTest::mouseMove(&view, QPoint(80, 24), 0);
- QTest::mouseMove(&view, QPoint(81, 24), 17);
- QTest::mouseMove(&view, QPoint(82, 24), 0);
- QTest::mouseMove(&view, QPoint(83, 24), 17);
- QTest::mouseMove(&view, QPoint(84, 24), 16);
- QTest::mouseMove(&view, QPoint(85, 24), 48);
- QTest::mouseMove(&view, QPoint(85, 23), 10);
- QTest::mouseMove(&view, QPoint(86, 23), 11);
- QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, QPoint(86, 23), 71);
- QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, QPoint(86, 22), 246);
- QTest::mouseMove(&view, QPoint(87, 21), 123);
- QTest::mouseMove(&view, QPoint(89, 21), 10);
- QTest::mouseMove(&view, QPoint(91, 20), 10);
- QTest::mouseMove(&view, QPoint(97, 20), 10);
- QTest::mouseMove(&view, QPoint(101, 20), 11);
- QTest::mouseMove(&view, QPoint(105, 20), 11);
- QTest::mouseMove(&view, QPoint(113, 20), 10);
- QTest::mouseMove(&view, QPoint(120, 20), 13);
- QTest::mouseMove(&view, QPoint(129, 20), 17);
- QTest::mouseMove(&view, QPoint(140, 20), 17);
- QTest::mouseMove(&view, QPoint(150, 20), 16);
- QTest::mouseMove(&view, QPoint(156, 20), 1);
- QTest::mouseMove(&view, QPoint(161, 20), 16);
- QTest::mouseMove(&view, QPoint(166, 20), 0);
- QTest::mouseMove(&view, QPoint(172, 20), 17);
- QTest::mouseMove(&view, QPoint(177, 20), 0);
- QTest::mouseMove(&view, QPoint(181, 20), 16);
- QTest::mouseMove(&view, QPoint(186, 20), 1);
- QTest::mouseMove(&view, QPoint(191, 22), 16);
- QTest::mouseMove(&view, QPoint(194, 22), 0);
- QTest::mouseMove(&view, QPoint(197, 22), 17);
- QTest::mouseMove(&view, QPoint(201, 22), 0);
- QTest::mouseMove(&view, QPoint(204, 22), 17);
- QTest::mouseMove(&view, QPoint(207, 22), 0);
- QTest::mouseMove(&view, QPoint(211, 22), 16);
- QTest::mouseMove(&view, QPoint(214, 22), 0);
- QTest::mouseMove(&view, QPoint(216, 22), 10);
- QTest::mouseMove(&view, QPoint(222, 22), 11);
- QTest::mouseMove(&view, QPoint(226, 22), 10);
- QTest::mouseMove(&view, QPoint(227, 22), 10);
- QTest::mouseMove(&view, QPoint(229, 22), 10);
- QTest::mouseMove(&view, QPoint(230, 22), 11);
- QTest::mouseMove(&view, QPoint(232, 22), 10);
- QTest::mouseMove(&view, QPoint(231, 22), 101);
- QTest::mouseMove(&view, QPoint(230, 23), 10);
- QTest::mouseMove(&view, QPoint(229, 23), 10);
- QTest::mouseMove(&view, QPoint(225, 24), 10);
- QTest::mouseMove(&view, QPoint(221, 24), 10);
- QTest::mouseMove(&view, QPoint(218, 25), 10);
- QTest::mouseMove(&view, QPoint(214, 25), 11);
- QTest::mouseMove(&view, QPoint(201, 25), 10);
- QTest::mouseMove(&view, QPoint(192, 25), 10);
- QTest::mouseMove(&view, QPoint(183, 25), 11);
- QTest::mouseMove(&view, QPoint(163, 25), 10);
- QTest::mouseMove(&view, QPoint(154, 25), 11);
- QTest::mouseMove(&view, QPoint(145, 23), 13);
- QTest::mouseMove(&view, QPoint(136, 23), 1);
- QTest::mouseMove(&view, QPoint(128, 21), 16);
- QTest::mouseMove(&view, QPoint(120, 21), 0);
- QTest::mouseMove(&view, QPoint(112, 20), 17);
- QTest::mouseMove(&view, QPoint(110, 20), 0);
- QTest::mouseMove(&view, QPoint(102, 20), 16);
- QTest::mouseMove(&view, QPoint(94, 18), 0);
- QTest::mouseMove(&view, QPoint(86, 18), 16);
- QTest::mouseMove(&view, QPoint(78, 18), 0);
- QTest::mouseMove(&view, QPoint(70, 18), 17);
- QTest::mouseMove(&view, QPoint(62, 18), 0);
- QTest::mouseMove(&view, QPoint(54, 18), 16);
- QTest::mouseMove(&view, QPoint(47, 16), 0);
- QTest::mouseMove(&view, QPoint(39, 16), 16);
- QTest::mouseMove(&view, QPoint(31, 16), 0);
- QTest::mouseMove(&view, QPoint(26, 16), 17);
- QTest::mouseMove(&view, QPoint(20, 15), 0);
- QTest::mouseMove(&view, QPoint(8, 15), 17);
- QTest::mouseMove(&view, QPoint(0, 15), 16);
- QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, QPoint(0, 15), 215);
+ QQuickWindow *window = gifRecorder.window();
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(18, 19), 122);
+ QTest::mouseMove(window, QPoint(20, 19), 154);
+ QTest::mouseMove(window, QPoint(22, 19), 10);
+ QTest::mouseMove(window, QPoint(24, 20), 10);
+ QTest::mouseMove(window, QPoint(27, 20), 11);
+ QTest::mouseMove(window, QPoint(31, 20), 10);
+ QTest::mouseMove(window, QPoint(33, 20), 10);
+ QTest::mouseMove(window, QPoint(36, 21), 11);
+ QTest::mouseMove(window, QPoint(40, 22), 10);
+ QTest::mouseMove(window, QPoint(43, 22), 10);
+ QTest::mouseMove(window, QPoint(45, 22), 11);
+ QTest::mouseMove(window, QPoint(50, 23), 16);
+ QTest::mouseMove(window, QPoint(54, 23), 17);
+ QTest::mouseMove(window, QPoint(60, 24), 16);
+ QTest::mouseMove(window, QPoint(63, 24), 17);
+ QTest::mouseMove(window, QPoint(65, 24), 0);
+ QTest::mouseMove(window, QPoint(66, 24), 17);
+ QTest::mouseMove(window, QPoint(68, 24), 0);
+ QTest::mouseMove(window, QPoint(70, 24), 16);
+ QTest::mouseMove(window, QPoint(71, 24), 1);
+ QTest::mouseMove(window, QPoint(73, 24), 16);
+ QTest::mouseMove(window, QPoint(74, 24), 0);
+ QTest::mouseMove(window, QPoint(76, 24), 16);
+ QTest::mouseMove(window, QPoint(77, 24), 0);
+ QTest::mouseMove(window, QPoint(78, 24), 17);
+ QTest::mouseMove(window, QPoint(80, 24), 0);
+ QTest::mouseMove(window, QPoint(81, 24), 17);
+ QTest::mouseMove(window, QPoint(82, 24), 0);
+ QTest::mouseMove(window, QPoint(83, 24), 17);
+ QTest::mouseMove(window, QPoint(84, 24), 16);
+ QTest::mouseMove(window, QPoint(85, 24), 48);
+ QTest::mouseMove(window, QPoint(85, 23), 10);
+ QTest::mouseMove(window, QPoint(86, 23), 11);
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(86, 23), 71);
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(86, 22), 246);
+ QTest::mouseMove(window, QPoint(87, 21), 123);
+ QTest::mouseMove(window, QPoint(89, 21), 10);
+ QTest::mouseMove(window, QPoint(91, 20), 10);
+ QTest::mouseMove(window, QPoint(97, 20), 10);
+ QTest::mouseMove(window, QPoint(101, 20), 11);
+ QTest::mouseMove(window, QPoint(105, 20), 11);
+ QTest::mouseMove(window, QPoint(113, 20), 10);
+ QTest::mouseMove(window, QPoint(120, 20), 13);
+ QTest::mouseMove(window, QPoint(129, 20), 17);
+ QTest::mouseMove(window, QPoint(140, 20), 17);
+ QTest::mouseMove(window, QPoint(150, 20), 16);
+ QTest::mouseMove(window, QPoint(156, 20), 1);
+ QTest::mouseMove(window, QPoint(161, 20), 16);
+ QTest::mouseMove(window, QPoint(166, 20), 0);
+ QTest::mouseMove(window, QPoint(172, 20), 17);
+ QTest::mouseMove(window, QPoint(177, 20), 0);
+ QTest::mouseMove(window, QPoint(181, 20), 16);
+ QTest::mouseMove(window, QPoint(186, 20), 1);
+ QTest::mouseMove(window, QPoint(191, 22), 16);
+ QTest::mouseMove(window, QPoint(194, 22), 0);
+ QTest::mouseMove(window, QPoint(197, 22), 17);
+ QTest::mouseMove(window, QPoint(201, 22), 0);
+ QTest::mouseMove(window, QPoint(204, 22), 17);
+ QTest::mouseMove(window, QPoint(207, 22), 0);
+ QTest::mouseMove(window, QPoint(211, 22), 16);
+ QTest::mouseMove(window, QPoint(214, 22), 0);
+ QTest::mouseMove(window, QPoint(216, 22), 10);
+ QTest::mouseMove(window, QPoint(222, 22), 11);
+ QTest::mouseMove(window, QPoint(226, 22), 10);
+ QTest::mouseMove(window, QPoint(227, 22), 10);
+ QTest::mouseMove(window, QPoint(229, 22), 10);
+ QTest::mouseMove(window, QPoint(230, 22), 11);
+ QTest::mouseMove(window, QPoint(232, 22), 10);
+ QTest::mouseMove(window, QPoint(231, 22), 101);
+ QTest::mouseMove(window, QPoint(230, 23), 10);
+ QTest::mouseMove(window, QPoint(229, 23), 10);
+ QTest::mouseMove(window, QPoint(225, 24), 10);
+ QTest::mouseMove(window, QPoint(221, 24), 10);
+ QTest::mouseMove(window, QPoint(218, 25), 10);
+ QTest::mouseMove(window, QPoint(214, 25), 11);
+ QTest::mouseMove(window, QPoint(201, 25), 10);
+ QTest::mouseMove(window, QPoint(192, 25), 10);
+ QTest::mouseMove(window, QPoint(183, 25), 11);
+ QTest::mouseMove(window, QPoint(163, 25), 10);
+ QTest::mouseMove(window, QPoint(154, 25), 11);
+ QTest::mouseMove(window, QPoint(145, 23), 13);
+ QTest::mouseMove(window, QPoint(136, 23), 1);
+ QTest::mouseMove(window, QPoint(128, 21), 16);
+ QTest::mouseMove(window, QPoint(120, 21), 0);
+ QTest::mouseMove(window, QPoint(112, 20), 17);
+ QTest::mouseMove(window, QPoint(110, 20), 0);
+ QTest::mouseMove(window, QPoint(102, 20), 16);
+ QTest::mouseMove(window, QPoint(94, 18), 0);
+ QTest::mouseMove(window, QPoint(86, 18), 16);
+ QTest::mouseMove(window, QPoint(78, 18), 0);
+ QTest::mouseMove(window, QPoint(70, 18), 17);
+ QTest::mouseMove(window, QPoint(62, 18), 0);
+ QTest::mouseMove(window, QPoint(54, 18), 16);
+ QTest::mouseMove(window, QPoint(47, 16), 0);
+ QTest::mouseMove(window, QPoint(39, 16), 16);
+ QTest::mouseMove(window, QPoint(31, 16), 0);
+ QTest::mouseMove(window, QPoint(26, 16), 17);
+ QTest::mouseMove(window, QPoint(20, 15), 0);
+ QTest::mouseMove(window, QPoint(8, 15), 17);
+ QTest::mouseMove(window, QPoint(0, 15), 16);
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(0, 15), 215);
gifRecorder.waitForFinish();
}
@@ -292,13 +284,11 @@ void tst_Gifs::rangeSlider()
gifRecorder.setRecordingDuration(6);
gifRecorder.setHighQuality(true);
gifRecorder.setQmlFileName("qtlabscontrols-rangeslider.qml");
- gifRecorder.setView(&view);
-
- view.show();
gifRecorder.start();
- QQuickItem *slider = view.rootObject()->property("slider").value<QQuickItem*>();
+ QQuickWindow *window = gifRecorder.window();
+ QQuickItem *slider = window->property("slider").value<QQuickItem*>();
QVERIFY(slider);
QObject *first = slider->property("first").value<QObject*>();
QVERIFY(first);
@@ -314,23 +304,23 @@ void tst_Gifs::rangeSlider()
const QPoint secondCenter = secondHandle->mapToItem(slider,
QPoint(secondHandle->width() / 2, secondHandle->height() / 2)).toPoint();
- QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, firstCenter, 100);
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, firstCenter, 100);
const QPoint firstTarget = firstCenter + QPoint(slider->width() * 0.25, 0);
- moveSmoothly(firstCenter, firstTarget, firstTarget.x() - firstCenter.x());
- QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, firstTarget, 20);
+ moveSmoothly(window, firstCenter, firstTarget, firstTarget.x() - firstCenter.x());
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, firstTarget, 20);
- QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, secondCenter, 100);
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, secondCenter, 100);
const QPoint secondTarget = secondCenter - QPoint(slider->width() * 0.25, 0);
- moveSmoothly(secondCenter, secondTarget, qAbs(secondTarget.x() - secondCenter.x()));
- QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, secondTarget, 20);
+ moveSmoothly(window, secondCenter, secondTarget, qAbs(secondTarget.x() - secondCenter.x()));
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, secondTarget, 20);
- QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, secondTarget, 100);
- moveSmoothly(secondTarget, secondCenter, qAbs(secondTarget.x() - secondCenter.x()));
- QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, secondCenter, 20);
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, secondTarget, 100);
+ moveSmoothly(window, secondTarget, secondCenter, qAbs(secondTarget.x() - secondCenter.x()));
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, secondCenter, 20);
- QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, firstTarget, 100);
- moveSmoothly(firstTarget, firstCenter, firstTarget.x() - firstCenter.x());
- QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, firstCenter, 20);
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, firstTarget, 100);
+ moveSmoothly(window, firstTarget, firstCenter, firstTarget.x() - firstCenter.x());
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, firstCenter, 20);
gifRecorder.waitForFinish();
}
@@ -343,16 +333,14 @@ void tst_Gifs::busyIndicator()
gifRecorder.setRecordingDuration(3);
gifRecorder.setHighQuality(true);
gifRecorder.setQmlFileName("qtlabscontrols-busyindicator.qml");
- gifRecorder.setView(&view);
-
- view.show();
gifRecorder.start();
+ QQuickWindow *window = gifRecorder.window();
// Record nothing for a bit to make it smoother.
QTest::qWait(400);
- QQuickItem *busyIndicator = view.rootObject()->property("busyIndicator").value<QQuickItem*>();
+ QQuickItem *busyIndicator = window->property("busyIndicator").value<QQuickItem*>();
QVERIFY(busyIndicator);
busyIndicator->setProperty("running", true);
@@ -373,14 +361,12 @@ void tst_Gifs::switchGif()
gifRecorder.setRecordingDuration(3);
gifRecorder.setQmlFileName("qtlabscontrols-switch.qml");
gifRecorder.setHighQuality(true);
- gifRecorder.setView(&view);
-
- view.show();
gifRecorder.start();
- QTest::mouseClick(&view, Qt::LeftButton, Qt::NoModifier, QPoint(view.width() * 0.8, view.height() / 2), 0);
- QTest::mouseClick(&view, Qt::LeftButton, Qt::NoModifier, QPoint(view.width() * 0.2, view.height() / 2), 800);
+ QQuickWindow *window = gifRecorder.window();
+ QTest::mouseClick(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.8, window->height() / 2), 0);
+ QTest::mouseClick(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.2, window->height() / 2), 800);
gifRecorder.waitForFinish();
}
@@ -393,14 +379,12 @@ void tst_Gifs::button()
gifRecorder.setRecordingDuration(3);
gifRecorder.setQmlFileName("qtlabscontrols-button.qml");
gifRecorder.setHighQuality(true);
- gifRecorder.setView(&view);
-
- view.show();
gifRecorder.start();
- QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, QPoint(view.width() / 2, view.height() / 2), 0);
- QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, QPoint(view.width() / 2, view.height() / 2), 700);
+ QQuickWindow *window = gifRecorder.window();
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() / 2, window->height() / 2), 0);
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() / 2, window->height() / 2), 700);
gifRecorder.waitForFinish();
}
@@ -415,23 +399,21 @@ void tst_Gifs::tabBar()
gifRecorder.setRecordingDuration(4);
gifRecorder.setQmlFileName(qmlFileName);
gifRecorder.setHighQuality(true);
- gifRecorder.setView(&view);
-
- view.show();
gifRecorder.start();
- QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, QPoint(view.width() * 0.6, view.height() / 2), 0);
- QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, QPoint(view.width() * 0.6, view.height() / 2), 50);
+ QQuickWindow *window = gifRecorder.window();
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.6, window->height() / 2), 0);
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.6, window->height() / 2), 50);
- QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, QPoint(view.width() * 0.9, view.height() / 2), 400);
- QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, QPoint(view.width() * 0.9, view.height() / 2), 50);
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.9, window->height() / 2), 400);
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.9, window->height() / 2), 50);
- QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, QPoint(view.width() * 0.6, view.height() / 2), 800);
- QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, QPoint(view.width() * 0.6, view.height() / 2), 50);
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.6, window->height() / 2), 800);
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.6, window->height() / 2), 50);
- QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, QPoint(view.width() * 0.3, view.height() / 2), 400);
- QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, QPoint(view.width() * 0.3, view.height() / 2), 50);
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.3, window->height() / 2), 400);
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.3, window->height() / 2), 50);
gifRecorder.waitForFinish();
}