From e6fa91b169ad4cfbc07f5169765cc7cdf8130c54 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:40 +0100
Subject: animations/states example modifications

Modified the project to use centralized qmlapplicationviewer,
removed duplicate files and modified project files according to
the changes.

Merge-request: 2719
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
---
 examples/declarative/animation/states/main.cpp     |   2 +-
 .../declarative/animation/states/qml/qt-logo.png   | Bin 5149 -> 0 bytes
 .../declarative/animation/states/qml/states.qml    | 101 -----------
 .../animation/states/qml/states.qmlproject         |  16 --
 .../animation/states/qml/states/qt-logo.png        | Bin 0 -> 5149 bytes
 .../animation/states/qml/states/states.qml         | 101 +++++++++++
 .../animation/states/qml/states/transitions.qml    | 130 ++++++++++++++
 .../animation/states/qml/transitions.qml           | 130 --------------
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 examples/declarative/animation/states/states.pro   |   4 +-
 examples/declarative/animation/states/states.qml   | 101 -----------
 .../declarative/animation/states/states.qmlproject |  16 ++
 .../declarative/animation/states/transitions.qml   | 130 --------------
 15 files changed, 250 insertions(+), 911 deletions(-)
 delete mode 100644 examples/declarative/animation/states/qml/qt-logo.png
 delete mode 100644 examples/declarative/animation/states/qml/states.qml
 delete mode 100644 examples/declarative/animation/states/qml/states.qmlproject
 create mode 100644 examples/declarative/animation/states/qml/states/qt-logo.png
 create mode 100644 examples/declarative/animation/states/qml/states/states.qml
 create mode 100644 examples/declarative/animation/states/qml/states/transitions.qml
 delete mode 100644 examples/declarative/animation/states/qml/transitions.qml
 delete mode 100644 examples/declarative/animation/states/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/animation/states/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/animation/states/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/animation/states/states.qml
 create mode 100644 examples/declarative/animation/states/states.qmlproject
 delete mode 100644 examples/declarative/animation/states/transitions.qml

