From bacb91e5822ad4a6b1ff5ac6a2cb72ce55e55008 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Thu, 26 Nov 2009 09:50:37 +1000 Subject: Compile. --- examples/declarative/loader/loader.pro | 2 +- examples/declarative/loader/qlistmodelinterface.h | 85 +++++++++++++++++++++++ examples/declarative/loader/qmlfolderlistmodel.h | 4 +- 3 files changed, 88 insertions(+), 3 deletions(-) create mode 100644 examples/declarative/loader/qlistmodelinterface.h diff --git a/examples/declarative/loader/loader.pro b/examples/declarative/loader/loader.pro index 9ee0933..0ad71f7 100644 --- a/examples/declarative/loader/loader.pro +++ b/examples/declarative/loader/loader.pro @@ -1,5 +1,5 @@ SOURCES = main.cpp qmlfolderlistmodel.cpp -HEADERS = qmlfolderlistmodel.h +HEADERS = qmlfolderlistmodel.h qlistmodelinterface.h RESOURCES = loader.qrc QT += script declarative network diff --git a/examples/declarative/loader/qlistmodelinterface.h b/examples/declarative/loader/qlistmodelinterface.h new file mode 100644 index 0000000..738378e --- /dev/null +++ b/examples/declarative/loader/qlistmodelinterface.h @@ -0,0 +1,85 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the QtDeclarative module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QLISTMODELINTERFACE_H +#define QLISTMODELINTERFACE_H + +#include +#include + + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Declarative) + +class Q_DECLARATIVE_EXPORT QListModelInterface : public QObject +{ + Q_OBJECT + public: + QListModelInterface(QObject *parent = 0) : QObject(parent) {} + virtual ~QListModelInterface() {} + + virtual int count() const = 0; + virtual QHash data(int index, const QList& roles = QList()) const = 0; + virtual bool setData(int index, const QHash& values) + { Q_UNUSED(index); Q_UNUSED(values); return false; } + + virtual QList roles() const = 0; + virtual QString toString(int role) const = 0; + + Q_SIGNALS: + void itemsInserted(int index, int count); + void itemsRemoved(int index, int count); + void itemsMoved(int from, int to, int count); + void itemsChanged(int index, int count, const QList &roles); + + protected: + QListModelInterface(QObjectPrivate &dd, QObject *parent) + : QObject(dd, parent) {} +}; + + +QT_END_NAMESPACE + +QT_END_HEADER +#endif //QTREEMODELINTERFACE_H diff --git a/examples/declarative/loader/qmlfolderlistmodel.h b/examples/declarative/loader/qmlfolderlistmodel.h index f4fa9ed..f50719a 100644 --- a/examples/declarative/loader/qmlfolderlistmodel.h +++ b/examples/declarative/loader/qmlfolderlistmodel.h @@ -42,8 +42,8 @@ #ifndef QMLFOLDERLISTMODEL_H #define QMLFOLDERLISTMODEL_H -#include -#include +#include +#include "qlistmodelinterface.h" class QmlContext; class QModelIndex; -- cgit v0.12 From 674fb96b9e0ba14765039dab21aa99032bd2e82f Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Thu, 26 Nov 2009 15:09:04 +1000 Subject: Crop whitespace from image. Task-number: QT-2384 --- doc/src/declarative/pics/trivialListView.png | Bin 6160 -> 5918 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/src/declarative/pics/trivialListView.png b/doc/src/declarative/pics/trivialListView.png index 3782570..dc5c6b3 100644 Binary files a/doc/src/declarative/pics/trivialListView.png and b/doc/src/declarative/pics/trivialListView.png differ -- cgit v0.12 From 129fc2c269813b7f12b55999649aaacdd25808e4 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Thu, 26 Nov 2009 16:17:27 +1000 Subject: Doc fixes --- doc/src/declarative/ecmascriptblocks.qdoc | 4 ++++ src/declarative/graphicsitems/qmlgraphicsflipable.cpp | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/src/declarative/ecmascriptblocks.qdoc b/doc/src/declarative/ecmascriptblocks.qdoc index 6ee5a8e..470d942 100644 --- a/doc/src/declarative/ecmascriptblocks.qdoc +++ b/doc/src/declarative/ecmascriptblocks.qdoc @@ -54,6 +54,10 @@ assigned to an object property or given an id. The included ECMAScript is evalu in a scope chain. The \l {QML Scope} documentation covers the specifics of scoping in QML. +Note that if you are adding a function that should be called by external elements, +you do not need the \l Script element. See \l {Extending types from QML#Adding new methods} +{Adding new methods} for information about adding slots that can be called externally. + \section1 Inline Script Small blocks of ECMAScript can be included directly inside a \l {QML Document} as diff --git a/src/declarative/graphicsitems/qmlgraphicsflipable.cpp b/src/declarative/graphicsitems/qmlgraphicsflipable.cpp index 9e48bf2..7719469 100644 --- a/src/declarative/graphicsitems/qmlgraphicsflipable.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsflipable.cpp @@ -98,7 +98,7 @@ public: MouseRegion { anchors.fill: parent - onClicked: flipable.state = (flipable.state == 'back' ? 'front' : 'back') + onClicked: flipable.state = (flipable.state == 'back' ? '' : 'back') } } \endqml -- cgit v0.12 From 219619329254b4e735af8fef0f28b248b7df98fc Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Thu, 26 Nov 2009 10:53:12 +0100 Subject: Twitter demo touchups Arrowkey navigation on the login page, and Escape on the main page takes you back to the login page. Posting does not seem to be working still. Also switched to pixelSize fonts in many places. --- demos/declarative/twitter/content/AuthView.qml | 65 ++++++++++++++-------- demos/declarative/twitter/content/Button.qml | 13 ++++- demos/declarative/twitter/content/FatDelegate.qml | 2 +- demos/declarative/twitter/content/HomeTitleBar.qml | 3 +- demos/declarative/twitter/content/RssModel.qml | 4 +- demos/declarative/twitter/content/TitleBar.qml | 1 + demos/declarative/twitter/twitter.qml | 2 + 7 files changed, 61 insertions(+), 29 deletions(-) diff --git a/demos/declarative/twitter/content/AuthView.qml b/demos/declarative/twitter/content/AuthView.qml index 8fb00f8..ff360b9 100644 --- a/demos/declarative/twitter/content/AuthView.qml +++ b/demos/declarative/twitter/content/AuthView.qml @@ -5,17 +5,15 @@ Item { Column { anchors.centerIn: parent spacing: 20 - Row{ + Column{ spacing: 4 Text { - width: 100 text: "Screen name:" - font.pointSize: 14; font.bold: true; color: "white"; style: Text.Raised; styleColor: "black" - anchors.verticalCenter: parent.verticalCenter + font.pixelSize: 16; font.bold: true; color: "white"; style: Text.Raised; styleColor: "black" horizontalAlignment: Qt.AlignRight } Item { - width: 160 + width: 220 height: 28 BorderImage { source: "images/lineedit.sci"; anchors.fill: parent } TextInput{ @@ -24,29 +22,24 @@ Item { height: parent.height - 12 anchors.centerIn: parent maximumLength:21 + font.pixelSize: 16; font.bold: true color: "#151515"; selectionColor: "green" - Keys.forwardTo: [(tabber), (nameIn)] - Item { - id: tabber - //Note: it's not working yet - Keys.onPressed: {if(event.key == Qt.Key_Tab){console.log('Tab works!'); passIn.focus = true; accept(); }} - } + KeyNavigation.down: passIn + focus: true } } } - Row{ + Column{ spacing: 4 Text { - width: 100 text: "Password:" - font.pointSize: 14; font.bold: true; color: "white"; style: Text.Raised; styleColor: "black" - anchors.verticalCenter: parent.verticalCenter + font.pixelSize: 16; font.bold: true; color: "white"; style: Text.Raised; styleColor: "black" horizontalAlignment: Qt.AlignRight } Item { - width: 160 - height: 28 + width: 220 + height: 28 BorderImage { source: "images/lineedit.sci"; anchors.fill: parent } TextInput{ id: passIn @@ -55,29 +48,53 @@ Item { anchors.centerIn: parent maximumLength:21 echoMode: TextInput.Password + font.pixelSize: 16; font.bold: true color: "#151515"; selectionColor: "green" + KeyNavigation.down: login + KeyNavigation.up: nameIn } } } - Item{ - width: childrenRect.width; height:childrenRect.height; - anchors.horizontalCenter: parent.horizontalCenter + Row{ + spacing: 10 Button { - x: 10 width: 100 height: 32 id: login + keyUsing: true; + function doLogin(){ + rssModel.authName=nameIn.text; + rssModel.authPass=passIn.text; + rssModel.tags='my timeline'; + screen.focus = true; + } text: "Log in" - onClicked: {rssModel.authName=nameIn.text; rssModel.authPass=passIn.text; rssModel.tags='my timeline';} + KeyNavigation.right: guest + KeyNavigation.up: passIn + Keys.onReturnPressed: login.doLogin(); + Keys.onSelectPressed: login.doLogin(); + Keys.onSpacePressed: login.doLogin(); + onClicked: login.doLogin(); } Button { - x: 120 width: 100 height: 32 id: guest + keyUsing: true; + function doGuest() + { + rssModel.authName='-'; + screen.focus = true; + screen.setMode(true); + } text: "Guest" - onClicked: {rssModel.authName='-'; screen.setMode(true);} + KeyNavigation.left: login + KeyNavigation.up: passIn + Keys.onReturnPressed: guest.doGuest(); + Keys.onSelectPressed: guest.doGuest(); + Keys.onSpacePressed: guest.doGuest(); + onClicked: guest.doGuest(); } } } diff --git a/demos/declarative/twitter/content/Button.qml b/demos/declarative/twitter/content/Button.qml index 770330c..09d471c 100644 --- a/demos/declarative/twitter/content/Button.qml +++ b/demos/declarative/twitter/content/Button.qml @@ -6,6 +6,7 @@ Item { signal clicked property string text + property bool keyUsing: false BorderImage { id: buttonImage @@ -24,15 +25,25 @@ Item { onClicked: { container.clicked(); } } Text { - color: "white" + id: btnText + color: if(container.keyUsing){"#DDDDDD";} else {"#FFFFFF";} anchors.centerIn: buttonImage; font.bold: true text: container.text; style: Text.Raised; styleColor: "black" + font.pixelSize: 12 } states: [ State { name: "Pressed" when: mouseRegion.pressed == true PropertyChanges { target: pressed; opacity: 1 } + }, + State { + name: "Focused" + when: container.focus == true + PropertyChanges { target: btnText; color: "#FFFFFF" } } ] + transitions: Transition { + ColorAnimation { target: btnText; } + } } diff --git a/demos/declarative/twitter/content/FatDelegate.qml b/demos/declarative/twitter/content/FatDelegate.qml index 7125746..23b4838 100644 --- a/demos/declarative/twitter/content/FatDelegate.qml +++ b/demos/declarative/twitter/content/FatDelegate.qml @@ -10,7 +10,7 @@ Component { setUser(link.slice(7)); screen.setMode(true); }else if(link.slice(0,4) == 'http'){ - Qt.DesktopServices.openUrl(link); + Qt.openUrlExternally(link); } } function addTags(str){ diff --git a/demos/declarative/twitter/content/HomeTitleBar.qml b/demos/declarative/twitter/content/HomeTitleBar.qml index b4f24ea..2cd1447 100644 --- a/demos/declarative/twitter/content/HomeTitleBar.qml +++ b/demos/declarative/twitter/content/HomeTitleBar.qml @@ -25,7 +25,6 @@ Item { } } postman.send(postData); - editor.text = "" titleBar.state = "" } @@ -52,7 +51,7 @@ Item { anchors.verticalCenter: parent.verticalCenter elide: Text.ElideLeft text: "Timeline for " + rssModel.authName - font.pointSize: 10; font.bold: true; color: "white"; style: Text.Raised; styleColor: "black" + font.pixelSize: 12; font.bold: true; color: "white"; style: Text.Raised; styleColor: "black" } Button { diff --git a/demos/declarative/twitter/content/RssModel.qml b/demos/declarative/twitter/content/RssModel.qml index 144d7af..9d88bb7 100644 --- a/demos/declarative/twitter/content/RssModel.qml +++ b/demos/declarative/twitter/content/RssModel.qml @@ -11,7 +11,8 @@ Item { id: wrapper XmlListModel { id: xmlModel - source: if (wrapper.authName == ""){ + source:{ + if (wrapper.authName == ""){ ""; //Avoid worthless calls to twitter servers }else if(wrapper.mode == 'user'){ "https://"+ ((wrapper.authName!="" && wrapper.authPass!="")? (wrapper.authName+":"+wrapper.authPass+"@") : "" )+"twitter.com/statuses/user_timeline.xml?screen_name="+wrapper.tags; @@ -20,6 +21,7 @@ XmlListModel { }else{//everyone/public "http://twitter.com/statuses/public_timeline.xml"; } + } query: "/statuses/status" XmlRole { name: "statusText"; query: "text/string()" } diff --git a/demos/declarative/twitter/content/TitleBar.qml b/demos/declarative/twitter/content/TitleBar.qml index 0341585..28e7389 100644 --- a/demos/declarative/twitter/content/TitleBar.qml +++ b/demos/declarative/twitter/content/TitleBar.qml @@ -28,6 +28,7 @@ Item { elide: Text.ElideLeft text: (rssModel.tags=="" ? untaggedString : taggedString + rssModel.tags) font.bold: true; color: "White"; style: Text.Raised; styleColor: "Black" + font.pixelSize: 12 } Button { diff --git a/demos/declarative/twitter/twitter.qml b/demos/declarative/twitter/twitter.qml index db1ae39..bb7da9c 100644 --- a/demos/declarative/twitter/twitter.qml +++ b/demos/declarative/twitter/twitter.qml @@ -22,6 +22,8 @@ Item { function reallySetUser(){rssModel.tags = tmpStr;} } + //TODO: better way to return to the auth screen + Keys.onEscapePressed: rssModel.authName='' Rectangle { id: background anchors.fill: parent; color: "#343434"; -- cgit v0.12 From 96363242c9a6edd00a5c4f585e93cfb4ba15a371 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Thu, 26 Nov 2009 13:15:12 +0100 Subject: Doc fix From Thomas Zander --- doc/src/declarative/qmlintro.qdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/declarative/qmlintro.qdoc b/doc/src/declarative/qmlintro.qdoc index 76d915f..8141c90 100644 --- a/doc/src/declarative/qmlintro.qdoc +++ b/doc/src/declarative/qmlintro.qdoc @@ -121,7 +121,7 @@ Item { } Text { id: text2 - text: Text1.text + text: text1.text } } \endcode -- cgit v0.12 From aa54284a9793b980097053297affee8ca197297d Mon Sep 17 00:00:00 2001 From: mae Date: Thu, 26 Nov 2009 13:46:20 +0100 Subject: reenable particles effect for the cookie --- demos/declarative/snake/Cookie.qml | 2 +- demos/declarative/snake/pics/yellowStar.png | Bin 0 -> 276 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 demos/declarative/snake/pics/yellowStar.png diff --git a/demos/declarative/snake/Cookie.qml b/demos/declarative/snake/Cookie.qml index d1577ca..7f0aadf 100644 --- a/demos/declarative/snake/Cookie.qml +++ b/demos/declarative/snake/Cookie.qml @@ -33,7 +33,7 @@ Item { lifeSpan: 700; lifeSpanDeviation: 600; angle: 0; angleDeviation: 360; velocity: 100; velocityDeviation:30; - source: "pics/greenStar.png"; + source: "pics/yellowStar.png"; } states: [ diff --git a/demos/declarative/snake/pics/yellowStar.png b/demos/declarative/snake/pics/yellowStar.png new file mode 100644 index 0000000..52fb9c4 Binary files /dev/null and b/demos/declarative/snake/pics/yellowStar.png differ -- cgit v0.12 From 7738d3b389200dc73f3e19c55359675f9c26a9a5 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Thu, 26 Nov 2009 15:51:36 +0100 Subject: Fix minor clipping issue in twitter app --- demos/declarative/twitter/content/AuthView.qml | 2 -- demos/declarative/twitter/content/HomeTitleBar.qml | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/demos/declarative/twitter/content/AuthView.qml b/demos/declarative/twitter/content/AuthView.qml index ff360b9..bcf4646 100644 --- a/demos/declarative/twitter/content/AuthView.qml +++ b/demos/declarative/twitter/content/AuthView.qml @@ -19,7 +19,6 @@ Item { TextInput{ id: nameIn width: parent.width - 8 - height: parent.height - 12 anchors.centerIn: parent maximumLength:21 font.pixelSize: 16; @@ -44,7 +43,6 @@ Item { TextInput{ id: passIn width: parent.width - 8 - height: parent.height - 12 anchors.centerIn: parent maximumLength:21 echoMode: TextInput.Password diff --git a/demos/declarative/twitter/content/HomeTitleBar.qml b/demos/declarative/twitter/content/HomeTitleBar.qml index 2cd1447..e5bdb85 100644 --- a/demos/declarative/twitter/content/HomeTitleBar.qml +++ b/demos/declarative/twitter/content/HomeTitleBar.qml @@ -25,6 +25,7 @@ Item { } } postman.send(postData); + editor.text = "" titleBar.state = "" } @@ -88,7 +89,7 @@ Item { width: parent.width - 12 height: parent.height - 8 font.pointSize: 10 - wrap:true + wrap: true color: "#151515"; selectionColor: "green" } Keys.forwardTo: [(returnKey), (editor)] -- cgit v0.12 From 6d9e42793f912dbaf742c8f941bbdb9041d08a7f Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Thu, 26 Nov 2009 16:00:07 +0100 Subject: Fixes wrapping in TextEdit Somehow TextEdit got to the point of not calling updateSize after text input. Visual test included. Task-number: QTBUG-6273 --- .../graphicsitems/qmlgraphicstextedit.cpp | 4 +- .../visual/qmlgraphicstextedit/data-X11/wrap.0.png | Bin 0 -> 1110 bytes .../visual/qmlgraphicstextedit/data-X11/wrap.1.png | Bin 0 -> 1110 bytes .../visual/qmlgraphicstextedit/data-X11/wrap.2.png | Bin 0 -> 1110 bytes .../visual/qmlgraphicstextedit/data-X11/wrap.3.png | Bin 0 -> 1110 bytes .../visual/qmlgraphicstextedit/data-X11/wrap.4.png | Bin 0 -> 1110 bytes .../visual/qmlgraphicstextedit/data-X11/wrap.5.png | Bin 0 -> 1110 bytes .../visual/qmlgraphicstextedit/data-X11/wrap.6.png | Bin 0 -> 1110 bytes .../visual/qmlgraphicstextedit/data-X11/wrap.qml | 2467 ++++++++++++++++++++ .../visual/qmlgraphicstextedit/data/wrap.0.png | Bin 0 -> 1110 bytes .../visual/qmlgraphicstextedit/data/wrap.1.png | Bin 0 -> 1110 bytes .../visual/qmlgraphicstextedit/data/wrap.2.png | Bin 0 -> 1110 bytes .../visual/qmlgraphicstextedit/data/wrap.3.png | Bin 0 -> 1110 bytes .../visual/qmlgraphicstextedit/data/wrap.4.png | Bin 0 -> 1110 bytes .../visual/qmlgraphicstextedit/data/wrap.5.png | Bin 0 -> 1110 bytes .../visual/qmlgraphicstextedit/data/wrap.6.png | Bin 0 -> 1110 bytes .../visual/qmlgraphicstextedit/data/wrap.qml | 2467 ++++++++++++++++++++ .../visual/qmlgraphicstextedit/wrap.qml | 21 + 18 files changed, 4956 insertions(+), 3 deletions(-) create mode 100644 tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.0.png create mode 100644 tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.1.png create mode 100644 tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.2.png create mode 100644 tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.3.png create mode 100644 tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.4.png create mode 100644 tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.5.png create mode 100644 tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.6.png create mode 100644 tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.qml create mode 100644 tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.0.png create mode 100644 tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.1.png create mode 100644 tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.2.png create mode 100644 tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.3.png create mode 100644 tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.4.png create mode 100644 tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.5.png create mode 100644 tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.6.png create mode 100644 tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.qml create mode 100644 tests/auto/declarative/visual/qmlgraphicstextedit/wrap.qml diff --git a/src/declarative/graphicsitems/qmlgraphicstextedit.cpp b/src/declarative/graphicsitems/qmlgraphicstextedit.cpp index bec2ff8..5f5269f 100644 --- a/src/declarative/graphicsitems/qmlgraphicstextedit.cpp +++ b/src/declarative/graphicsitems/qmlgraphicstextedit.cpp @@ -144,7 +144,6 @@ void QmlGraphicsTextEdit::setText(const QString &text) d->control->setPlainText(text); } q_textChanged(); - updateSize(); } /*! @@ -889,8 +888,7 @@ void QmlGraphicsTextEditPrivate::init() void QmlGraphicsTextEdit::q_textChanged() { - if (!widthValid()) - updateSize(); //### optimize: we get 3 calls to updateSize every time a letter is typed + updateSize(); emit textChanged(text()); } diff --git a/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.0.png b/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.0.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.0.png differ diff --git a/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.1.png b/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.1.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.1.png differ diff --git a/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.2.png b/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.2.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.2.png differ diff --git a/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.3.png b/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.3.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.3.png differ diff --git a/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.4.png b/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.4.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.4.png differ diff --git a/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.5.png b/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.5.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.5.png differ diff --git a/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.6.png b/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.6.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.6.png differ diff --git a/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.qml b/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.qml new file mode 100644 index 0000000..4ff00f4 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicstextedit/data-X11/wrap.qml @@ -0,0 +1,2467 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 33554432 + text: "54" + autorep: false + count: 1 + } + Frame { + msec: 32 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 16777248 + modifiers: 33554432 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 48 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 64 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 80 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 96 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 72 + modifiers: 0 + text: "68" + autorep: false + count: 1 + } + Frame { + msec: 112 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 128 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 144 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 160 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 176 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 192 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 72 + modifiers: 0 + text: "68" + autorep: false + count: 1 + } + Frame { + msec: 208 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 224 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 240 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 256 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 272 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 288 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 304 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 320 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 336 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 352 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 368 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 384 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 400 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 416 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 432 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 448 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 464 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 480 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 496 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 512 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 528 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Key { + type: 7 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 544 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 560 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 576 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 592 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 608 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 624 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 640 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 656 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 672 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 688 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 704 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 720 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 736 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 752 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 768 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 784 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 800 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 816 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 832 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 848 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 864 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 880 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 896 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 912 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 928 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 944 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 960 + image: "wrap.0.png" + } + Frame { + msec: 976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1072 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 1088 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1104 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1120 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1136 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1152 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1168 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1184 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 1200 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1216 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1232 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1248 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1264 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1280 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1296 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1312 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1328 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1344 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1360 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1376 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1392 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1408 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1424 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1440 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1456 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1472 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1488 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1504 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1520 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1536 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1552 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 72 + modifiers: 0 + text: "68" + autorep: false + count: 1 + } + Frame { + msec: 1568 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1584 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1600 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1616 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1632 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Key { + type: 7 + key: 72 + modifiers: 0 + text: "68" + autorep: false + count: 1 + } + Frame { + msec: 1648 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1664 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1680 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1696 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1712 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1728 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1744 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1760 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 1776 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1792 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1808 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1824 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1840 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1856 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1872 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1888 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1904 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1920 + image: "wrap.1.png" + } + Frame { + msec: 1936 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1952 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1968 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2064 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 2080 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2096 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2112 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2128 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2144 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2160 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2176 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2192 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2208 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 88 + modifiers: 0 + text: "78" + autorep: false + count: 1 + } + Frame { + msec: 2224 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2240 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2256 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2272 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2288 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 2304 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 88 + modifiers: 0 + text: "78" + autorep: false + count: 1 + } + Frame { + msec: 2320 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2336 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2352 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2368 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2384 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 2400 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2416 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2432 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2448 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2464 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2480 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2496 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2512 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2528 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2544 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2560 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2576 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2592 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2608 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2624 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2640 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 68 + modifiers: 0 + text: "64" + autorep: false + count: 1 + } + Frame { + msec: 2656 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2672 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2688 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2704 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 68 + modifiers: 0 + text: "64" + autorep: false + count: 1 + } + Frame { + msec: 2720 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2736 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2752 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 2768 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2784 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2800 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2816 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2832 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Key { + type: 7 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 2848 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2864 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2880 + image: "wrap.2.png" + } + Frame { + msec: 2896 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2912 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2928 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 2944 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2960 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3072 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3088 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 87 + modifiers: 0 + text: "77" + autorep: false + count: 1 + } + Frame { + msec: 3104 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3120 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3136 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3152 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3168 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 87 + modifiers: 0 + text: "77" + autorep: false + count: 1 + } + Frame { + msec: 3184 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3200 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3216 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3232 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3248 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 3264 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3280 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3296 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 3312 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3328 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3344 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 3360 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3376 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3392 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3408 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3424 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 3440 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3456 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3472 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 80 + modifiers: 0 + text: "70" + autorep: false + count: 1 + } + Frame { + msec: 3488 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3504 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3520 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3536 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 80 + modifiers: 0 + text: "70" + autorep: false + count: 1 + } + Frame { + msec: 3552 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3568 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 3584 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3600 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3616 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3632 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3648 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3664 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 3680 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 3696 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3712 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3728 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3744 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3760 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 3776 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3792 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3808 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3824 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3840 + image: "wrap.3.png" + } + Frame { + msec: 3856 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3872 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3888 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3904 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 3920 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3936 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3952 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3968 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 4000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 79 + modifiers: 0 + text: "6f" + autorep: false + count: 1 + } + Frame { + msec: 4032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4064 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 79 + modifiers: 0 + text: "6f" + autorep: false + count: 1 + } + Frame { + msec: 4080 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 4096 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4112 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4128 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4144 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 4160 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4176 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4192 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 4208 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4224 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4240 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4256 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4272 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 4288 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 4304 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4320 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4336 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 4352 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4368 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4384 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4400 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4416 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 4432 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4448 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4464 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 4480 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4496 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4512 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4528 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4544 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 4560 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4576 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4592 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4608 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 4624 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4640 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4656 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4672 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 76 + modifiers: 0 + text: "6c" + autorep: false + count: 1 + } + Frame { + msec: 4688 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4704 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4720 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4736 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 76 + modifiers: 0 + text: "6c" + autorep: false + count: 1 + } + Frame { + msec: 4752 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4768 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4784 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 89 + modifiers: 0 + text: "79" + autorep: false + count: 1 + } + Frame { + msec: 4800 + image: "wrap.4.png" + } + Frame { + msec: 4816 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 89 + modifiers: 0 + text: "79" + autorep: false + count: 1 + } + Frame { + msec: 4832 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4848 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4864 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4880 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 46 + modifiers: 0 + text: "2e" + autorep: false + count: 1 + } + Frame { + msec: 4896 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4912 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4928 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4944 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 46 + modifiers: 0 + text: "2e" + autorep: false + count: 1 + } + Frame { + msec: 4960 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5072 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5088 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5104 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5120 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5136 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5152 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5168 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5184 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5200 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5216 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5232 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5248 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5264 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5280 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5296 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5312 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5328 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5344 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5360 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5376 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5392 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5408 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5424 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5440 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5456 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5472 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5488 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5504 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5520 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5536 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5552 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5568 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5584 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5600 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5616 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5632 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5648 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5664 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5680 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5696 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5712 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5728 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5744 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5760 + image: "wrap.5.png" + } + Frame { + msec: 5776 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5792 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5808 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5824 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5840 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5856 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5872 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5888 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5904 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5920 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5936 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5952 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5968 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6064 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6080 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6096 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6112 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6128 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6144 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6160 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6176 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6192 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6208 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6224 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6240 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6256 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6272 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6288 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6304 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6320 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6336 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6352 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6368 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6384 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6400 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6416 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6432 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6448 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6464 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6480 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6496 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6512 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6528 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6544 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6560 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6576 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6592 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6608 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6624 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6640 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6656 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6672 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6688 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6704 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6720 + image: "wrap.6.png" + } + Frame { + msec: 6736 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6752 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6768 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6784 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6800 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6816 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6832 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6848 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6864 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } +} diff --git a/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.0.png b/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.0.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.0.png differ diff --git a/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.1.png b/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.1.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.1.png differ diff --git a/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.2.png b/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.2.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.2.png differ diff --git a/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.3.png b/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.3.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.3.png differ diff --git a/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.4.png b/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.4.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.4.png differ diff --git a/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.5.png b/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.5.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.5.png differ diff --git a/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.6.png b/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.6.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.6.png differ diff --git a/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.qml b/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.qml new file mode 100644 index 0000000..f96daa9 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicstextedit/data/wrap.qml @@ -0,0 +1,2467 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 33554432 + text: "54" + autorep: false + count: 1 + } + Frame { + msec: 32 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 16777248 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 48 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 64 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 80 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 96 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 72 + modifiers: 0 + text: "68" + autorep: false + count: 1 + } + Frame { + msec: 112 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 128 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 144 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 160 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 176 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 192 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 72 + modifiers: 0 + text: "68" + autorep: false + count: 1 + } + Frame { + msec: 208 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 224 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 240 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 256 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 272 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 288 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 304 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 320 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 336 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 352 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 368 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 384 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 400 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 416 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 432 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 448 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 464 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 480 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 496 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 512 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 528 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Key { + type: 7 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 544 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 560 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 576 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 592 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 608 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 624 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 640 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 656 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 672 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 688 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 704 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 720 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 736 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 752 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 768 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 784 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 800 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 816 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 832 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 848 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 864 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 880 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 896 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 912 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 928 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 944 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 960 + image: "wrap.0.png" + } + Frame { + msec: 976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1072 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 1088 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1104 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1120 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1136 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1152 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1168 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1184 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 1200 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1216 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1232 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1248 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1264 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1280 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1296 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1312 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1328 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1344 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1360 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1376 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1392 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1408 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1424 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1440 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1456 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1472 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1488 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1504 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1520 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1536 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1552 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 72 + modifiers: 0 + text: "68" + autorep: false + count: 1 + } + Frame { + msec: 1568 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1584 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1600 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1616 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1632 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Key { + type: 7 + key: 72 + modifiers: 0 + text: "68" + autorep: false + count: 1 + } + Frame { + msec: 1648 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1664 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1680 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1696 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1712 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1728 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1744 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1760 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 1776 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1792 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1808 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1824 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1840 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1856 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1872 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1888 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1904 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1920 + image: "wrap.1.png" + } + Frame { + msec: 1936 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1952 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1968 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2064 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 2080 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2096 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2112 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2128 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2144 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2160 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2176 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2192 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2208 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 88 + modifiers: 0 + text: "78" + autorep: false + count: 1 + } + Frame { + msec: 2224 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2240 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2256 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2272 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2288 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 2304 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 88 + modifiers: 0 + text: "78" + autorep: false + count: 1 + } + Frame { + msec: 2320 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2336 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2352 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2368 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2384 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 2400 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2416 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2432 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2448 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2464 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2480 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2496 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2512 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2528 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2544 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2560 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2576 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2592 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2608 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2624 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2640 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 68 + modifiers: 0 + text: "64" + autorep: false + count: 1 + } + Frame { + msec: 2656 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2672 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2688 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2704 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 68 + modifiers: 0 + text: "64" + autorep: false + count: 1 + } + Frame { + msec: 2720 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2736 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2752 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 2768 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2784 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2800 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2816 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2832 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Key { + type: 7 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 2848 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2864 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2880 + image: "wrap.2.png" + } + Frame { + msec: 2896 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2912 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2928 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 2944 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2960 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3072 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3088 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 87 + modifiers: 0 + text: "77" + autorep: false + count: 1 + } + Frame { + msec: 3104 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3120 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3136 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3152 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3168 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 87 + modifiers: 0 + text: "77" + autorep: false + count: 1 + } + Frame { + msec: 3184 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3200 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3216 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3232 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3248 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 3264 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3280 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3296 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 3312 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3328 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3344 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 3360 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3376 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3392 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3408 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3424 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 3440 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3456 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3472 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 80 + modifiers: 0 + text: "70" + autorep: false + count: 1 + } + Frame { + msec: 3488 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3504 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3520 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3536 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 80 + modifiers: 0 + text: "70" + autorep: false + count: 1 + } + Frame { + msec: 3552 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3568 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 3584 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3600 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3616 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3632 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3648 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3664 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 3680 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 3696 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3712 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3728 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3744 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3760 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 3776 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3792 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3808 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3824 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3840 + image: "wrap.3.png" + } + Frame { + msec: 3856 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3872 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3888 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3904 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 3920 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3936 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3952 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3968 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 4000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 79 + modifiers: 0 + text: "6f" + autorep: false + count: 1 + } + Frame { + msec: 4032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4064 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 79 + modifiers: 0 + text: "6f" + autorep: false + count: 1 + } + Frame { + msec: 4080 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 4096 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4112 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4128 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4144 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 4160 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4176 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4192 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 4208 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4224 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4240 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4256 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4272 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 4288 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 4304 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4320 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4336 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 4352 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4368 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4384 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4400 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4416 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 4432 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4448 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4464 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 4480 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4496 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4512 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4528 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4544 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 4560 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4576 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4592 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4608 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 4624 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4640 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4656 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4672 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 76 + modifiers: 0 + text: "6c" + autorep: false + count: 1 + } + Frame { + msec: 4688 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4704 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4720 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4736 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 76 + modifiers: 0 + text: "6c" + autorep: false + count: 1 + } + Frame { + msec: 4752 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4768 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4784 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 89 + modifiers: 0 + text: "79" + autorep: false + count: 1 + } + Frame { + msec: 4800 + image: "wrap.4.png" + } + Frame { + msec: 4816 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 89 + modifiers: 0 + text: "79" + autorep: false + count: 1 + } + Frame { + msec: 4832 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4848 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4864 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4880 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 46 + modifiers: 0 + text: "2e" + autorep: false + count: 1 + } + Frame { + msec: 4896 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4912 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4928 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4944 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 46 + modifiers: 0 + text: "2e" + autorep: false + count: 1 + } + Frame { + msec: 4960 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5072 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5088 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5104 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5120 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5136 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5152 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5168 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5184 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5200 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5216 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5232 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5248 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5264 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5280 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5296 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5312 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5328 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5344 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5360 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5376 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5392 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5408 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5424 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5440 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5456 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5472 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5488 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5504 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5520 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5536 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5552 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5568 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5584 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5600 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5616 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5632 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5648 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5664 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5680 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5696 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5712 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5728 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5744 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5760 + image: "wrap.5.png" + } + Frame { + msec: 5776 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5792 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5808 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5824 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5840 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5856 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5872 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5888 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5904 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5920 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5936 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5952 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5968 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6064 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6080 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6096 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6112 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6128 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6144 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6160 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6176 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6192 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6208 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6224 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6240 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6256 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6272 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6288 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6304 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6320 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6336 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6352 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6368 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6384 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6400 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6416 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6432 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6448 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6464 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6480 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6496 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6512 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6528 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6544 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6560 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6576 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6592 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6608 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6624 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6640 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6656 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6672 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6688 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6704 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6720 + image: "wrap.6.png" + } + Frame { + msec: 6736 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6752 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6768 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6784 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6800 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6816 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6832 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6848 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6864 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } +} diff --git a/tests/auto/declarative/visual/qmlgraphicstextedit/wrap.qml b/tests/auto/declarative/visual/qmlgraphicstextedit/wrap.qml new file mode 100644 index 0000000..f9fe025 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicstextedit/wrap.qml @@ -0,0 +1,21 @@ +import Qt 4.6 + +Item { + height:400 + width: 200 + TextEdit { + width: 200 + height: 200 + wrap: true + focus: true + } + //With QTBUG-6273 only the bottom one would be wrapped + TextEdit { + width: 200 + height: 200 + wrap: true + text: "This is a test that text edit wraps correctly." + y:200 + } + +} -- cgit v0.12 From 3dbd19812d8bf6abb40f61fa94d38079094cc6ba Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Fri, 27 Nov 2009 09:35:33 +1000 Subject: Fix for packaging as module. --- tools/qmlviewer/qmlviewer.pro | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/qmlviewer/qmlviewer.pro b/tools/qmlviewer/qmlviewer.pro index 899a3ab..ed26d00 100644 --- a/tools/qmlviewer/qmlviewer.pro +++ b/tools/qmlviewer/qmlviewer.pro @@ -22,7 +22,8 @@ SOURCES += main.cpp \ qfxtester.cpp FORMS = recopts.ui \ proxysettings.ui -include($$QT_SOURCE_TREE/tools/shared/deviceskin/deviceskin.pri) +INCLUDEPATH += ../../include/QtDeclarative +include(../shared/deviceskin/deviceskin.pri) target.path = $$[QT_INSTALL_BINS] INSTALLS += target -- cgit v0.12 From 249bb31dc9fa12acff44ebf0effbdaedc43b5305 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Fri, 27 Nov 2009 09:37:29 +1000 Subject: binary? --- demos/declarative/minehunt/minehunt | Bin 302213 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 demos/declarative/minehunt/minehunt diff --git a/demos/declarative/minehunt/minehunt b/demos/declarative/minehunt/minehunt deleted file mode 100755 index 94584a9..0000000 Binary files a/demos/declarative/minehunt/minehunt and /dev/null differ -- cgit v0.12 From 8689f95793486d9c19f5b310d87f68e6fd8ace12 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 27 Nov 2009 11:49:05 +1000 Subject: Little doc fix. --- src/declarative/graphicsitems/qmlgraphicsitem.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/declarative/graphicsitems/qmlgraphicsitem.cpp b/src/declarative/graphicsitems/qmlgraphicsitem.cpp index 5b4f1f1..db59cf2 100644 --- a/src/declarative/graphicsitems/qmlgraphicsitem.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsitem.cpp @@ -1307,20 +1307,20 @@ QmlGraphicsKeysAttached *QmlGraphicsKeysAttached::qmlAttachedProperties(QObject \qml Item { Image { - file: "tile.png" + source: "tile.png" } Image { x: 80 width: 100 height: 100 - file: "tile.png" + source: "tile.png" } Image { x: 190 width: 100 height: 100 - tile: true - file: "tile.png" + fillMode: Image.Tile + source: "tile.png" } } \endqml -- cgit v0.12 From 97a5db1cd10a230198cb61a0a52e79c4cdbb6fac Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 27 Nov 2009 11:49:37 +1000 Subject: Add Listview.positionViewAtIndex(int) method. --- .../graphicsitems/qmlgraphicslistview.cpp | 41 +++++++++- .../graphicsitems/qmlgraphicslistview_p.h | 1 + .../tst_qmlgraphicslistview.cpp | 88 ++++++++++++++++++++++ 3 files changed, 128 insertions(+), 2 deletions(-) diff --git a/src/declarative/graphicsitems/qmlgraphicslistview.cpp b/src/declarative/graphicsitems/qmlgraphicslistview.cpp index e05ae66..0224465 100644 --- a/src/declarative/graphicsitems/qmlgraphicslistview.cpp +++ b/src/declarative/graphicsitems/qmlgraphicslistview.cpp @@ -1603,7 +1603,7 @@ qreal QmlGraphicsListView::maxYExtent() const if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) extent = -(d->positionAt(count()-1) - d->highlightRangeEnd); else - extent = -(d->endPosition() - height()); + extent = -(d->endPosition() - height() + 1); qreal minY = minYExtent(); if (extent > minY) extent = minY; @@ -1631,7 +1631,7 @@ qreal QmlGraphicsListView::maxXExtent() const if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) extent = -(d->positionAt(count()-1) - d->highlightRangeEnd); else - extent = -(d->endPosition() - width()); + extent = -(d->endPosition() - width() + 1); qreal minX = minXExtent(); if (extent > minX) extent = minX; @@ -1706,6 +1706,43 @@ void QmlGraphicsListView::decrementCurrentIndex() } } +/*! + \qmlmethod ListView::positionViewAtIndex(int index) + + Positions the view such that the \a index is at the top (or left for horizontal orientation) of the view. + If positioning the view at the index would cause empty space to be displayed at + the end of the view, the view will be positioned at the end. +*/ +void QmlGraphicsListView::positionViewAtIndex(int index) +{ + Q_D(QmlGraphicsListView); + if (index < 0 || index >= d->model->count()) + return; + + FxListItem *item = d->visibleItem(index); + if (item) { + // Already created - just move to top of view + int pos = item->position(); + if (item->position() > -maxYExtent()) + pos = -maxYExtent(); + d->setPosition(pos); + } else { + int pos = d->positionAt(index); + // save the currently visible items in case any of them end up visible again + QList oldVisible = d->visibleItems; + d->visibleItems.clear(); + d->visiblePos = pos; + d->visibleIndex = index; + d->setPosition(pos); + if (d->position() > -maxYExtent()) + d->setPosition(-maxYExtent()); + // now release the reference to all the old visible items. + for (int i = 0; i < oldVisible.count(); ++i) + d->releaseItem(oldVisible.at(i)); + } +} + + void QmlGraphicsListView::componentComplete() { Q_D(QmlGraphicsListView); diff --git a/src/declarative/graphicsitems/qmlgraphicslistview_p.h b/src/declarative/graphicsitems/qmlgraphicslistview_p.h index b8a6e1f..795c766 100644 --- a/src/declarative/graphicsitems/qmlgraphicslistview_p.h +++ b/src/declarative/graphicsitems/qmlgraphicslistview_p.h @@ -147,6 +147,7 @@ public: public Q_SLOTS: void incrementCurrentIndex(); void decrementCurrentIndex(); + void positionViewAtIndex(int index); Q_SIGNALS: void countChanged(); diff --git a/tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp b/tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp index 08043f3..0a86ecc 100644 --- a/tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp +++ b/tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp @@ -79,6 +79,7 @@ private slots: void spacing(); void sections(); void cacheBuffer(); + void positionViewAtIndex(); private: template void items(); @@ -1135,6 +1136,93 @@ void tst_QmlGraphicsListView::cacheBuffer() delete canvas; } +void tst_QmlGraphicsListView::positionViewAtIndex() +{ + QmlView *canvas = createView(SRCDIR "/data/listview.qml"); + + TestModel model; + for (int i = 0; i < 40; i++) + model.addItem("Item" + QString::number(i), ""); + + QmlContext *ctxt = canvas->rootContext(); + ctxt->setContextProperty("testModel", &model); + + TestObject *testObject = new TestObject; + ctxt->setContextProperty("testObject", testObject); + + canvas->execute(); + qApp->processEvents(); + + QmlGraphicsListView *listview = findItem(canvas->root(), "list"); + QVERIFY(listview != 0); + + QmlGraphicsItem *viewport = listview->viewport(); + QVERIFY(viewport != 0); + + // Confirm items positioned correctly + int itemCount = findItems(viewport, "wrapper").count(); + for (int i = 0; i < model.count() && i < itemCount; ++i) { + QmlGraphicsItem *item = findItem(viewport, "wrapper", i); + if (!item) qWarning() << "Item" << i << "not found"; + QVERIFY(item); + QCOMPARE(item->y(), i*20.); + } + + // Position on a currently visible item + listview->positionViewAtIndex(3); + QCOMPARE(listview->viewportY(), 60.); + + // Confirm items positioned correctly + itemCount = findItems(viewport, "wrapper").count(); + for (int i = 3; i < model.count() && i < itemCount-3-1; ++i) { + QmlGraphicsItem *item = findItem(viewport, "wrapper", i); + if (!item) qWarning() << "Item" << i << "not found"; + QVERIFY(item); + QCOMPARE(item->y(), i*20.); + } + + // Position on an item beyond the visible items + listview->positionViewAtIndex(22); + QCOMPARE(listview->viewportY(), 440.); + + // Confirm items positioned correctly + itemCount = findItems(viewport, "wrapper").count(); + for (int i = 22; i < model.count() && i < itemCount-22-1; ++i) { + QmlGraphicsItem *item = findItem(viewport, "wrapper", i); + if (!item) qWarning() << "Item" << i << "not found"; + QVERIFY(item); + QCOMPARE(item->y(), i*20.); + } + + // Position on an item that would leave empty space if positioned at the top + listview->positionViewAtIndex(28); + QCOMPARE(listview->viewportY(), 480.); + + // Confirm items positioned correctly + itemCount = findItems(viewport, "wrapper").count(); + for (int i = 24; i < model.count() && i < itemCount-24-1; ++i) { + QmlGraphicsItem *item = findItem(viewport, "wrapper", i); + if (!item) qWarning() << "Item" << i << "not found"; + QVERIFY(item); + QCOMPARE(item->y(), i*20.); + } + + // Position at the beginning again + listview->positionViewAtIndex(0); + QCOMPARE(listview->viewportY(), 0.); + + // Confirm items positioned correctly + itemCount = findItems(viewport, "wrapper").count(); + for (int i = 0; i < model.count() && i < itemCount-1; ++i) { + QmlGraphicsItem *item = findItem(viewport, "wrapper", i); + if (!item) qWarning() << "Item" << i << "not found"; + QVERIFY(item); + QCOMPARE(item->y(), i*20.); + } + + delete canvas; +} + void tst_QmlGraphicsListView::qListModelInterface_items() { items(); -- cgit v0.12