summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/declarative/webview/newwindows.qml5
-rw-r--r--src/declarative/debugger/qmldebug.cpp10
-rw-r--r--src/declarative/debugger/qmldebug_p.h4
-rw-r--r--src/declarative/declarative.pro1
-rw-r--r--src/declarative/extra/extra.pri23
-rw-r--r--src/declarative/graphicsitems/graphicsitems.pri3
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsanimatedimage.cpp (renamed from src/declarative/extra/qmlgraphicsanimatedimageitem.cpp)7
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsanimatedimage_p.h (renamed from src/declarative/extra/qmlgraphicsanimatedimageitem_p.h)18
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsanimatedimage_p_p.h (renamed from src/declarative/extra/qmlgraphicsanimatedimageitem_p_p.h)6
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsitem.cpp4
-rw-r--r--src/declarative/graphicsitems/qmlgraphicslistview.cpp4
-rw-r--r--src/declarative/graphicsitems/qmlgraphicspainteditem.cpp20
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsparticles.cpp2
-rw-r--r--src/declarative/util/qmlbehavior.cpp (renamed from src/declarative/extra/qmlbehavior.cpp)0
-rw-r--r--src/declarative/util/qmlbehavior_p.h (renamed from src/declarative/extra/qmlbehavior_p.h)0
-rw-r--r--src/declarative/util/qmldatetimeformatter.cpp (renamed from src/declarative/extra/qmldatetimeformatter.cpp)0
-rw-r--r--src/declarative/util/qmldatetimeformatter_p.h (renamed from src/declarative/extra/qmldatetimeformatter_p.h)0
-rw-r--r--src/declarative/util/qmlfontloader.cpp (renamed from src/declarative/extra/qmlfontloader.cpp)0
-rw-r--r--src/declarative/util/qmlfontloader_p.h (renamed from src/declarative/extra/qmlfontloader_p.h)0
-rw-r--r--src/declarative/util/qmllistmodel.cpp12
-rw-r--r--src/declarative/util/qmlnumberformatter.cpp (renamed from src/declarative/extra/qmlnumberformatter.cpp)2
-rw-r--r--src/declarative/util/qmlnumberformatter_p.h (renamed from src/declarative/extra/qmlnumberformatter_p.h)0
-rw-r--r--src/declarative/util/qmlxmllistmodel.cpp (renamed from src/declarative/extra/qmlxmllistmodel.cpp)2
-rw-r--r--src/declarative/util/qmlxmllistmodel_p.h (renamed from src/declarative/extra/qmlxmllistmodel_p.h)0
-rw-r--r--src/declarative/util/qnumberformat.cpp (renamed from src/declarative/extra/qnumberformat.cpp)0
-rw-r--r--src/declarative/util/qnumberformat_p.h (renamed from src/declarative/extra/qnumberformat_p.h)0
-rw-r--r--src/declarative/util/util.pri20
-rw-r--r--src/gui/graphicsview/qgraphicsview.cpp3
-rw-r--r--src/network/kernel/qhostinfo_p.h6
-rw-r--r--tests/auto/declarative/animatedimage/data/colors.gifbin0 -> 505 bytes
-rw-r--r--tests/auto/declarative/animatedimage/data/colors.qml5
-rw-r--r--tests/auto/declarative/animatedimage/data/stickmanstopped.qml6
-rw-r--r--tests/auto/declarative/animatedimage/tst_animatedimage.cpp38
-rw-r--r--tests/auto/declarative/datetimeformatter/tst_datetimeformatter.cpp6
-rw-r--r--tests/auto/declarative/debugger/debuggerutil.cpp17
-rw-r--r--tests/auto/declarative/debugger/debuggerutil_p.h10
-rw-r--r--tests/auto/declarative/debugger/qmldebug/qmldebug.pro4
-rw-r--r--tests/auto/declarative/debugger/qmldebug/tst_qmldebug.cpp149
-rw-r--r--tests/auto/declarative/debugger/qmldebugclient/tst_qmldebugclient.cpp8
-rw-r--r--tests/auto/declarative/debugger/qmldebugservice/tst_qmldebugservice.cpp12
-rw-r--r--tests/auto/declarative/declarative.pro9
-rw-r--r--tests/auto/declarative/layouts/data/layouts.qml2
-rw-r--r--tests/auto/declarative/layouts/tst_layouts.cpp13
-rw-r--r--tests/auto/declarative/numberformatter/tst_numberformatter.cpp2
-rw-r--r--tests/auto/declarative/qmlgraphicsloader/tst_qmlgraphicsloader.cpp2
-rw-r--r--tests/auto/declarative/qmlgraphicswebview/data/newwindows.html16
-rw-r--r--tests/auto/declarative/qmlgraphicswebview/data/newwindows.qml32
-rw-r--r--tests/auto/declarative/qmlgraphicswebview/tst_qmlgraphicswebview.cpp12
-rw-r--r--tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/LocalInternal.qml3
-rw-r--r--tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/Test.qml2
-rw-r--r--tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/TestLocal.qml1
-rw-r--r--tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/TestSubDir.qml2
-rw-r--r--tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/pics/blue.pngbin0 -> 84 bytes
-rw-r--r--tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/qmldir3
-rw-r--r--tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/subdir/SubTest.qml3
-rw-r--r--tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/subdir/qmldir1
-rw-r--r--tests/auto/declarative/qmlxmllistmodel/data/roleErrors.qml10
-rw-r--r--tests/auto/declarative/qmlxmllistmodel/tst_qmlxmllistmodel.cpp49
-rwxr-xr-xtests/auto/declarative/runall.sh9
-rw-r--r--tests/auto/declarative/visual/animation/bindinganimation/bindinganimation.qml (renamed from tests/auto/declarative/visual/bindinganimation/bindinganimation.qml)2
-rw-r--r--tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.0.png (renamed from tests/auto/declarative/visual/bindinganimation/data/bindinganimation.0.png)bin817 -> 817 bytes
-rw-r--r--tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.1.png (renamed from tests/auto/declarative/visual/bindinganimation/data/bindinganimation.1.png)bin815 -> 815 bytes
-rw-r--r--tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.2.pngbin0 -> 817 bytes
-rw-r--r--tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.3.pngbin0 -> 815 bytes
-rw-r--r--tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.4.pngbin0 -> 814 bytes
-rw-r--r--tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.5.pngbin0 -> 815 bytes
-rw-r--r--tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.6.pngbin0 -> 817 bytes
-rw-r--r--tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.qml1655
-rw-r--r--tests/auto/declarative/visual/animation/colorAnimation/colorAnimation.qml (renamed from tests/auto/declarative/visual/colorAnimation/colorAnimation.qml)0
-rw-r--r--tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.0.png (renamed from tests/auto/declarative/visual/colorAnimation/data/colorAnimation.0.png)bin610 -> 610 bytes
-rw-r--r--tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.1.png (renamed from tests/auto/declarative/visual/colorAnimation/data/colorAnimation.1.png)bin610 -> 610 bytes
-rw-r--r--tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.2.png (renamed from tests/auto/declarative/visual/colorAnimation/data/colorAnimation.2.png)bin610 -> 610 bytes
-rw-r--r--tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.qml (renamed from tests/auto/declarative/visual/colorAnimation/data/colorAnimation.qml)0
-rw-r--r--tests/auto/declarative/visual/animation/easing/data/easing.0.png (renamed from tests/auto/declarative/visual/easing/data/easing.0.png)bin3393 -> 3393 bytes
-rw-r--r--tests/auto/declarative/visual/animation/easing/data/easing.1.png (renamed from tests/auto/declarative/visual/easing/data/easing.1.png)bin3381 -> 3381 bytes
-rw-r--r--tests/auto/declarative/visual/animation/easing/data/easing.2.png (renamed from tests/auto/declarative/visual/easing/data/easing.2.png)bin3101 -> 3101 bytes
-rw-r--r--tests/auto/declarative/visual/animation/easing/data/easing.3.png (renamed from tests/auto/declarative/visual/easing/data/easing.3.png)bin16542 -> 16542 bytes
-rw-r--r--tests/auto/declarative/visual/animation/easing/data/easing.qml (renamed from tests/auto/declarative/visual/easing/data/easing.qml)0
-rw-r--r--tests/auto/declarative/visual/animation/easing/easing.qml (renamed from tests/auto/declarative/visual/easing/easing.qml)0
-rw-r--r--tests/auto/declarative/visual/animation/easing/pics/qtlogo.png (renamed from tests/auto/declarative/visual/pauseAnimation/pics/qtlogo.png)bin2738 -> 2738 bytes
-rw-r--r--tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.0.pngbin0 -> 774 bytes
-rw-r--r--tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.1.pngbin0 -> 762 bytes
-rw-r--r--tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.2.pngbin0 -> 773 bytes
-rw-r--r--tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.qml463
-rw-r--r--tests/auto/declarative/visual/animation/parallelAnimation/parallelAnimation.qml43
-rw-r--r--tests/auto/declarative/visual/animation/parentAction/data/parentAction.0.png (renamed from tests/auto/declarative/visual/parentAction/data/parentAction.0.png)bin1652 -> 1652 bytes
-rw-r--r--tests/auto/declarative/visual/animation/parentAction/data/parentAction.1.png (renamed from tests/auto/declarative/visual/parentAction/data/parentAction.1.png)bin1492 -> 1492 bytes
-rw-r--r--tests/auto/declarative/visual/animation/parentAction/data/parentAction.2.png (renamed from tests/auto/declarative/visual/parentAction/data/parentAction.2.png)bin1424 -> 1424 bytes
-rw-r--r--tests/auto/declarative/visual/animation/parentAction/data/parentAction.3.png (renamed from tests/auto/declarative/visual/parentAction/data/parentAction.3.png)bin1583 -> 1583 bytes
-rw-r--r--tests/auto/declarative/visual/animation/parentAction/data/parentAction.4.png (renamed from tests/auto/declarative/visual/parentAction/data/parentAction.4.png)bin1640 -> 1640 bytes
-rw-r--r--tests/auto/declarative/visual/animation/parentAction/data/parentAction.5.png (renamed from tests/auto/declarative/visual/parentAction/data/parentAction.5.png)bin1640 -> 1640 bytes
-rw-r--r--tests/auto/declarative/visual/animation/parentAction/data/parentAction.qml (renamed from tests/auto/declarative/visual/parentAction/data/parentAction.qml)0
-rw-r--r--tests/auto/declarative/visual/animation/parentAction/parentAction.qml (renamed from tests/auto/declarative/visual/parentAction/parentAction.qml)0
-rw-r--r--tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.0.png (renamed from tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.0.png)bin3211 -> 3211 bytes
-rw-r--r--tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.1.png (renamed from tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.1.png)bin3214 -> 3214 bytes
-rw-r--r--tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.2.png (renamed from tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.2.png)bin3209 -> 3209 bytes
-rw-r--r--tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.3.png (renamed from tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.3.png)bin3211 -> 3211 bytes
-rw-r--r--tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.4.png (renamed from tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.4.png)bin3214 -> 3214 bytes
-rw-r--r--tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.5.png (renamed from tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.5.png)bin3214 -> 3214 bytes
-rw-r--r--tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.qml (renamed from tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.qml)0
-rw-r--r--tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml (renamed from tests/auto/declarative/visual/pauseAnimation/pauseAnimation.qml)0
-rw-r--r--tests/auto/declarative/visual/animation/pauseAnimation/pics/qtlogo.png (renamed from tests/auto/declarative/visual/easing/pics/qtlogo.png)bin2738 -> 2738 bytes
-rw-r--r--tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.0.png (renamed from tests/auto/declarative/visual/propertyAction/data/propertyAction.0.png)bin1418 -> 1418 bytes
-rw-r--r--tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.1.png (renamed from tests/auto/declarative/visual/propertyAction/data/propertyAction.1.png)bin1430 -> 1430 bytes
-rw-r--r--tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.2.png (renamed from tests/auto/declarative/visual/propertyAction/data/propertyAction.2.png)bin1431 -> 1431 bytes
-rw-r--r--tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.qml (renamed from tests/auto/declarative/visual/propertyAction/data/propertyAction.qml)0
-rw-r--r--tests/auto/declarative/visual/animation/propertyAction/propertyAction.qml (renamed from tests/auto/declarative/visual/propertyAction/propertyAction.qml)0
-rw-r--r--tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.0.png (renamed from tests/auto/declarative/visual/scriptAction/data/scriptAction.0.png)bin1418 -> 1418 bytes
-rw-r--r--tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.1.png (renamed from tests/auto/declarative/visual/scriptAction/data/scriptAction.1.png)bin1431 -> 1431 bytes
-rw-r--r--tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.qml (renamed from tests/auto/declarative/visual/scriptAction/data/scriptAction.qml)0
-rw-r--r--tests/auto/declarative/visual/animation/scriptAction/scriptAction.qml (renamed from tests/auto/declarative/visual/scriptAction/scriptAction.qml)0
-rw-r--r--tests/auto/declarative/visual/bindinganimation/data/bindinganimation.qml659
-rw-r--r--tools/qdoc3/cppcodemarker.cpp4
-rw-r--r--tools/qmldebugger/creatorplugin/qmlinspectormode.cpp4
-rw-r--r--tools/qmldebugger/standalone/engine.cpp4
-rw-r--r--tools/qmldebugger/standalone/expressionquerywidget.cpp2
-rw-r--r--tools/qmldebugger/standalone/objectpropertiesview.cpp4
-rw-r--r--tools/qmldebugger/standalone/objecttree.cpp2
-rw-r--r--tools/qmldebugger/standalone/watchtable.cpp2
119 files changed, 2587 insertions, 835 deletions
diff --git a/examples/declarative/webview/newwindows.qml b/examples/declarative/webview/newwindows.qml
index e2ed58f..5dd4cd5 100644
--- a/examples/declarative/webview/newwindows.qml
+++ b/examples/declarative/webview/newwindows.qml
@@ -5,9 +5,10 @@
import Qt 4.6
-Row {
+Grid {
+ columns: 3
id: pages
- height: 200; width: 500
+ height: 300; width: 600
Component {
id: webViewPage
diff --git a/src/declarative/debugger/qmldebug.cpp b/src/declarative/debugger/qmldebug.cpp
index f24b456..72f613a 100644
--- a/src/declarative/debugger/qmldebug.cpp
+++ b/src/declarative/debugger/qmldebug.cpp
@@ -331,7 +331,7 @@ void QmlEngineDebugPrivate::message(const QByteArray &data)
QVariant value;
ds >> queryId >> debugId >> name >> value;
- QmlDebugWatch *watch = watched.value(queryId);
+ QmlDebugWatch *watch = watched.value(queryId, 0);
if (!watch)
return;
emit watch->valueChanged(name, value);
@@ -428,13 +428,15 @@ void QmlEngineDebug::removeWatch(QmlDebugWatch *watch)
{
Q_D(QmlEngineDebug);
- if (!watch || watch->state() == QmlDebugWatch::Inactive || watch->state() == QmlDebugWatch::Dead)
+ if (!watch || !watch->m_client)
return;
+ watch->m_client = 0;
watch->setState(QmlDebugWatch::Inactive);
+
d->watched.remove(watch->queryId());
- if (d->client->isConnected()) {
+ if (d->client && d->client->isConnected()) {
QByteArray message;
QDataStream ds(&message, QIODevice::WriteOnly);
ds << QByteArray("NO_WATCH") << watch->queryId();
@@ -562,8 +564,6 @@ QmlDebugWatch::QmlDebugWatch(QObject *parent)
QmlDebugWatch::~QmlDebugWatch()
{
- if (m_client)
- m_client->removeWatch(this);
}
int QmlDebugWatch::queryId() const
diff --git a/src/declarative/debugger/qmldebug_p.h b/src/declarative/debugger/qmldebug_p.h
index 4bc54e8..cd2adf6 100644
--- a/src/declarative/debugger/qmldebug_p.h
+++ b/src/declarative/debugger/qmldebug_p.h
@@ -113,7 +113,7 @@ public:
State state() const;
Q_SIGNALS:
- void stateChanged(State);
+ void stateChanged(QmlDebugWatch::State);
//void objectChanged(int, const QmlDebugObjectReference &);
//void valueChanged(int, const QVariant &);
@@ -170,7 +170,7 @@ public:
// bool waitUntilCompleted();
Q_SIGNALS:
- void stateChanged(State);
+ void stateChanged(QmlDebugQuery::State);
protected:
QmlDebugQuery(QObject *);
diff --git a/src/declarative/declarative.pro b/src/declarative/declarative.pro
index 41fee96..e5e604b 100644
--- a/src/declarative/declarative.pro
+++ b/src/declarative/declarative.pro
@@ -19,7 +19,6 @@ include(3rdparty/3rdparty.pri)
include(util/util.pri)
include(graphicsitems/graphicsitems.pri)
include(qml/qml.pri)
-include(extra/extra.pri)
include(widgets/widgets.pri)
include(debugger/debugger.pri)
diff --git a/src/declarative/extra/extra.pri b/src/declarative/extra/extra.pri
deleted file mode 100644
index 78272a9..0000000
--- a/src/declarative/extra/extra.pri
+++ /dev/null
@@ -1,23 +0,0 @@
-SOURCES += \
- extra/qnumberformat.cpp \
- extra/qmlnumberformatter.cpp \
- extra/qmldatetimeformatter.cpp \
- extra/qmlgraphicsanimatedimageitem.cpp \
- extra/qmlbehavior.cpp \
- extra/qmlfontloader.cpp
-
-HEADERS += \
- extra/qnumberformat_p.h \
- extra/qmlnumberformatter_p.h \
- extra/qmldatetimeformatter_p.h \
- extra/qmlgraphicsanimatedimageitem_p.h \
- extra/qmlgraphicsanimatedimageitem_p_p.h \
- extra/qmlbehavior_p.h \
- extra/qmlfontloader_p.h
-
-contains(QT_CONFIG, xmlpatterns) {
- QT+=xmlpatterns
- SOURCES += extra/qmlxmllistmodel.cpp
- HEADERS += extra/qmlxmllistmodel_p.h
-}
-
diff --git a/src/declarative/graphicsitems/graphicsitems.pri b/src/declarative/graphicsitems/graphicsitems.pri
index 3c4e39a..ef10e51 100644
--- a/src/declarative/graphicsitems/graphicsitems.pri
+++ b/src/declarative/graphicsitems/graphicsitems.pri
@@ -14,6 +14,8 @@ HEADERS += \
graphicsitems/qmlgraphicsimage_p_p.h \
graphicsitems/qmlgraphicsborderimage_p_p.h \
graphicsitems/qmlgraphicsimagebase_p_p.h \
+ graphicsitems/qmlgraphicsanimatedimage_p.h \
+ graphicsitems/qmlgraphicsanimatedimage_p_p.h \
graphicsitems/qmlgraphicsitem.h \
graphicsitems/qmlgraphicsitem_p.h \
graphicsitems/qmlgraphicsfocuspanel_p.h \
@@ -55,6 +57,7 @@ SOURCES += \
graphicsitems/qmlgraphicsimage.cpp \
graphicsitems/qmlgraphicsborderimage.cpp \
graphicsitems/qmlgraphicsimagebase.cpp \
+ graphicsitems/qmlgraphicsanimatedimage.cpp \
graphicsitems/qmlgraphicspainteditem.cpp \
graphicsitems/qmlgraphicsitem.cpp \
graphicsitems/qmlgraphicsfocuspanel.cpp \
diff --git a/src/declarative/extra/qmlgraphicsanimatedimageitem.cpp b/src/declarative/graphicsitems/qmlgraphicsanimatedimage.cpp
index c364684..2405bde 100644
--- a/src/declarative/extra/qmlgraphicsanimatedimageitem.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsanimatedimage.cpp
@@ -62,7 +62,7 @@ QT_BEGIN_NAMESPACE
QMovie::supportedFormats().
\table
- \row
+ \row
\o \image animatedimageitem.gif
\o
\qml
@@ -83,6 +83,11 @@ QmlGraphicsAnimatedImageItem::QmlGraphicsAnimatedImageItem(QmlGraphicsItem *pare
{
}
+QmlGraphicsAnimatedImageItem::QmlGraphicsAnimatedImageItem(QmlGraphicsAnimatedImageItemPrivate &dd, QmlGraphicsItem *parent)
+ : QmlGraphicsImage(dd, parent)
+{
+}
+
QmlGraphicsAnimatedImageItem::~QmlGraphicsAnimatedImageItem()
{
Q_D(QmlGraphicsAnimatedImageItem);
diff --git a/src/declarative/extra/qmlgraphicsanimatedimageitem_p.h b/src/declarative/graphicsitems/qmlgraphicsanimatedimage_p.h
index d716114..79daa0f 100644
--- a/src/declarative/extra/qmlgraphicsanimatedimageitem_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsanimatedimage_p.h
@@ -39,8 +39,8 @@
**
****************************************************************************/
-#ifndef QMLGRAPHICSANIMATEDIMAGEITEM_H
-#define QMLGRAPHICSANIMATEDIMAGEITEM_H
+#ifndef QMLGRAPHICSANIMATEDIMAGE_H
+#define QMLGRAPHICSANIMATEDIMAGE_H
#include <private/qmlgraphicsimage_p.h>
@@ -51,9 +51,9 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
class QMovie;
-class QmlGraphicsAnimatedImageItemPrivate;
+class QmlGraphicsAnimatedImagePrivate;
-class Q_DECLARATIVE_EXPORT QmlGraphicsAnimatedImageItem : public QmlGraphicsImage
+class Q_DECLARATIVE_EXPORT QmlGraphicsAnimatedImage : public QmlGraphicsImage
{
Q_OBJECT
@@ -62,8 +62,8 @@ class Q_DECLARATIVE_EXPORT QmlGraphicsAnimatedImageItem : public QmlGraphicsImag
Q_PROPERTY(int currentFrame READ currentFrame WRITE setCurrentFrame NOTIFY frameChanged)
Q_PROPERTY(int frameCount READ frameCount)
public:
- QmlGraphicsAnimatedImageItem(QmlGraphicsItem *parent=0);
- ~QmlGraphicsAnimatedImageItem();
+ QmlGraphicsAnimatedImage(QmlGraphicsItem *parent=0);
+ ~QmlGraphicsAnimatedImage();
bool isPlaying() const;
void setPlaying(bool play);
@@ -93,13 +93,13 @@ protected:
void componentComplete();
private:
- Q_DISABLE_COPY(QmlGraphicsAnimatedImageItem)
- Q_DECLARE_PRIVATE_D(QGraphicsItem::d_ptr.data(), QmlGraphicsAnimatedImageItem)
+ Q_DISABLE_COPY(QmlGraphicsAnimatedImage)
+ Q_DECLARE_PRIVATE_D(QGraphicsItem::d_ptr.data(), QmlGraphicsAnimatedImage)
};
QT_END_NAMESPACE
-QML_DECLARE_TYPE(QmlGraphicsAnimatedImageItem)
+QML_DECLARE_TYPE(QmlGraphicsAnimatedImage)
QT_END_HEADER
diff --git a/src/declarative/extra/qmlgraphicsanimatedimageitem_p_p.h b/src/declarative/graphicsitems/qmlgraphicsanimatedimage_p_p.h
index 2256b9b..c24afa0 100644
--- a/src/declarative/extra/qmlgraphicsanimatedimageitem_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsanimatedimage_p_p.h
@@ -60,12 +60,12 @@ QT_BEGIN_NAMESPACE
class QMovie;
class QNetworkReply;
-class QmlGraphicsAnimatedImageItemPrivate : public QmlGraphicsImagePrivate
+class QmlGraphicsAnimatedImagePrivate : public QmlGraphicsImagePrivate
{
- Q_DECLARE_PUBLIC(QmlGraphicsAnimatedImageItem)
+ Q_DECLARE_PUBLIC(QmlGraphicsAnimatedImage)
public:
- QmlGraphicsAnimatedImageItemPrivate()
+ QmlGraphicsAnimatedImagePrivate()
: playing(true), paused(false), preset_currentframe(0), _movie(0), reply(0)
{
}
diff --git a/src/declarative/graphicsitems/qmlgraphicsitem.cpp b/src/declarative/graphicsitems/qmlgraphicsitem.cpp
index 572aa98..aa5c4cb 100644
--- a/src/declarative/graphicsitems/qmlgraphicsitem.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsitem.cpp
@@ -1329,9 +1329,9 @@ QmlGraphicsKeysAttached *QmlGraphicsKeysAttached::qmlAttachedProperties(QObject
Key handling is available to all Item-based visual elements via the \l {Keys}{Keys}
attached property. The \e Keys attached property provides basic handlers such
- as \l {Keys::onPressed(event)}{onPressed} and \l {Keys::onReleased(event)}{onReleased},
+ as \l {Keys::onPressed}{onPressed} and \l {Keys::onReleased}{onReleased},
as well as handlers for specific keys, such as
- \l {Keys::onCancelPressed(event)}{onCancelPressed}. The example below
+ \l {Keys::onCancelPressed}{onCancelPressed}. The example below
assigns \l {qmlfocus}{focus} to the item and handles
the Left key via the general \e onPressed handler and the Select key via the
onSelectPressed handler:
diff --git a/src/declarative/graphicsitems/qmlgraphicslistview.cpp b/src/declarative/graphicsitems/qmlgraphicslistview.cpp
index 12bf0d8..edcd094 100644
--- a/src/declarative/graphicsitems/qmlgraphicslistview.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicslistview.cpp
@@ -1663,7 +1663,7 @@ void QmlGraphicsListView::keyPressEvent(QKeyEvent *event)
}
/*!
- \qmlmethod ListView::incrementCurrentIndex
+ \qmlmethod ListView::incrementCurrentIndex()
Increments the current index. The current index will wrap
if keyNavigationWraps is true and it is currently at the end.
@@ -1680,7 +1680,7 @@ void QmlGraphicsListView::incrementCurrentIndex()
}
/*!
- \qmlmethod ListView::decrementCurrentIndex
+ \qmlmethod ListView::decrementCurrentIndex()
Decrements the current index. The current index will wrap
if keyNavigationWraps is true and it is currently at the beginning.
diff --git a/src/declarative/graphicsitems/qmlgraphicspainteditem.cpp b/src/declarative/graphicsitems/qmlgraphicspainteditem.cpp
index 2c849c8..b1b1210 100644
--- a/src/declarative/graphicsitems/qmlgraphicspainteditem.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicspainteditem.cpp
@@ -49,6 +49,7 @@
#include <QApplication>
#include <QGraphicsSceneMouseEvent>
#include <QPainter>
+#include <QPaintEngine>
QT_BEGIN_NAMESPACE
@@ -209,9 +210,24 @@ void QmlGraphicsPaintedItem::paint(QPainter *p, const QStyleOptionGraphicsItem *
++inpaint;
- const QRect clip = p->clipRegion().boundingRect();
+ const QTransform &x = p->deviceTransform();
+ QTransform xinv = x.inverted();
+ QRegion effectiveClip;
+ QRegion sysClip = p->paintEngine()->systemClip();
+ if (xinv.type() <= QTransform::TxScale && sysClip.numRects() < 5) {
+ // simple transform, region gets no more complicated...
+ effectiveClip = xinv.map(sysClip);
+ } else {
+ // do not make complicated regions...
+ effectiveClip = xinv.mapRect(sysClip.boundingRect());
+ }
+
+ QRegion topaint = p->clipRegion();
+ if (topaint.isEmpty())
+ topaint = effectiveClip;
+ else
+ topaint &= effectiveClip;
- QRegion topaint(clip);
topaint &= content;
QRegion uncached(content);
p->setRenderHints(QPainter::SmoothPixmapTransform, d->smooth);
diff --git a/src/declarative/graphicsitems/qmlgraphicsparticles.cpp b/src/declarative/graphicsitems/qmlgraphicsparticles.cpp
index 399e1a5..a0b41e8 100644
--- a/src/declarative/graphicsitems/qmlgraphicsparticles.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsparticles.cpp
@@ -1169,7 +1169,7 @@ void QmlGraphicsParticles::setMotion(QmlGraphicsParticleMotion *motion)
}
/*!
- \qmlmethod Particles::burst
+ \qmlmethod Particles::burst(int count, int emissionRate)
Initiates a burst of particles.
diff --git a/src/declarative/extra/qmlbehavior.cpp b/src/declarative/util/qmlbehavior.cpp
index 8364d8c..8364d8c 100644
--- a/src/declarative/extra/qmlbehavior.cpp
+++ b/src/declarative/util/qmlbehavior.cpp
diff --git a/src/declarative/extra/qmlbehavior_p.h b/src/declarative/util/qmlbehavior_p.h
index 9f85f84..9f85f84 100644
--- a/src/declarative/extra/qmlbehavior_p.h
+++ b/src/declarative/util/qmlbehavior_p.h
diff --git a/src/declarative/extra/qmldatetimeformatter.cpp b/src/declarative/util/qmldatetimeformatter.cpp
index 983287e..983287e 100644
--- a/src/declarative/extra/qmldatetimeformatter.cpp
+++ b/src/declarative/util/qmldatetimeformatter.cpp
diff --git a/src/declarative/extra/qmldatetimeformatter_p.h b/src/declarative/util/qmldatetimeformatter_p.h
index e350f96..e350f96 100644
--- a/src/declarative/extra/qmldatetimeformatter_p.h
+++ b/src/declarative/util/qmldatetimeformatter_p.h
diff --git a/src/declarative/extra/qmlfontloader.cpp b/src/declarative/util/qmlfontloader.cpp
index 36ee1bb..36ee1bb 100644
--- a/src/declarative/extra/qmlfontloader.cpp
+++ b/src/declarative/util/qmlfontloader.cpp
diff --git a/src/declarative/extra/qmlfontloader_p.h b/src/declarative/util/qmlfontloader_p.h
index d02a181..d02a181 100644
--- a/src/declarative/extra/qmlfontloader_p.h
+++ b/src/declarative/util/qmlfontloader_p.h
diff --git a/src/declarative/util/qmllistmodel.cpp b/src/declarative/util/qmllistmodel.cpp
index 19282eb..9e91147 100644
--- a/src/declarative/util/qmllistmodel.cpp
+++ b/src/declarative/util/qmllistmodel.cpp
@@ -467,7 +467,7 @@ void QmlListModel::remove(int index)
}
/*!
- \qmlmethod ListModel::insert(index,dict)
+ \qmlmethod ListModel::insert(int index, jsobject dict)
Adds a new item to the list model at position \a index, with the
values in \a dict.
@@ -500,7 +500,7 @@ void QmlListModel::insert(int index, const QScriptValue& valuemap)
}
/*!
- \qmlmethod ListModel::move(from,to,n)
+ \qmlmethod ListModel::move(int from, int to, int n)
Moves \a n items \a from one position \a to another.
@@ -551,7 +551,7 @@ void QmlListModel::move(int from, int to, int n)
}
/*!
- \qmlmethod ListModel::append(dict)
+ \qmlmethod ListModel::append(jsobject dict)
Adds a new item to the end of the list model, with the
values in \a dict.
@@ -578,7 +578,7 @@ void QmlListModel::append(const QScriptValue& valuemap)
}
/*!
- \qmlmethod object ListModel::get(index)
+ \qmlmethod object ListModel::get(int index)
Returns the item at \a index in the list model.
@@ -620,7 +620,7 @@ QScriptValue QmlListModel::get(int index) const
}
/*!
- \qmlmethod ListModel::set(index,dict)
+ \qmlmethod ListModel::set(int index, jsobject dict)
Changes the item at \a index in the list model with the
values in \a dict. Properties not appearing in \a valuemap
@@ -663,7 +663,7 @@ void QmlListModel::set(int index, const QScriptValue& valuemap)
}
/*!
- \qmlmethod ListModel::set(index,property,value)
+ \qmlmethod ListModel::set(int index, string property, variant value)
Changes the \a property of the item at \a index in the list model to \a value.
diff --git a/src/declarative/extra/qmlnumberformatter.cpp b/src/declarative/util/qmlnumberformatter.cpp
index 4007d95..b09be5b 100644
--- a/src/declarative/extra/qmlnumberformatter.cpp
+++ b/src/declarative/util/qmlnumberformatter.cpp
@@ -108,7 +108,7 @@ QString QmlNumberFormatter::text() const
}
/*!
- \qmlproperty qreal NumberFormatter::number
+ \qmlproperty real NumberFormatter::number
A single point precision number. (Doubles are not yet supported)
diff --git a/src/declarative/extra/qmlnumberformatter_p.h b/src/declarative/util/qmlnumberformatter_p.h
index 0036cb9..0036cb9 100644
--- a/src/declarative/extra/qmlnumberformatter_p.h
+++ b/src/declarative/util/qmlnumberformatter_p.h
diff --git a/src/declarative/extra/qmlxmllistmodel.cpp b/src/declarative/util/qmlxmllistmodel.cpp
index 4f213a8..3d90b44 100644
--- a/src/declarative/extra/qmlxmllistmodel.cpp
+++ b/src/declarative/util/qmlxmllistmodel.cpp
@@ -463,7 +463,7 @@ QHash<int,QVariant> QmlXmlListModel::data(int index, const QList<int> &roles) co
for (int i = 0; i < roles.size(); ++i) {
int role = roles.at(i);
int roleIndex = d->roles.indexOf(role);
- rv.insert(role, d->data.at(roleIndex).at(index));
+ rv.insert(role, roleIndex == -1 ? QVariant() : d->data.at(roleIndex).at(index));
}
return rv;
}
diff --git a/src/declarative/extra/qmlxmllistmodel_p.h b/src/declarative/util/qmlxmllistmodel_p.h
index 18bf9d2..18bf9d2 100644
--- a/src/declarative/extra/qmlxmllistmodel_p.h
+++ b/src/declarative/util/qmlxmllistmodel_p.h
diff --git a/src/declarative/extra/qnumberformat.cpp b/src/declarative/util/qnumberformat.cpp
index c6a03e9..c6a03e9 100644
--- a/src/declarative/extra/qnumberformat.cpp
+++ b/src/declarative/util/qnumberformat.cpp
diff --git a/src/declarative/extra/qnumberformat_p.h b/src/declarative/util/qnumberformat_p.h
index 1a7b8e4..1a7b8e4 100644
--- a/src/declarative/extra/qnumberformat_p.h
+++ b/src/declarative/util/qnumberformat_p.h
diff --git a/src/declarative/util/util.pri b/src/declarative/util/util.pri
index f955ef6..4223f4e 100644
--- a/src/declarative/util/util.pri
+++ b/src/declarative/util/util.pri
@@ -21,7 +21,12 @@ SOURCES += \
util/qmltimer.cpp \
util/qmlbind.cpp \
util/qmlpropertymap.cpp \
- util/qmlpixmapcache.cpp
+ util/qmlpixmapcache.cpp \
+ util/qnumberformat.cpp \
+ util/qmlnumberformatter.cpp \
+ util/qmldatetimeformatter.cpp \
+ util/qmlbehavior.cpp \
+ util/qmlfontloader.cpp
HEADERS += \
util/qmlview.h \
@@ -49,4 +54,15 @@ HEADERS += \
util/qmltimer_p.h \
util/qmlbind_p.h \
util/qmlpropertymap_p.h \
- util/qmlpixmapcache_p.h
+ util/qmlpixmapcache_p.h \
+ util/qnumberformat_p.h \
+ util/qmlnumberformatter_p.h \
+ util/qmldatetimeformatter_p.h \
+ util/qmlbehavior_p.h \
+ util/qmlfontloader_p.h
+
+contains(QT_CONFIG, xmlpatterns) {
+ QT+=xmlpatterns
+ SOURCES += util/qmlxmllistmodel.cpp
+ HEADERS += util/qmlxmllistmodel_p.h
+}
diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp
index 87585a2..90c0ff2 100644
--- a/src/gui/graphicsview/qgraphicsview.cpp
+++ b/src/gui/graphicsview/qgraphicsview.cpp
@@ -3275,13 +3275,10 @@ void QGraphicsView::paintEvent(QPaintEvent *event)
// Determine the exposed region
d->exposedRegion = event->region();
- if (d->exposedRegion.isEmpty())
- d->exposedRegion = viewport()->rect();
QRectF exposedSceneRect = mapToScene(d->exposedRegion.boundingRect()).boundingRect();
// Set up the painter
QPainter painter(viewport());
- painter.setClipRect(event->rect(), Qt::IntersectClip);
#ifndef QT_NO_RUBBERBAND
if (d->rubberBanding && !d->rubberBandRect.isEmpty())
painter.save();
diff --git a/src/network/kernel/qhostinfo_p.h b/src/network/kernel/qhostinfo_p.h
index 64c5152..afd3570 100644
--- a/src/network/kernel/qhostinfo_p.h
+++ b/src/network/kernel/qhostinfo_p.h
@@ -161,9 +161,11 @@ public Q_SLOTS:
cond.wakeOne();
}
#ifndef QT_NO_THREAD
- if (!wait(QHOSTINFO_THREAD_WAIT))
+ if (!wait(QHOSTINFO_THREAD_WAIT)) {
terminate();
- wait();
+ // Don't wait forever; see QTBUG-5296.
+ wait(QHOSTINFO_THREAD_WAIT);
+ }
#endif
}
diff --git a/tests/auto/declarative/animatedimage/data/colors.gif b/tests/auto/declarative/animatedimage/data/colors.gif
new file mode 100644
index 0000000..1270bfa
--- /dev/null
+++ b/tests/auto/declarative/animatedimage/data/colors.gif
Binary files differ
diff --git a/tests/auto/declarative/animatedimage/data/colors.qml b/tests/auto/declarative/animatedimage/data/colors.qml
new file mode 100644
index 0000000..5bada34
--- /dev/null
+++ b/tests/auto/declarative/animatedimage/data/colors.qml
@@ -0,0 +1,5 @@
+import Qt 4.6
+
+AnimatedImage {
+ source: "colors.gif"
+}
diff --git a/tests/auto/declarative/animatedimage/data/stickmanstopped.qml b/tests/auto/declarative/animatedimage/data/stickmanstopped.qml
new file mode 100644
index 0000000..53b0c3a
--- /dev/null
+++ b/tests/auto/declarative/animatedimage/data/stickmanstopped.qml
@@ -0,0 +1,6 @@
+import Qt 4.6
+
+AnimatedImage {
+ source: "stickman.gif"
+ playing: false
+}
diff --git a/tests/auto/declarative/animatedimage/tst_animatedimage.cpp b/tests/auto/declarative/animatedimage/tst_animatedimage.cpp
index 262ddda..484fd1a 100644
--- a/tests/auto/declarative/animatedimage/tst_animatedimage.cpp
+++ b/tests/auto/declarative/animatedimage/tst_animatedimage.cpp
@@ -44,7 +44,7 @@
#include <QtDeclarative/qmlview.h>
#include <private/qmlgraphicsrectangle_p.h>
#include <private/qmlgraphicsimage_p.h>
-#include <private/qmlgraphicsanimatedimageitem_p.h>
+#include <private/qmlgraphicsanimatedimage_p.h>
class tst_animatedimage : public QObject
{
@@ -55,6 +55,7 @@ public:
private slots:
void play();
void pause();
+ void stopped();
void setFrame();
void frameCount();
};
@@ -63,34 +64,61 @@ void tst_animatedimage::play()
{
QmlEngine engine;
QmlComponent component(&engine, QUrl("file://" SRCDIR "/data/stickman.qml"));
- QmlGraphicsAnimatedImageItem *anim = qobject_cast<QmlGraphicsAnimatedImageItem *>(component.create());
+ QmlGraphicsAnimatedImage *anim = qobject_cast<QmlGraphicsAnimatedImage *>(component.create());
QVERIFY(anim);
QVERIFY(anim->isPlaying());
+
+ delete anim;
}
void tst_animatedimage::pause()
{
QmlEngine engine;
QmlComponent component(&engine, QUrl("file://" SRCDIR "/data/stickmanpause.qml"));
- QmlGraphicsAnimatedImageItem *anim = qobject_cast<QmlGraphicsAnimatedImageItem *>(component.create());
+ QmlGraphicsAnimatedImage *anim = qobject_cast<QmlGraphicsAnimatedImage *>(component.create());
QVERIFY(anim);
QVERIFY(anim->isPlaying());
QVERIFY(anim->isPaused());
+
+ delete anim;
+}
+
+void tst_animatedimage::stopped()
+{
+ QmlEngine engine;
+ QmlComponent component(&engine, QUrl("file://" SRCDIR "/data/stickmanstopped.qml"));
+ QmlGraphicsAnimatedImage *anim = qobject_cast<QmlGraphicsAnimatedImage *>(component.create());
+ QVERIFY(anim);
+ QVERIFY(!anim->isPlaying());
+ QCOMPARE(anim->currentFrame(), 0);
+
+ delete anim;
}
void tst_animatedimage::setFrame()
{
QmlEngine engine;
QmlComponent component(&engine, QUrl("file://" SRCDIR "/data/stickmanpause.qml"));
- QmlGraphicsAnimatedImageItem *anim = qobject_cast<QmlGraphicsAnimatedImageItem *>(component.create());
+ QmlGraphicsAnimatedImage *anim = qobject_cast<QmlGraphicsAnimatedImage *>(component.create());
QVERIFY(anim);
QVERIFY(anim->isPlaying());
QCOMPARE(anim->currentFrame(), 2);
+
+ delete anim;
}
void tst_animatedimage::frameCount()
{
- // GIF doesn't support frameCount until first pass through
+ QmlEngine engine;
+ QmlComponent component(&engine, QUrl("file://" SRCDIR "/data/colors.qml"));
+ QmlGraphicsAnimatedImage *anim = qobject_cast<QmlGraphicsAnimatedImage *>(component.create());
+ QVERIFY(anim);
+ QVERIFY(anim->isPlaying());
+ QCOMPARE(anim->frameCount(), 0); // GIF doesn't support frameCount until first pass through
+ QTest::qWait(600 + 100);
+ QCOMPARE(anim->frameCount(), 3);
+
+ delete anim;
}
QTEST_MAIN(tst_animatedimage)
diff --git a/tests/auto/declarative/datetimeformatter/tst_datetimeformatter.cpp b/tests/auto/declarative/datetimeformatter/tst_datetimeformatter.cpp
index 5899d8d..e9b4879 100644
--- a/tests/auto/declarative/datetimeformatter/tst_datetimeformatter.cpp
+++ b/tests/auto/declarative/datetimeformatter/tst_datetimeformatter.cpp
@@ -81,6 +81,8 @@ void tst_datetimeformatter::date()
QVERIFY(formatter->timeText().isEmpty());
QVERIFY(formatter->dateTimeText().isEmpty());
+
+ delete formatter;
}
void tst_datetimeformatter::time()
@@ -111,6 +113,8 @@ void tst_datetimeformatter::time()
QVERIFY(formatter->dateText().isEmpty());
QVERIFY(formatter->dateTimeText().isEmpty());
+
+ delete formatter;
}
void tst_datetimeformatter::dateTime()
@@ -134,6 +138,8 @@ void tst_datetimeformatter::dateTime()
formatter->setDateTimeFormat("M/d/yy H:m:s a");
QCOMPARE(formatter->dateTimeFormat(), QLatin1String("M/d/yy H:m:s a"));
QCOMPARE(formatter->dateTimeText(),dateTime.toString("M/d/yy H:m:s a"));
+
+ delete formatter;
}
QTEST_MAIN(tst_datetimeformatter)
diff --git a/tests/auto/declarative/debugger/debuggerutil.cpp b/tests/auto/declarative/debugger/debuggerutil.cpp
index 8e93407..761105e 100644
--- a/tests/auto/declarative/debugger/debuggerutil.cpp
+++ b/tests/auto/declarative/debugger/debuggerutil.cpp
@@ -49,41 +49,42 @@
namespace QmlDebuggerTest {
- void waitForSignal(QObject *receiver, const char *member) {
+ bool waitForSignal(QObject *receiver, const char *member, int timeout) {
QEventLoop loop;
QTimer timer;
QObject::connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit()));
QObject::connect(receiver, member, &loop, SLOT(quit()));
- timer.start(5000);
+ timer.start(timeout);
loop.exec();
+ return timer.isActive();
}
}
-EchoService::EchoService(const QString &s, QObject *parent)
+QmlDebuggerTestService::QmlDebuggerTestService(const QString &s, QObject *parent)
: QmlDebugService(s, parent), enabled(false)
{
}
-void EchoService::messageReceived(const QByteArray &ba)
+void QmlDebuggerTestService::messageReceived(const QByteArray &ba)
{
sendMessage(ba);
}
-void EchoService::enabledChanged(bool e)
+void QmlDebuggerTestService::enabledChanged(bool e)
{
emit enabledStateChanged();
enabled = e;
}
-MyQmlDebugClient::MyQmlDebugClient(const QString &s, QmlDebugConnection *c)
+QmlDebuggerTestClient::QmlDebuggerTestClient(const QString &s, QmlDebugConnection *c)
: QmlDebugClient(s, c)
{
}
-QByteArray MyQmlDebugClient::waitForResponse()
+QByteArray QmlDebuggerTestClient::waitForResponse()
{
QSignalSpy spy(this, SIGNAL(serverMessage(QByteArray)));
QmlDebuggerTest::waitForSignal(this, SIGNAL(serverMessage(QByteArray)));
@@ -94,7 +95,7 @@ QByteArray MyQmlDebugClient::waitForResponse()
return spy.at(0).at(0).value<QByteArray>();
}
-void MyQmlDebugClient::messageReceived(const QByteArray &ba)
+void QmlDebuggerTestClient::messageReceived(const QByteArray &ba)
{
emit serverMessage(ba);
}
diff --git a/tests/auto/declarative/debugger/debuggerutil_p.h b/tests/auto/declarative/debugger/debuggerutil_p.h
index 155d550..5e27a7a 100644
--- a/tests/auto/declarative/debugger/debuggerutil_p.h
+++ b/tests/auto/declarative/debugger/debuggerutil_p.h
@@ -47,14 +47,14 @@
namespace QmlDebuggerTest {
- void waitForSignal(QObject *receiver, const char *member);
+ bool waitForSignal(QObject *receiver, const char *member, int timeout = 5000);
}
-class EchoService : public QmlDebugService
+class QmlDebuggerTestService : public QmlDebugService
{
Q_OBJECT
public:
- EchoService(const QString &s, QObject *parent = 0);
+ QmlDebuggerTestService(const QString &s, QObject *parent = 0);
bool enabled;
signals:
@@ -66,11 +66,11 @@ protected:
virtual void enabledChanged(bool e);
};
-class MyQmlDebugClient : public QmlDebugClient
+class QmlDebuggerTestClient : public QmlDebugClient
{
Q_OBJECT
public:
- MyQmlDebugClient(const QString &s, QmlDebugConnection *c);
+ QmlDebuggerTestClient(const QString &s, QmlDebugConnection *c);
QByteArray waitForResponse();
diff --git a/tests/auto/declarative/debugger/qmldebug/qmldebug.pro b/tests/auto/declarative/debugger/qmldebug/qmldebug.pro
index 61f821e..c1ac125 100644
--- a/tests/auto/declarative/debugger/qmldebug/qmldebug.pro
+++ b/tests/auto/declarative/debugger/qmldebug/qmldebug.pro
@@ -2,4 +2,6 @@ load(qttest_p4)
contains(QT_CONFIG,declarative): QT += network declarative
macx:CONFIG -= app_bundle
-SOURCES += tst_qmldebug.cpp
+HEADERS += ../debuggerutil_p.h
+SOURCES += tst_qmldebug.cpp \
+ ../debuggerutil.cpp
diff --git a/tests/auto/declarative/debugger/qmldebug/tst_qmldebug.cpp b/tests/auto/declarative/debugger/qmldebug/tst_qmldebug.cpp
index 7c52a19..bfb8aee 100644
--- a/tests/auto/declarative/debugger/qmldebug/tst_qmldebug.cpp
+++ b/tests/auto/declarative/debugger/qmldebug/tst_qmldebug.cpp
@@ -59,6 +59,10 @@
#include <private/qmldebugservice_p.h>
#include <private/qmlgraphicsrectangle_p.h>
+#include "../debuggerutil_p.h"
+
+Q_DECLARE_METATYPE(QmlDebugWatch::State)
+
class tst_QmlDebug : public QObject
{
@@ -68,12 +72,6 @@ public:
tst_QmlDebug(QmlDebugConnection *conn, QmlEngine *engine, QmlGraphicsItem *rootItem)
: m_conn(conn), m_dbg(0), m_engine(engine), m_rootItem(rootItem) {}
-protected slots:
- void saveValueChange(const QByteArray &ba, const QVariant &v)
- {
- m_savedValueChanges[ba] = v;
- }
-
private:
QmlDebugObjectReference findRootObject();
QmlDebugPropertyReference findProperty(const QList<QmlDebugPropertyReference> &props, const QString &name) const;
@@ -90,7 +88,6 @@ private:
QmlEngineDebug *m_dbg;
QmlEngine *m_engine;
QmlGraphicsItem *m_rootItem;
- QHash<QByteArray, QVariant> m_savedValueChanges;
private slots:
void initTestCase();
@@ -99,6 +96,8 @@ private slots:
void watch_object();
void watch_expression();
void watch_expression_data();
+ void watch_context();
+ void watch_file();
void queryAvailableEngines();
void queryRootContexts();
@@ -160,14 +159,8 @@ void tst_QmlDebug::waitForQuery(QmlDebugQuery *query)
{
QVERIFY(query);
QCOMPARE(query->parent(), this);
- QEventLoop loop;
- QTimer timer;
QVERIFY(query->state() == QmlDebugQuery::Waiting);
- connect(query, SIGNAL(stateChanged(State)), &loop, SLOT(quit()));
- connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit()));
- timer.start(5000);
- loop.exec();
- if (!timer.isActive())
+ if (!QmlDebuggerTest::waitForSignal(query, SIGNAL(stateChanged(QmlDebugQuery::State))))
QFAIL("query timed out");
}
@@ -269,6 +262,8 @@ void tst_QmlDebug::compareProperties(const QmlDebugPropertyReference &a, const Q
void tst_QmlDebug::initTestCase()
{
m_dbg = new QmlEngineDebug(m_conn, this);
+
+ qRegisterMetaType<QmlDebugWatch::State>();
}
void tst_QmlDebug::watch_property()
@@ -276,29 +271,31 @@ void tst_QmlDebug::watch_property()
QmlDebugObjectReference obj = findRootObject();
QmlDebugPropertyReference prop = findProperty(obj.properties(), "width");
- QmlDebugPropertyWatch *watch = m_dbg->addWatch(prop, this);
+ QmlDebugPropertyWatch *watch;
+
+ QmlEngineDebug unconnected(0);
+ watch = unconnected.addWatch(prop, this);
+ QCOMPARE(watch->state(), QmlDebugWatch::Dead);
+ delete watch;
+
+ watch = m_dbg->addWatch(prop, this);
QCOMPARE(watch->state(), QmlDebugWatch::Waiting);
QCOMPARE(watch->objectDebugId(), obj.debugId());
QCOMPARE(watch->name(), prop.name());
QSignalSpy spy(watch, SIGNAL(valueChanged(QByteArray,QVariant)));
- QEventLoop loop;
- QTimer timer;
- connect(watch, SIGNAL(valueChanged(QByteArray,QVariant)), &loop, SLOT(quit()));
- connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit()));
int origWidth = m_rootItem->property("width").toInt();
- timer.start(5000);
m_rootItem->setProperty("width", origWidth*2);
- loop.exec();
- if (!timer.isActive())
- QFAIL("Did not receive valueChanged() for property");
+ // stateChanged() is received before valueChanged()
+ QVERIFY(QmlDebuggerTest::waitForSignal(watch, SIGNAL(stateChanged(QmlDebugWatch::State))));
+ QCOMPARE(spy.count(), 1);
m_dbg->removeWatch(watch);
delete watch;
- // restore original value and verify spy doesn't get a signal since watch has been removed
+ // restore original value and verify spy doesn't get additional signal since watch has been removed
m_rootItem->setProperty("width", origWidth);
QTest::qWait(100);
QCOMPARE(spy.count(), 1);
@@ -324,48 +321,51 @@ void tst_QmlDebug::watch_object()
delete q_context;
delete q_obj;
- QmlDebugWatch *watch = m_dbg->addWatch(obj, this);
+ QmlDebugWatch *watch;
+
+ QmlEngineDebug unconnected(0);
+ watch = unconnected.addWatch(obj, this);
+ QCOMPARE(watch->state(), QmlDebugWatch::Dead);
+ delete watch;
+
+ watch = m_dbg->addWatch(obj, this);
QCOMPARE(watch->state(), QmlDebugWatch::Waiting);
QCOMPARE(watch->objectDebugId(), obj.debugId());
- m_savedValueChanges.clear();
- connect(watch, SIGNAL(valueChanged(QByteArray,QVariant)),
- SLOT(saveValueChange(QByteArray,QVariant)));
+ QSignalSpy spy(watch, SIGNAL(valueChanged(QByteArray,QVariant)));
int origWidth = m_rootItem->property("width").toInt();
int origHeight = m_rootItem->property("height").toInt();
m_rootItem->setProperty("width", origWidth*2);
m_rootItem->setProperty("height", origHeight*2);
- QEventLoop loop;
- QTimer timer;
- timer.start(5000);
- while (timer.isActive() &&
- (!m_savedValueChanges.contains("width") || !m_savedValueChanges.contains("height"))) {
- loop.processEvents(QEventLoop::AllEvents, 50);
- }
+ // stateChanged() is received before any valueChanged() signals
+ QVERIFY(QmlDebuggerTest::waitForSignal(watch, SIGNAL(stateChanged(QmlDebugWatch::State))));
+ QVERIFY(spy.count() > 0);
- QVariant newWidth = m_savedValueChanges["width"];
- QVariant newHeight = m_savedValueChanges["height"];
+ int newWidth = -1;
+ int newHeight = -1;
+ for (int i=0; i<spy.count(); i++) {
+ const QVariantList &values = spy[i];
+ if (values[0].value<QByteArray>() == "width")
+ newWidth = values[1].value<QVariant>().toInt();
+ else if (values[0].value<QByteArray>() == "height")
+ newHeight = values[1].value<QVariant>().toInt();
+
+ }
m_dbg->removeWatch(watch);
delete watch;
// since watch has been removed, restoring the original values should not trigger a valueChanged()
- m_savedValueChanges.clear();
+ spy.clear();
m_rootItem->setProperty("width", origWidth);
m_rootItem->setProperty("height", origHeight);
QTest::qWait(100);
- QCOMPARE(m_savedValueChanges.count(), 0);
+ QCOMPARE(spy.count(), 0);
- if (newWidth.isNull() || newHeight.isNull()) {
- QString s = QString("Did not receive both width and height changes (width=%1, height=%2)")
- .arg(newWidth.toString()).arg(newHeight.toString());
- QFAIL(qPrintable(s));
- }
-
- QCOMPARE(newWidth, qVariantFromValue(origWidth*2));
- QCOMPARE(newHeight, qVariantFromValue(origHeight*2));
+ QCOMPARE(newWidth, origWidth * 2);
+ QCOMPARE(newHeight, origHeight * 2);
}
void tst_QmlDebug::watch_expression()
@@ -378,30 +378,37 @@ void tst_QmlDebug::watch_expression()
QmlDebugObjectReference obj = findRootObject();
- QmlDebugObjectExpressionWatch *watch = m_dbg->addWatch(obj, expr, this);
+ QmlDebugObjectExpressionWatch *watch;
+
+ QmlEngineDebug unconnected(0);
+ watch = unconnected.addWatch(obj, expr, this);
+ QCOMPARE(watch->state(), QmlDebugWatch::Dead);
+ delete watch;
+
+ watch = m_dbg->addWatch(obj, expr, this);
QCOMPARE(watch->state(), QmlDebugWatch::Waiting);
QCOMPARE(watch->objectDebugId(), obj.debugId());
QCOMPARE(watch->expression(), expr);
+ QSignalSpy spyState(watch, SIGNAL(stateChanged(QmlDebugWatch::State)));
+
QSignalSpy spy(watch, SIGNAL(valueChanged(QByteArray,QVariant)));
int expectedSpyCount = incrementCount + 1; // should also get signal with expression's initial value
int width = origWidth;
for (int i=0; i<incrementCount+1; i++) {
- QTimer timer;
- timer.start(5000);
if (i > 0) {
width += increment;
m_rootItem->setProperty("width", width);
}
- QEventLoop loop;
- connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit()));
- connect(watch, SIGNAL(valueChanged(QByteArray,QVariant)), &loop, SLOT(quit()));
- loop.exec();
- if (!timer.isActive())
- QFAIL("Did not receive valueChanged() signal for expression");
+ if (!QmlDebuggerTest::waitForSignal(watch, SIGNAL(valueChanged(QByteArray,QVariant))))
+ QFAIL("Did not receive valueChanged() for expression");
}
+ if (spyState.count() == 0)
+ QVERIFY(QmlDebuggerTest::waitForSignal(watch, SIGNAL(stateChanged(QmlDebugWatch::State))));
+ QCOMPARE(spyState.count(), 1);
+
m_dbg->removeWatch(watch);
delete watch;
@@ -427,6 +434,20 @@ void tst_QmlDebug::watch_expression_data()
QTest::newRow("width+10") << "width + 10" << 10 << 5;
}
+void tst_QmlDebug::watch_context()
+{
+ QmlDebugContextReference c;
+ QTest::ignoreMessage(QtWarningMsg, "QmlEngineDebug::addWatch(): Not implemented");
+ QVERIFY(!m_dbg->addWatch(c, QString(), this));
+}
+
+void tst_QmlDebug::watch_file()
+{
+ QmlDebugFileReference f;
+ QTest::ignoreMessage(QtWarningMsg, "QmlEngineDebug::addWatch(): Not implemented");
+ QVERIFY(!m_dbg->addWatch(f, this));
+}
+
void tst_QmlDebug::queryAvailableEngines()
{
QmlDebugEnginesQuery *q_engines;
@@ -722,6 +743,20 @@ void tst_QmlDebug::tst_QmlDebugPropertyReference()
waitForQuery(query);
QmlDebugObjectReference obj = query->object();
delete query;
+
+ QmlDebugPropertyReference ref = findProperty(obj.properties(), "scale");
+ QVERIFY(ref.objectDebugId() > 0);
+ QVERIFY(!ref.name().isEmpty());
+ QVERIFY(!ref.value().isNull());
+ QVERIFY(!ref.valueTypeName().isEmpty());
+ QVERIFY(!ref.binding().isEmpty());
+ QVERIFY(ref.hasNotifySignal());
+
+ QmlDebugPropertyReference copy(ref);
+ QmlDebugPropertyReference copyAssign;
+ copyAssign = ref;
+ foreach (const QmlDebugPropertyReference &r, (QList<QmlDebugPropertyReference>() << copy << copyAssign))
+ compareProperties(r, ref);
}
class TestRunnerThread : public QThread
@@ -771,7 +806,7 @@ int main(int argc, char *argv[])
QmlComponent component(&engine,
"import Qt 4.6\n"
"Item {\n"
- "width: 10; height: 20;\n"
+ "width: 10; height: 20; scale: blueRect.scale;\n"
"Rectangle { id: blueRect; width: 500; height: 600; color: \"blue\"; }"
"Text { color: blueRect.color; }"
"}\n",
diff --git a/tests/auto/declarative/debugger/qmldebugclient/tst_qmldebugclient.cpp b/tests/auto/declarative/debugger/qmldebugclient/tst_qmldebugclient.cpp
index db33061..0a768a5 100644
--- a/tests/auto/declarative/debugger/qmldebugclient/tst_qmldebugclient.cpp
+++ b/tests/auto/declarative/debugger/qmldebugclient/tst_qmldebugclient.cpp
@@ -89,8 +89,8 @@ void tst_QmlDebugClient::isEnabled()
void tst_QmlDebugClient::setEnabled()
{
- EchoService service("tst_QmlDebugClient::setEnabled()");
- MyQmlDebugClient client("tst_QmlDebugClient::setEnabled()", m_conn);
+ QmlDebuggerTestService service("tst_QmlDebugClient::setEnabled()");
+ QmlDebuggerTestClient client("tst_QmlDebugClient::setEnabled()", m_conn);
QCOMPARE(service.isEnabled(), false);
@@ -125,8 +125,8 @@ void tst_QmlDebugClient::isConnected()
void tst_QmlDebugClient::sendMessage()
{
- EchoService service("tst_QmlDebugClient::sendMessage()");
- MyQmlDebugClient client("tst_QmlDebugClient::sendMessage()", m_conn);
+ QmlDebuggerTestService service("tst_QmlDebugClient::sendMessage()");
+ QmlDebuggerTestClient client("tst_QmlDebugClient::sendMessage()", m_conn);
QByteArray msg = "hello!";
diff --git a/tests/auto/declarative/debugger/qmldebugservice/tst_qmldebugservice.cpp b/tests/auto/declarative/debugger/qmldebugservice/tst_qmldebugservice.cpp
index 224e7e1..2cd8607 100644
--- a/tests/auto/declarative/debugger/qmldebugservice/tst_qmldebugservice.cpp
+++ b/tests/auto/declarative/debugger/qmldebugservice/tst_qmldebugservice.cpp
@@ -85,10 +85,10 @@ void tst_QmlDebugService::name()
void tst_QmlDebugService::isEnabled()
{
- EchoService service("tst_QmlDebugService::isEnabled()", m_conn);
+ QmlDebuggerTestService service("tst_QmlDebugService::isEnabled()", m_conn);
QCOMPARE(service.isEnabled(), false);
- MyQmlDebugClient client("tst_QmlDebugService::isEnabled()", m_conn);
+ QmlDebuggerTestClient client("tst_QmlDebugService::isEnabled()", m_conn);
client.setEnabled(true);
QmlDebuggerTest::waitForSignal(&service, SIGNAL(enabledStateChanged()));
QCOMPARE(service.isEnabled(), true);
@@ -100,8 +100,8 @@ void tst_QmlDebugService::isEnabled()
void tst_QmlDebugService::enabledChanged()
{
- EchoService service("tst_QmlDebugService::enabledChanged()");
- MyQmlDebugClient client("tst_QmlDebugService::enabledChanged()", m_conn);
+ QmlDebuggerTestService service("tst_QmlDebugService::enabledChanged()");
+ QmlDebuggerTestClient client("tst_QmlDebugService::enabledChanged()", m_conn);
QCOMPARE(service.enabled, false);
@@ -112,8 +112,8 @@ void tst_QmlDebugService::enabledChanged()
void tst_QmlDebugService::sendMessage()
{
- EchoService service("tst_QmlDebugService::sendMessage()");
- MyQmlDebugClient client("tst_QmlDebugService::sendMessage()", m_conn);
+ QmlDebuggerTestService service("tst_QmlDebugService::sendMessage()");
+ QmlDebuggerTestClient client("tst_QmlDebugService::sendMessage()", m_conn);
QByteArray msg = "hello!";
diff --git a/tests/auto/declarative/declarative.pro b/tests/auto/declarative/declarative.pro
index 0b9e6ec..1d08d92 100644
--- a/tests/auto/declarative/declarative.pro
+++ b/tests/auto/declarative/declarative.pro
@@ -8,12 +8,9 @@ SUBDIRS += \
debugger \ # Cover
examples \
layouts \ # Cover
- qmlgraphicslistview \ # Cover
- qmlgraphicsgridview \ # Cover
numberformatter \ # Cover
parserstress \ # Cover
pathview \ # Cover
- qmlgraphicsloader \ # Cover
qmetaobjectbuilder \ # Cover
qmlbinding \ # Cover
qmlconnection \ # Cover
@@ -22,10 +19,13 @@ SUBDIRS += \
qmlecmascript \ # Cover
qmlerror \ # Cover
qmlfontloader \ # Cover
- qmlgraphicsitem \ # Cover
qmlgraphicsborderimage \ # Cover
qmlgraphicsflickable \ # Cover
qmlgraphicsflipable \ # Cover
+ qmlgraphicsgridview \ # Cover
+ qmlgraphicsitem \ # Cover
+ qmlgraphicslistview \ # Cover
+ qmlgraphicsloader \ # Cover
qmlgraphicsparticles \ # Cover
qmlgraphicspathview \ # Cover
qmlgraphicspositioners \ # Cover
@@ -37,6 +37,7 @@ SUBDIRS += \
qmllanguage \ # Cover
qmllist \ # Cover
qmllistaccessor \ # Cover
+ qmllistmodel \ # Cover
qmlmetaproperty \ # Cover
qmlmetatype \ # Cover
qmlpixmapcache \ # Cover
diff --git a/tests/auto/declarative/layouts/data/layouts.qml b/tests/auto/declarative/layouts/data/layouts.qml
index b0ee63b..00d785d 100644
--- a/tests/auto/declarative/layouts/data/layouts.qml
+++ b/tests/auto/declarative/layouts/data/layouts.qml
@@ -6,7 +6,7 @@ Item {
height:300
GraphicsObjectContainer {
- anchors.fill:parent
+ anchors.fill: parent
synchronizedResizing: true
QGraphicsWidget {
diff --git a/tests/auto/declarative/layouts/tst_layouts.cpp b/tests/auto/declarative/layouts/tst_layouts.cpp
index 1c2330d..0f832bf 100644
--- a/tests/auto/declarative/layouts/tst_layouts.cpp
+++ b/tests/auto/declarative/layouts/tst_layouts.cpp
@@ -43,6 +43,7 @@
#include <qmlview.h>
#include <private/qmlgraphicslayoutitem_p.h>
#include <qmlexpression.h>
+#include <QStyle>
class tst_QmlGraphicsLayouts : public QObject
{
@@ -74,7 +75,12 @@ void tst_QmlGraphicsLayouts::test_qml()
QmlGraphicsLayoutItem *right = static_cast<QmlGraphicsLayoutItem*>(canvas->root()->findChild<QmlGraphicsItem*>("right"));
QVERIFY(right != 0);
- qreal gvMargin = 9.0;
+ qreal l = QApplication::style()->pixelMetric(QStyle::PM_LayoutLeftMargin);
+ qreal r = QApplication::style()->pixelMetric(QStyle::PM_LayoutRightMargin);
+ qreal t = QApplication::style()->pixelMetric(QStyle::PM_LayoutTopMargin);
+ qreal b = QApplication::style()->pixelMetric(QStyle::PM_LayoutBottomMargin);
+ QVERIFY2(l == r && r == t && t == b, "Test assumes equal margins.");
+ qreal gvMargin = l;
//Preferred Size
canvas->root()->setWidth(300 + 2*gvMargin);
canvas->root()->setHeight(300 + 2*gvMargin);
@@ -116,6 +122,7 @@ void tst_QmlGraphicsLayouts::test_qml()
QCOMPARE(right->width(), 400.0);
QCOMPARE(right->height(), 300.0);
+ delete canvas;
}
void tst_QmlGraphicsLayouts::test_cpp()
@@ -129,8 +136,8 @@ QmlView *tst_QmlGraphicsLayouts::createView(const QString &filename)
QFile file(filename);
file.open(QFile::ReadOnly);
- QString xml = file.readAll();
- canvas->setQml(xml, filename);
+ QString qml = file.readAll();
+ canvas->setQml(qml, filename);
return canvas;
}
diff --git a/tests/auto/declarative/numberformatter/tst_numberformatter.cpp b/tests/auto/declarative/numberformatter/tst_numberformatter.cpp
index 152d6e3..1d68f35 100644
--- a/tests/auto/declarative/numberformatter/tst_numberformatter.cpp
+++ b/tests/auto/declarative/numberformatter/tst_numberformatter.cpp
@@ -212,6 +212,8 @@ void tst_numberformat::text()
QCOMPARE(formatter->format(), format);
QCOMPARE(formatter->text(), text);
+
+ delete formatter;
}
QTEST_MAIN(tst_numberformat)
diff --git a/tests/auto/declarative/qmlgraphicsloader/tst_qmlgraphicsloader.cpp b/tests/auto/declarative/qmlgraphicsloader/tst_qmlgraphicsloader.cpp
index 8fda991..a88026b 100644
--- a/tests/auto/declarative/qmlgraphicsloader/tst_qmlgraphicsloader.cpp
+++ b/tests/auto/declarative/qmlgraphicsloader/tst_qmlgraphicsloader.cpp
@@ -114,7 +114,7 @@ void tst_QmlGraphicsLoader::component()
void tst_QmlGraphicsLoader::invalidUrl()
{
-// QTest::ignoreMessage(QtWarningMsg, "(:-1: File error for URL file://" SRCDIR "/IDontExist.qml)");
+ QTest::ignoreMessage(QtWarningMsg, "(:-1: File error for URL file://" SRCDIR "/IDontExist.qml) ");
QmlComponent component(&engine, QByteArray("import Qt 4.6\nLoader { source: \"IDontExist.qml\" }"), QUrl("file://" SRCDIR "/"));
QmlGraphicsLoader *loader = qobject_cast<QmlGraphicsLoader*>(component.create());
diff --git a/tests/auto/declarative/qmlgraphicswebview/data/newwindows.html b/tests/auto/declarative/qmlgraphicswebview/data/newwindows.html
new file mode 100644
index 0000000..dd541f9
--- /dev/null
+++ b/tests/auto/declarative/qmlgraphicswebview/data/newwindows.html
@@ -0,0 +1,16 @@
+<html>
+<head>
+<script type="text/javascript">
+<!--
+function clickTheLink()
+{
+ var ev = document.createEvent('MouseEvents');
+ ev.initEvent( "click", true, false );
+ document.getElementById('thelink').dispatchEvent(ev);
+}
+// -->
+</script>
+</head>
+<h1>Multiple windows...</h1>
+
+<a id=thelink target="_blank" href="newwindows.html">Popup!</a>
diff --git a/tests/auto/declarative/qmlgraphicswebview/data/newwindows.qml b/tests/auto/declarative/qmlgraphicswebview/data/newwindows.qml
new file mode 100644
index 0000000..9d13715
--- /dev/null
+++ b/tests/auto/declarative/qmlgraphicswebview/data/newwindows.qml
@@ -0,0 +1,32 @@
+// Demonstrates opening new WebViews from HTML
+
+import Qt 4.6
+
+Grid {
+ columns: 3
+ id: pages
+ height: 300; width: 600
+ property int total: 0
+
+ Component {
+ id: webViewPage
+ Rectangle {
+ width: webView.width
+ height: webView.height
+ border.color: "gray"
+
+ WebView {
+ id: webView
+ newWindowComponent: webViewPage
+ newWindowParent: pages
+ url: "newwindows.html"
+ Timer {
+ interval: 10; running: total<4; repeat: false;
+ onTriggered: {total++; webView.evaluateJavaScript("clickTheLink()")}
+ }
+ }
+ }
+ }
+
+ Loader { sourceComponent: webViewPage }
+}
diff --git a/tests/auto/declarative/qmlgraphicswebview/tst_qmlgraphicswebview.cpp b/tests/auto/declarative/qmlgraphicswebview/tst_qmlgraphicswebview.cpp
index 44319c1..9032300 100644
--- a/tests/auto/declarative/qmlgraphicswebview/tst_qmlgraphicswebview.cpp
+++ b/tests/auto/declarative/qmlgraphicswebview/tst_qmlgraphicswebview.cpp
@@ -43,6 +43,7 @@
#include <QtDeclarative/qmlengine.h>
#include <QtDeclarative/qmlcomponent.h>
#include <private/qmlgraphicswebview_p.h>
+#include <private/qmlgraphicspositioners_p.h>
#include <QtWebKit/qwebpage.h>
#include <QtWebKit/qwebframe.h>
#include <QtCore/qdir.h>
@@ -57,6 +58,7 @@ public:
private slots:
void basicProperties();
void historyNav();
+ void multipleWindows();
void loadError();
void setHtml();
void javaScript();
@@ -218,6 +220,16 @@ void tst_qmlgraphicswebview::historyNav()
QVERIFY(!wv->stopAction()->isEnabled());
}
+void tst_qmlgraphicswebview::multipleWindows()
+{
+ QmlComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/newwindows.qml"));
+ checkNoErrors(component);
+
+ QmlGraphicsGrid *grid = qobject_cast<QmlGraphicsGrid*>(component.create());
+ QVERIFY(grid != 0);
+ QTRY_COMPARE(grid->children().count(), 2+5); // Component, Loader, 5 WebViews
+}
+
void tst_qmlgraphicswebview::loadError()
{
QmlComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/loadError.qml"));
diff --git a/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/LocalInternal.qml b/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/LocalInternal.qml
new file mode 100644
index 0000000..836c20a
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/LocalInternal.qml
@@ -0,0 +1,3 @@
+import Qt 4.6
+
+Image { source: "pics/blue.png" }
diff --git a/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/Test.qml b/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/Test.qml
new file mode 100644
index 0000000..c4d5905
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/Test.qml
@@ -0,0 +1,2 @@
+import Qt 4.6
+Rectangle { }
diff --git a/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/TestLocal.qml b/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/TestLocal.qml
new file mode 100644
index 0000000..11443ca
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/TestLocal.qml
@@ -0,0 +1 @@
+LocalInternal {}
diff --git a/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/TestSubDir.qml b/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/TestSubDir.qml
new file mode 100644
index 0000000..0dfede4
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/TestSubDir.qml
@@ -0,0 +1,2 @@
+import "subdir"
+SubTest { }
diff --git a/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/pics/blue.png b/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/pics/blue.png
new file mode 100644
index 0000000..46f815f
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/pics/blue.png
Binary files differ
diff --git a/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/qmldir b/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/qmldir
new file mode 100644
index 0000000..b32f82b
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/qmldir
@@ -0,0 +1,3 @@
+Test 0.0 Test.qml
+TestSubDir 0.0 TestSubDir.qml
+TestLocal 0.0 TestLocal.qml
diff --git a/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/subdir/SubTest.qml b/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/subdir/SubTest.qml
new file mode 100644
index 0000000..0ea9ec6
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/subdir/SubTest.qml
@@ -0,0 +1,3 @@
+import Qt 4.6
+
+Text {}
diff --git a/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/subdir/qmldir b/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/subdir/qmldir
new file mode 100644
index 0000000..f7016c7
--- /dev/null
+++ b/tests/auto/declarative/qmllanguage/qtest/declarative/qmllanguage/subdir/qmldir
@@ -0,0 +1 @@
+SubTest 0.0 SubTest.qml
diff --git a/tests/auto/declarative/qmlxmllistmodel/data/roleErrors.qml b/tests/auto/declarative/qmlxmllistmodel/data/roleErrors.qml
new file mode 100644
index 0000000..26c533f
--- /dev/null
+++ b/tests/auto/declarative/qmlxmllistmodel/data/roleErrors.qml
@@ -0,0 +1,10 @@
+import Qt 4.6
+
+XmlListModel {
+ source: "model.xml"
+ query: "/Pets/Pet"
+ XmlRole { name: "name"; query: "/name/string()" } //starts with '/'
+ XmlRole { name: "type"; query: "type" } //no type
+ XmlRole { name: "age"; query: "age/" } //ends with '/'
+ XmlRole { name: "size"; query: "size/number()" } //wrong type
+}
diff --git a/tests/auto/declarative/qmlxmllistmodel/tst_qmlxmllistmodel.cpp b/tests/auto/declarative/qmlxmllistmodel/tst_qmlxmllistmodel.cpp
index 4898686..71bc4f9 100644
--- a/tests/auto/declarative/qmlxmllistmodel/tst_qmlxmllistmodel.cpp
+++ b/tests/auto/declarative/qmlxmllistmodel/tst_qmlxmllistmodel.cpp
@@ -56,6 +56,8 @@ private slots:
void missingFields();
void cdata();
void attributes();
+ void roles();
+ void roleErrors();
private:
QmlEngine engine;
@@ -76,6 +78,8 @@ void tst_qmlxmllistmodel::buildModel()
QCOMPARE(data.value(Qt::UserRole+1).toString(), QLatin1String("Dog"));
QCOMPARE(data.value(Qt::UserRole+2).toInt(), 9);
QCOMPARE(data.value(Qt::UserRole+3).toString(), QLatin1String("Medium"));
+
+ delete listModel;
}
void tst_qmlxmllistmodel::missingFields()
@@ -95,6 +99,8 @@ void tst_qmlxmllistmodel::missingFields()
data = listModel->data(7, roles);
QVERIFY(data.count() == 5);
QCOMPARE(data.value(Qt::UserRole+2).toString(), QLatin1String(""));
+
+ delete listModel;
}
void tst_qmlxmllistmodel::cdata()
@@ -109,6 +115,8 @@ void tst_qmlxmllistmodel::cdata()
QHash<int, QVariant> data = listModel->data(2, roles);
QVERIFY(data.count() == 1);
QVERIFY(data.value(Qt::UserRole+2).toString().startsWith(QLatin1String("<html>")));
+
+ delete listModel;
}
void tst_qmlxmllistmodel::attributes()
@@ -123,8 +131,49 @@ void tst_qmlxmllistmodel::attributes()
QHash<int, QVariant> data = listModel->data(2, roles);
QVERIFY(data.count() == 1);
QCOMPARE(data.value(Qt::UserRole).toString(), QLatin1String("Vegetable Soup"));
+
+ delete listModel;
+}
+
+void tst_qmlxmllistmodel::roles()
+{
+ QmlComponent component(&engine, QUrl("file://" SRCDIR "/data/model.qml"));
+ QmlXmlListModel *listModel = qobject_cast<QmlXmlListModel*>(component.create());
+ QVERIFY(listModel != 0);
+ QTRY_COMPARE(listModel->count(), 9);
+
+ QList<int> roles = listModel->roles();
+ QCOMPARE(roles.count(), 4);
+ QCOMPARE(listModel->toString(roles.at(0)), QLatin1String("name"));
+ QCOMPARE(listModel->toString(roles.at(1)), QLatin1String("type"));
+ QCOMPARE(listModel->toString(roles.at(2)), QLatin1String("age"));
+ QCOMPARE(listModel->toString(roles.at(3)), QLatin1String("size"));
+
+ delete listModel;
}
+void tst_qmlxmllistmodel::roleErrors()
+{
+ QmlComponent component(&engine, QUrl("file://" SRCDIR "/data/roleErrors.qml"));
+ QTest::ignoreMessage(QtWarningMsg, "QML QmlXmlListModelRole (file://" SRCDIR "/data/roleErrors.qml:6:5) An XmlRole query must not start with '/'");
+ //### make sure we receive all expected warning messages.
+ QmlXmlListModel *listModel = qobject_cast<QmlXmlListModel*>(component.create());
+ QVERIFY(listModel != 0);
+ QTRY_COMPARE(listModel->count(), 9);
+
+ QList<int> roles;
+ roles << Qt::UserRole << Qt::UserRole + 1 << Qt::UserRole + 2 << Qt::UserRole + 3;
+ QHash<int, QVariant> data = listModel->data(3, roles);
+ QVERIFY(data.count() == 4);
+
+ //### should any of these return valid values?
+ QCOMPARE(data.value(Qt::UserRole), QVariant());
+ QCOMPARE(data.value(Qt::UserRole+1), QVariant());
+ QCOMPARE(data.value(Qt::UserRole+2), QVariant());
+ QCOMPARE(data.value(Qt::UserRole+3), QVariant());
+
+ delete listModel;
+}
QTEST_MAIN(tst_qmlxmllistmodel)
diff --git a/tests/auto/declarative/runall.sh b/tests/auto/declarative/runall.sh
index e4b18da..33087a1 100755
--- a/tests/auto/declarative/runall.sh
+++ b/tests/auto/declarative/runall.sh
@@ -1,14 +1,21 @@
#!/bin/sh
Xnest :7 2>/dev/null &
+sleep 1
trap "kill $!" EXIT
export DISPLAY=:7
-make install 2>&1 |
+make -k -j1 install 2>&1 |
while read line
do
case "$line" in
+ make*Error) echo "$line";;
+ make*Stop) echo "$line";;
make*) ;;
+ */qmake*) ;;
+ */bin/moc*) ;;
+ *targ.debug*) ;;
+ g++*) ;;
cd*) ;;
PASS*) ;;
QDEBUG*) ;;
diff --git a/tests/auto/declarative/visual/bindinganimation/bindinganimation.qml b/tests/auto/declarative/visual/animation/bindinganimation/bindinganimation.qml
index efbb1b4..eabba73 100644
--- a/tests/auto/declarative/visual/bindinganimation/bindinganimation.qml
+++ b/tests/auto/declarative/visual/animation/bindinganimation/bindinganimation.qml
@@ -21,7 +21,7 @@ Rectangle {
}
PropertyChanges {
target: MyMouseRegion
- onClicked: "Page.currentState = ''"
+ onClicked: Page.state = ''
}
}
]
diff --git a/tests/auto/declarative/visual/bindinganimation/data/bindinganimation.0.png b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.0.png
index 1b08c81..1b08c81 100644
--- a/tests/auto/declarative/visual/bindinganimation/data/bindinganimation.0.png
+++ b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/bindinganimation/data/bindinganimation.1.png b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.1.png
index f3074fc..f3074fc 100644
--- a/tests/auto/declarative/visual/bindinganimation/data/bindinganimation.1.png
+++ b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.2.png b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.2.png
new file mode 100644
index 0000000..1b08c81
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.3.png b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.3.png
new file mode 100644
index 0000000..e2560e0
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.4.png b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.4.png
new file mode 100644
index 0000000..bba04a9
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.4.png
Binary files differ
diff --git a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.5.png b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.5.png
new file mode 100644
index 0000000..f3074fc
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.5.png
Binary files differ
diff --git a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.6.png b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.6.png
new file mode 100644
index 0000000..1b08c81
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.6.png
Binary files differ
diff --git a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.qml b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.qml
new file mode 100644
index 0000000..a90f99e
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.qml
@@ -0,0 +1,1655 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 32
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 48
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 64
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 80
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 96
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 112
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 128
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 144
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 160
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 176
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 192
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 208
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 224
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 240
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 256
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 272
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 288
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 304
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 320
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 336
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 352
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 368
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 384
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 400
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 416
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 432
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 448
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 464
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 480
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 496
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 512
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 528
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 544
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 560
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 576
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 592
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 608
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 624
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 640
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 656
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 672
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 688
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 704
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 720
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 736
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 752
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 768
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 784
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 800
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 816
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 832
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 848
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 864
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 880
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 896
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 912
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 928
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 944
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 960
+ image: "bindinganimation.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 992
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1008
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1024
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1040
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1056
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1072
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1088
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1104
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1120
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1136
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1152
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 136; y: 174
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1168
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1184
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1200
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1216
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1232
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1248
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1264
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1280
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 136; y: 174
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1296
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1312
+ hash: "a78c9394bf3b81f192f42710cd7218b1"
+ }
+ Frame {
+ msec: 1328
+ hash: "7f08e8170feb1d02373c9ab42b6e882d"
+ }
+ Frame {
+ msec: 1344
+ hash: "967fbad8ac664400a3efbe66617d62aa"
+ }
+ Frame {
+ msec: 1360
+ hash: "abc2ec0bc7a93e75b5823310e6284db1"
+ }
+ Frame {
+ msec: 1376
+ hash: "afbd5b24e2f86646f5ec2aa22f3a4b5b"
+ }
+ Frame {
+ msec: 1392
+ hash: "9413dffb7ee853ba0125ac22ab22abbd"
+ }
+ Frame {
+ msec: 1408
+ hash: "fcae0317f81a3ddd713f4db1349a9da0"
+ }
+ Frame {
+ msec: 1424
+ hash: "37739777a5979f3ebf85e47e63341660"
+ }
+ Frame {
+ msec: 1440
+ hash: "72731478d80f024076ea639b55152360"
+ }
+ Frame {
+ msec: 1456
+ hash: "69058485ced6bc992a1a7c5ee34add4c"
+ }
+ Frame {
+ msec: 1472
+ hash: "391ad7ff2362e059f6170dfe306f94a7"
+ }
+ Frame {
+ msec: 1488
+ hash: "f9f74a2e38b52c9266f33e428b6acd9d"
+ }
+ Frame {
+ msec: 1504
+ hash: "25152412c4ea2aec6caf89486c073484"
+ }
+ Frame {
+ msec: 1520
+ hash: "ba403842ba3128b1cdf6a9cb28c90751"
+ }
+ Frame {
+ msec: 1536
+ hash: "e90cd68490cf3ce6ef9fe4e8f92feaa9"
+ }
+ Frame {
+ msec: 1552
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1568
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1584
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1600
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1616
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1632
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1648
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1664
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1680
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1696
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1712
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1728
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1744
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1760
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1776
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1792
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1808
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1824
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1840
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1856
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1872
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1888
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1904
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1920
+ image: "bindinganimation.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1952
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1968
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1984
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2000
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2016
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2032
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2048
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2064
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2080
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2096
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2112
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2128
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2144
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2160
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2176
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2192
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2208
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2224
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2240
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2256
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2272
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2288
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2304
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2320
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2336
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2352
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2368
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2384
+ hash: "adc501a3a2b8aaf72f58ba985b57424e"
+ }
+ Frame {
+ msec: 2400
+ hash: "bfa51b7c19753ef7b16d78afffc7b9dd"
+ }
+ Frame {
+ msec: 2416
+ hash: "ffa8471f57765b49fcdb9155393251e5"
+ }
+ Frame {
+ msec: 2432
+ hash: "ddb65481469c38f2331546ee03a44206"
+ }
+ Frame {
+ msec: 2448
+ hash: "6f48d1a9977b77cafd38a5903017605b"
+ }
+ Frame {
+ msec: 2464
+ hash: "4279c814163af3bd069ce21b3cd1c729"
+ }
+ Frame {
+ msec: 2480
+ hash: "17c46242c17983478f34cb49cb91ca6e"
+ }
+ Frame {
+ msec: 2496
+ hash: "42f65c58b1f5f4b5ba70855f4aaa7d2f"
+ }
+ Frame {
+ msec: 2512
+ hash: "6a74d6dc91a8b370200d3765c55c1136"
+ }
+ Frame {
+ msec: 2528
+ hash: "ecda10356cca33901c2acd0a702fee46"
+ }
+ Frame {
+ msec: 2544
+ hash: "4f58226bdbda7339d972eca065f75766"
+ }
+ Frame {
+ msec: 2560
+ hash: "a39c80859a7643c9879da9c77b644703"
+ }
+ Frame {
+ msec: 2576
+ hash: "16fe17b15900ff0464ab20ea921e5b1f"
+ }
+ Frame {
+ msec: 2592
+ hash: "bc5c83b2014b7260900587ae3637598f"
+ }
+ Frame {
+ msec: 2608
+ hash: "96c077e3a572edff04fa9b2f7020ffd0"
+ }
+ Frame {
+ msec: 2624
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2640
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2656
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2672
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2688
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2704
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2720
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2736
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2752
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2768
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2784
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2800
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2816
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2832
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2848
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2864
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2880
+ image: "bindinganimation.2.png"
+ }
+ Frame {
+ msec: 2896
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2912
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2928
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2944
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2960
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2976
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 2992
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3008
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3024
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3040
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3056
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3072
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3088
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3104
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3120
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3136
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3152
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3168
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3184
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3200
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3216
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3232
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3248
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3264
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3280
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3296
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 3312
+ hash: "a78c9394bf3b81f192f42710cd7218b1"
+ }
+ Frame {
+ msec: 3328
+ hash: "7f08e8170feb1d02373c9ab42b6e882d"
+ }
+ Frame {
+ msec: 3344
+ hash: "967fbad8ac664400a3efbe66617d62aa"
+ }
+ Frame {
+ msec: 3360
+ hash: "abc2ec0bc7a93e75b5823310e6284db1"
+ }
+ Frame {
+ msec: 3376
+ hash: "afbd5b24e2f86646f5ec2aa22f3a4b5b"
+ }
+ Frame {
+ msec: 3392
+ hash: "9413dffb7ee853ba0125ac22ab22abbd"
+ }
+ Frame {
+ msec: 3408
+ hash: "fcae0317f81a3ddd713f4db1349a9da0"
+ }
+ Frame {
+ msec: 3424
+ hash: "37739777a5979f3ebf85e47e63341660"
+ }
+ Frame {
+ msec: 3440
+ hash: "72731478d80f024076ea639b55152360"
+ }
+ Frame {
+ msec: 3456
+ hash: "69058485ced6bc992a1a7c5ee34add4c"
+ }
+ Frame {
+ msec: 3472
+ hash: "391ad7ff2362e059f6170dfe306f94a7"
+ }
+ Mouse {
+ type: 4
+ button: 1
+ buttons: 1
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3488
+ hash: "f9f74a2e38b52c9266f33e428b6acd9d"
+ }
+ Frame {
+ msec: 3504
+ hash: "25152412c4ea2aec6caf89486c073484"
+ }
+ Frame {
+ msec: 3520
+ hash: "ba403842ba3128b1cdf6a9cb28c90751"
+ }
+ Frame {
+ msec: 3536
+ hash: "e90cd68490cf3ce6ef9fe4e8f92feaa9"
+ }
+ Frame {
+ msec: 3552
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 3568
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 3584
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 3600
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3616
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 3632
+ hash: "adc501a3a2b8aaf72f58ba985b57424e"
+ }
+ Frame {
+ msec: 3648
+ hash: "bfa51b7c19753ef7b16d78afffc7b9dd"
+ }
+ Frame {
+ msec: 3664
+ hash: "ffa8471f57765b49fcdb9155393251e5"
+ }
+ Frame {
+ msec: 3680
+ hash: "ddb65481469c38f2331546ee03a44206"
+ }
+ Frame {
+ msec: 3696
+ hash: "6f48d1a9977b77cafd38a5903017605b"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3712
+ hash: "4279c814163af3bd069ce21b3cd1c729"
+ }
+ Frame {
+ msec: 3728
+ hash: "17c46242c17983478f34cb49cb91ca6e"
+ }
+ Frame {
+ msec: 3744
+ hash: "42f65c58b1f5f4b5ba70855f4aaa7d2f"
+ }
+ Frame {
+ msec: 3760
+ hash: "6a74d6dc91a8b370200d3765c55c1136"
+ }
+ Frame {
+ msec: 3776
+ hash: "ecda10356cca33901c2acd0a702fee46"
+ }
+ Frame {
+ msec: 3792
+ hash: "4f58226bdbda7339d972eca065f75766"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3808
+ hash: "4f58226bdbda7339d972eca065f75766"
+ }
+ Frame {
+ msec: 3824
+ hash: "5fae0bdc65c609cb766ce585b8c649db"
+ }
+ Frame {
+ msec: 3840
+ image: "bindinganimation.3.png"
+ }
+ Frame {
+ msec: 3856
+ hash: "6a74d6dc91a8b370200d3765c55c1136"
+ }
+ Frame {
+ msec: 3872
+ hash: "4f41101378a104e72228eeb4ba395ca8"
+ }
+ Frame {
+ msec: 3888
+ hash: "37739777a5979f3ebf85e47e63341660"
+ }
+ Frame {
+ msec: 3904
+ hash: "f4fe2cc93d65e086ba8ded1438269eb2"
+ }
+ Mouse {
+ type: 4
+ button: 1
+ buttons: 1
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3920
+ hash: "4279c814163af3bd069ce21b3cd1c729"
+ }
+ Frame {
+ msec: 3936
+ hash: "72a0c017a2fa90a4aeadfa6e552ff573"
+ }
+ Frame {
+ msec: 3952
+ hash: "391ad7ff2362e059f6170dfe306f94a7"
+ }
+ Frame {
+ msec: 3968
+ hash: "0b0c6419e1e5b016d9c22bd98fd452b1"
+ }
+ Frame {
+ msec: 3984
+ hash: "365c824c330398d267ea52ae9468b9ee"
+ }
+ Frame {
+ msec: 4000
+ hash: "65ad7e0189c096792331bd1bb0daf0db"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4016
+ hash: "65ad7e0189c096792331bd1bb0daf0db"
+ }
+ Frame {
+ msec: 4032
+ hash: "a21aa1984f068650cce2a124a82c12be"
+ }
+ Frame {
+ msec: 4048
+ hash: "8006ceaa02d22b5fdfeab400d39a0caf"
+ }
+ Frame {
+ msec: 4064
+ hash: "a2cebc35e5c2c709a2cd83e1df6eaeab"
+ }
+ Frame {
+ msec: 4080
+ hash: "07f751ea4cf877ba72fbb36f9da268d7"
+ }
+ Frame {
+ msec: 4096
+ hash: "72731478d80f024076ea639b55152360"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4112
+ hash: "37739777a5979f3ebf85e47e63341660"
+ }
+ Frame {
+ msec: 4128
+ hash: "ed47684a0b21836cd27549e0989e96dd"
+ }
+ Frame {
+ msec: 4144
+ hash: "772396bb23c713f34ea5c23bfbcb115e"
+ }
+ Frame {
+ msec: 4160
+ hash: "d9af30557f99b086bb1a185a946b580d"
+ }
+ Frame {
+ msec: 4176
+ hash: "575d30ac088448b01f49082519bbb3a1"
+ }
+ Frame {
+ msec: 4192
+ hash: "2e3f134664df8204a291af2c9f81239a"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4208
+ hash: "2e3f134664df8204a291af2c9f81239a"
+ }
+ Frame {
+ msec: 4224
+ hash: "4f58226bdbda7339d972eca065f75766"
+ }
+ Frame {
+ msec: 4240
+ hash: "5fae0bdc65c609cb766ce585b8c649db"
+ }
+ Frame {
+ msec: 4256
+ hash: "82363265ed2b611a54f8d48b2af22f11"
+ }
+ Frame {
+ msec: 4272
+ hash: "f9deee3a204c939562b896a6179743d2"
+ }
+ Frame {
+ msec: 4288
+ hash: "42f65c58b1f5f4b5ba70855f4aaa7d2f"
+ }
+ Mouse {
+ type: 4
+ button: 1
+ buttons: 1
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4304
+ hash: "3223ed179c828fadb3eca9c6373176c1"
+ }
+ Frame {
+ msec: 4320
+ hash: "56125a260a79bc38bb0ef44fd65ba49b"
+ }
+ Frame {
+ msec: 4336
+ hash: "07f751ea4cf877ba72fbb36f9da268d7"
+ }
+ Frame {
+ msec: 4352
+ hash: "6f48d1a9977b77cafd38a5903017605b"
+ }
+ Frame {
+ msec: 4368
+ hash: "8006ceaa02d22b5fdfeab400d39a0caf"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4384
+ hash: "8006ceaa02d22b5fdfeab400d39a0caf"
+ }
+ Frame {
+ msec: 4400
+ hash: "8006ceaa02d22b5fdfeab400d39a0caf"
+ }
+ Frame {
+ msec: 4416
+ hash: "6f48d1a9977b77cafd38a5903017605b"
+ }
+ Frame {
+ msec: 4432
+ hash: "69058485ced6bc992a1a7c5ee34add4c"
+ }
+ Frame {
+ msec: 4448
+ hash: "dafcce427161a70c3513841ac22aea00"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4464
+ hash: "3223ed179c828fadb3eca9c6373176c1"
+ }
+ Frame {
+ msec: 4480
+ hash: "b08811b237ce7a460c80d285f04d53d8"
+ }
+ Frame {
+ msec: 4496
+ hash: "fcae0317f81a3ddd713f4db1349a9da0"
+ }
+ Frame {
+ msec: 4512
+ hash: "772396bb23c713f34ea5c23bfbcb115e"
+ }
+ Frame {
+ msec: 4528
+ hash: "ecda10356cca33901c2acd0a702fee46"
+ }
+ Frame {
+ msec: 4544
+ hash: "575d30ac088448b01f49082519bbb3a1"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4560
+ hash: "575d30ac088448b01f49082519bbb3a1"
+ }
+ Frame {
+ msec: 4576
+ hash: "d9af30557f99b086bb1a185a946b580d"
+ }
+ Frame {
+ msec: 4592
+ hash: "82363265ed2b611a54f8d48b2af22f11"
+ }
+ Frame {
+ msec: 4608
+ hash: "f9deee3a204c939562b896a6179743d2"
+ }
+ Frame {
+ msec: 4624
+ hash: "42f65c58b1f5f4b5ba70855f4aaa7d2f"
+ }
+ Frame {
+ msec: 4640
+ hash: "56c72b5da44bd5efdc47c3b9c3eac409"
+ }
+ Mouse {
+ type: 4
+ button: 1
+ buttons: 1
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4656
+ hash: "72731478d80f024076ea639b55152360"
+ }
+ Frame {
+ msec: 4672
+ hash: "4279c814163af3bd069ce21b3cd1c729"
+ }
+ Frame {
+ msec: 4688
+ hash: "72a0c017a2fa90a4aeadfa6e552ff573"
+ }
+ Frame {
+ msec: 4704
+ hash: "391ad7ff2362e059f6170dfe306f94a7"
+ }
+ Frame {
+ msec: 4720
+ hash: "0b0c6419e1e5b016d9c22bd98fd452b1"
+ }
+ Frame {
+ msec: 4736
+ hash: "365c824c330398d267ea52ae9468b9ee"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4752
+ hash: "365c824c330398d267ea52ae9468b9ee"
+ }
+ Frame {
+ msec: 4768
+ hash: "365c824c330398d267ea52ae9468b9ee"
+ }
+ Frame {
+ msec: 4784
+ hash: "ddb65481469c38f2331546ee03a44206"
+ }
+ Frame {
+ msec: 4800
+ image: "bindinganimation.4.png"
+ }
+ Frame {
+ msec: 4816
+ hash: "69058485ced6bc992a1a7c5ee34add4c"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4832
+ hash: "dafcce427161a70c3513841ac22aea00"
+ }
+ Frame {
+ msec: 4848
+ hash: "3223ed179c828fadb3eca9c6373176c1"
+ }
+ Frame {
+ msec: 4864
+ hash: "b08811b237ce7a460c80d285f04d53d8"
+ }
+ Frame {
+ msec: 4880
+ hash: "f9deee3a204c939562b896a6179743d2"
+ }
+ Frame {
+ msec: 4896
+ hash: "9413dffb7ee853ba0125ac22ab22abbd"
+ }
+ Frame {
+ msec: 4912
+ hash: "5fae0bdc65c609cb766ce585b8c649db"
+ }
+ Frame {
+ msec: 4928
+ hash: "ffeb3db6d3f177acf6f92049359a9025"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 122; y: 175
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4944
+ hash: "ffeb3db6d3f177acf6f92049359a9025"
+ }
+ Frame {
+ msec: 4960
+ hash: "527b1f9e7a222483134675a73f9cf5b7"
+ }
+ Frame {
+ msec: 4976
+ hash: "5edaad77f334e6a01982ee89a733b1f8"
+ }
+ Frame {
+ msec: 4992
+ hash: "6a74d6dc91a8b370200d3765c55c1136"
+ }
+ Frame {
+ msec: 5008
+ hash: "4f41101378a104e72228eeb4ba395ca8"
+ }
+ Frame {
+ msec: 5024
+ hash: "37739777a5979f3ebf85e47e63341660"
+ }
+ Frame {
+ msec: 5040
+ hash: "f4fe2cc93d65e086ba8ded1438269eb2"
+ }
+ Frame {
+ msec: 5056
+ hash: "d245b288eb3eb7067c25f4475c47d2f7"
+ }
+ Frame {
+ msec: 5072
+ hash: "7f465a99fca50503736e470a0b4e1c7a"
+ }
+ Frame {
+ msec: 5088
+ hash: "1d5cd86ab732da3705a7bb1deab77923"
+ }
+ Frame {
+ msec: 5104
+ hash: "ddb65481469c38f2331546ee03a44206"
+ }
+ Frame {
+ msec: 5120
+ hash: "a21aa1984f068650cce2a124a82c12be"
+ }
+ Frame {
+ msec: 5136
+ hash: "65ad7e0189c096792331bd1bb0daf0db"
+ }
+ Frame {
+ msec: 5152
+ hash: "48eb78c29227a399f9c1c95c7d77c9d9"
+ }
+ Frame {
+ msec: 5168
+ hash: "51f228440001d23e294da1dde07a1577"
+ }
+ Frame {
+ msec: 5184
+ hash: "0d59ac57f8790fe741a31d12c3438abf"
+ }
+ Frame {
+ msec: 5200
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5216
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5232
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5248
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5264
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5280
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5296
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5312
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5328
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5344
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5360
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5376
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5392
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5408
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5424
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5440
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5456
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5472
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5488
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5504
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5520
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5536
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5552
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5568
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5584
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5600
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5616
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5632
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5648
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5664
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5680
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5696
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5712
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 5728
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5744
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5760
+ image: "bindinganimation.5.png"
+ }
+ Frame {
+ msec: 5776
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5792
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5808
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5824
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5840
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 5856
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+}
diff --git a/tests/auto/declarative/visual/colorAnimation/colorAnimation.qml b/tests/auto/declarative/visual/animation/colorAnimation/colorAnimation.qml
index 0e98d7e..0e98d7e 100644
--- a/tests/auto/declarative/visual/colorAnimation/colorAnimation.qml
+++ b/tests/auto/declarative/visual/animation/colorAnimation/colorAnimation.qml
diff --git a/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.0.png b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.0.png
index f4a6cfd..f4a6cfd 100644
--- a/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.0.png
+++ b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.1.png b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.1.png
index f4a6cfd..f4a6cfd 100644
--- a/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.1.png
+++ b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.2.png b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.2.png
index f4a6cfd..f4a6cfd 100644
--- a/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.2.png
+++ b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.qml b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.qml
index 900bf5c..900bf5c 100644
--- a/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.qml
+++ b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.qml
diff --git a/tests/auto/declarative/visual/easing/data/easing.0.png b/tests/auto/declarative/visual/animation/easing/data/easing.0.png
index 4f75bfd..4f75bfd 100644
--- a/tests/auto/declarative/visual/easing/data/easing.0.png
+++ b/tests/auto/declarative/visual/animation/easing/data/easing.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/easing/data/easing.1.png b/tests/auto/declarative/visual/animation/easing/data/easing.1.png
index dc17765..dc17765 100644
--- a/tests/auto/declarative/visual/easing/data/easing.1.png
+++ b/tests/auto/declarative/visual/animation/easing/data/easing.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/easing/data/easing.2.png b/tests/auto/declarative/visual/animation/easing/data/easing.2.png
index 7f83548..7f83548 100644
--- a/tests/auto/declarative/visual/easing/data/easing.2.png
+++ b/tests/auto/declarative/visual/animation/easing/data/easing.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/easing/data/easing.3.png b/tests/auto/declarative/visual/animation/easing/data/easing.3.png
index c68e0fa..c68e0fa 100644
--- a/tests/auto/declarative/visual/easing/data/easing.3.png
+++ b/tests/auto/declarative/visual/animation/easing/data/easing.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/easing/data/easing.qml b/tests/auto/declarative/visual/animation/easing/data/easing.qml
index d8e8688..d8e8688 100644
--- a/tests/auto/declarative/visual/easing/data/easing.qml
+++ b/tests/auto/declarative/visual/animation/easing/data/easing.qml
diff --git a/tests/auto/declarative/visual/easing/easing.qml b/tests/auto/declarative/visual/animation/easing/easing.qml
index 1e8e907..1e8e907 100644
--- a/tests/auto/declarative/visual/easing/easing.qml
+++ b/tests/auto/declarative/visual/animation/easing/easing.qml
diff --git a/tests/auto/declarative/visual/pauseAnimation/pics/qtlogo.png b/tests/auto/declarative/visual/animation/easing/pics/qtlogo.png
index 399bd0b..399bd0b 100644
--- a/tests/auto/declarative/visual/pauseAnimation/pics/qtlogo.png
+++ b/tests/auto/declarative/visual/animation/easing/pics/qtlogo.png
Binary files differ
diff --git a/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.0.png b/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.0.png
new file mode 100644
index 0000000..82c18d7
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.1.png b/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.1.png
new file mode 100644
index 0000000..b9a3b89
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.2.png b/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.2.png
new file mode 100644
index 0000000..789615b
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.qml b/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.qml
new file mode 100644
index 0000000..5f5b8fc
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.qml
@@ -0,0 +1,463 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 32
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 48
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 64
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 80
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 96
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 112
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 128
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 144
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 160
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 176
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 192
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 208
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 224
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 240
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 256
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 272
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 288
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 304
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 320
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 336
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 352
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 368
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 384
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 400
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 416
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 432
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 448
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 464
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 480
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 496
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 512
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 528
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 544
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 560
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 576
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 592
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 608
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 624
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 640
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 656
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 672
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 688
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 704
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 720
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 736
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 752
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 137; y: 74
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 768
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 784
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 800
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 816
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 832
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 848
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 864
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 137; y: 74
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 880
+ hash: "4faa7727bafeea0771f2db62f0141ac9"
+ }
+ Frame {
+ msec: 896
+ hash: "0fada111cb977c4de8c7499e44714f38"
+ }
+ Frame {
+ msec: 912
+ hash: "1817e010332117dcddc1a1b1a2caf52d"
+ }
+ Frame {
+ msec: 928
+ hash: "e4add6bf93479c9bca571419fe2fabf9"
+ }
+ Frame {
+ msec: 944
+ hash: "d8812e206d2cbf434d58db6a35439a44"
+ }
+ Frame {
+ msec: 960
+ image: "parallelAnimation.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "a238178c584aaf2563d29bff927d5bab"
+ }
+ Frame {
+ msec: 992
+ hash: "f583e9fe8feda02e796a61c5fed7b0eb"
+ }
+ Frame {
+ msec: 1008
+ hash: "b3a1a4fd85912831e551a8c07da1a561"
+ }
+ Frame {
+ msec: 1024
+ hash: "f7c111ee4a04af6c1da958f8b56c28ee"
+ }
+ Frame {
+ msec: 1040
+ hash: "f53fa374817d81ee44fb98e64e464b36"
+ }
+ Frame {
+ msec: 1056
+ hash: "547ddef13cbcaaf57bb1f4e2bb7bc822"
+ }
+ Frame {
+ msec: 1072
+ hash: "8b10ccfef926103a6d67d68eee250f83"
+ }
+ Frame {
+ msec: 1088
+ hash: "008bbb50dc659e6f5eea15290680edd7"
+ }
+ Frame {
+ msec: 1104
+ hash: "0217e3230d3df44363a023d0d7defc5f"
+ }
+ Frame {
+ msec: 1120
+ hash: "ab9907a92452de6878f4c346febe705c"
+ }
+ Frame {
+ msec: 1136
+ hash: "7bce31f347a7f0598d2d64026c702f3e"
+ }
+ Frame {
+ msec: 1152
+ hash: "032080184907bc5b01db7675802d7dbe"
+ }
+ Frame {
+ msec: 1168
+ hash: "2cba43a2e5febcc44bfd1379b9cb2591"
+ }
+ Frame {
+ msec: 1184
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1200
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1216
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1232
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1248
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1264
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1280
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1296
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1312
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1328
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1344
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1360
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1376
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1392
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1408
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1424
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1440
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1456
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1472
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1488
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1504
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1520
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1536
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1552
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1568
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1584
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1600
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1616
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1632
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1648
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1664
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1680
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1696
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1712
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+ Frame {
+ msec: 1728
+ hash: "b901a51b5605621adff7b34c61f8f320"
+ }
+}
diff --git a/tests/auto/declarative/visual/animation/parallelAnimation/parallelAnimation.qml b/tests/auto/declarative/visual/animation/parallelAnimation/parallelAnimation.qml
new file mode 100644
index 0000000..9e0422f
--- /dev/null
+++ b/tests/auto/declarative/visual/animation/parallelAnimation/parallelAnimation.qml
@@ -0,0 +1,43 @@
+import Qt 4.6
+
+Rectangle {
+ width: 400; height: 200
+ Rectangle {
+ id: redRect
+ width: 100; height: 100
+ color: "red"
+ }
+ Rectangle {
+ id: redRect2
+ width: 100; height: 100
+ y: 100
+ color: "red"
+ }
+
+ MouseRegion {
+ anchors.fill: parent
+ onClicked: parent.state = "state1"
+ }
+
+ states: State {
+ name: "state1"
+ PropertyChanges {
+ target: redRect
+ x: 300
+ color: "purple"
+ }
+ PropertyChanges {
+ target: redRect2
+ x: 300
+ color: "purple"
+ }
+ }
+
+ transitions: Transition {
+ PropertyAnimation { matchTargets: redRect; matchProperties: "x,color"; duration: 300 }
+ ParallelAnimation {
+ NumberAnimation { matchTargets: redRect2; matchProperties: "x"; duration: 300 }
+ ColorAnimation { matchTargets: redRect2; matchProperties: "color"; duration: 300 }
+ }
+ }
+}
diff --git a/tests/auto/declarative/visual/parentAction/data/parentAction.0.png b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.0.png
index a0032f8..a0032f8 100644
--- a/tests/auto/declarative/visual/parentAction/data/parentAction.0.png
+++ b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/parentAction/data/parentAction.1.png b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.1.png
index 958b6af..958b6af 100644
--- a/tests/auto/declarative/visual/parentAction/data/parentAction.1.png
+++ b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/parentAction/data/parentAction.2.png b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.2.png
index 3a1811f..3a1811f 100644
--- a/tests/auto/declarative/visual/parentAction/data/parentAction.2.png
+++ b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/parentAction/data/parentAction.3.png b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.3.png
index 36064c2..36064c2 100644
--- a/tests/auto/declarative/visual/parentAction/data/parentAction.3.png
+++ b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/parentAction/data/parentAction.4.png b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.4.png
index c493a1d..c493a1d 100644
--- a/tests/auto/declarative/visual/parentAction/data/parentAction.4.png
+++ b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.4.png
Binary files differ
diff --git a/tests/auto/declarative/visual/parentAction/data/parentAction.5.png b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.5.png
index c493a1d..c493a1d 100644
--- a/tests/auto/declarative/visual/parentAction/data/parentAction.5.png
+++ b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.5.png
Binary files differ
diff --git a/tests/auto/declarative/visual/parentAction/data/parentAction.qml b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.qml
index de27af7..de27af7 100644
--- a/tests/auto/declarative/visual/parentAction/data/parentAction.qml
+++ b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.qml
diff --git a/tests/auto/declarative/visual/parentAction/parentAction.qml b/tests/auto/declarative/visual/animation/parentAction/parentAction.qml
index e69d234..e69d234 100644
--- a/tests/auto/declarative/visual/parentAction/parentAction.qml
+++ b/tests/auto/declarative/visual/animation/parentAction/parentAction.qml
diff --git a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.0.png b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.0.png
index 693a794..693a794 100644
--- a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.0.png
+++ b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.1.png b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.1.png
index 06d43f1..06d43f1 100644
--- a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.1.png
+++ b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.2.png b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.2.png
index e619baf..e619baf 100644
--- a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.2.png
+++ b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.3.png b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.3.png
index 30c7671..30c7671 100644
--- a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.3.png
+++ b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.4.png b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.4.png
index 132803c..132803c 100644
--- a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.4.png
+++ b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.4.png
Binary files differ
diff --git a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.5.png b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.5.png
index 8372bc3..8372bc3 100644
--- a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.5.png
+++ b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.5.png
Binary files differ
diff --git a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.qml b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.qml
index 73c6542..73c6542 100644
--- a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.qml
+++ b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.qml
diff --git a/tests/auto/declarative/visual/pauseAnimation/pauseAnimation.qml b/tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml
index fba8ae6..fba8ae6 100644
--- a/tests/auto/declarative/visual/pauseAnimation/pauseAnimation.qml
+++ b/tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml
diff --git a/tests/auto/declarative/visual/easing/pics/qtlogo.png b/tests/auto/declarative/visual/animation/pauseAnimation/pics/qtlogo.png
index 399bd0b..399bd0b 100644
--- a/tests/auto/declarative/visual/easing/pics/qtlogo.png
+++ b/tests/auto/declarative/visual/animation/pauseAnimation/pics/qtlogo.png
Binary files differ
diff --git a/tests/auto/declarative/visual/propertyAction/data/propertyAction.0.png b/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.0.png
index 64d6b06..64d6b06 100644
--- a/tests/auto/declarative/visual/propertyAction/data/propertyAction.0.png
+++ b/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/propertyAction/data/propertyAction.1.png b/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.1.png
index f7fce15..f7fce15 100644
--- a/tests/auto/declarative/visual/propertyAction/data/propertyAction.1.png
+++ b/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/propertyAction/data/propertyAction.2.png b/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.2.png
index 3080df5..3080df5 100644
--- a/tests/auto/declarative/visual/propertyAction/data/propertyAction.2.png
+++ b/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/propertyAction/data/propertyAction.qml b/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.qml
index 7c8c233..7c8c233 100644
--- a/tests/auto/declarative/visual/propertyAction/data/propertyAction.qml
+++ b/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.qml
diff --git a/tests/auto/declarative/visual/propertyAction/propertyAction.qml b/tests/auto/declarative/visual/animation/propertyAction/propertyAction.qml
index a9d3c74..a9d3c74 100644
--- a/tests/auto/declarative/visual/propertyAction/propertyAction.qml
+++ b/tests/auto/declarative/visual/animation/propertyAction/propertyAction.qml
diff --git a/tests/auto/declarative/visual/scriptAction/data/scriptAction.0.png b/tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.0.png
index 64d6b06..64d6b06 100644
--- a/tests/auto/declarative/visual/scriptAction/data/scriptAction.0.png
+++ b/tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/scriptAction/data/scriptAction.1.png b/tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.1.png
index 1a25c63..1a25c63 100644
--- a/tests/auto/declarative/visual/scriptAction/data/scriptAction.1.png
+++ b/tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/scriptAction/data/scriptAction.qml b/tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.qml
index 01da490..01da490 100644
--- a/tests/auto/declarative/visual/scriptAction/data/scriptAction.qml
+++ b/tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.qml
diff --git a/tests/auto/declarative/visual/scriptAction/scriptAction.qml b/tests/auto/declarative/visual/animation/scriptAction/scriptAction.qml
index 872701b..872701b 100644
--- a/tests/auto/declarative/visual/scriptAction/scriptAction.qml
+++ b/tests/auto/declarative/visual/animation/scriptAction/scriptAction.qml
diff --git a/tests/auto/declarative/visual/bindinganimation/data/bindinganimation.qml b/tests/auto/declarative/visual/bindinganimation/data/bindinganimation.qml
deleted file mode 100644
index 2501797..0000000
--- a/tests/auto/declarative/visual/bindinganimation/data/bindinganimation.qml
+++ /dev/null
@@ -1,659 +0,0 @@
-import Qt.VisualTest 4.6
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 32
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 48
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 64
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 80
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 96
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 112
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 128
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 144
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 160
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 176
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 192
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 208
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 224
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 240
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 256
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 272
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 288
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 304
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 320
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 336
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 352
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 368
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 384
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 400
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 416
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 432
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 448
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 464
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 480
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 496
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 512
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 528
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 544
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 560
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 576
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 592
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 608
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 624
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 640
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 656
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 672
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 688
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 704
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 720
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 736
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 752
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 768
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 784
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 800
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 816
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 832
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 848
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 864
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 880
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 896
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 912
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 928
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 944
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 960
- image: "bindinganimation.0.png"
- }
- Frame {
- msec: 976
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 992
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1008
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1024
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1040
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1056
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1072
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1088
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1104
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1120
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1136
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1152
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1168
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1184
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1200
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1216
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1232
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1248
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1264
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1280
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1296
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1312
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1328
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1344
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1360
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1376
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1392
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1408
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1424
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1440
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1456
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1472
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1488
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 150; y: 158
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1504
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1520
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1536
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1552
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1568
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 150; y: 158
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1584
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1600
- hash: "a78c9394bf3b81f192f42710cd7218b1"
- }
- Frame {
- msec: 1616
- hash: "7f08e8170feb1d02373c9ab42b6e882d"
- }
- Frame {
- msec: 1632
- hash: "967fbad8ac664400a3efbe66617d62aa"
- }
- Frame {
- msec: 1648
- hash: "abc2ec0bc7a93e75b5823310e6284db1"
- }
- Frame {
- msec: 1664
- hash: "afbd5b24e2f86646f5ec2aa22f3a4b5b"
- }
- Frame {
- msec: 1680
- hash: "9413dffb7ee853ba0125ac22ab22abbd"
- }
- Frame {
- msec: 1696
- hash: "fcae0317f81a3ddd713f4db1349a9da0"
- }
- Frame {
- msec: 1712
- hash: "37739777a5979f3ebf85e47e63341660"
- }
- Frame {
- msec: 1728
- hash: "72731478d80f024076ea639b55152360"
- }
- Frame {
- msec: 1744
- hash: "69058485ced6bc992a1a7c5ee34add4c"
- }
- Frame {
- msec: 1760
- hash: "391ad7ff2362e059f6170dfe306f94a7"
- }
- Frame {
- msec: 1776
- hash: "f9f74a2e38b52c9266f33e428b6acd9d"
- }
- Frame {
- msec: 1792
- hash: "25152412c4ea2aec6caf89486c073484"
- }
- Frame {
- msec: 1808
- hash: "ba403842ba3128b1cdf6a9cb28c90751"
- }
- Frame {
- msec: 1824
- hash: "e90cd68490cf3ce6ef9fe4e8f92feaa9"
- }
- Frame {
- msec: 1840
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1856
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1872
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1888
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1904
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1920
- image: "bindinganimation.1.png"
- }
- Frame {
- msec: 1936
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1952
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1968
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1984
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2000
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2016
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2032
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2048
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2064
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2080
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2096
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2112
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2128
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2144
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2160
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2176
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2192
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2208
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2224
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2240
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2256
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2272
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2288
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2304
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2320
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2336
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2352
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2368
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2384
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2400
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2416
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2432
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2448
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2464
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2480
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2496
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 2512
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
-}
diff --git a/tools/qdoc3/cppcodemarker.cpp b/tools/qdoc3/cppcodemarker.cpp
index a8f6a02..f3c8fa5 100644
--- a/tools/qdoc3/cppcodemarker.cpp
+++ b/tools/qdoc3/cppcodemarker.cpp
@@ -1127,7 +1127,7 @@ QList<Section> CppCodeMarker::qmlSections(const QmlClassNode* qmlClassNode,
"signal",
"signals");
FastSection qmlattachedsignals(qmlClassNode,
- "QML Attached Signals",
+ "Attached Signals",
"signal",
"signals");
FastSection qmlmethods(qmlClassNode,
@@ -1135,7 +1135,7 @@ QList<Section> CppCodeMarker::qmlSections(const QmlClassNode* qmlClassNode,
"method",
"methods");
FastSection qmlattachedmethods(qmlClassNode,
- "QML Attached Methods",
+ "Attached Methods",
"method",
"methods");
diff --git a/tools/qmldebugger/creatorplugin/qmlinspectormode.cpp b/tools/qmldebugger/creatorplugin/qmlinspectormode.cpp
index ce8ef30..aa7d292 100644
--- a/tools/qmldebugger/creatorplugin/qmlinspectormode.cpp
+++ b/tools/qmldebugger/creatorplugin/qmlinspectormode.cpp
@@ -489,7 +489,7 @@ void QmlInspectorMode::reloadEngines()
if (!m_engineQuery->isWaiting())
enginesChanged();
else
- QObject::connect(m_engineQuery, SIGNAL(stateChanged(State)),
+ QObject::connect(m_engineQuery, SIGNAL(stateChanged(QmlDebugQuery::State)),
this, SLOT(enginesChanged()));
}
@@ -528,7 +528,7 @@ void QmlInspectorMode::queryEngineContext(int id)
if (!m_contextQuery->isWaiting())
contextChanged();
else
- QObject::connect(m_contextQuery, SIGNAL(stateChanged(State)),
+ QObject::connect(m_contextQuery, SIGNAL(stateChanged(QmlDebugQuery::State)),
this, SLOT(contextChanged()));
}
diff --git a/tools/qmldebugger/standalone/engine.cpp b/tools/qmldebugger/standalone/engine.cpp
index d438518..6cfd82b 100644
--- a/tools/qmldebugger/standalone/engine.cpp
+++ b/tools/qmldebugger/standalone/engine.cpp
@@ -163,7 +163,7 @@ void EnginePane::queryContext(int id)
if (!m_context->isWaiting())
contextChanged();
else
- QObject::connect(m_context, SIGNAL(stateChanged(State)),
+ QObject::connect(m_context, SIGNAL(stateChanged(QmlDebugQuery::State)),
this, SLOT(contextChanged()));
}
@@ -186,7 +186,7 @@ void EnginePane::refreshEngines()
if (!m_engines->isWaiting())
enginesChanged();
else
- QObject::connect(m_engines, SIGNAL(stateChanged(State)),
+ QObject::connect(m_engines, SIGNAL(stateChanged(QmlDebugQuery::State)),
this, SLOT(enginesChanged()));
}
diff --git a/tools/qmldebugger/standalone/expressionquerywidget.cpp b/tools/qmldebugger/standalone/expressionquerywidget.cpp
index 5b7bc8f..cd59871 100644
--- a/tools/qmldebugger/standalone/expressionquerywidget.cpp
+++ b/tools/qmldebugger/standalone/expressionquerywidget.cpp
@@ -173,7 +173,7 @@ void ExpressionQueryWidget::executeExpression()
if (!m_query->isWaiting())
showResult();
else
- QObject::connect(m_query, SIGNAL(stateChanged(State)),
+ QObject::connect(m_query, SIGNAL(stateChanged(QmlDebugQuery::State)),
this, SLOT(showResult()));
m_lastExpr = m_expr;
diff --git a/tools/qmldebugger/standalone/objectpropertiesview.cpp b/tools/qmldebugger/standalone/objectpropertiesview.cpp
index abfb7a5..3a8d8c8 100644
--- a/tools/qmldebugger/standalone/objectpropertiesview.cpp
+++ b/tools/qmldebugger/standalone/objectpropertiesview.cpp
@@ -124,7 +124,7 @@ void ObjectPropertiesView::reload(const QmlDebugObjectReference &obj)
if (!m_query->isWaiting())
queryFinished();
else
- QObject::connect(m_query, SIGNAL(stateChanged(State)),
+ QObject::connect(m_query, SIGNAL(stateChanged(QmlDebugQuery::State)),
this, SLOT(queryFinished()));
}
@@ -223,7 +223,7 @@ void ObjectPropertiesView::watchCreated(QmlDebugWatch *watch)
{
if (watch->objectDebugId() == m_object.debugId()
&& qobject_cast<QmlDebugPropertyWatch*>(watch)) {
- connect(watch, SIGNAL(stateChanged(State)), SLOT(watchStateChanged()));
+ connect(watch, SIGNAL(stateChanged(QmlDebugWatch::State)), SLOT(watchStateChanged()));
setWatched(qobject_cast<QmlDebugPropertyWatch*>(watch)->name(), true);
}
}
diff --git a/tools/qmldebugger/standalone/objecttree.cpp b/tools/qmldebugger/standalone/objecttree.cpp
index 4dbc1a7..cf467f2 100644
--- a/tools/qmldebugger/standalone/objecttree.cpp
+++ b/tools/qmldebugger/standalone/objecttree.cpp
@@ -86,7 +86,7 @@ void ObjectTree::reload(int objectDebugId)
if (!m_query->isWaiting())
objectFetched();
else
- QObject::connect(m_query, SIGNAL(stateChanged(State)),
+ QObject::connect(m_query, SIGNAL(stateChanged(QmlDebugQuery::State)),
this, SLOT(objectFetched()));
}
diff --git a/tools/qmldebugger/standalone/watchtable.cpp b/tools/qmldebugger/standalone/watchtable.cpp
index 47c1c88..0e73de5 100644
--- a/tools/qmldebugger/standalone/watchtable.cpp
+++ b/tools/qmldebugger/standalone/watchtable.cpp
@@ -77,7 +77,7 @@ void WatchTableModel::addWatch(QmlDebugWatch *watch, const QString &title)
connect(watch, SIGNAL(valueChanged(QByteArray,QVariant)),
SLOT(watchedValueChanged(QByteArray,QVariant)));
- connect(watch, SIGNAL(stateChanged(State)), SLOT(watchStateChanged()));
+ connect(watch, SIGNAL(stateChanged(QmlDebugWatch::State)), SLOT(watchStateChanged()));
int col = columnCount(QModelIndex());
beginInsertColumns(QModelIndex(), col, col);