diff --git a/examples/declarative/animation/states/main.cpp b/examples/declarative/animation/states/main.cpp
index 0f4161f..511f00e 100644
--- a/examples/declarative/animation/states/main.cpp
+++ b/examples/declarative/animation/states/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/states.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/states/transitions.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/animation/states/qml/qt-logo.png b/examples/declarative/animation/states/qml/qt-logo.png
deleted file mode 100644
index 14ddf2a..0000000
Binary files a/examples/declarative/animation/states/qml/qt-logo.png and /dev/null differ
diff --git a/examples/declarative/animation/states/qml/states.qml b/examples/declarative/animation/states/qml/states.qml
deleted file mode 100644
index a9046eb..0000000
--- a/examples/declarative/animation/states/qml/states.qml
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-**   * Redistributions of source code must retain the above copyright
-**     notice, this list of conditions and the following disclaimer.
-**   * Redistributions in binary form must reproduce the above copyright
-**     notice, this list of conditions and the following disclaimer in
-**     the documentation and/or other materials provided with the
-**     distribution.
-**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-**     the names of its contributors may be used to endorse or promote
-**     products derived from this software without specific prior written
-**     permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Rectangle {
-    id: page
-    width: 640; height: 480
-    color: "#343434"
-
-    Image { 
-        id: userIcon
-        x: topLeftRect.x; y: topLeftRect.y
-        source: "qt-logo.png"
-    }
-
-    Rectangle {
-        id: topLeftRect
-
-        anchors { left: parent.left; top: parent.top; leftMargin: 10; topMargin: 20 }
-        width: 46; height: 54
-        color: "Transparent"; border.color: "Gray"; radius: 6
-
-        // Clicking in here sets the state to the default state, returning the image to
-        // its initial position
-        MouseArea { anchors.fill: parent; onClicked: page.state = '' }
-    }
-
-    Rectangle {
-        id: middleRightRect
-
-        anchors { right: parent.right; verticalCenter: parent.verticalCenter; rightMargin: 20 }
-        width: 46; height: 54
-        color: "Transparent"; border.color: "Gray"; radius: 6
-
-        // Clicking in here sets the state to 'middleRight'
-        MouseArea { anchors.fill: parent; onClicked: page.state = 'middleRight' }
-    }
-
-    Rectangle {
-        id: bottomLeftRect
-
-        anchors { left: parent.left; bottom: parent.bottom; leftMargin: 10; bottomMargin: 20 }
-        width: 46; height: 54
-        color: "Transparent"; border.color: "Gray"; radius: 6
-
-        // Clicking in here sets the state to 'bottomLeft'
-        MouseArea { anchors.fill: parent; onClicked: page.state = 'bottomLeft' }
-    }
-
-    states: [
-        // In state 'middleRight', move the image to middleRightRect
-        State {
-            name: "middleRight"
-            PropertyChanges { target: userIcon; x: middleRightRect.x; y: middleRightRect.y }
-        },
-
-        // In state 'bottomLeft', move the image to bottomLeftRect
-        State {
-            name: "bottomLeft"
-            PropertyChanges { target: userIcon; x: bottomLeftRect.x; y: bottomLeftRect.y  }
-        }
-    ]
-}
diff --git a/examples/declarative/animation/states/qml/states.qmlproject b/examples/declarative/animation/states/qml/states.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/animation/states/qml/states.qmlproject
+++ /dev/null
@@ -1,16 +0,0 @@
-import QmlProject 1.0
-
-Project {
-    /* Include .qml, .js, and image files from current directory and subdirectories */
-    QmlFiles {
-        directory: "."
-    }
-    JavaScriptFiles {
-        directory: "."
-    }
-    ImageFiles {
-        directory: "."
-    }
-    /* List of plugin directories passed to QML runtime */
-    // importPaths: [ " ../exampleplugin " ]
-}
diff --git a/examples/declarative/animation/states/qml/states/qt-logo.png b/examples/declarative/animation/states/qml/states/qt-logo.png
new file mode 100644
index 0000000..14ddf2a
Binary files /dev/null and b/examples/declarative/animation/states/qml/states/qt-logo.png differ
diff --git a/examples/declarative/animation/states/qml/states/states.qml b/examples/declarative/animation/states/qml/states/states.qml
new file mode 100644
index 0000000..a9046eb
--- /dev/null
+++ b/examples/declarative/animation/states/qml/states/states.qml
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Rectangle {
+    id: page
+    width: 640; height: 480
+    color: "#343434"
+
+    Image { 
+        id: userIcon
+        x: topLeftRect.x; y: topLeftRect.y
+        source: "qt-logo.png"
+    }
+
+    Rectangle {
+        id: topLeftRect
+
+        anchors { left: parent.left; top: parent.top; leftMargin: 10; topMargin: 20 }
+        width: 46; height: 54
+        color: "Transparent"; border.color: "Gray"; radius: 6
+
+        // Clicking in here sets the state to the default state, returning the image to
+        // its initial position
+        MouseArea { anchors.fill: parent; onClicked: page.state = '' }
+    }
+
+    Rectangle {
+        id: middleRightRect
+
+        anchors { right: parent.right; verticalCenter: parent.verticalCenter; rightMargin: 20 }
+        width: 46; height: 54
+        color: "Transparent"; border.color: "Gray"; radius: 6
+
+        // Clicking in here sets the state to 'middleRight'
+        MouseArea { anchors.fill: parent; onClicked: page.state = 'middleRight' }
+    }
+
+    Rectangle {
+        id: bottomLeftRect
+
+        anchors { left: parent.left; bottom: parent.bottom; leftMargin: 10; bottomMargin: 20 }
+        width: 46; height: 54
+        color: "Transparent"; border.color: "Gray"; radius: 6
+
+        // Clicking in here sets the state to 'bottomLeft'
+        MouseArea { anchors.fill: parent; onClicked: page.state = 'bottomLeft' }
+    }
+
+    states: [
+        // In state 'middleRight', move the image to middleRightRect
+        State {
+            name: "middleRight"
+            PropertyChanges { target: userIcon; x: middleRightRect.x; y: middleRightRect.y }
+        },
+
+        // In state 'bottomLeft', move the image to bottomLeftRect
+        State {
+            name: "bottomLeft"
+            PropertyChanges { target: userIcon; x: bottomLeftRect.x; y: bottomLeftRect.y  }
+        }
+    ]
+}
diff --git a/examples/declarative/animation/states/qml/states/transitions.qml b/examples/declarative/animation/states/qml/states/transitions.qml
new file mode 100644
index 0000000..ea73b82
--- /dev/null
+++ b/examples/declarative/animation/states/qml/states/transitions.qml
@@ -0,0 +1,130 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+**     the names of its contributors may be used to endorse or promote
+**     products derived from this software without specific prior written
+**     permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+/*
+    This is exactly the same as states.qml, except that we have appended
+    a set of transitions to apply animations when the item changes 
+    between each state.
+*/
+
+Rectangle {
+    id: page
+    width: 640; height: 480
+    color: "#343434"
+
+    Image { 
+        id: userIcon
+        x: topLeftRect.x; y: topLeftRect.y
+        source: "qt-logo.png"
+    }
+
+    Rectangle {
+        id: topLeftRect
+
+        anchors { left: parent.left; top: parent.top; leftMargin: 10; topMargin: 20 }
+        width: 46; height: 54
+        color: "Transparent"; border.color: "Gray"; radius: 6
+
+        // Clicking in here sets the state to the default state, returning the image to
+        // its initial position
+        MouseArea { anchors.fill: parent; onClicked: page.state = '' }
+    }
+
+    Rectangle {
+        id: middleRightRect
+
+        anchors { right: parent.right; verticalCenter: parent.verticalCenter; rightMargin: 20 }
+        width: 46; height: 54
+        color: "Transparent"; border.color: "Gray"; radius: 6
+
+        // Clicking in here sets the state to 'middleRight'
+        MouseArea { anchors.fill: parent; onClicked: page.state = 'middleRight' }
+    }
+
+    Rectangle {
+        id: bottomLeftRect
+
+        anchors { left: parent.left; bottom: parent.bottom; leftMargin: 10; bottomMargin: 20 }
+        width: 46; height: 54
+        color: "Transparent"; border.color: "Gray"; radius: 6
+
+        // Clicking in here sets the state to 'bottomLeft'
+        MouseArea { anchors.fill: parent; onClicked: page.state = 'bottomLeft' }
+    }
+
+    states: [
+        // In state 'middleRight', move the image to middleRightRect
+        State {
+            name: "middleRight"
+            PropertyChanges { target: userIcon; x: middleRightRect.x; y: middleRightRect.y }
+        },
+
+        // In state 'bottomLeft', move the image to bottomLeftRect
+        State {
+            name: "bottomLeft"
+            PropertyChanges { target: userIcon; x: bottomLeftRect.x; y: bottomLeftRect.y  }
+        }
+    ]
+
+    // Transitions define how the properties change when the item moves between each state
+    transitions: [
+
+        // When transitioning to 'middleRight' move x,y over a duration of 1 second,
+        // with OutBounce easing function.
+        Transition {
+            from: "*"; to: "middleRight"
+            NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce; duration: 1000 }
+        },
+
+        // When transitioning to 'bottomLeft' move x,y over a duration of 2 seconds,
+        // with InOutQuad easing function.
+        Transition {
+            from: "*"; to: "bottomLeft"
+            NumberAnimation { properties: "x,y"; easing.type: Easing.InOutQuad; duration: 2000 }
+        },
+
+        // For any other state changes move x,y linearly over duration of 200ms.
+        Transition {
+            NumberAnimation { properties: "x,y"; duration: 200 }
+        }
+    ]
+}
diff --git a/examples/declarative/animation/states/qml/transitions.qml b/examples/declarative/animation/states/qml/transitions.qml
deleted file mode 100644
index ea73b82..0000000
--- a/examples/declarative/animation/states/qml/transitions.qml
+++ /dev/null
@@ -1,130 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-**   * Redistributions of source code must retain the above copyright
-**     notice, this list of conditions and the following disclaimer.
-**   * Redistributions in binary form must reproduce the above copyright
-**     notice, this list of conditions and the following disclaimer in
-**     the documentation and/or other materials provided with the
-**     distribution.
-**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-**     the names of its contributors may be used to endorse or promote
-**     products derived from this software without specific prior written
-**     permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-/*
-    This is exactly the same as states.qml, except that we have appended
-    a set of transitions to apply animations when the item changes 
-    between each state.
-*/
-
-Rectangle {
-    id: page
-    width: 640; height: 480
-    color: "#343434"
-
-    Image { 
-        id: userIcon
-        x: topLeftRect.x; y: topLeftRect.y
-        source: "qt-logo.png"
-    }
-
-    Rectangle {
-        id: topLeftRect
-
-        anchors { left: parent.left; top: parent.top; leftMargin: 10; topMargin: 20 }
-        width: 46; height: 54
-        color: "Transparent"; border.color: "Gray"; radius: 6
-
-        // Clicking in here sets the state to the default state, returning the image to
-        // its initial position
-        MouseArea { anchors.fill: parent; onClicked: page.state = '' }
-    }
-
-    Rectangle {
-        id: middleRightRect
-
-        anchors { right: parent.right; verticalCenter: parent.verticalCenter; rightMargin: 20 }
-        width: 46; height: 54
-        color: "Transparent"; border.color: "Gray"; radius: 6
-
-        // Clicking in here sets the state to 'middleRight'
-        MouseArea { anchors.fill: parent; onClicked: page.state = 'middleRight' }
-    }
-
-    Rectangle {
-        id: bottomLeftRect
-
-        anchors { left: parent.left; bottom: parent.bottom; leftMargin: 10; bottomMargin: 20 }
-        width: 46; height: 54
-        color: "Transparent"; border.color: "Gray"; radius: 6
-
-        // Clicking in here sets the state to 'bottomLeft'
-        MouseArea { anchors.fill: parent; onClicked: page.state = 'bottomLeft' }
-    }
-
-    states: [
-        // In state 'middleRight', move the image to middleRightRect
-        State {
-            name: "middleRight"
-            PropertyChanges { target: userIcon; x: middleRightRect.x; y: middleRightRect.y }
-        },
-
-        // In state 'bottomLeft', move the image to bottomLeftRect
-        State {
-            name: "bottomLeft"
-            PropertyChanges { target: userIcon; x: bottomLeftRect.x; y: bottomLeftRect.y  }
-        }
-    ]
-
-    // Transitions define how the properties change when the item moves between each state
-    transitions: [
-
-        // When transitioning to 'middleRight' move x,y over a duration of 1 second,
-        // with OutBounce easing function.
-        Transition {
-            from: "*"; to: "middleRight"
-            NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce; duration: 1000 }
-        },
-
-        // When transitioning to 'bottomLeft' move x,y over a duration of 2 seconds,
-        // with InOutQuad easing function.
-        Transition {
-            from: "*"; to: "bottomLeft"
-            NumberAnimation { properties: "x,y"; easing.type: Easing.InOutQuad; duration: 2000 }
-        },
-
-        // For any other state changes move x,y linearly over duration of 200ms.
-        Transition {
-            NumberAnimation { properties: "x,y"; duration: 200 }
-        }
-    ]
-}
diff --git a/examples/declarative/animation/states/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/animation/states/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/animation/states/qmlapplicationviewer/qmlapplicationviewer.cpp
+++ /dev/null
@@ -1,197 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-**   * Redistributions of source code must retain the above copyright
-**     notice, this list of conditions and the following disclaimer.
-**   * Redistributions in binary form must reproduce the above copyright
-**     notice, this list of conditions and the following disclaimer in
-**     the documentation and/or other materials provided with the
-**     distribution.
-**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-**     the names of its contributors may be used to endorse or promote
-**     products derived from this software without specific prior written
-**     permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-// checksum 0x28c7 version 0x2000a
-/*
-  This file was generated by the Qt Quick Application wizard of Qt Creator.
-  QmlApplicationViewer is a convenience class containing mobile device specific
-  code such as screen orientation handling. Also QML paths and debugging are
-  handled here.
-  It is recommended not to modify this file, since newer versions of Qt Creator
-  may offer an updated version of it.
-*/
-
-#include "qmlapplicationviewer.h"
-
-#include <QtCore/QCoreApplication>
-#include <QtCore/QDir>
-#include <QtCore/QFileInfo>
-#include <QtDeclarative/QDeclarativeComponent>
-#include <QtDeclarative/QDeclarativeEngine>
-#include <QtDeclarative/QDeclarativeContext>
-
-#if defined(QMLJSDEBUGGER)
-#include <qt_private/qdeclarativedebughelper_p.h>
-#endif
-
-#if defined(QMLJSDEBUGGER) && !defined(NO_JSDEBUGGER)
-#include <jsdebuggeragent.h>
-#endif
-#if defined(QMLJSDEBUGGER) && !defined(NO_QMLOBSERVER)
-#include <qdeclarativeviewobserver.h>
-#endif
-
-#if defined(Q_OS_SYMBIAN) && defined(ORIENTATIONLOCK)
-#include <eikenv.h>
-#include <eikappui.h>
-#include <aknenv.h>
-#include <aknappui.h>
-#endif // Q_OS_SYMBIAN && ORIENTATIONLOCK
-
-#if defined(QMLJSDEBUGGER)
-
-// Enable debugging before any QDeclarativeEngine is created
-struct QmlJsDebuggingEnabler
-{
-    QmlJsDebuggingEnabler()
-    {
-        QDeclarativeDebugHelper::enableDebugging();
-    }
-};
-
-// Execute code in constructor before first QDeclarativeEngine is instantiated
-static QmlJsDebuggingEnabler enableDebuggingHelper;
-
-#endif // QMLJSDEBUGGER
-
-class QmlApplicationViewerPrivate
-{
-    QString mainQmlFile;
-    friend class QmlApplicationViewer;
-    static QString adjustPath(const QString &path);
-};
-
-QString QmlApplicationViewerPrivate::adjustPath(const QString &path)
-{
-#ifdef Q_OS_UNIX
-#ifdef Q_OS_MAC
-    if (!QDir::isAbsolutePath(path))
-        return QCoreApplication::applicationDirPath()
-                + QLatin1String("/../Resources/") + path;
-#else
-    const QString pathInShareDir = QCoreApplication::applicationDirPath()
-        + QLatin1String("/../share/")
-        + QFileInfo(QCoreApplication::applicationFilePath()).fileName()
-        + QLatin1Char('/') + path;
-    if (QFileInfo(pathInShareDir).exists())
-        return pathInShareDir;
-#endif
-#endif
-    return path;
-}
-
-QmlApplicationViewer::QmlApplicationViewer(QWidget *parent) :
-    QDeclarativeView(parent),
-    m_d(new QmlApplicationViewerPrivate)
-{
-    connect(engine(), SIGNAL(quit()), SLOT(close()));
-    setResizeMode(QDeclarativeView::SizeRootObjectToView);
-#if defined(QMLJSDEBUGGER) && !defined(NO_JSDEBUGGER)
-    new QmlJSDebugger::JSDebuggerAgent(engine());
-#endif
-#if defined(QMLJSDEBUGGER) && !defined(NO_QMLOBSERVER)
-    new QmlJSDebugger::QDeclarativeViewObserver(this, parent);
-#endif
-}
-
-QmlApplicationViewer::~QmlApplicationViewer()
-{
-    delete m_d;
-}
-
-void QmlApplicationViewer::setMainQmlFile(const QString &file)
-{
-    m_d->mainQmlFile = QmlApplicationViewerPrivate::adjustPath(file);
-    setSource(QUrl::fromLocalFile(m_d->mainQmlFile));
-}
-
-void QmlApplicationViewer::addImportPath(const QString &path)
-{
-    engine()->addImportPath(QmlApplicationViewerPrivate::adjustPath(path));
-}
-
-void QmlApplicationViewer::setOrientation(ScreenOrientation orientation)
-{
-#ifdef Q_OS_SYMBIAN
-    if (orientation != ScreenOrientationAuto) {
-#if defined(ORIENTATIONLOCK)
-        const CAknAppUiBase::TAppUiOrientation uiOrientation =
-                (orientation == ScreenOrientationLockPortrait) ? CAknAppUi::EAppUiOrientationPortrait
-                    : CAknAppUi::EAppUiOrientationLandscape;
-        CAknAppUi* appUi = dynamic_cast<CAknAppUi*> (CEikonEnv::Static()->AppUi());
-        TRAPD(error,
-            if (appUi)
-                appUi->SetOrientationL(uiOrientation);
-        );
-        Q_UNUSED(error)
-#else // ORIENTATIONLOCK
-        qWarning("'ORIENTATIONLOCK' needs to be defined on Symbian when locking the orientation.");
-#endif // ORIENTATIONLOCK
-    }
-#elif defined(Q_WS_MAEMO_5)
-    Qt::WidgetAttribute attribute;
-    switch (orientation) {
-    case ScreenOrientationLockPortrait:
-        attribute = Qt::WA_Maemo5PortraitOrientation;
-        break;
-    case ScreenOrientationLockLandscape:
-        attribute = Qt::WA_Maemo5LandscapeOrientation;
-        break;
-    case ScreenOrientationAuto:
-    default:
-        attribute = Qt::WA_Maemo5AutoOrientation;
-        break;
-    }
-    setAttribute(attribute, true);
-#else // Q_OS_SYMBIAN
-    Q_UNUSED(orientation);
-#endif // Q_OS_SYMBIAN
-}
-
-void QmlApplicationViewer::showExpanded()
-{
-#ifdef Q_OS_SYMBIAN
-    showFullScreen();
-#elif defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6)
-    showMaximized();
-#else
-    show();
-#endif
-}
diff --git a/examples/declarative/animation/states/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/animation/states/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/animation/states/qmlapplicationviewer/qmlapplicationviewer.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-**   * Redistributions of source code must retain the above copyright
-**     notice, this list of conditions and the following disclaimer.
-**   * Redistributions in binary form must reproduce the above copyright
-**     notice, this list of conditions and the following disclaimer in
-**     the documentation and/or other materials provided with the
-**     distribution.
-**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-**     the names of its contributors may be used to endorse or promote
-**     products derived from this software without specific prior written
-**     permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-// checksum 0x5a59 version 0x2000a
-/*
-  This file was generated by the Qt Quick Application wizard of Qt Creator.
-  QmlApplicationViewer is a convenience class containing mobile device specific
-  code such as screen orientation handling. Also QML paths and debugging are
-  handled here.
-  It is recommended not to modify this file, since newer versions of Qt Creator
-  may offer an updated version of it.
-*/
-
-#ifndef QMLAPPLICATIONVIEWER_H
-#define QMLAPPLICATIONVIEWER_H
-
-#include <QtDeclarative/QDeclarativeView>
-
-class QmlApplicationViewer : public QDeclarativeView
-{
-    Q_OBJECT
-
-public:
-    enum ScreenOrientation {
-        ScreenOrientationLockPortrait,
-        ScreenOrientationLockLandscape,
-        ScreenOrientationAuto
-    };
-
-    explicit QmlApplicationViewer(QWidget *parent = 0);
-    virtual ~QmlApplicationViewer();
-
-    void setMainQmlFile(const QString &file);
-    void addImportPath(const QString &path);
-    void setOrientation(ScreenOrientation orientation);
-    void showExpanded();
-
-private:
-    class QmlApplicationViewerPrivate *m_d;
-};
-
-#endif // QMLAPPLICATIONVIEWER_H
diff --git a/examples/declarative/animation/states/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/animation/states/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/animation/states/qmlapplicationviewer/qmlapplicationviewer.pri
+++ /dev/null
@@ -1,154 +0,0 @@
-# checksum 0x3dc8 version 0x2000a
-# This file was generated by the Qt Quick Application wizard of Qt Creator.
-# The code below adds the QmlApplicationViewer to the project and handles the
-# activation of QML debugging.
-# It is recommended not to modify this file, since newer versions of Qt Creator
-# may offer an updated version of it.
-
-QT += declarative
-
-SOURCES += $$PWD/qmlapplicationviewer.cpp
-HEADERS += $$PWD/qmlapplicationviewer.h
-INCLUDEPATH += $$PWD
-
-defineTest(minQtVersion) {
-    maj = $$1
-    min = $$2
-    patch = $$3
-    isEqual(QT_MAJOR_VERSION, $$maj) {
-        isEqual(QT_MINOR_VERSION, $$min) {
-            isEqual(QT_PATCH_VERSION, $$patch) {
-                return(true)
-            }
-            greaterThan(QT_PATCH_VERSION, $$patch) {
-                return(true)
-            }
-        }
-        greaterThan(QT_MINOR_VERSION, $$min) {
-            return(true)
-        }
-    }
-    return(false)
-}
-
-contains(DEFINES, QMLJSDEBUGGER) {
-    CONFIG(debug, debug|release) {
-        !minQtVersion(4, 7, 1) {
-            warning()
-            warning("Disabling QML debugging:")
-            warning()
-            warning("Debugging QML requires the qmljsdebugger library that ships with Qt Creator.")
-            warning("This library requires Qt 4.7.1 or newer.")
-            warning()
-            DEFINES -= QMLJSDEBUGGER
-        } else:isEmpty(QMLJSDEBUGGER_PATH) {
-            warning()
-            warning("Disabling QML debugging:")
-            warning()
-            warning("Debugging QML requires the qmljsdebugger library that ships with Qt Creator.")
-            warning("Please specify its location on the qmake command line, eg")
-            warning("  qmake -r QMLJSDEBUGGER_PATH=$CREATORDIR/share/qtcreator/qmljsdebugger")
-            warning()
-            DEFINES -= QMLJSDEBUGGER
-        } else {
-            include($$QMLJSDEBUGGER_PATH/qmljsdebugger-lib.pri)
-        }
-    } else {
-        DEFINES -= QMLJSDEBUGGER
-    }
-}
-# This file was generated by an application wizard of Qt Creator.
-# The code below handles deployment to Symbian and Maemo, aswell as copying
-# of the application data to shadow build directories on desktop.
-# It is recommended not to modify this file, since newer versions of Qt Creator
-# may offer an updated version of it.
-
-defineTest(qtcAddDeployment) {
-for(deploymentfolder, DEPLOYMENTFOLDERS) {
-    item = item$${deploymentfolder}
-    itemsources = $${item}.sources
-    $$itemsources = $$eval($${deploymentfolder}.source)
-    itempath = $${item}.path
-    $$itempath= $$eval($${deploymentfolder}.target)
-    export($$itemsources)
-    export($$itempath)
-    DEPLOYMENT += $$item
-}
-
-MAINPROFILEPWD = $$PWD
-
-symbian {
-    ICON = $${TARGET}.svg
-    TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
-    contains(DEFINES, ORIENTATIONLOCK):LIBS += -lavkon -leikcore -lcone
-    contains(DEFINES, NETWORKACCESS):TARGET.CAPABILITY += NetworkServices
-} else:win32 {
-    !isEqual(PWD,$$OUT_PWD) {
-        copyCommand = @echo Copying application data...
-        for(deploymentfolder, DEPLOYMENTFOLDERS) {
-            source = $$eval($${deploymentfolder}.source)
-            pathSegments = $$split(source, /)
-            sourceAndTarget = $$MAINPROFILEPWD/$$source $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(pathSegments)
-            copyCommand += && $(COPY_DIR) $$replace(sourceAndTarget, /, \\)
-        }
-        copydeploymentfolders.commands = $$copyCommand
-        first.depends = $(first) copydeploymentfolders
-        export(first.depends)
-        export(copydeploymentfolders.commands)
-        QMAKE_EXTRA_TARGETS += first copydeploymentfolders
-    }
-} else:unix {
-    maemo5 {
-        installPrefix = /opt/usr
-        desktopfile.path = /usr/share/applications/hildon       
-    } else {
-        installPrefix = /usr/local
-        desktopfile.path = /usr/share/applications
-        !isEqual(PWD,$$OUT_PWD) {
-            copyCommand = @echo Copying application data...
-            for(deploymentfolder, DEPLOYMENTFOLDERS) {
-                macx {
-                    target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target)
-                } else {
-                    target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
-                }
-                copyCommand += && $(MKDIR) $$target
-                copyCommand += && $(COPY_DIR) $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source) $$target
-            }
-            copydeploymentfolders.commands = $$copyCommand
-            first.depends = $(first) copydeploymentfolders
-            export(first.depends)
-            export(copydeploymentfolders.commands)
-            QMAKE_EXTRA_TARGETS += first copydeploymentfolders
-        }
-    }
-    for(deploymentfolder, DEPLOYMENTFOLDERS) {
-        item = item$${deploymentfolder}
-        itemfiles = $${item}.files
-        $$itemfiles = $$eval($${deploymentfolder}.source)
-        itempath = $${item}.path
-        $$itempath = $${installPrefix}/share/$${TARGET}/$$eval($${deploymentfolder}.target)
-        export($$itemfiles)
-        export($$itempath)
-        INSTALLS += $$item
-    }
-    icon.files = $${TARGET}.png
-    icon.path = /usr/share/icons/hicolor/64x64/apps
-    desktopfile.files = $${TARGET}.desktop
-    target.path = $${installPrefix}/bin
-    export(icon.files)
-    export(icon.path)
-    export(desktopfile.files)
-    export(desktopfile.path)
-    export(target.path)
-    INSTALLS += desktopfile icon target
-}
-
-export (ICON)
-export (INSTALLS)
-export (DEPLOYMENT)
-export (TARGET.EPOCHEAPSIZE)
-export (TARGET.CAPABILITY)
-export (LIBS)
-export (QMAKE_EXTRA_TARGETS)
-}
diff --git a/examples/declarative/animation/states/states.pro b/examples/declarative/animation/states/states.pro
index d25e7e4..8239977 100644
--- a/examples/declarative/animation/states/states.pro
+++ b/examples/declarative/animation/states/states.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/states
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE9200E0A
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(qmlapplicationviewer/qmlapplicationviewer.pri)
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/animation/states/states.qml b/examples/declarative/animation/states/states.qml
deleted file mode 100644
index 76aa93f..0000000
--- a/examples/declarative/animation/states/states.qml
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-**   * Redistributions of source code must retain the above copyright
-**     notice, this list of conditions and the following disclaimer.
-**   * Redistributions in binary form must reproduce the above copyright
-**     notice, this list of conditions and the following disclaimer in
-**     the documentation and/or other materials provided with the
-**     distribution.
-**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-**     the names of its contributors may be used to endorse or promote
-**     products derived from this software without specific prior written
-**     permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Rectangle {
-    id: page
-    width: 640; height: 480
-    color: "#343434"
-
-    Image { 
-        id: userIcon
-        x: topLeftRect.x; y: topLeftRect.y
-        source: "qt-logo.png"
-    }
-
-    Rectangle {
-        id: topLeftRect
-
-        anchors { left: parent.left; top: parent.top; leftMargin: 10; topMargin: 20 }
-        width: 46; height: 54
-        color: "Transparent"; border.color: "Gray"; radius: 6
-
-        // Clicking in here sets the state to the default state, returning the image to
-        // its initial position
-        MouseArea { anchors.fill: parent; onClicked: page.state = '' }
-    }
-
-    Rectangle {
-        id: middleRightRect
-
-        anchors { right: parent.right; verticalCenter: parent.verticalCenter; rightMargin: 20 }
-        width: 46; height: 54
-        color: "Transparent"; border.color: "Gray"; radius: 6
-
-        // Clicking in here sets the state to 'middleRight'
-        MouseArea { anchors.fill: parent; onClicked: page.state = 'middleRight' }
-    }
-
-    Rectangle {
-        id: bottomLeftRect
-
-        anchors { left: parent.left; bottom: parent.bottom; leftMargin: 10; bottomMargin: 20 }
-        width: 46; height: 54
-        color: "Transparent"; border.color: "Gray"; radius: 6
-
-        // Clicking in here sets the state to 'bottomLeft'
-        MouseArea { anchors.fill: parent; onClicked: page.state = 'bottomLeft' }
-    }
-
-    states: [
-        // In state 'middleRight', move the image to middleRightRect
-        State {
-            name: "middleRight"
-            PropertyChanges { target: userIcon; x: middleRightRect.x; y: middleRightRect.y }
-        },
-
-        // In state 'bottomLeft', move the image to bottomLeftRect
-        State {
-            name: "bottomLeft"
-            PropertyChanges { target: userIcon; x: bottomLeftRect.x; y: bottomLeftRect.y  }
-        }
-    ]
-}
diff --git a/examples/declarative/animation/states/states.qmlproject b/examples/declarative/animation/states/states.qmlproject
new file mode 100644
index 0000000..472e280
--- /dev/null
+++ b/examples/declarative/animation/states/states.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/states"
+    }
+    JavaScriptFiles {
+        directory: "qml/states"
+    }
+    ImageFiles {
+        directory: "qml/states"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/animation/states/transitions.qml b/examples/declarative/animation/states/transitions.qml
deleted file mode 100644
index 531f309..0000000
--- a/examples/declarative/animation/states/transitions.qml
+++ /dev/null
@@ -1,130 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-**   * Redistributions of source code must retain the above copyright
-**     notice, this list of conditions and the following disclaimer.
-**   * Redistributions in binary form must reproduce the above copyright
-**     notice, this list of conditions and the following disclaimer in
-**     the documentation and/or other materials provided with the
-**     distribution.
-**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-**     the names of its contributors may be used to endorse or promote
-**     products derived from this software without specific prior written
-**     permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-/*
-    This is exactly the same as states.qml, except that we have appended
-    a set of transitions to apply animations when the item changes 
-    between each state.
-*/
-
-Rectangle {
-    id: page
-    width: 640; height: 480
-    color: "#343434"
-
-    Image { 
-        id: userIcon
-        x: topLeftRect.x; y: topLeftRect.y
-        source: "qt-logo.png"
-    }
-
-    Rectangle {
-        id: topLeftRect
-
-        anchors { left: parent.left; top: parent.top; leftMargin: 10; topMargin: 20 }
-        width: 46; height: 54
-        color: "Transparent"; border.color: "Gray"; radius: 6
-
-        // Clicking in here sets the state to the default state, returning the image to
-        // its initial position
-        MouseArea { anchors.fill: parent; onClicked: page.state = '' }
-    }
-
-    Rectangle {
-        id: middleRightRect
-
-        anchors { right: parent.right; verticalCenter: parent.verticalCenter; rightMargin: 20 }
-        width: 46; height: 54
-        color: "Transparent"; border.color: "Gray"; radius: 6
-
-        // Clicking in here sets the state to 'middleRight'
-        MouseArea { anchors.fill: parent; onClicked: page.state = 'middleRight' }
-    }
-
-    Rectangle {
-        id: bottomLeftRect
-
-        anchors { left: parent.left; bottom: parent.bottom; leftMargin: 10; bottomMargin: 20 }
-        width: 46; height: 54
-        color: "Transparent"; border.color: "Gray"; radius: 6
-
-        // Clicking in here sets the state to 'bottomLeft'
-        MouseArea { anchors.fill: parent; onClicked: page.state = 'bottomLeft' }
-    }
-
-    states: [
-        // In state 'middleRight', move the image to middleRightRect
-        State {
-            name: "middleRight"
-            PropertyChanges { target: userIcon; x: middleRightRect.x; y: middleRightRect.y }
-        },
-
-        // In state 'bottomLeft', move the image to bottomLeftRect
-        State {
-            name: "bottomLeft"
-            PropertyChanges { target: userIcon; x: bottomLeftRect.x; y: bottomLeftRect.y  }
-        }
-    ]
-
-    // Transitions define how the properties change when the item moves between each state
-    transitions: [
-
-        // When transitioning to 'middleRight' move x,y over a duration of 1 second,
-        // with OutBounce easing function.
-        Transition {
-            from: "*"; to: "middleRight"
-            NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce; duration: 1000 }
-        },
-
-        // When transitioning to 'bottomLeft' move x,y over a duration of 2 seconds,
-        // with InOutQuad easing function.
-        Transition {
-            from: "*"; to: "bottomLeft"
-            NumberAnimation { properties: "x,y"; easing.type: Easing.InOutQuad; duration: 2000 }
-        },
-
-        // For any other state changes move x,y linearly over duration of 200ms.
-        Transition {
-            NumberAnimation { properties: "x,y"; duration: 200 }
-        }
-    ]
-}
-- 
cgit v0.12