From 7861a1cfee630b39fede229a12cca2cb5788f00b Mon Sep 17 00:00:00 2001
From: Casper van Donderen <casper.vandonderen@nokia.com>
Date: Thu, 17 Nov 2011 12:44:43 +0100
Subject: Update Supported Platforms Documentation.

WinXP MinGW, Win7 64-bit MSVC and Ubuntu 64-bit were added to the
documentation.

Reviewed-By: Antti Rajaniemi
---
 doc/src/platforms/supported-platforms.qdoc | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/doc/src/platforms/supported-platforms.qdoc b/doc/src/platforms/supported-platforms.qdoc
index 55ba94b..38d4f16 100644
--- a/doc/src/platforms/supported-platforms.qdoc
+++ b/doc/src/platforms/supported-platforms.qdoc
@@ -442,6 +442,12 @@
                                      \o As provided by Ubuntu
     \row    \o Ubuntu Linux 10.04 (32-bit)
                                      \o Intel Compiler [version 12]
+    \row    \o Ubuntu Linux 10.04 (64-bit)
+                                     \o As provided by Ubuntu
+    \row    \o Microsoft Windows XP SP3 (32-bit)
+                                     \o GCC 4.4 (MinGW)
+    \row    \o Microsoft Windows 7 (64-bit)
+                                     \o MSVC 2010 SP1
     \row    \o Apple Mac OS X 10.6 "Snow Leopard" Cocoa (32-bit)
                                      \o As provided by Apple
     \endtable
-- 
cgit v0.12


From d193aca63b0f4e26e3f226d0662c2b6ed0c65081 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:35 +0100
Subject: Centralized qmlapplicationviewer for declarative examples and demos

These centralized qmlapplicationviewer files are used from declarative
examples and demos. Centralization decreases duplicate files and
eases maintaining.

Merge-request: 2719
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
---
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 196 +++++++++++++++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  78 ++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 147 ++++++++++++++++
 3 files changed, 421 insertions(+)
 create mode 100644 examples/tools/qmlapplicationviewer/qmlapplicationviewer.cpp
 create mode 100644 examples/tools/qmlapplicationviewer/qmlapplicationviewer.h
 create mode 100644 examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri

diff --git a/examples/tools/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/tools/qmlapplicationviewer/qmlapplicationviewer.cpp
new file mode 100644
index 0000000..c9a16b0
--- /dev/null
+++ b/examples/tools/qmlapplicationviewer/qmlapplicationviewer.cpp
@@ -0,0 +1,196 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+/*
+  This file was created 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/tools/qmlapplicationviewer/qmlapplicationviewer.h b/examples/tools/qmlapplicationviewer/qmlapplicationviewer.h
new file mode 100644
index 0000000..1ded600
--- /dev/null
+++ b/examples/tools/qmlapplicationviewer/qmlapplicationviewer.h
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+/*
+  This file was created 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/tools/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri
new file mode 100644
index 0000000..1dda255
--- /dev/null
+++ b/examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri
@@ -0,0 +1,147 @@
+# This file was created 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
+
+# Include JS debugger library if QMLJSDEBUGGER_PATH is set
+!isEmpty(QMLJSDEBUGGER_PATH) {
+    include($$QMLJSDEBUGGER_PATH/qmljsdebugger-lib.pri)
+} else {
+    DEFINES -= QMLJSDEBUGGER
+}
+
+contains(CONFIG,qdeclarative-boostable):contains(MEEGO_EDITION,harmattan) {
+    DEFINES += HARMATTAN_BOOSTER
+}
+# This file was created 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 = $$_PRO_FILE_PWD_
+
+symbian {
+    isEmpty(ICON):exists($${TARGET}.svg):ICON = $${TARGET}.svg
+    isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+} else:win32 {
+    copyCommand =
+    for(deploymentfolder, DEPLOYMENTFOLDERS) {
+        source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+        source = $$replace(source, /, \\)
+        sourcePathSegments = $$split(source, \\)
+        target = $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(sourcePathSegments)
+        target = $$replace(target, /, \\)
+        target ~= s,\\\\\\.?\\\\,\\,
+        !isEqual(source,$$target) {
+            !isEmpty(copyCommand):copyCommand += &&
+            isEqual(QMAKE_DIR_SEP, \\) {
+                copyCommand += $(COPY_DIR) \"$$source\" \"$$target\"
+            } else {
+                source = $$replace(source, \\\\, /)
+                target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
+                target = $$replace(target, \\\\, /)
+                copyCommand += test -d \"$$target\" || mkdir -p \"$$target\" && cp -r \"$$source\" \"$$target\"
+            }
+        }
+    }
+    !isEmpty(copyCommand) {
+        copyCommand = @echo Copying application data... && $$copyCommand
+        copydeploymentfolders.commands = $$copyCommand
+        first.depends = $(first) copydeploymentfolders
+        export(first.depends)
+        export(copydeploymentfolders.commands)
+        QMAKE_EXTRA_TARGETS += first copydeploymentfolders
+    }
+} else:unix {
+    maemo5 {
+        desktopfile.files = $${TARGET}.desktop
+        desktopfile.path = /usr/share/applications/hildon
+        icon.files = $${TARGET}64.png
+        icon.path = /usr/share/icons/hicolor/64x64/apps
+    } else:!isEmpty(MEEGO_VERSION_MAJOR) {
+        desktopfile.files = $${TARGET}_harmattan.desktop
+        desktopfile.path = /usr/share/applications
+        icon.files = $${TARGET}80.png
+        icon.path = /usr/share/icons/hicolor/80x80/apps
+    } else { # Assumed to be a Desktop Unix
+        copyCommand =
+        for(deploymentfolder, DEPLOYMENTFOLDERS) {
+            source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+            source = $$replace(source, \\\\, /)
+            macx {
+                target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target)
+            } else {
+                target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
+            }
+            target = $$replace(target, \\\\, /)
+            sourcePathSegments = $$split(source, /)
+            targetFullPath = $$target/$$last(sourcePathSegments)
+            targetFullPath ~= s,/\\.?/,/,
+            !isEqual(source,$$targetFullPath) {
+                !isEmpty(copyCommand):copyCommand += &&
+                copyCommand += $(MKDIR) \"$$target\"
+                copyCommand += && $(COPY_DIR) \"$$source\" \"$$target\"
+            }
+        }
+        !isEmpty(copyCommand) {
+            copyCommand = @echo Copying application data... && $$copyCommand
+            copydeploymentfolders.commands = $$copyCommand
+            first.depends = $(first) copydeploymentfolders
+            export(first.depends)
+            export(copydeploymentfolders.commands)
+            QMAKE_EXTRA_TARGETS += first copydeploymentfolders
+        }
+    }
+    installPrefix = /opt/$${TARGET}
+    for(deploymentfolder, DEPLOYMENTFOLDERS) {
+        item = item$${deploymentfolder}
+        itemfiles = $${item}.files
+        $$itemfiles = $$eval($${deploymentfolder}.source)
+        itempath = $${item}.path
+        $$itempath = $${installPrefix}/$$eval($${deploymentfolder}.target)
+        export($$itemfiles)
+        export($$itempath)
+        INSTALLS += $$item
+    }
+
+    !isEmpty(desktopfile.path) {
+        export(icon.files)
+        export(icon.path)
+        export(desktopfile.files)
+        export(desktopfile.path)
+        INSTALLS += icon desktopfile
+    }
+
+    target.path = $${installPrefix}/bin
+    export(target.path)
+    INSTALLS += target
+}
+
+export (ICON)
+export (INSTALLS)
+export (DEPLOYMENT)
+export (TARGET.EPOCHEAPSIZE)
+export (TARGET.CAPABILITY)
+export (LIBS)
+export (QMAKE_EXTRA_TARGETS)
+}
-- 
cgit v0.12


From fd7e07ecf9f7f0d7617674b07432a937b79ff5d6 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:36 +0100
Subject: Basics/color-animation modifications

Example was modified to use centralized qmlapplicationviewer,
duplicate files were removed, and project files updated.

Merge-request: 2719
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
---
 .../basics/color-animation/basics.qmlproject       |  16 ++
 .../basics/color-animation/coloranimation.pro      |   4 +-
 .../animation/basics/color-animation/main.cpp      |   2 +-
 .../basics/color-animation/qml/basics.qmlproject   |  16 --
 .../basics/color-animation/qml/color-animation.qml | 110 ------------
 .../qml/color-animation/color-animation.qml        | 112 ++++++++++++
 .../qml/color-animation/images/face-smile.png      | Bin 0 -> 15408 bytes
 .../qml/color-animation/images/moon.png            | Bin 0 -> 2433 bytes
 .../qml/color-animation/images/shadow.png          | Bin 0 -> 425 bytes
 .../qml/color-animation/images/star.png            | Bin 0 -> 349 bytes
 .../qml/color-animation/images/sun.png             | Bin 0 -> 8153 bytes
 .../color-animation/qml/images/face-smile.png      | Bin 15408 -> 0 bytes
 .../basics/color-animation/qml/images/moon.png     | Bin 2433 -> 0 bytes
 .../basics/color-animation/qml/images/shadow.png   | Bin 425 -> 0 bytes
 .../basics/color-animation/qml/images/star.png     | Bin 349 -> 0 bytes
 .../basics/color-animation/qml/images/sun.png      | Bin 8153 -> 0 bytes
 .../color-animation/qml/property-animation.qml     | 105 -----------
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 20 files changed, 131 insertions(+), 664 deletions(-)
 create mode 100644 examples/declarative/animation/basics/color-animation/basics.qmlproject
 delete mode 100644 examples/declarative/animation/basics/color-animation/qml/basics.qmlproject
 delete mode 100644 examples/declarative/animation/basics/color-animation/qml/color-animation.qml
 create mode 100644 examples/declarative/animation/basics/color-animation/qml/color-animation/color-animation.qml
 create mode 100644 examples/declarative/animation/basics/color-animation/qml/color-animation/images/face-smile.png
 create mode 100644 examples/declarative/animation/basics/color-animation/qml/color-animation/images/moon.png
 create mode 100644 examples/declarative/animation/basics/color-animation/qml/color-animation/images/shadow.png
 create mode 100644 examples/declarative/animation/basics/color-animation/qml/color-animation/images/star.png
 create mode 100644 examples/declarative/animation/basics/color-animation/qml/color-animation/images/sun.png
 delete mode 100644 examples/declarative/animation/basics/color-animation/qml/images/face-smile.png
 delete mode 100644 examples/declarative/animation/basics/color-animation/qml/images/moon.png
 delete mode 100644 examples/declarative/animation/basics/color-animation/qml/images/shadow.png
 delete mode 100644 examples/declarative/animation/basics/color-animation/qml/images/star.png
 delete mode 100644 examples/declarative/animation/basics/color-animation/qml/images/sun.png
 delete mode 100644 examples/declarative/animation/basics/color-animation/qml/property-animation.qml
 delete mode 100644 examples/declarative/animation/basics/color-animation/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/animation/basics/color-animation/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/animation/basics/color-animation/qmlapplicationviewer/qmlapplicationviewer.pri

diff --git a/examples/declarative/animation/basics/color-animation/basics.qmlproject b/examples/declarative/animation/basics/color-animation/basics.qmlproject
new file mode 100644
index 0000000..3c80d74
--- /dev/null
+++ b/examples/declarative/animation/basics/color-animation/basics.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/color-animation"
+    }
+    JavaScriptFiles {
+        directory: "qml/color-animation"
+    }
+    ImageFiles {
+        directory: "qml/color-animation/images"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/animation/basics/color-animation/coloranimation.pro b/examples/declarative/animation/basics/color-animation/coloranimation.pro
index c8f6297..a6ce3f6 100644
--- a/examples/declarative/animation/basics/color-animation/coloranimation.pro
+++ b/examples/declarative/animation/basics/color-animation/coloranimation.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/color-animation
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE959F610
 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/basics/color-animation/main.cpp b/examples/declarative/animation/basics/color-animation/main.cpp
index 1a5dcd5..0f70108 100644
--- a/examples/declarative/animation/basics/color-animation/main.cpp
+++ b/examples/declarative/animation/basics/color-animation/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/color-animation.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/color-animation/color-animation.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/animation/basics/color-animation/qml/basics.qmlproject b/examples/declarative/animation/basics/color-animation/qml/basics.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/animation/basics/color-animation/qml/basics.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/basics/color-animation/qml/color-animation.qml b/examples/declarative/animation/basics/color-animation/qml/color-animation.qml
deleted file mode 100644
index 809f391..0000000
--- a/examples/declarative/animation/basics/color-animation/qml/color-animation.qml
+++ /dev/null
@@ -1,110 +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
-import Qt.labs.particles 1.0
-
-Item {
-    id: window
-    width: 640; height: 480
-
-    // Let's draw the sky...
-    Rectangle {
-        anchors { left: parent.left; top: parent.top; right: parent.right; bottom: parent.verticalCenter }
-        gradient: Gradient {
-            GradientStop {
-                position: 0.0
-                SequentialAnimation on color {
-                    loops: Animation.Infinite
-                    ColorAnimation { from: "DeepSkyBlue"; to: "#0E1533"; duration: 5000 }
-                    ColorAnimation { from: "#0E1533"; to: "DeepSkyBlue"; duration: 5000 }
-                }
-            }
-            GradientStop {
-                position: 1.0
-                SequentialAnimation on color {
-                    loops: Animation.Infinite
-                    ColorAnimation { from: "SkyBlue"; to: "#437284"; duration: 5000 }
-                    ColorAnimation { from: "#437284"; to: "SkyBlue"; duration: 5000 }
-                }
-            }
-        }
-    }
-
-    // the sun, moon, and stars
-    Item {
-        width: parent.width; height: 2 * parent.height
-        NumberAnimation on rotation { from: 0; to: 360; duration: 10000; loops: Animation.Infinite }
-        Image {
-            source: "images/sun.png"; y: 10; anchors.horizontalCenter: parent.horizontalCenter
-            rotation: -3 * parent.rotation
-        }
-        Image {
-            source: "images/moon.png"; y: parent.height - 74; anchors.horizontalCenter: parent.horizontalCenter
-            rotation: -parent.rotation
-        }
-        Particles {
-            x: 0; y: parent.height/2; width: parent.width; height: parent.height/2
-            source: "images/star.png"; angleDeviation: 360; velocity: 0
-            velocityDeviation: 0; count: parent.width / 10; fadeInDuration: 2800
-            SequentialAnimation on opacity {
-                loops: Animation.Infinite
-                NumberAnimation { from: 0; to: 1; duration: 5000 }
-                NumberAnimation { from: 1; to: 0; duration: 5000 }
-            }
-        }
-    }
-
-    // ...and the ground.
-    Rectangle {
-        anchors { left: parent.left; top: parent.verticalCenter; right: parent.right; bottom: parent.bottom }
-        gradient: Gradient {
-            GradientStop {
-                position: 0.0
-                SequentialAnimation on color {
-                    loops: Animation.Infinite
-                    ColorAnimation { from: "ForestGreen"; to: "#001600"; duration: 5000 }
-                    ColorAnimation { from: "#001600"; to: "ForestGreen"; duration: 5000 }
-                }
-            }
-            GradientStop { position: 1.0; color: "DarkGreen" }
-        }
-    }
-}
diff --git a/examples/declarative/animation/basics/color-animation/qml/color-animation/color-animation.qml b/examples/declarative/animation/basics/color-animation/qml/color-animation/color-animation.qml
new file mode 100644
index 0000000..c0095b7
--- /dev/null
+++ b/examples/declarative/animation/basics/color-animation/qml/color-animation/color-animation.qml
@@ -0,0 +1,112 @@
+/****************************************************************************
+**
+** 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
+import Qt.labs.particles 1.0
+
+Item {
+    id: window
+    width: 640; height: 480
+
+    // Let's draw the sky...
+    Rectangle {
+        anchors { left: parent.left; top: parent.top; right: parent.right; bottom: parent.verticalCenter }
+        gradient: Gradient {
+            GradientStop {
+                position: 0.0
+                SequentialAnimation on color {
+                    loops: Animation.Infinite
+                    ColorAnimation { from: "DeepSkyBlue"; to: "#0E1533"; duration: 5000 }
+                    ColorAnimation { from: "#0E1533"; to: "DeepSkyBlue"; duration: 5000 }
+                }
+            }
+            GradientStop {
+                position: 1.0
+                SequentialAnimation on color {
+                    loops: Animation.Infinite
+                    ColorAnimation { from: "SkyBlue"; to: "#437284"; duration: 5000 }
+                    ColorAnimation { from: "#437284"; to: "SkyBlue"; duration: 5000 }
+                }
+            }
+        }
+    }
+
+    // the sun, moon, and stars
+    Item {
+        width: parent.width; height: 2 * parent.height
+        NumberAnimation on rotation { from: 0; to: 360; duration: 10000; loops: Animation.Infinite }
+        Image {
+            source: "images/sun.png"; y: 10; anchors.horizontalCenter: parent.horizontalCenter
+            rotation: -3 * parent.rotation
+        }
+        Image {
+            source: "images/moon.png"; y: parent.height - 74; anchors.horizontalCenter: parent.horizontalCenter
+            rotation: -parent.rotation
+        }
+
+        Particles {
+            x: 0; y: parent.height/2; width: parent.width; height: parent.height/2
+            source: "images/star.png"; angleDeviation: 360; velocity: 0
+            velocityDeviation: 0; count: parent.width / 10; fadeInDuration: 2800
+            SequentialAnimation on opacity {
+                loops: Animation.Infinite
+                NumberAnimation { from: 0; to: 1; duration: 5000 }
+                NumberAnimation { from: 1; to: 0; duration: 5000 }
+            }
+        }
+
+    }
+
+    // ...and the ground.
+    Rectangle {
+        anchors { left: parent.left; top: parent.verticalCenter; right: parent.right; bottom: parent.bottom }
+        gradient: Gradient {
+            GradientStop {
+                position: 0.0
+                SequentialAnimation on color {
+                    loops: Animation.Infinite
+                    ColorAnimation { from: "ForestGreen"; to: "#001600"; duration: 5000 }
+                    ColorAnimation { from: "#001600"; to: "ForestGreen"; duration: 5000 }
+                }
+            }
+            GradientStop { position: 1.0; color: "DarkGreen" }
+        }
+    }
+}
diff --git a/examples/declarative/animation/basics/color-animation/qml/color-animation/images/face-smile.png b/examples/declarative/animation/basics/color-animation/qml/color-animation/images/face-smile.png
new file mode 100644
index 0000000..3d66d72
Binary files /dev/null and b/examples/declarative/animation/basics/color-animation/qml/color-animation/images/face-smile.png differ
diff --git a/examples/declarative/animation/basics/color-animation/qml/color-animation/images/moon.png b/examples/declarative/animation/basics/color-animation/qml/color-animation/images/moon.png
new file mode 100644
index 0000000..9407b2b
Binary files /dev/null and b/examples/declarative/animation/basics/color-animation/qml/color-animation/images/moon.png differ
diff --git a/examples/declarative/animation/basics/color-animation/qml/color-animation/images/shadow.png b/examples/declarative/animation/basics/color-animation/qml/color-animation/images/shadow.png
new file mode 100644
index 0000000..8270565
Binary files /dev/null and b/examples/declarative/animation/basics/color-animation/qml/color-animation/images/shadow.png differ
diff --git a/examples/declarative/animation/basics/color-animation/qml/color-animation/images/star.png b/examples/declarative/animation/basics/color-animation/qml/color-animation/images/star.png
new file mode 100644
index 0000000..27ef924
Binary files /dev/null and b/examples/declarative/animation/basics/color-animation/qml/color-animation/images/star.png differ
diff --git a/examples/declarative/animation/basics/color-animation/qml/color-animation/images/sun.png b/examples/declarative/animation/basics/color-animation/qml/color-animation/images/sun.png
new file mode 100644
index 0000000..7713ca5
Binary files /dev/null and b/examples/declarative/animation/basics/color-animation/qml/color-animation/images/sun.png differ
diff --git a/examples/declarative/animation/basics/color-animation/qml/images/face-smile.png b/examples/declarative/animation/basics/color-animation/qml/images/face-smile.png
deleted file mode 100644
index 3d66d72..0000000
Binary files a/examples/declarative/animation/basics/color-animation/qml/images/face-smile.png and /dev/null differ
diff --git a/examples/declarative/animation/basics/color-animation/qml/images/moon.png b/examples/declarative/animation/basics/color-animation/qml/images/moon.png
deleted file mode 100644
index 9407b2b..0000000
Binary files a/examples/declarative/animation/basics/color-animation/qml/images/moon.png and /dev/null differ
diff --git a/examples/declarative/animation/basics/color-animation/qml/images/shadow.png b/examples/declarative/animation/basics/color-animation/qml/images/shadow.png
deleted file mode 100644
index 8270565..0000000
Binary files a/examples/declarative/animation/basics/color-animation/qml/images/shadow.png and /dev/null differ
diff --git a/examples/declarative/animation/basics/color-animation/qml/images/star.png b/examples/declarative/animation/basics/color-animation/qml/images/star.png
deleted file mode 100644
index 27ef924..0000000
Binary files a/examples/declarative/animation/basics/color-animation/qml/images/star.png and /dev/null differ
diff --git a/examples/declarative/animation/basics/color-animation/qml/images/sun.png b/examples/declarative/animation/basics/color-animation/qml/images/sun.png
deleted file mode 100644
index 7713ca5..0000000
Binary files a/examples/declarative/animation/basics/color-animation/qml/images/sun.png and /dev/null differ
diff --git a/examples/declarative/animation/basics/color-animation/qml/property-animation.qml b/examples/declarative/animation/basics/color-animation/qml/property-animation.qml
deleted file mode 100644
index 0a5b353..0000000
--- a/examples/declarative/animation/basics/color-animation/qml/property-animation.qml
+++ /dev/null
@@ -1,105 +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
-
-Item {
-    id: window
-    width: 320; height: 480
-
-    // Let's draw the sky...
-    Rectangle {
-        anchors { left: parent.left; top: parent.top; right: parent.right; bottom: parent.verticalCenter }
-        gradient: Gradient {
-            GradientStop { position: 0.0; color: "DeepSkyBlue" }
-            GradientStop { position: 1.0; color: "LightSkyBlue" }
-        }
-    }
-
-    // ...and the ground.
-    Rectangle {
-        anchors { left: parent.left; top: parent.verticalCenter; right: parent.right; bottom: parent.bottom }
-        gradient: Gradient {
-            GradientStop { position: 0.0; color: "ForestGreen" }
-            GradientStop { position: 1.0; color: "DarkGreen" }
-        }
-    }
-
-    // The shadow for the smiley face
-    Image {
-        anchors.horizontalCenter: parent.horizontalCenter
-        y: smiley.minHeight + 58
-        source: "images/shadow.png"
-
-        // The scale property depends on the y position of the smiley face.
-        scale: smiley.y * 0.5 / (smiley.minHeight - smiley.maxHeight)
-    }
-
-    Image {
-        id: smiley
-        property int maxHeight: window.height / 3
-        property int minHeight: 2 * window.height / 3
-
-        anchors.horizontalCenter: parent.horizontalCenter
-        y: minHeight
-        source: "images/face-smile.png"
-
-        // Animate the y property. Setting loops to Animation.Infinite makes the
-        // animation repeat indefinitely, otherwise it would only run once.
-        SequentialAnimation on y {
-            loops: Animation.Infinite
-
-            // Move from minHeight to maxHeight in 300ms, using the OutExpo easing function
-            NumberAnimation {
-                from: smiley.minHeight; to: smiley.maxHeight
-                easing.type: Easing.OutExpo; duration: 300
-            }
-
-            // Then move back to minHeight in 1 second, using the OutBounce easing function
-            NumberAnimation {
-                from: smiley.maxHeight; to: smiley.minHeight
-                easing.type: Easing.OutBounce; duration: 1000
-            }
-
-            // Then pause for 500ms
-            PauseAnimation { duration: 500 }
-        }
-    }
-}
diff --git a/examples/declarative/animation/basics/color-animation/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/animation/basics/color-animation/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/animation/basics/color-animation/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/basics/color-animation/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/animation/basics/color-animation/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/animation/basics/color-animation/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/basics/color-animation/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/animation/basics/color-animation/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/animation/basics/color-animation/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)
-}
-- 
cgit v0.12


From 0e28423f1ade96814d9095454c2a62b0df646c17 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:37 +0100
Subject: basics/property-animation modifications

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

Merge-request: 2719
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
---
 .../animation/basics/property-animation/main.cpp   |   2 +-
 .../basics/property-animation/property.qmlproject  |  16 ++
 .../property-animation/propertyanimation.pro       |   4 +-
 .../property-animation/qml/basics.qmlproject       |  16 --
 .../property-animation/qml/color-animation.qml     | 110 ------------
 .../property-animation/qml/images/face-smile.png   | Bin 15408 -> 0 bytes
 .../basics/property-animation/qml/images/moon.png  | Bin 2433 -> 0 bytes
 .../property-animation/qml/images/shadow.png       | Bin 425 -> 0 bytes
 .../basics/property-animation/qml/images/star.png  | Bin 349 -> 0 bytes
 .../basics/property-animation/qml/images/sun.png   | Bin 8153 -> 0 bytes
 .../property-animation/qml/property-animation.qml  | 105 -----------
 .../qml/property-animation/images/face-smile.png   | Bin 0 -> 15408 bytes
 .../qml/property-animation/images/moon.png         | Bin 0 -> 2433 bytes
 .../qml/property-animation/images/shadow.png       | Bin 0 -> 425 bytes
 .../qml/property-animation/images/star.png         | Bin 0 -> 349 bytes
 .../qml/property-animation/images/sun.png          | Bin 0 -> 8153 bytes
 .../qml/property-animation/property-animation.qml  | 105 +++++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 20 files changed, 124 insertions(+), 664 deletions(-)
 create mode 100644 examples/declarative/animation/basics/property-animation/property.qmlproject
 delete mode 100644 examples/declarative/animation/basics/property-animation/qml/basics.qmlproject
 delete mode 100644 examples/declarative/animation/basics/property-animation/qml/color-animation.qml
 delete mode 100644 examples/declarative/animation/basics/property-animation/qml/images/face-smile.png
 delete mode 100644 examples/declarative/animation/basics/property-animation/qml/images/moon.png
 delete mode 100644 examples/declarative/animation/basics/property-animation/qml/images/shadow.png
 delete mode 100644 examples/declarative/animation/basics/property-animation/qml/images/star.png
 delete mode 100644 examples/declarative/animation/basics/property-animation/qml/images/sun.png
 delete mode 100644 examples/declarative/animation/basics/property-animation/qml/property-animation.qml
 create mode 100644 examples/declarative/animation/basics/property-animation/qml/property-animation/images/face-smile.png
 create mode 100644 examples/declarative/animation/basics/property-animation/qml/property-animation/images/moon.png
 create mode 100644 examples/declarative/animation/basics/property-animation/qml/property-animation/images/shadow.png
 create mode 100644 examples/declarative/animation/basics/property-animation/qml/property-animation/images/star.png
 create mode 100644 examples/declarative/animation/basics/property-animation/qml/property-animation/images/sun.png
 create mode 100644 examples/declarative/animation/basics/property-animation/qml/property-animation/property-animation.qml
 delete mode 100644 examples/declarative/animation/basics/property-animation/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/animation/basics/property-animation/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/animation/basics/property-animation/qmlapplicationviewer/qmlapplicationviewer.pri

diff --git a/examples/declarative/animation/basics/property-animation/main.cpp b/examples/declarative/animation/basics/property-animation/main.cpp
index 2a84ef0..90b3c41 100644
--- a/examples/declarative/animation/basics/property-animation/main.cpp
+++ b/examples/declarative/animation/basics/property-animation/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/property-animation.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/property-animation/property-animation.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/animation/basics/property-animation/property.qmlproject b/examples/declarative/animation/basics/property-animation/property.qmlproject
new file mode 100644
index 0000000..1b525c6
--- /dev/null
+++ b/examples/declarative/animation/basics/property-animation/property.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/property-animation"
+    }
+    JavaScriptFiles {
+        directory: "qml/property-animation"
+    }
+    ImageFiles {
+        directory: "qml/property-animation"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/animation/basics/property-animation/propertyanimation.pro b/examples/declarative/animation/basics/property-animation/propertyanimation.pro
index 97eb86c..e4e9471 100644
--- a/examples/declarative/animation/basics/property-animation/propertyanimation.pro
+++ b/examples/declarative/animation/basics/property-animation/propertyanimation.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/property-animation
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE4032BC6
 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/basics/property-animation/qml/basics.qmlproject b/examples/declarative/animation/basics/property-animation/qml/basics.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/animation/basics/property-animation/qml/basics.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/basics/property-animation/qml/color-animation.qml b/examples/declarative/animation/basics/property-animation/qml/color-animation.qml
deleted file mode 100644
index 809f391..0000000
--- a/examples/declarative/animation/basics/property-animation/qml/color-animation.qml
+++ /dev/null
@@ -1,110 +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
-import Qt.labs.particles 1.0
-
-Item {
-    id: window
-    width: 640; height: 480
-
-    // Let's draw the sky...
-    Rectangle {
-        anchors { left: parent.left; top: parent.top; right: parent.right; bottom: parent.verticalCenter }
-        gradient: Gradient {
-            GradientStop {
-                position: 0.0
-                SequentialAnimation on color {
-                    loops: Animation.Infinite
-                    ColorAnimation { from: "DeepSkyBlue"; to: "#0E1533"; duration: 5000 }
-                    ColorAnimation { from: "#0E1533"; to: "DeepSkyBlue"; duration: 5000 }
-                }
-            }
-            GradientStop {
-                position: 1.0
-                SequentialAnimation on color {
-                    loops: Animation.Infinite
-                    ColorAnimation { from: "SkyBlue"; to: "#437284"; duration: 5000 }
-                    ColorAnimation { from: "#437284"; to: "SkyBlue"; duration: 5000 }
-                }
-            }
-        }
-    }
-
-    // the sun, moon, and stars
-    Item {
-        width: parent.width; height: 2 * parent.height
-        NumberAnimation on rotation { from: 0; to: 360; duration: 10000; loops: Animation.Infinite }
-        Image {
-            source: "images/sun.png"; y: 10; anchors.horizontalCenter: parent.horizontalCenter
-            rotation: -3 * parent.rotation
-        }
-        Image {
-            source: "images/moon.png"; y: parent.height - 74; anchors.horizontalCenter: parent.horizontalCenter
-            rotation: -parent.rotation
-        }
-        Particles {
-            x: 0; y: parent.height/2; width: parent.width; height: parent.height/2
-            source: "images/star.png"; angleDeviation: 360; velocity: 0
-            velocityDeviation: 0; count: parent.width / 10; fadeInDuration: 2800
-            SequentialAnimation on opacity {
-                loops: Animation.Infinite
-                NumberAnimation { from: 0; to: 1; duration: 5000 }
-                NumberAnimation { from: 1; to: 0; duration: 5000 }
-            }
-        }
-    }
-
-    // ...and the ground.
-    Rectangle {
-        anchors { left: parent.left; top: parent.verticalCenter; right: parent.right; bottom: parent.bottom }
-        gradient: Gradient {
-            GradientStop {
-                position: 0.0
-                SequentialAnimation on color {
-                    loops: Animation.Infinite
-                    ColorAnimation { from: "ForestGreen"; to: "#001600"; duration: 5000 }
-                    ColorAnimation { from: "#001600"; to: "ForestGreen"; duration: 5000 }
-                }
-            }
-            GradientStop { position: 1.0; color: "DarkGreen" }
-        }
-    }
-}
diff --git a/examples/declarative/animation/basics/property-animation/qml/images/face-smile.png b/examples/declarative/animation/basics/property-animation/qml/images/face-smile.png
deleted file mode 100644
index 3d66d72..0000000
Binary files a/examples/declarative/animation/basics/property-animation/qml/images/face-smile.png and /dev/null differ
diff --git a/examples/declarative/animation/basics/property-animation/qml/images/moon.png b/examples/declarative/animation/basics/property-animation/qml/images/moon.png
deleted file mode 100644
index 9407b2b..0000000
Binary files a/examples/declarative/animation/basics/property-animation/qml/images/moon.png and /dev/null differ
diff --git a/examples/declarative/animation/basics/property-animation/qml/images/shadow.png b/examples/declarative/animation/basics/property-animation/qml/images/shadow.png
deleted file mode 100644
index 8270565..0000000
Binary files a/examples/declarative/animation/basics/property-animation/qml/images/shadow.png and /dev/null differ
diff --git a/examples/declarative/animation/basics/property-animation/qml/images/star.png b/examples/declarative/animation/basics/property-animation/qml/images/star.png
deleted file mode 100644
index 27ef924..0000000
Binary files a/examples/declarative/animation/basics/property-animation/qml/images/star.png and /dev/null differ
diff --git a/examples/declarative/animation/basics/property-animation/qml/images/sun.png b/examples/declarative/animation/basics/property-animation/qml/images/sun.png
deleted file mode 100644
index 7713ca5..0000000
Binary files a/examples/declarative/animation/basics/property-animation/qml/images/sun.png and /dev/null differ
diff --git a/examples/declarative/animation/basics/property-animation/qml/property-animation.qml b/examples/declarative/animation/basics/property-animation/qml/property-animation.qml
deleted file mode 100644
index 0a5b353..0000000
--- a/examples/declarative/animation/basics/property-animation/qml/property-animation.qml
+++ /dev/null
@@ -1,105 +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
-
-Item {
-    id: window
-    width: 320; height: 480
-
-    // Let's draw the sky...
-    Rectangle {
-        anchors { left: parent.left; top: parent.top; right: parent.right; bottom: parent.verticalCenter }
-        gradient: Gradient {
-            GradientStop { position: 0.0; color: "DeepSkyBlue" }
-            GradientStop { position: 1.0; color: "LightSkyBlue" }
-        }
-    }
-
-    // ...and the ground.
-    Rectangle {
-        anchors { left: parent.left; top: parent.verticalCenter; right: parent.right; bottom: parent.bottom }
-        gradient: Gradient {
-            GradientStop { position: 0.0; color: "ForestGreen" }
-            GradientStop { position: 1.0; color: "DarkGreen" }
-        }
-    }
-
-    // The shadow for the smiley face
-    Image {
-        anchors.horizontalCenter: parent.horizontalCenter
-        y: smiley.minHeight + 58
-        source: "images/shadow.png"
-
-        // The scale property depends on the y position of the smiley face.
-        scale: smiley.y * 0.5 / (smiley.minHeight - smiley.maxHeight)
-    }
-
-    Image {
-        id: smiley
-        property int maxHeight: window.height / 3
-        property int minHeight: 2 * window.height / 3
-
-        anchors.horizontalCenter: parent.horizontalCenter
-        y: minHeight
-        source: "images/face-smile.png"
-
-        // Animate the y property. Setting loops to Animation.Infinite makes the
-        // animation repeat indefinitely, otherwise it would only run once.
-        SequentialAnimation on y {
-            loops: Animation.Infinite
-
-            // Move from minHeight to maxHeight in 300ms, using the OutExpo easing function
-            NumberAnimation {
-                from: smiley.minHeight; to: smiley.maxHeight
-                easing.type: Easing.OutExpo; duration: 300
-            }
-
-            // Then move back to minHeight in 1 second, using the OutBounce easing function
-            NumberAnimation {
-                from: smiley.maxHeight; to: smiley.minHeight
-                easing.type: Easing.OutBounce; duration: 1000
-            }
-
-            // Then pause for 500ms
-            PauseAnimation { duration: 500 }
-        }
-    }
-}
diff --git a/examples/declarative/animation/basics/property-animation/qml/property-animation/images/face-smile.png b/examples/declarative/animation/basics/property-animation/qml/property-animation/images/face-smile.png
new file mode 100644
index 0000000..3d66d72
Binary files /dev/null and b/examples/declarative/animation/basics/property-animation/qml/property-animation/images/face-smile.png differ
diff --git a/examples/declarative/animation/basics/property-animation/qml/property-animation/images/moon.png b/examples/declarative/animation/basics/property-animation/qml/property-animation/images/moon.png
new file mode 100644
index 0000000..9407b2b
Binary files /dev/null and b/examples/declarative/animation/basics/property-animation/qml/property-animation/images/moon.png differ
diff --git a/examples/declarative/animation/basics/property-animation/qml/property-animation/images/shadow.png b/examples/declarative/animation/basics/property-animation/qml/property-animation/images/shadow.png
new file mode 100644
index 0000000..8270565
Binary files /dev/null and b/examples/declarative/animation/basics/property-animation/qml/property-animation/images/shadow.png differ
diff --git a/examples/declarative/animation/basics/property-animation/qml/property-animation/images/star.png b/examples/declarative/animation/basics/property-animation/qml/property-animation/images/star.png
new file mode 100644
index 0000000..27ef924
Binary files /dev/null and b/examples/declarative/animation/basics/property-animation/qml/property-animation/images/star.png differ
diff --git a/examples/declarative/animation/basics/property-animation/qml/property-animation/images/sun.png b/examples/declarative/animation/basics/property-animation/qml/property-animation/images/sun.png
new file mode 100644
index 0000000..7713ca5
Binary files /dev/null and b/examples/declarative/animation/basics/property-animation/qml/property-animation/images/sun.png differ
diff --git a/examples/declarative/animation/basics/property-animation/qml/property-animation/property-animation.qml b/examples/declarative/animation/basics/property-animation/qml/property-animation/property-animation.qml
new file mode 100644
index 0000000..0a5b353
--- /dev/null
+++ b/examples/declarative/animation/basics/property-animation/qml/property-animation/property-animation.qml
@@ -0,0 +1,105 @@
+/****************************************************************************
+**
+** 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
+
+Item {
+    id: window
+    width: 320; height: 480
+
+    // Let's draw the sky...
+    Rectangle {
+        anchors { left: parent.left; top: parent.top; right: parent.right; bottom: parent.verticalCenter }
+        gradient: Gradient {
+            GradientStop { position: 0.0; color: "DeepSkyBlue" }
+            GradientStop { position: 1.0; color: "LightSkyBlue" }
+        }
+    }
+
+    // ...and the ground.
+    Rectangle {
+        anchors { left: parent.left; top: parent.verticalCenter; right: parent.right; bottom: parent.bottom }
+        gradient: Gradient {
+            GradientStop { position: 0.0; color: "ForestGreen" }
+            GradientStop { position: 1.0; color: "DarkGreen" }
+        }
+    }
+
+    // The shadow for the smiley face
+    Image {
+        anchors.horizontalCenter: parent.horizontalCenter
+        y: smiley.minHeight + 58
+        source: "images/shadow.png"
+
+        // The scale property depends on the y position of the smiley face.
+        scale: smiley.y * 0.5 / (smiley.minHeight - smiley.maxHeight)
+    }
+
+    Image {
+        id: smiley
+        property int maxHeight: window.height / 3
+        property int minHeight: 2 * window.height / 3
+
+        anchors.horizontalCenter: parent.horizontalCenter
+        y: minHeight
+        source: "images/face-smile.png"
+
+        // Animate the y property. Setting loops to Animation.Infinite makes the
+        // animation repeat indefinitely, otherwise it would only run once.
+        SequentialAnimation on y {
+            loops: Animation.Infinite
+
+            // Move from minHeight to maxHeight in 300ms, using the OutExpo easing function
+            NumberAnimation {
+                from: smiley.minHeight; to: smiley.maxHeight
+                easing.type: Easing.OutExpo; duration: 300
+            }
+
+            // Then move back to minHeight in 1 second, using the OutBounce easing function
+            NumberAnimation {
+                from: smiley.maxHeight; to: smiley.minHeight
+                easing.type: Easing.OutBounce; duration: 1000
+            }
+
+            // Then pause for 500ms
+            PauseAnimation { duration: 500 }
+        }
+    }
+}
diff --git a/examples/declarative/animation/basics/property-animation/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/animation/basics/property-animation/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/animation/basics/property-animation/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/basics/property-animation/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/animation/basics/property-animation/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/animation/basics/property-animation/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/basics/property-animation/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/animation/basics/property-animation/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/animation/basics/property-animation/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)
-}
-- 
cgit v0.12


From c702398fc98453f26d059df01bbdb17c9756c3ab Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:38 +0100
Subject: Basics example cleanup

Removed duplicated files from basics examples

Merge-request: 2719
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
---
 .../declarative/animation/basics/basics.qmlproject |  16 ---
 .../animation/basics/color-animation.qml           | 110 ---------------------
 .../animation/basics/property-animation.qml        | 105 --------------------
 3 files changed, 231 deletions(-)
 delete mode 100644 examples/declarative/animation/basics/basics.qmlproject
 delete mode 100644 examples/declarative/animation/basics/color-animation.qml
 delete mode 100644 examples/declarative/animation/basics/property-animation.qml

diff --git a/examples/declarative/animation/basics/basics.qmlproject b/examples/declarative/animation/basics/basics.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/animation/basics/basics.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/basics/color-animation.qml b/examples/declarative/animation/basics/color-animation.qml
deleted file mode 100644
index 2609166..0000000
--- a/examples/declarative/animation/basics/color-animation.qml
+++ /dev/null
@@ -1,110 +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
-import Qt.labs.particles 1.0
-
-Item {
-    id: window
-    width: 640; height: 480
-
-    // Let's draw the sky...
-    Rectangle {
-        anchors { left: parent.left; top: parent.top; right: parent.right; bottom: parent.verticalCenter }
-        gradient: Gradient {
-            GradientStop {
-                position: 0.0
-                SequentialAnimation on color {
-                    loops: Animation.Infinite
-                    ColorAnimation { from: "DeepSkyBlue"; to: "#0E1533"; duration: 5000 }
-                    ColorAnimation { from: "#0E1533"; to: "DeepSkyBlue"; duration: 5000 }
-                }
-            }
-            GradientStop {
-                position: 1.0
-                SequentialAnimation on color {
-                    loops: Animation.Infinite
-                    ColorAnimation { from: "SkyBlue"; to: "#437284"; duration: 5000 }
-                    ColorAnimation { from: "#437284"; to: "SkyBlue"; duration: 5000 }
-                }
-            }
-        }
-    }
-
-    // the sun, moon, and stars
-    Item {
-        width: parent.width; height: 2 * parent.height
-        NumberAnimation on rotation { from: 0; to: 360; duration: 10000; loops: Animation.Infinite }
-        Image {
-            source: "images/sun.png"; y: 10; anchors.horizontalCenter: parent.horizontalCenter
-            rotation: -3 * parent.rotation
-        }
-        Image {
-            source: "images/moon.png"; y: parent.height - 74; anchors.horizontalCenter: parent.horizontalCenter
-            rotation: -parent.rotation
-        }
-        Particles {
-            x: 0; y: parent.height/2; width: parent.width; height: parent.height/2
-            source: "images/star.png"; angleDeviation: 360; velocity: 0
-            velocityDeviation: 0; count: parent.width / 10; fadeInDuration: 2800
-            SequentialAnimation on opacity {
-                loops: Animation.Infinite
-                NumberAnimation { from: 0; to: 1; duration: 5000 }
-                NumberAnimation { from: 1; to: 0; duration: 5000 }
-            }
-        }
-    }
-
-    // ...and the ground.
-    Rectangle {
-        anchors { left: parent.left; top: parent.verticalCenter; right: parent.right; bottom: parent.bottom }
-        gradient: Gradient {
-            GradientStop {
-                position: 0.0
-                SequentialAnimation on color {
-                    loops: Animation.Infinite
-                    ColorAnimation { from: "ForestGreen"; to: "#001600"; duration: 5000 }
-                    ColorAnimation { from: "#001600"; to: "ForestGreen"; duration: 5000 }
-                }
-            }
-            GradientStop { position: 1.0; color: "DarkGreen" }
-        }
-    }
-}
diff --git a/examples/declarative/animation/basics/property-animation.qml b/examples/declarative/animation/basics/property-animation.qml
deleted file mode 100644
index f678280..0000000
--- a/examples/declarative/animation/basics/property-animation.qml
+++ /dev/null
@@ -1,105 +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
-
-Item {
-    id: window
-    width: 320; height: 480
-
-    // Let's draw the sky...
-    Rectangle {
-        anchors { left: parent.left; top: parent.top; right: parent.right; bottom: parent.verticalCenter }
-        gradient: Gradient {
-            GradientStop { position: 0.0; color: "DeepSkyBlue" }
-            GradientStop { position: 1.0; color: "LightSkyBlue" }
-        }
-    }
-
-    // ...and the ground.
-    Rectangle {
-        anchors { left: parent.left; top: parent.verticalCenter; right: parent.right; bottom: parent.bottom }
-        gradient: Gradient {
-            GradientStop { position: 0.0; color: "ForestGreen" }
-            GradientStop { position: 1.0; color: "DarkGreen" }
-        }
-    }
-
-    // The shadow for the smiley face
-    Image {
-        anchors.horizontalCenter: parent.horizontalCenter
-        y: smiley.minHeight + 58
-        source: "images/shadow.png"
-
-        // The scale property depends on the y position of the smiley face.
-        scale: smiley.y * 0.5 / (smiley.minHeight - smiley.maxHeight)
-    }
-
-    Image {
-        id: smiley
-        property int maxHeight: window.height / 3
-        property int minHeight: 2 * window.height / 3
-
-        anchors.horizontalCenter: parent.horizontalCenter
-        y: minHeight
-        source: "images/face-smile.png"
-
-        // Animate the y property. Setting loops to Animation.Infinite makes the
-        // animation repeat indefinitely, otherwise it would only run once.
-        SequentialAnimation on y {
-            loops: Animation.Infinite
-
-            // Move from minHeight to maxHeight in 300ms, using the OutExpo easing function
-            NumberAnimation {
-                from: smiley.minHeight; to: smiley.maxHeight
-                easing.type: Easing.OutExpo; duration: 300
-            }
-
-            // Then move back to minHeight in 1 second, using the OutBounce easing function
-            NumberAnimation {
-                from: smiley.maxHeight; to: smiley.minHeight
-                easing.type: Easing.OutBounce; duration: 1000
-            }
-
-            // Then pause for 500ms
-            PauseAnimation { duration: 500 }
-        }
-    }
-}
-- 
cgit v0.12


From 8619ad1cdd55fb3f157b873abad3af221e3879fe Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:39 +0100
Subject: behaviors/behavior-example modifications

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

Merge-request: 2719
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
---
 .../declarative/animation/behaviors/SideRect.qml   |  62 -------
 .../animation/behaviors/behavior-example.qml       | 118 ------------
 .../behaviors/behavior-example/behaviorexample.pro |   4 +-
 .../behavior-example/behaviors.qmlproject          |  16 ++
 .../animation/behaviors/behavior-example/main.cpp  |   2 +-
 .../behaviors/behavior-example/qml/SideRect.qml    |  62 -------
 .../behavior-example/qml/behavior-example.qml      | 118 ------------
 .../behavior-example/qml/behaviors.qmlproject      |  16 --
 .../behavior-example/qml/behaviours/SideRect.qml   |  62 +++++++
 .../qml/behaviours/behavior-example.qml            | 118 ++++++++++++
 .../behavior-example/qml/behaviours/wigglytext.qml | 108 +++++++++++
 .../behaviors/behavior-example/qml/wigglytext.qml  | 108 -----------
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../animation/behaviors/behaviors.qmlproject       |  16 --
 .../declarative/animation/behaviors/wigglytext.qml | 108 -----------
 17 files changed, 307 insertions(+), 1041 deletions(-)
 delete mode 100644 examples/declarative/animation/behaviors/SideRect.qml
 delete mode 100644 examples/declarative/animation/behaviors/behavior-example.qml
 create mode 100644 examples/declarative/animation/behaviors/behavior-example/behaviors.qmlproject
 delete mode 100644 examples/declarative/animation/behaviors/behavior-example/qml/SideRect.qml
 delete mode 100644 examples/declarative/animation/behaviors/behavior-example/qml/behavior-example.qml
 delete mode 100644 examples/declarative/animation/behaviors/behavior-example/qml/behaviors.qmlproject
 create mode 100644 examples/declarative/animation/behaviors/behavior-example/qml/behaviours/SideRect.qml
 create mode 100644 examples/declarative/animation/behaviors/behavior-example/qml/behaviours/behavior-example.qml
 create mode 100644 examples/declarative/animation/behaviors/behavior-example/qml/behaviours/wigglytext.qml
 delete mode 100644 examples/declarative/animation/behaviors/behavior-example/qml/wigglytext.qml
 delete mode 100644 examples/declarative/animation/behaviors/behavior-example/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/animation/behaviors/behavior-example/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/animation/behaviors/behavior-example/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/animation/behaviors/behaviors.qmlproject
 delete mode 100644 examples/declarative/animation/behaviors/wigglytext.qml

diff --git a/examples/declarative/animation/behaviors/SideRect.qml b/examples/declarative/animation/behaviors/SideRect.qml
deleted file mode 100644
index 1ba681e..0000000
--- a/examples/declarative/animation/behaviors/SideRect.qml
+++ /dev/null
@@ -1,62 +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: myRect
-
-    property string text
-
-    width: 75; height: 50
-    radius: 6
-    color: "#646464"
-    border.width: 4; border.color: "white"
-
-    MouseArea {
-        anchors.fill: parent
-        hoverEnabled: true
-        onEntered: {
-            focusRect.x = myRect.x; 
-            focusRect.y = myRect.y; 
-            focusRect.text = myRect.text;
-        }
-    }
-}
diff --git a/examples/declarative/animation/behaviors/behavior-example.qml b/examples/declarative/animation/behaviors/behavior-example.qml
deleted file mode 100644
index 55c912a..0000000
--- a/examples/declarative/animation/behaviors/behavior-example.qml
+++ /dev/null
@@ -1,118 +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 {
-    width: 600; height: 400
-    color: "#343434"
-
-    Rectangle {
-        anchors.centerIn: parent
-        width: 200; height: 200
-        radius: 30
-        color: "transparent"
-        border.width: 4; border.color: "white"
-
-
-        SideRect {
-            id: leftRect
-            anchors { verticalCenter: parent.verticalCenter; horizontalCenter: parent.left }
-            text: "Left"
-        }
-
-        SideRect {
-            id: rightRect
-            anchors { verticalCenter: parent.verticalCenter; horizontalCenter: parent.right }
-            text: "Right"
-        }
-
-        SideRect {
-            id: topRect
-            anchors { verticalCenter: parent.top; horizontalCenter: parent.horizontalCenter }
-            text: "Top"
-        }
-
-        SideRect {
-            id: bottomRect
-            anchors { verticalCenter: parent.bottom; horizontalCenter: parent.horizontalCenter }
-            text: "Bottom"
-        }
-
-
-        Rectangle {
-            id: focusRect
-
-            property string text
-
-            x: 62; y: 75; width: 75; height: 50
-            radius: 6
-            border.width: 4; border.color: "white"
-            color: "firebrick"
-
-            // Set an 'elastic' behavior on the focusRect's x property.
-            Behavior on x {
-                NumberAnimation { easing.type: Easing.OutElastic; easing.amplitude: 3.0; easing.period: 2.0; duration: 300 }
-            }
-
-            // Set an 'elastic' behavior on the focusRect's y property.
-            Behavior on y {
-                NumberAnimation { easing.type: Easing.OutElastic; easing.amplitude: 3.0; easing.period: 2.0; duration: 300 }
-            }
-
-            Text {
-                id: focusText
-                text: focusRect.text
-                anchors.centerIn: parent
-                color: "white"
-                font.pixelSize: 16; font.bold: true
-
-                // Set a behavior on the focusText's x property:
-                // Set the opacity to 0, set the new text value, then set the opacity back to 1.
-                Behavior on text {
-                    SequentialAnimation {
-                        NumberAnimation { target: focusText; property: "opacity"; to: 0; duration: 150 }
-                        NumberAnimation { target: focusText; property: "opacity"; to: 1; duration: 150 }
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/examples/declarative/animation/behaviors/behavior-example/behaviorexample.pro b/examples/declarative/animation/behaviors/behavior-example/behaviorexample.pro
index 1bda064..f1dc1aa 100644
--- a/examples/declarative/animation/behaviors/behavior-example/behaviorexample.pro
+++ b/examples/declarative/animation/behaviors/behavior-example/behaviorexample.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/behaviours
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEB6022A4
 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/behaviors/behavior-example/behaviors.qmlproject b/examples/declarative/animation/behaviors/behavior-example/behaviors.qmlproject
new file mode 100644
index 0000000..7de2b3b
--- /dev/null
+++ b/examples/declarative/animation/behaviors/behavior-example/behaviors.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/behaviours"
+    }
+    JavaScriptFiles {
+        directory: "qml/behaviours"
+    }
+    ImageFiles {
+        directory: "qml/behaviours"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/animation/behaviors/behavior-example/main.cpp b/examples/declarative/animation/behaviors/behavior-example/main.cpp
index 601371c..3407156 100644
--- a/examples/declarative/animation/behaviors/behavior-example/main.cpp
+++ b/examples/declarative/animation/behaviors/behavior-example/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/behavior-example.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/behaviours/behavior-example.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/animation/behaviors/behavior-example/qml/SideRect.qml b/examples/declarative/animation/behaviors/behavior-example/qml/SideRect.qml
deleted file mode 100644
index 9517421..0000000
--- a/examples/declarative/animation/behaviors/behavior-example/qml/SideRect.qml
+++ /dev/null
@@ -1,62 +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: myRect
-
-    property string text
-
-    width: 75; height: 50
-    radius: 6
-    color: "#646464"
-    border.width: 4; border.color: "white"
-
-    MouseArea {
-        anchors.fill: parent
-        hoverEnabled: true
-        onEntered: {
-            focusRect.x = myRect.x; 
-            focusRect.y = myRect.y; 
-            focusRect.text = myRect.text;
-        }
-    }
-}
diff --git a/examples/declarative/animation/behaviors/behavior-example/qml/behavior-example.qml b/examples/declarative/animation/behaviors/behavior-example/qml/behavior-example.qml
deleted file mode 100644
index 3e050ab..0000000
--- a/examples/declarative/animation/behaviors/behavior-example/qml/behavior-example.qml
+++ /dev/null
@@ -1,118 +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 {
-    width: 600; height: 400
-    color: "#343434"
-
-    Rectangle {
-        anchors.centerIn: parent
-        width: 200; height: 200
-        radius: 30
-        color: "transparent"
-        border.width: 4; border.color: "white"
-
-
-        SideRect {
-            id: leftRect
-            anchors { verticalCenter: parent.verticalCenter; horizontalCenter: parent.left }
-            text: "Left"
-        }
-
-        SideRect {
-            id: rightRect
-            anchors { verticalCenter: parent.verticalCenter; horizontalCenter: parent.right }
-            text: "Right"
-        }
-
-        SideRect {
-            id: topRect
-            anchors { verticalCenter: parent.top; horizontalCenter: parent.horizontalCenter }
-            text: "Top"
-        }
-
-        SideRect {
-            id: bottomRect
-            anchors { verticalCenter: parent.bottom; horizontalCenter: parent.horizontalCenter }
-            text: "Bottom"
-        }
-
-
-        Rectangle {
-            id: focusRect
-
-            property string text
-
-            x: 62; y: 75; width: 75; height: 50
-            radius: 6
-            border.width: 4; border.color: "white"
-            color: "firebrick"
-
-            // Set an 'elastic' behavior on the focusRect's x property.
-            Behavior on x {
-                NumberAnimation { easing.type: Easing.OutElastic; easing.amplitude: 3.0; easing.period: 2.0; duration: 300 }
-            }
-
-            // Set an 'elastic' behavior on the focusRect's y property.
-            Behavior on y {
-                NumberAnimation { easing.type: Easing.OutElastic; easing.amplitude: 3.0; easing.period: 2.0; duration: 300 }
-            }
-
-            Text {
-                id: focusText
-                text: focusRect.text
-                anchors.centerIn: parent
-                color: "white"
-                font.pixelSize: 16; font.bold: true
-
-                // Set a behavior on the focusText's x property:
-                // Set the opacity to 0, set the new text value, then set the opacity back to 1.
-                Behavior on text {
-                    SequentialAnimation {
-                        NumberAnimation { target: focusText; property: "opacity"; to: 0; duration: 150 }
-                        NumberAnimation { target: focusText; property: "opacity"; to: 1; duration: 150 }
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/examples/declarative/animation/behaviors/behavior-example/qml/behaviors.qmlproject b/examples/declarative/animation/behaviors/behavior-example/qml/behaviors.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/animation/behaviors/behavior-example/qml/behaviors.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/behaviors/behavior-example/qml/behaviours/SideRect.qml b/examples/declarative/animation/behaviors/behavior-example/qml/behaviours/SideRect.qml
new file mode 100644
index 0000000..9517421
--- /dev/null
+++ b/examples/declarative/animation/behaviors/behavior-example/qml/behaviours/SideRect.qml
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** 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: myRect
+
+    property string text
+
+    width: 75; height: 50
+    radius: 6
+    color: "#646464"
+    border.width: 4; border.color: "white"
+
+    MouseArea {
+        anchors.fill: parent
+        hoverEnabled: true
+        onEntered: {
+            focusRect.x = myRect.x; 
+            focusRect.y = myRect.y; 
+            focusRect.text = myRect.text;
+        }
+    }
+}
diff --git a/examples/declarative/animation/behaviors/behavior-example/qml/behaviours/behavior-example.qml b/examples/declarative/animation/behaviors/behavior-example/qml/behaviours/behavior-example.qml
new file mode 100644
index 0000000..3e050ab
--- /dev/null
+++ b/examples/declarative/animation/behaviors/behavior-example/qml/behaviours/behavior-example.qml
@@ -0,0 +1,118 @@
+/****************************************************************************
+**
+** 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 {
+    width: 600; height: 400
+    color: "#343434"
+
+    Rectangle {
+        anchors.centerIn: parent
+        width: 200; height: 200
+        radius: 30
+        color: "transparent"
+        border.width: 4; border.color: "white"
+
+
+        SideRect {
+            id: leftRect
+            anchors { verticalCenter: parent.verticalCenter; horizontalCenter: parent.left }
+            text: "Left"
+        }
+
+        SideRect {
+            id: rightRect
+            anchors { verticalCenter: parent.verticalCenter; horizontalCenter: parent.right }
+            text: "Right"
+        }
+
+        SideRect {
+            id: topRect
+            anchors { verticalCenter: parent.top; horizontalCenter: parent.horizontalCenter }
+            text: "Top"
+        }
+
+        SideRect {
+            id: bottomRect
+            anchors { verticalCenter: parent.bottom; horizontalCenter: parent.horizontalCenter }
+            text: "Bottom"
+        }
+
+
+        Rectangle {
+            id: focusRect
+
+            property string text
+
+            x: 62; y: 75; width: 75; height: 50
+            radius: 6
+            border.width: 4; border.color: "white"
+            color: "firebrick"
+
+            // Set an 'elastic' behavior on the focusRect's x property.
+            Behavior on x {
+                NumberAnimation { easing.type: Easing.OutElastic; easing.amplitude: 3.0; easing.period: 2.0; duration: 300 }
+            }
+
+            // Set an 'elastic' behavior on the focusRect's y property.
+            Behavior on y {
+                NumberAnimation { easing.type: Easing.OutElastic; easing.amplitude: 3.0; easing.period: 2.0; duration: 300 }
+            }
+
+            Text {
+                id: focusText
+                text: focusRect.text
+                anchors.centerIn: parent
+                color: "white"
+                font.pixelSize: 16; font.bold: true
+
+                // Set a behavior on the focusText's x property:
+                // Set the opacity to 0, set the new text value, then set the opacity back to 1.
+                Behavior on text {
+                    SequentialAnimation {
+                        NumberAnimation { target: focusText; property: "opacity"; to: 0; duration: 150 }
+                        NumberAnimation { target: focusText; property: "opacity"; to: 1; duration: 150 }
+                    }
+                }
+            }
+        }
+    }
+}
diff --git a/examples/declarative/animation/behaviors/behavior-example/qml/behaviours/wigglytext.qml b/examples/declarative/animation/behaviors/behavior-example/qml/behaviours/wigglytext.qml
new file mode 100644
index 0000000..6cd93ab
--- /dev/null
+++ b/examples/declarative/animation/behaviors/behavior-example/qml/behaviours/wigglytext.qml
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** 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: container
+
+    property string text: "Drag this text..."
+    property bool animated: true
+
+    width: 640; height: 480; color: "#474747"; focus: true
+
+    Keys.onPressed: {
+        if (event.key == Qt.Key_Delete || event.key == Qt.Key_Backspace)
+            container.remove()
+        else if (event.text != "") {
+            container.append(event.text)
+        }
+    }
+
+    function append(text) {
+        container.animated = false
+        var lastLetter = container.children[container.children.length - 1]
+        var newLetter = letterComponent.createObject(container)
+        newLetter.text = text
+        newLetter.follow = lastLetter
+        container.animated = true
+    }
+
+    function remove() {
+        if (container.children.length)
+            container.children[container.children.length - 1].destroy()
+    }
+
+    function doLayout() {
+        var follow = null
+        for (var i = 0; i < container.text.length; ++i) {
+            var newLetter = letterComponent.createObject(container)
+            newLetter.text = container.text[i]
+            newLetter.follow = follow
+            follow = newLetter
+        }
+    }
+
+    Component {
+        id: letterComponent
+        Text {
+            id: letter
+            property variant follow
+
+            x: follow ? follow.x + follow.width : container.width / 3
+            y: follow ? follow.y : container.height / 2
+
+            font.pixelSize: 40; font.bold: true
+            color: "#999999"; styleColor: "#222222"; style: Text.Raised
+
+            MouseArea {
+                anchors.fill: parent
+                drag.target: letter; drag.axis: Drag.XandYAxis
+                onPressed: letter.color = "#dddddd"
+                onReleased: letter.color = "#999999"
+            }
+
+            Behavior on x { enabled: container.animated; SpringAnimation { spring: 3; damping: 0.3; mass: 1.0 } }
+            Behavior on y { enabled: container.animated; SpringAnimation { spring: 3; damping: 0.3; mass: 1.0 } }
+        }
+    }
+
+    Component.onCompleted: doLayout()
+}
diff --git a/examples/declarative/animation/behaviors/behavior-example/qml/wigglytext.qml b/examples/declarative/animation/behaviors/behavior-example/qml/wigglytext.qml
deleted file mode 100644
index 6cd93ab..0000000
--- a/examples/declarative/animation/behaviors/behavior-example/qml/wigglytext.qml
+++ /dev/null
@@ -1,108 +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: container
-
-    property string text: "Drag this text..."
-    property bool animated: true
-
-    width: 640; height: 480; color: "#474747"; focus: true
-
-    Keys.onPressed: {
-        if (event.key == Qt.Key_Delete || event.key == Qt.Key_Backspace)
-            container.remove()
-        else if (event.text != "") {
-            container.append(event.text)
-        }
-    }
-
-    function append(text) {
-        container.animated = false
-        var lastLetter = container.children[container.children.length - 1]
-        var newLetter = letterComponent.createObject(container)
-        newLetter.text = text
-        newLetter.follow = lastLetter
-        container.animated = true
-    }
-
-    function remove() {
-        if (container.children.length)
-            container.children[container.children.length - 1].destroy()
-    }
-
-    function doLayout() {
-        var follow = null
-        for (var i = 0; i < container.text.length; ++i) {
-            var newLetter = letterComponent.createObject(container)
-            newLetter.text = container.text[i]
-            newLetter.follow = follow
-            follow = newLetter
-        }
-    }
-
-    Component {
-        id: letterComponent
-        Text {
-            id: letter
-            property variant follow
-
-            x: follow ? follow.x + follow.width : container.width / 3
-            y: follow ? follow.y : container.height / 2
-
-            font.pixelSize: 40; font.bold: true
-            color: "#999999"; styleColor: "#222222"; style: Text.Raised
-
-            MouseArea {
-                anchors.fill: parent
-                drag.target: letter; drag.axis: Drag.XandYAxis
-                onPressed: letter.color = "#dddddd"
-                onReleased: letter.color = "#999999"
-            }
-
-            Behavior on x { enabled: container.animated; SpringAnimation { spring: 3; damping: 0.3; mass: 1.0 } }
-            Behavior on y { enabled: container.animated; SpringAnimation { spring: 3; damping: 0.3; mass: 1.0 } }
-        }
-    }
-
-    Component.onCompleted: doLayout()
-}
diff --git a/examples/declarative/animation/behaviors/behavior-example/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/animation/behaviors/behavior-example/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/animation/behaviors/behavior-example/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/behaviors/behavior-example/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/animation/behaviors/behavior-example/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/animation/behaviors/behavior-example/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/behaviors/behavior-example/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/animation/behaviors/behavior-example/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/animation/behaviors/behavior-example/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/behaviors/behaviors.qmlproject b/examples/declarative/animation/behaviors/behaviors.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/animation/behaviors/behaviors.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/behaviors/wigglytext.qml b/examples/declarative/animation/behaviors/wigglytext.qml
deleted file mode 100644
index 0a2d028..0000000
--- a/examples/declarative/animation/behaviors/wigglytext.qml
+++ /dev/null
@@ -1,108 +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: container
-
-    property string text: "Drag this text..."
-    property bool animated: true
-
-    width: 640; height: 480; color: "#474747"; focus: true
-
-    Keys.onPressed: {
-        if (event.key == Qt.Key_Delete || event.key == Qt.Key_Backspace)
-            container.remove()
-        else if (event.text != "") {
-            container.append(event.text)
-        }
-    }
-
-    function append(text) {
-        container.animated = false
-        var lastLetter = container.children[container.children.length - 1]
-        var newLetter = letterComponent.createObject(container)
-        newLetter.text = text
-        newLetter.follow = lastLetter
-        container.animated = true
-    }
-
-    function remove() {
-        if (container.children.length)
-            container.children[container.children.length - 1].destroy()
-    }
-
-    function doLayout() {
-        var follow = null
-        for (var i = 0; i < container.text.length; ++i) {
-            var newLetter = letterComponent.createObject(container)
-            newLetter.text = container.text[i]
-            newLetter.follow = follow
-            follow = newLetter
-        }
-    }
-
-    Component {
-        id: letterComponent
-        Text {
-            id: letter
-            property variant follow
-
-            x: follow ? follow.x + follow.width : container.width / 3
-            y: follow ? follow.y : container.height / 2
-
-            font.pixelSize: 40; font.bold: true
-            color: "#999999"; styleColor: "#222222"; style: Text.Raised
-
-            MouseArea {
-                anchors.fill: parent
-                drag.target: letter; drag.axis: Drag.XandYAxis
-                onPressed: letter.color = "#dddddd"
-                onReleased: letter.color = "#999999"
-            }
-
-            Behavior on x { enabled: container.animated; SpringAnimation { spring: 3; damping: 0.3; mass: 1.0 } }
-            Behavior on y { enabled: container.animated; SpringAnimation { spring: 3; damping: 0.3; mass: 1.0 } }
-        }
-    }
-
-    Component.onCompleted: doLayout()
-}
-- 
cgit v0.12


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

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

Merge-request: 2719
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
---
 .../animation/easing/content/QuitButton.qml        |  52 ------
 examples/declarative/animation/easing/easing.pro   |   4 +-
 .../declarative/animation/easing/easing.qmlproject |  16 ++
 examples/declarative/animation/easing/main.cpp     |   2 +-
 .../animation/easing/qml/content/QuitButton.qml    |  52 ------
 .../animation/easing/qml/content/quit.png          | Bin 583 -> 0 bytes
 .../declarative/animation/easing/qml/easing.qml    | 159 -----------------
 .../animation/easing/qml/easing.qmlproject         |  16 --
 .../easing/qml/easing/content/QuitButton.qml       |  52 ++++++
 .../animation/easing/qml/easing/content/quit.png   | Bin 0 -> 583 bytes
 .../animation/easing/qml/easing/easing.qml         | 159 +++++++++++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 14 files changed, 230 insertions(+), 712 deletions(-)
 delete mode 100644 examples/declarative/animation/easing/content/QuitButton.qml
 create mode 100644 examples/declarative/animation/easing/easing.qmlproject
 delete mode 100644 examples/declarative/animation/easing/qml/content/QuitButton.qml
 delete mode 100644 examples/declarative/animation/easing/qml/content/quit.png
 delete mode 100644 examples/declarative/animation/easing/qml/easing.qml
 delete mode 100644 examples/declarative/animation/easing/qml/easing.qmlproject
 create mode 100644 examples/declarative/animation/easing/qml/easing/content/QuitButton.qml
 create mode 100644 examples/declarative/animation/easing/qml/easing/content/quit.png
 create mode 100644 examples/declarative/animation/easing/qml/easing/easing.qml
 delete mode 100644 examples/declarative/animation/easing/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/animation/easing/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/animation/easing/qmlapplicationviewer/qmlapplicationviewer.pri

diff --git a/examples/declarative/animation/easing/content/QuitButton.qml b/examples/declarative/animation/easing/content/QuitButton.qml
deleted file mode 100644
index 39f8f77..0000000
--- a/examples/declarative/animation/easing/content/QuitButton.qml
+++ /dev/null
@@ -1,52 +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
-Image {
-    source: "quit.png"
-    scale: quitMouse.pressed ? 0.8 : 1.0
-    smooth: quitMouse.pressed
-    MouseArea {
-        id: quitMouse
-        anchors.fill: parent
-        anchors.margins: -10
-        onClicked: Qt.quit()
-    }
-}
diff --git a/examples/declarative/animation/easing/easing.pro b/examples/declarative/animation/easing/easing.pro
index 3273d9f..1f003b1 100644
--- a/examples/declarative/animation/easing/easing.pro
+++ b/examples/declarative/animation/easing/easing.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/easing
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEAA54148
 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/easing/easing.qmlproject b/examples/declarative/animation/easing/easing.qmlproject
new file mode 100644
index 0000000..e74e7e1
--- /dev/null
+++ b/examples/declarative/animation/easing/easing.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/easing"
+    }
+    JavaScriptFiles {
+        directory: "qml/easing"
+    }
+    ImageFiles {
+        directory: "qml/easing"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/animation/easing/main.cpp b/examples/declarative/animation/easing/main.cpp
index c0151a1..44e2afe 100644
--- a/examples/declarative/animation/easing/main.cpp
+++ b/examples/declarative/animation/easing/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/easing.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/easing/easing.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/animation/easing/qml/content/QuitButton.qml b/examples/declarative/animation/easing/qml/content/QuitButton.qml
deleted file mode 100644
index cbbf916..0000000
--- a/examples/declarative/animation/easing/qml/content/QuitButton.qml
+++ /dev/null
@@ -1,52 +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
-Image {
-    source: "quit.png"
-    scale: quitMouse.pressed ? 0.8 : 1.0
-    smooth: quitMouse.pressed
-    MouseArea {
-        id: quitMouse
-        anchors.fill: parent
-        anchors.margins: -10
-        onClicked: Qt.quit()
-    }
-}
diff --git a/examples/declarative/animation/easing/qml/content/quit.png b/examples/declarative/animation/easing/qml/content/quit.png
deleted file mode 100644
index b822057..0000000
Binary files a/examples/declarative/animation/easing/qml/content/quit.png and /dev/null differ
diff --git a/examples/declarative/animation/easing/qml/easing.qml b/examples/declarative/animation/easing/qml/easing.qml
deleted file mode 100644
index fd974d9..0000000
--- a/examples/declarative/animation/easing/qml/easing.qml
+++ /dev/null
@@ -1,159 +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
-import "content"
-
-Rectangle {
-    id: window
-    width: 600; height: 460; color: "#232323"
-
-    ListModel {
-        id: easingTypes
-        ListElement { name: "Easing.Linear"; type: Easing.Linear; ballColor: "DarkRed" }
-        ListElement { name: "Easing.InQuad"; type: Easing.InQuad; ballColor: "IndianRed" }
-        ListElement { name: "Easing.OutQuad"; type: Easing.OutQuad; ballColor: "Salmon" }
-        ListElement { name: "Easing.InOutQuad"; type: Easing.InOutQuad; ballColor: "Tomato" }
-        ListElement { name: "Easing.OutInQuad"; type: Easing.OutInQuad; ballColor: "DarkOrange" }
-        ListElement { name: "Easing.InCubic"; type: Easing.InCubic; ballColor: "Gold" }
-        ListElement { name: "Easing.OutCubic"; type: Easing.OutCubic; ballColor: "Yellow" }
-        ListElement { name: "Easing.InOutCubic"; type: Easing.InOutCubic; ballColor: "PeachPuff" }
-        ListElement { name: "Easing.OutInCubic"; type: Easing.OutInCubic; ballColor: "Thistle" }
-        ListElement { name: "Easing.InQuart"; type: Easing.InQuart; ballColor: "Orchid" }
-        ListElement { name: "Easing.OutQuart"; type: Easing.OutQuart; ballColor: "Purple" }
-        ListElement { name: "Easing.InOutQuart"; type: Easing.InOutQuart; ballColor: "SlateBlue" }
-        ListElement { name: "Easing.OutInQuart"; type: Easing.OutInQuart; ballColor: "Chartreuse" }
-        ListElement { name: "Easing.InQuint"; type: Easing.InQuint; ballColor: "LimeGreen" }
-        ListElement { name: "Easing.OutQuint"; type: Easing.OutQuint; ballColor: "SeaGreen" }
-        ListElement { name: "Easing.InOutQuint"; type: Easing.InOutQuint; ballColor: "DarkGreen" }
-        ListElement { name: "Easing.OutInQuint"; type: Easing.OutInQuint; ballColor: "Olive" }
-        ListElement { name: "Easing.InSine"; type: Easing.InSine; ballColor: "DarkSeaGreen" }
-        ListElement { name: "Easing.OutSine"; type: Easing.OutSine; ballColor: "Teal" }
-        ListElement { name: "Easing.InOutSine"; type: Easing.InOutSine; ballColor: "Turquoise" }
-        ListElement { name: "Easing.OutInSine"; type: Easing.OutInSine; ballColor: "SteelBlue" }
-        ListElement { name: "Easing.InExpo"; type: Easing.InExpo; ballColor: "SkyBlue" }
-        ListElement { name: "Easing.OutExpo"; type: Easing.OutExpo; ballColor: "RoyalBlue" }
-        ListElement { name: "Easing.InOutExpo"; type: Easing.InOutExpo; ballColor: "MediumBlue" }
-        ListElement { name: "Easing.OutInExpo"; type: Easing.OutInExpo; ballColor: "MidnightBlue" }
-        ListElement { name: "Easing.InCirc"; type: Easing.InCirc; ballColor: "CornSilk" }
-        ListElement { name: "Easing.OutCirc"; type: Easing.OutCirc; ballColor: "Bisque" }
-        ListElement { name: "Easing.InOutCirc"; type: Easing.InOutCirc; ballColor: "RosyBrown" }
-        ListElement { name: "Easing.OutInCirc"; type: Easing.OutInCirc; ballColor: "SandyBrown" }
-        ListElement { name: "Easing.InElastic"; type: Easing.InElastic; ballColor: "DarkGoldenRod" }
-        ListElement { name: "Easing.OutElastic"; type: Easing.OutElastic; ballColor: "Chocolate" }
-        ListElement { name: "Easing.InOutElastic"; type: Easing.InOutElastic; ballColor: "SaddleBrown" }
-        ListElement { name: "Easing.OutInElastic"; type: Easing.OutInElastic; ballColor: "Brown" }
-        ListElement { name: "Easing.InBack"; type: Easing.InBack; ballColor: "Maroon" }
-        ListElement { name: "Easing.OutBack"; type: Easing.OutBack; ballColor: "LavenderBlush" }
-        ListElement { name: "Easing.InOutBack"; type: Easing.InOutBack; ballColor: "MistyRose" }
-        ListElement { name: "Easing.OutInBack"; type: Easing.OutInBack; ballColor: "Gainsboro" }
-        ListElement { name: "Easing.OutBounce"; type: Easing.OutBounce; ballColor: "Silver" }
-        ListElement { name: "Easing.InBounce"; type: Easing.InBounce; ballColor: "DimGray" }
-        ListElement { name: "Easing.InOutBounce"; type: Easing.InOutBounce; ballColor: "SlateGray" }
-        ListElement { name: "Easing.OutInBounce"; type: Easing.OutInBounce; ballColor: "DarkSlateGray" }
-    }
-
-    Component {
-        id: delegate
-
-        Item {
-            height: 56; width: window.width
-
-            Text { text: name; anchors.centerIn: parent; color: "White" }
-
-            Rectangle {
-                id: slot1; color: "#121212"; x: 30; height: 46; width: 46
-                border.color: "#343434"; border.width: 1; radius: 12
-                anchors.verticalCenter: parent.verticalCenter
-            }
-
-            Rectangle {
-                id: slot2; color: "#121212"; x: window.width - 76; height: 46; width: 46
-                border.color: "#343434"; border.width: 1; radius: 12
-                anchors.verticalCenter: parent.verticalCenter
-            }
-
-            Rectangle {
-                id: rect; x: 30; color: "#454545"
-                border.color: "White"; border.width: 2
-                height: 46; width: 46; radius: 12
-                anchors.verticalCenter: parent.verticalCenter
-
-                MouseArea {
-                    onClicked: if (rect.state == '') rect.state = "right"; else rect.state = ''
-                    anchors.fill: parent
-                    anchors.margins: -5 // Make MouseArea bigger than the rectangle, itself
-                }
-
-                states : State {
-                    name: "right"
-                    PropertyChanges { target: rect; x: window.width - 76; color: ballColor }
-                }
-
-                transitions: Transition {
-                    NumberAnimation { properties: "x"; easing.type: type; duration: 1000 }
-                    ColorAnimation { properties: "color"; easing.type: type; duration: 1000 }
-                }
-            }
-        }
-    }
-
-    Flickable {
-        anchors.fill: parent
-        contentHeight: layout.height+50
-        Rectangle {
-            id: titlePane
-            color: "#444444"
-            height: 35
-            anchors { top: parent.top; left: parent.left; right: parent.right }
-            QuitButton {
-                id: quitButton
-                anchors.verticalCenter: parent.verticalCenter
-                anchors.right: parent.right
-                anchors.rightMargin: 10
-            }
-        }
-        Column {
-            id: layout
-            anchors { top: titlePane.bottom; topMargin: 10; left: parent.left; right: parent.right }
-            Repeater { model: easingTypes; delegate: delegate }
-        }
-    }
-}
diff --git a/examples/declarative/animation/easing/qml/easing.qmlproject b/examples/declarative/animation/easing/qml/easing.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/animation/easing/qml/easing.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/easing/qml/easing/content/QuitButton.qml b/examples/declarative/animation/easing/qml/easing/content/QuitButton.qml
new file mode 100644
index 0000000..cbbf916
--- /dev/null
+++ b/examples/declarative/animation/easing/qml/easing/content/QuitButton.qml
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** 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
+Image {
+    source: "quit.png"
+    scale: quitMouse.pressed ? 0.8 : 1.0
+    smooth: quitMouse.pressed
+    MouseArea {
+        id: quitMouse
+        anchors.fill: parent
+        anchors.margins: -10
+        onClicked: Qt.quit()
+    }
+}
diff --git a/examples/declarative/animation/easing/qml/easing/content/quit.png b/examples/declarative/animation/easing/qml/easing/content/quit.png
new file mode 100644
index 0000000..b822057
Binary files /dev/null and b/examples/declarative/animation/easing/qml/easing/content/quit.png differ
diff --git a/examples/declarative/animation/easing/qml/easing/easing.qml b/examples/declarative/animation/easing/qml/easing/easing.qml
new file mode 100644
index 0000000..fd974d9
--- /dev/null
+++ b/examples/declarative/animation/easing/qml/easing/easing.qml
@@ -0,0 +1,159 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+Rectangle {
+    id: window
+    width: 600; height: 460; color: "#232323"
+
+    ListModel {
+        id: easingTypes
+        ListElement { name: "Easing.Linear"; type: Easing.Linear; ballColor: "DarkRed" }
+        ListElement { name: "Easing.InQuad"; type: Easing.InQuad; ballColor: "IndianRed" }
+        ListElement { name: "Easing.OutQuad"; type: Easing.OutQuad; ballColor: "Salmon" }
+        ListElement { name: "Easing.InOutQuad"; type: Easing.InOutQuad; ballColor: "Tomato" }
+        ListElement { name: "Easing.OutInQuad"; type: Easing.OutInQuad; ballColor: "DarkOrange" }
+        ListElement { name: "Easing.InCubic"; type: Easing.InCubic; ballColor: "Gold" }
+        ListElement { name: "Easing.OutCubic"; type: Easing.OutCubic; ballColor: "Yellow" }
+        ListElement { name: "Easing.InOutCubic"; type: Easing.InOutCubic; ballColor: "PeachPuff" }
+        ListElement { name: "Easing.OutInCubic"; type: Easing.OutInCubic; ballColor: "Thistle" }
+        ListElement { name: "Easing.InQuart"; type: Easing.InQuart; ballColor: "Orchid" }
+        ListElement { name: "Easing.OutQuart"; type: Easing.OutQuart; ballColor: "Purple" }
+        ListElement { name: "Easing.InOutQuart"; type: Easing.InOutQuart; ballColor: "SlateBlue" }
+        ListElement { name: "Easing.OutInQuart"; type: Easing.OutInQuart; ballColor: "Chartreuse" }
+        ListElement { name: "Easing.InQuint"; type: Easing.InQuint; ballColor: "LimeGreen" }
+        ListElement { name: "Easing.OutQuint"; type: Easing.OutQuint; ballColor: "SeaGreen" }
+        ListElement { name: "Easing.InOutQuint"; type: Easing.InOutQuint; ballColor: "DarkGreen" }
+        ListElement { name: "Easing.OutInQuint"; type: Easing.OutInQuint; ballColor: "Olive" }
+        ListElement { name: "Easing.InSine"; type: Easing.InSine; ballColor: "DarkSeaGreen" }
+        ListElement { name: "Easing.OutSine"; type: Easing.OutSine; ballColor: "Teal" }
+        ListElement { name: "Easing.InOutSine"; type: Easing.InOutSine; ballColor: "Turquoise" }
+        ListElement { name: "Easing.OutInSine"; type: Easing.OutInSine; ballColor: "SteelBlue" }
+        ListElement { name: "Easing.InExpo"; type: Easing.InExpo; ballColor: "SkyBlue" }
+        ListElement { name: "Easing.OutExpo"; type: Easing.OutExpo; ballColor: "RoyalBlue" }
+        ListElement { name: "Easing.InOutExpo"; type: Easing.InOutExpo; ballColor: "MediumBlue" }
+        ListElement { name: "Easing.OutInExpo"; type: Easing.OutInExpo; ballColor: "MidnightBlue" }
+        ListElement { name: "Easing.InCirc"; type: Easing.InCirc; ballColor: "CornSilk" }
+        ListElement { name: "Easing.OutCirc"; type: Easing.OutCirc; ballColor: "Bisque" }
+        ListElement { name: "Easing.InOutCirc"; type: Easing.InOutCirc; ballColor: "RosyBrown" }
+        ListElement { name: "Easing.OutInCirc"; type: Easing.OutInCirc; ballColor: "SandyBrown" }
+        ListElement { name: "Easing.InElastic"; type: Easing.InElastic; ballColor: "DarkGoldenRod" }
+        ListElement { name: "Easing.OutElastic"; type: Easing.OutElastic; ballColor: "Chocolate" }
+        ListElement { name: "Easing.InOutElastic"; type: Easing.InOutElastic; ballColor: "SaddleBrown" }
+        ListElement { name: "Easing.OutInElastic"; type: Easing.OutInElastic; ballColor: "Brown" }
+        ListElement { name: "Easing.InBack"; type: Easing.InBack; ballColor: "Maroon" }
+        ListElement { name: "Easing.OutBack"; type: Easing.OutBack; ballColor: "LavenderBlush" }
+        ListElement { name: "Easing.InOutBack"; type: Easing.InOutBack; ballColor: "MistyRose" }
+        ListElement { name: "Easing.OutInBack"; type: Easing.OutInBack; ballColor: "Gainsboro" }
+        ListElement { name: "Easing.OutBounce"; type: Easing.OutBounce; ballColor: "Silver" }
+        ListElement { name: "Easing.InBounce"; type: Easing.InBounce; ballColor: "DimGray" }
+        ListElement { name: "Easing.InOutBounce"; type: Easing.InOutBounce; ballColor: "SlateGray" }
+        ListElement { name: "Easing.OutInBounce"; type: Easing.OutInBounce; ballColor: "DarkSlateGray" }
+    }
+
+    Component {
+        id: delegate
+
+        Item {
+            height: 56; width: window.width
+
+            Text { text: name; anchors.centerIn: parent; color: "White" }
+
+            Rectangle {
+                id: slot1; color: "#121212"; x: 30; height: 46; width: 46
+                border.color: "#343434"; border.width: 1; radius: 12
+                anchors.verticalCenter: parent.verticalCenter
+            }
+
+            Rectangle {
+                id: slot2; color: "#121212"; x: window.width - 76; height: 46; width: 46
+                border.color: "#343434"; border.width: 1; radius: 12
+                anchors.verticalCenter: parent.verticalCenter
+            }
+
+            Rectangle {
+                id: rect; x: 30; color: "#454545"
+                border.color: "White"; border.width: 2
+                height: 46; width: 46; radius: 12
+                anchors.verticalCenter: parent.verticalCenter
+
+                MouseArea {
+                    onClicked: if (rect.state == '') rect.state = "right"; else rect.state = ''
+                    anchors.fill: parent
+                    anchors.margins: -5 // Make MouseArea bigger than the rectangle, itself
+                }
+
+                states : State {
+                    name: "right"
+                    PropertyChanges { target: rect; x: window.width - 76; color: ballColor }
+                }
+
+                transitions: Transition {
+                    NumberAnimation { properties: "x"; easing.type: type; duration: 1000 }
+                    ColorAnimation { properties: "color"; easing.type: type; duration: 1000 }
+                }
+            }
+        }
+    }
+
+    Flickable {
+        anchors.fill: parent
+        contentHeight: layout.height+50
+        Rectangle {
+            id: titlePane
+            color: "#444444"
+            height: 35
+            anchors { top: parent.top; left: parent.left; right: parent.right }
+            QuitButton {
+                id: quitButton
+                anchors.verticalCenter: parent.verticalCenter
+                anchors.right: parent.right
+                anchors.rightMargin: 10
+            }
+        }
+        Column {
+            id: layout
+            anchors { top: titlePane.bottom; topMargin: 10; left: parent.left; right: parent.right }
+            Repeater { model: easingTypes; delegate: delegate }
+        }
+    }
+}
diff --git a/examples/declarative/animation/easing/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/animation/easing/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/animation/easing/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/easing/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/animation/easing/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/animation/easing/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/easing/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/animation/easing/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/animation/easing/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)
-}
-- 
cgit v0.12


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


From 3a750ac1b575efb2da50557483d6a1c3e1813c9d Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:41 +0100
Subject: cppextensions/networkaccessmanagerfactory modifications

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

Merge-request: 2719
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
---
 .../networkaccessmanagerfactory/main.cpp           | 16 ++++----
 .../networkaccessmanagerfactory.pro                | 46 +++++++++++++++++----
 .../networkaccessmanagerfactory.qmlproject         |  6 +--
 .../networkaccessmanagerfactory.qrc                |  8 ++--
 .../qml/networkaccessmanagerfactory/view.qml       | 47 ++++++++++++++++++++++
 .../networkaccessmanagerfactory/view.qml           | 47 ----------------------
 6 files changed, 99 insertions(+), 71 deletions(-)
 create mode 100644 examples/declarative/cppextensions/networkaccessmanagerfactory/qml/networkaccessmanagerfactory/view.qml
 delete mode 100644 examples/declarative/cppextensions/networkaccessmanagerfactory/view.qml

diff --git a/examples/declarative/cppextensions/networkaccessmanagerfactory/main.cpp b/examples/declarative/cppextensions/networkaccessmanagerfactory/main.cpp
index 665feac..3a73068 100644
--- a/examples/declarative/cppextensions/networkaccessmanagerfactory/main.cpp
+++ b/examples/declarative/cppextensions/networkaccessmanagerfactory/main.cpp
@@ -41,11 +41,9 @@
 #include <QApplication>
 #include <QNetworkAccessManager>
 #include <QNetworkProxy>
-
 #include <QDeclarativeEngine>
 #include <QDeclarativeNetworkAccessManagerFactory>
-#include <QDeclarativeView>
-
+#include "qmlapplicationviewer.h"
 
 /*
    This example illustrates using a QDeclarativeNetworkAccessManagerFactory to
@@ -78,9 +76,10 @@ QNetworkAccessManager *MyNetworkAccessManagerFactory::create(QObject *parent)
 
 int main(int argc, char ** argv)
 {
-    QUrl source("qrc:view.qml");
+    QUrl source("qml/networkaccessmanagerfactory/view.qml");
 
     QApplication app(argc, argv);
+    QmlApplicationViewer viewer;
 
     for (int i = 1; i < argc; ++i) {
         QString arg(argv[i]);
@@ -97,11 +96,10 @@ int main(int argc, char ** argv)
         }
     }
 
-    QDeclarativeView view;
-    view.engine()->setNetworkAccessManagerFactory(new MyNetworkAccessManagerFactory);
-
-    view.setSource(source);
-    view.show();
+    viewer.engine()->setNetworkAccessManagerFactory(new MyNetworkAccessManagerFactory);
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
+    viewer.setMainQmlFile(source.toString());
+    viewer.showExpanded();
 
     return app.exec();
 }
diff --git a/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.pro b/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.pro
index 74d8db3..66ce4b1 100644
--- a/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.pro
+++ b/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.pro
@@ -1,9 +1,39 @@
-TEMPLATE = app
-TARGET = networkaccessmanagerfactory
-DEPENDPATH += .
-INCLUDEPATH += .
-QT += declarative network
-
-# Input
-SOURCES += main.cpp 
+# Add more folders to ship with the application, here
+folder_01.source = qml/networkaccessmanagerfactory
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE1CB8EBB
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+QT += network
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
 RESOURCES += networkaccessmanagerfactory.qrc
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.qmlproject b/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.qmlproject
index d4909f8..7f870a1 100644
--- a/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.qmlproject
+++ b/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/networkaccessmanagerfactory"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/networkaccessmanagerfactory"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/networkaccessmanagerfactory"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.qrc b/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.qrc
index 17e9301..a5341c1 100644
--- a/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.qrc
+++ b/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.qrc
@@ -1,5 +1,5 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource>
-    <file>view.qml</file>
-</qresource>
+<RCC>
+    <qresource prefix="/">
+        <file>qml/networkaccessmanagerfactory/view.qml</file>
+    </qresource>
 </RCC>
diff --git a/examples/declarative/cppextensions/networkaccessmanagerfactory/qml/networkaccessmanagerfactory/view.qml b/examples/declarative/cppextensions/networkaccessmanagerfactory/qml/networkaccessmanagerfactory/view.qml
new file mode 100644
index 0000000..e002ef6
--- /dev/null
+++ b/examples/declarative/cppextensions/networkaccessmanagerfactory/qml/networkaccessmanagerfactory/view.qml
@@ -0,0 +1,47 @@
+/****************************************************************************
+**
+** 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
+
+Image {
+    width: 100
+    height: 100
+    source: "http://qt.nokia.com/logo.png"
+}
diff --git a/examples/declarative/cppextensions/networkaccessmanagerfactory/view.qml b/examples/declarative/cppextensions/networkaccessmanagerfactory/view.qml
deleted file mode 100644
index e002ef6..0000000
--- a/examples/declarative/cppextensions/networkaccessmanagerfactory/view.qml
+++ /dev/null
@@ -1,47 +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
-
-Image {
-    width: 100
-    height: 100
-    source: "http://qt.nokia.com/logo.png"
-}
-- 
cgit v0.12


From 4446847282855b00e66dc61e6a07edcad6939e63 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:42 +0100
Subject: cppextensions/qgraphicslayouts examples modifications

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

Merge-request: 2719
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
---
 .../qgraphicsgridlayout/gridlayout.qrc             |   9 +-
 .../qgraphicslayouts/qgraphicsgridlayout/main.cpp  |  12 +--
 .../qgraphicsgridlayout/qgraphicsgridlayout.pro    |  55 +++++++++++-
 .../qgraphicsgridlayout/qgraphicsgridlayout.qml    | 100 ---------------------
 .../qgraphicsgridlayout/qgraphicsgridlayout.qml    | 100 +++++++++++++++++++++
 .../qgraphicslinearlayout/linearlayout.qrc         |   9 +-
 .../qgraphicslinearlayout/main.cpp                 |  12 +--
 .../qgraphicslinearlayout.pro                      |  52 ++++++++++-
 .../qgraphicslinearlayout.qml                      |  79 ----------------
 .../qgraphicslinearlayout.qml                      |  79 ++++++++++++++++
 10 files changed, 299 insertions(+), 208 deletions(-)
 delete mode 100644 examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.qml
 create mode 100644 examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qml/qgraphicsgridlayout/qgraphicsgridlayout.qml
 delete mode 100644 examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.qml
 create mode 100644 examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qml/qgraphicslinearlayout/qgraphicslinearlayout.qml

diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.qrc b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.qrc
index bdf8312..112b6f0 100644
--- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.qrc
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.qrc
@@ -1,6 +1,5 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource>
-    <file>qgraphicsgridlayout.qml</file>
-</qresource>
+<RCC>
+    <qresource prefix="/">
+        <file>qml/qgraphicsgridlayout/qgraphicsgridlayout.qml</file>
+    </qresource>
 </RCC>
-
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/main.cpp b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/main.cpp
index 6525cb3..2c42cd9 100644
--- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/main.cpp
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/main.cpp
@@ -39,10 +39,9 @@
 ****************************************************************************/
 
 #include "gridlayout.h"
-
+#include "qmlapplicationviewer.h"
 #include <qdeclarative.h>
 #include <QDeclarativeView>
-
 #include <QApplication>
 
 int main(int argc, char* argv[])
@@ -53,11 +52,12 @@ int main(int argc, char* argv[])
     qmlRegisterInterface<QGraphicsLayout>("QGraphicsLayout");
     qmlRegisterType<GraphicsGridLayoutObject>("GridLayouts", 4, 7, "GraphicsGridLayout");
 
-    QDeclarativeView view;
-    view.setSource(QUrl(":qgraphicsgridlayout.qml"));
-    view.show();
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile("qml/qgraphicsgridlayout/qgraphicsgridlayout.qml");
+    viewer.showExpanded();
 
     return app.exec();
-};
+}
 
 
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro
index ae6373d..d39a50f 100644
--- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro
@@ -1,7 +1,53 @@
-TEMPLATE = app
-TARGET  = qgraphicsgridlayout
-QT += declarative
+#TEMPLATE = app
+#TARGET  = qgraphicsgridlayout
+#QT += declarative
 
+#SOURCES += \
+#    gridlayout.cpp \
+#    main.cpp
+
+#HEADERS += \
+#    gridlayout.h
+
+#RESOURCES += \
+#    gridlayout.qrc
+
+
+
+
+# Add more folders to ship with the application, here
+folder_01.source = qml/qgraphicsgridlayout
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE7E0DF63
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+QT += network
+
+# The .cpp file which was generated for your project. Feel free to hack it.
 SOURCES += \
     gridlayout.cpp \
     main.cpp
@@ -12,4 +58,7 @@ HEADERS += \
 RESOURCES += \
     gridlayout.qrc
 
+# Please do not modify the following two lines. Required for deployment.
+include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
 
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.qml b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.qml
deleted file mode 100644
index 6780a5a..0000000
--- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.qml
+++ /dev/null
@@ -1,100 +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
-import GridLayouts 4.7
-
-Item {
-    width: 400
-    height: 400
-
-    QGraphicsWidget {
-        size.width: parent.width
-        size.height: parent.height
-
-        /*
-            Below we create a grid layout using the GraphicsGridLayout item 
-            (defined by the GraphicsGridLayoutObject class in gridlayout.h). 
-
-            The row, column etc. are set through attached properties on
-            GraphicsGridLayout, using the properties defined in the 
-            GridLayoutAttached class (also defined in gridlayout.h).
-        */
-
-        layout: GraphicsGridLayout {
-            LayoutItem {
-                GraphicsGridLayout.row: 0
-                GraphicsGridLayout.column: 0
-                minimumSize: "100x100"
-                maximumSize: "300x300"
-                preferredSize: "200x200"
-                Rectangle { color: "red"; anchors.fill: parent }
-            }
-            LayoutItem {
-                GraphicsGridLayout.row: 0
-                GraphicsGridLayout.column: 1
-                minimumSize: "100x100"
-                maximumSize: "200x200"
-                preferredSize: "200x200"
-                Rectangle { color: "orange"; anchors.fill: parent }
-            }
-            LayoutItem {
-                GraphicsGridLayout.row: 1
-                GraphicsGridLayout.column: 0
-                GraphicsGridLayout.columnSpan: 2
-                minimumSize: "100x100"
-                Rectangle { color: "yellow"; anchors.fill: parent }
-            }
-            LayoutItem {
-                GraphicsGridLayout.row: 2
-                GraphicsGridLayout.column: 0
-                preferredSize: "200x200"
-                Rectangle { color: "green"; anchors.fill: parent }
-            }
-            LayoutItem {
-                GraphicsGridLayout.row: 2
-                GraphicsGridLayout.column: 1
-                preferredSize: "200x200"
-                Rectangle { color: "blue"; anchors.fill: parent }
-            }
-        }
-    }
-}
-
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qml/qgraphicsgridlayout/qgraphicsgridlayout.qml b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qml/qgraphicsgridlayout/qgraphicsgridlayout.qml
new file mode 100644
index 0000000..6780a5a
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qml/qgraphicsgridlayout/qgraphicsgridlayout.qml
@@ -0,0 +1,100 @@
+/****************************************************************************
+**
+** 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
+import GridLayouts 4.7
+
+Item {
+    width: 400
+    height: 400
+
+    QGraphicsWidget {
+        size.width: parent.width
+        size.height: parent.height
+
+        /*
+            Below we create a grid layout using the GraphicsGridLayout item 
+            (defined by the GraphicsGridLayoutObject class in gridlayout.h). 
+
+            The row, column etc. are set through attached properties on
+            GraphicsGridLayout, using the properties defined in the 
+            GridLayoutAttached class (also defined in gridlayout.h).
+        */
+
+        layout: GraphicsGridLayout {
+            LayoutItem {
+                GraphicsGridLayout.row: 0
+                GraphicsGridLayout.column: 0
+                minimumSize: "100x100"
+                maximumSize: "300x300"
+                preferredSize: "200x200"
+                Rectangle { color: "red"; anchors.fill: parent }
+            }
+            LayoutItem {
+                GraphicsGridLayout.row: 0
+                GraphicsGridLayout.column: 1
+                minimumSize: "100x100"
+                maximumSize: "200x200"
+                preferredSize: "200x200"
+                Rectangle { color: "orange"; anchors.fill: parent }
+            }
+            LayoutItem {
+                GraphicsGridLayout.row: 1
+                GraphicsGridLayout.column: 0
+                GraphicsGridLayout.columnSpan: 2
+                minimumSize: "100x100"
+                Rectangle { color: "yellow"; anchors.fill: parent }
+            }
+            LayoutItem {
+                GraphicsGridLayout.row: 2
+                GraphicsGridLayout.column: 0
+                preferredSize: "200x200"
+                Rectangle { color: "green"; anchors.fill: parent }
+            }
+            LayoutItem {
+                GraphicsGridLayout.row: 2
+                GraphicsGridLayout.column: 1
+                preferredSize: "200x200"
+                Rectangle { color: "blue"; anchors.fill: parent }
+            }
+        }
+    }
+}
+
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.qrc b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.qrc
index 93a3533..9686f9b 100644
--- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.qrc
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.qrc
@@ -1,6 +1,5 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource>
-    <file>qgraphicslinearlayout.qml</file>
-</qresource>
+<RCC>
+    <qresource prefix="/">
+        <file>qml/qgraphicslinearlayout/qgraphicslinearlayout.qml</file>
+    </qresource>
 </RCC>
-
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/main.cpp b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/main.cpp
index f8d08c2..3299c70 100644
--- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/main.cpp
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/main.cpp
@@ -39,10 +39,9 @@
 ****************************************************************************/
 
 #include "linearlayout.h"
-
+#include "qmlapplicationviewer.h"
 #include <qdeclarative.h>
 #include <QDeclarativeView>
-
 #include <QApplication>
 
 int main(int argc, char* argv[])
@@ -54,11 +53,12 @@ int main(int argc, char* argv[])
     qmlRegisterType<GraphicsLinearLayoutStretchItemObject>("LinearLayouts", 4, 7, "GraphicsLinearLayoutStretchItem");
     qmlRegisterType<GraphicsLinearLayoutObject>("LinearLayouts", 4, 7, "GraphicsLinearLayout");
 
-    QDeclarativeView view;
-    view.setSource(QUrl(":qgraphicslinearlayout.qml"));
-    view.show();
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile("qml/qgraphicslinearlayout/qgraphicslinearlayout.qml");
+    viewer.showExpanded();
 
     return app.exec();
-};
+}
 
 
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro
index 79eb6ff..0e83cfa 100644
--- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro
@@ -1,7 +1,49 @@
-TEMPLATE = app
-TARGET  = qgraphicslinearlayout
-QT += declarative
+#TEMPLATE = app
+#TARGET  = qgraphicslinearlayout
+#QT += declarative
 
+#SOURCES += \
+#    linearlayout.cpp \
+#    main.cpp
+
+#HEADERS += \
+#    linearlayout.h
+
+#RESOURCES += \
+#    linearlayout.qrc
+
+# Add more folders to ship with the application, here
+folder_01.source = qml/qgraphicslinearlayout
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE7D233DA
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
 SOURCES += \
     linearlayout.cpp \
     main.cpp
@@ -12,4 +54,6 @@ HEADERS += \
 RESOURCES += \
     linearlayout.qrc
 
-
+# Please do not modify the following two lines. Required for deployment.
+include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.qml b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.qml
deleted file mode 100644
index a7d79e5..0000000
--- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.qml
+++ /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 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
-import LinearLayouts 4.7
-
-Item {
-    width: 400
-    height: 400
-
-    QGraphicsWidget {
-        size.width: parent.width
-        size.height: parent.height
-
-        /*
-            Below we create a linear layout using the GraphicsLinearLayout item 
-            (defined by the GraphicsLinearLayoutObject class in linearlayout.h). 
-
-            The first LayoutItem uses 'GraphicsLinearLayout.spacing' to set the
-            item's spacing: this is an attached property, set using the 
-            properties defined in the LinearLayoutAttached class (also defined
-            in linearlayout.h).
-        */
-
-        layout: GraphicsLinearLayout {
-            LayoutItem {
-                GraphicsLinearLayout.spacing: 50
-                minimumSize: "100x100"
-                maximumSize: "200x200"
-                preferredSize: "100x100"
-                Rectangle { color: "yellow"; anchors.fill: parent }
-            }
-            LayoutItem {
-                minimumSize: "100x100"
-                maximumSize: "400x400"
-                preferredSize: "300x300"
-                Rectangle { color: "green"; anchors.fill: parent }
-            }
-        }
-    }
-}
-
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qml/qgraphicslinearlayout/qgraphicslinearlayout.qml b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qml/qgraphicslinearlayout/qgraphicslinearlayout.qml
new file mode 100644
index 0000000..a7d79e5
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qml/qgraphicslinearlayout/qgraphicslinearlayout.qml
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** 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
+import LinearLayouts 4.7
+
+Item {
+    width: 400
+    height: 400
+
+    QGraphicsWidget {
+        size.width: parent.width
+        size.height: parent.height
+
+        /*
+            Below we create a linear layout using the GraphicsLinearLayout item 
+            (defined by the GraphicsLinearLayoutObject class in linearlayout.h). 
+
+            The first LayoutItem uses 'GraphicsLinearLayout.spacing' to set the
+            item's spacing: this is an attached property, set using the 
+            properties defined in the LinearLayoutAttached class (also defined
+            in linearlayout.h).
+        */
+
+        layout: GraphicsLinearLayout {
+            LayoutItem {
+                GraphicsLinearLayout.spacing: 50
+                minimumSize: "100x100"
+                maximumSize: "200x200"
+                preferredSize: "100x100"
+                Rectangle { color: "yellow"; anchors.fill: parent }
+            }
+            LayoutItem {
+                minimumSize: "100x100"
+                maximumSize: "400x400"
+                preferredSize: "300x300"
+                Rectangle { color: "green"; anchors.fill: parent }
+            }
+        }
+    }
+}
+
-- 
cgit v0.12


From 0ddfafc706938250ca35c7796d8e41fdcb6490e8 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:43 +0100
Subject: i18n 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/i18n/i18n.pro                 |   4 +-
 examples/declarative/i18n/i18n.qml                 |  78 --------
 examples/declarative/i18n/i18n.qmlproject          |  16 ++
 examples/declarative/i18n/main.cpp                 |   2 +-
 examples/declarative/i18n/qml/i18n.qml             |  78 --------
 examples/declarative/i18n/qml/i18n.qmlproject      |  16 --
 examples/declarative/i18n/qml/i18n/i18n.qml        |  78 ++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 10 files changed, 97 insertions(+), 605 deletions(-)
 delete mode 100644 examples/declarative/i18n/i18n.qml
 create mode 100644 examples/declarative/i18n/i18n.qmlproject
 delete mode 100644 examples/declarative/i18n/qml/i18n.qml
 delete mode 100644 examples/declarative/i18n/qml/i18n.qmlproject
 create mode 100644 examples/declarative/i18n/qml/i18n/i18n.qml
 delete mode 100644 examples/declarative/i18n/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/i18n/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/i18n/qmlapplicationviewer/qmlapplicationviewer.pri

diff --git a/examples/declarative/i18n/i18n.pro b/examples/declarative/i18n/i18n.pro
index 184feab..d7cb3a8 100644
--- a/examples/declarative/i18n/i18n.pro
+++ b/examples/declarative/i18n/i18n.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/i18n
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE069582C
 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/i18n/i18n.qml b/examples/declarative/i18n/i18n.qml
deleted file mode 100644
index 3e24f65..0000000
--- a/examples/declarative/i18n/i18n.qml
+++ /dev/null
@@ -1,78 +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
-
-//
-// The QML runtime automatically loads a translation from the i18n subdirectory of the root
-// QML file, based on the system language.
-//
-// The files are created/updated by running:
-//
-//   lupdate i18n.qml -ts i18n/base.ts
-//
-// Translations for new languages are created by copying i18n/base.ts to i18n/qml_<lang>.ts
-// The .ts files can then be edited with Linguist:
-//
-//   linguist i18n/qml_fr.ts
-//
-// The run-time translation files are then generaeted by running:
-//
-//   lrelease i18n/*.ts
-//
-
-Rectangle {
-    width: 640; height: 480
-
-    Column {
-        anchors.fill: parent; spacing: 20
-
-        Text {
-            text: "If a translation is available for the system language (eg. French) then the
-			string below will translated (eg. 'Bonjour'). Otherwise it will show 'Hello'."
-            width: parent.width; wrapMode: Text.WordWrap
-        }
-
-        Text {
-            text: qsTr("Hello")
-            font.pointSize: 25; anchors.horizontalCenter: parent.horizontalCenter
-        }
-    }
-}
diff --git a/examples/declarative/i18n/i18n.qmlproject b/examples/declarative/i18n/i18n.qmlproject
new file mode 100644
index 0000000..4d31a29
--- /dev/null
+++ b/examples/declarative/i18n/i18n.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/i18n"
+    }
+    JavaScriptFiles {
+        directory: "qml/i18n"
+    }
+    ImageFiles {
+        directory: "qml/i18n"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/i18n/main.cpp b/examples/declarative/i18n/main.cpp
index bc650f2..ab0dd98 100644
--- a/examples/declarative/i18n/main.cpp
+++ b/examples/declarative/i18n/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/i18n.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/i18n/i18n.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/i18n/qml/i18n.qml b/examples/declarative/i18n/qml/i18n.qml
deleted file mode 100644
index 219deda..0000000
--- a/examples/declarative/i18n/qml/i18n.qml
+++ /dev/null
@@ -1,78 +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
-
-//
-// The QML runtime automatically loads a translation from the i18n subdirectory of the root
-// QML file, based on the system language.
-//
-// The files are created/updated by running:
-//
-//   lupdate i18n.qml -ts i18n/base.ts
-//
-// Translations for new languages are created by copying i18n/base.ts to i18n/qml_<lang>.ts
-// The .ts files can then be edited with Linguist:
-//
-//   linguist i18n/qml_fr.ts
-//
-// The run-time translation files are then generaeted by running:
-//
-//   lrelease i18n/*.ts
-//
-
-Rectangle {
-    width: 640; height: 480
-
-    Column {
-        anchors.fill: parent; spacing: 20
-
-        Text {
-            text: "If a translation is available for the system language (eg. French) then the
-			string below will translated (eg. 'Bonjour'). Otherwise it will show 'Hello'."
-            width: parent.width; wrapMode: Text.WordWrap
-        }
-
-        Text {
-            text: qsTr("Hello")
-            font.pointSize: 25; anchors.horizontalCenter: parent.horizontalCenter
-        }
-    }
-}
diff --git a/examples/declarative/i18n/qml/i18n.qmlproject b/examples/declarative/i18n/qml/i18n.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/i18n/qml/i18n.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/i18n/qml/i18n/i18n.qml b/examples/declarative/i18n/qml/i18n/i18n.qml
new file mode 100644
index 0000000..219deda
--- /dev/null
+++ b/examples/declarative/i18n/qml/i18n/i18n.qml
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** 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
+
+//
+// The QML runtime automatically loads a translation from the i18n subdirectory of the root
+// QML file, based on the system language.
+//
+// The files are created/updated by running:
+//
+//   lupdate i18n.qml -ts i18n/base.ts
+//
+// Translations for new languages are created by copying i18n/base.ts to i18n/qml_<lang>.ts
+// The .ts files can then be edited with Linguist:
+//
+//   linguist i18n/qml_fr.ts
+//
+// The run-time translation files are then generaeted by running:
+//
+//   lrelease i18n/*.ts
+//
+
+Rectangle {
+    width: 640; height: 480
+
+    Column {
+        anchors.fill: parent; spacing: 20
+
+        Text {
+            text: "If a translation is available for the system language (eg. French) then the
+			string below will translated (eg. 'Bonjour'). Otherwise it will show 'Hello'."
+            width: parent.width; wrapMode: Text.WordWrap
+        }
+
+        Text {
+            text: qsTr("Hello")
+            font.pointSize: 25; anchors.horizontalCenter: parent.horizontalCenter
+        }
+    }
+}
diff --git a/examples/declarative/i18n/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/i18n/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/i18n/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/i18n/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/i18n/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/i18n/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/i18n/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/i18n/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/i18n/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)
-}
-- 
cgit v0.12


From a7fcfd5fbb9b5c051b74103bcc7a30d094e92a98 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:44 +0100
Subject: imageelements/borderimage, image and shadows example modifications

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

Merge-request: 2719
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
---
 .../imageelements/borderimage/borderimage.pro      |   4 +-
 .../imageelements/borderimage/borderimage.qml      |  97 ----------
 .../borderimage/borderimage.qmlproject             |  16 ++
 .../borderimage/content/MyBorderImage.qml          |  90 ----------
 .../borderimage/content/ShadowRectangle.qml        |  54 ------
 .../declarative/imageelements/borderimage/main.cpp |   2 +-
 .../imageelements/borderimage/qml/borderimage.qml  |  97 ----------
 .../borderimage/qml/borderimage.qmlproject         |  16 --
 .../borderimage/qml/borderimage/borderimage.qml    |  97 ++++++++++
 .../qml/borderimage/content/MyBorderImage.qml      |  90 ++++++++++
 .../qml/borderimage/content/ShadowRectangle.qml    |  54 ++++++
 .../borderimage/qml/borderimage/content/bw.png     | Bin 0 -> 1357 bytes
 .../qml/borderimage/content/colors-round.sci       |   7 +
 .../qml/borderimage/content/colors-stretch.sci     |   5 +
 .../borderimage/qml/borderimage/content/colors.png | Bin 0 -> 1655 bytes
 .../borderimage/qml/borderimage/content/shadow.png | Bin 0 -> 588 bytes
 .../borderimage/qml/borderimage/shadows.qml        |  64 +++++++
 .../borderimage/qml/content/MyBorderImage.qml      |  90 ----------
 .../borderimage/qml/content/ShadowRectangle.qml    |  54 ------
 .../imageelements/borderimage/qml/content/bw.png   | Bin 1357 -> 0 bytes
 .../borderimage/qml/content/colors-round.sci       |   7 -
 .../borderimage/qml/content/colors-stretch.sci     |   5 -
 .../borderimage/qml/content/colors.png             | Bin 1655 -> 0 bytes
 .../borderimage/qml/content/shadow.png             | Bin 588 -> 0 bytes
 .../imageelements/borderimage/qml/shadows.qml      |  64 -------
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../imageelements/borderimage/shadows.qml          |  64 -------
 .../declarative/imageelements/image/ImageCell.qml  |  60 -------
 examples/declarative/imageelements/image/image.pro |   4 +-
 examples/declarative/imageelements/image/image.qml |  66 -------
 .../imageelements/image/image.qmlproject           |  16 ++
 examples/declarative/imageelements/image/main.cpp  |   2 +-
 .../imageelements/image/qml/ImageCell.qml          |  60 -------
 .../declarative/imageelements/image/qml/image.qml  |  66 -------
 .../imageelements/image/qml/image.qmlproject       |  16 --
 .../imageelements/image/qml/image/ImageCell.qml    |  60 +++++++
 .../imageelements/image/qml/image/image.qml        |  66 +++++++
 .../imageelements/image/qml/image/qt-logo.png      | Bin 0 -> 5149 bytes
 .../imageelements/image/qml/qt-logo.png            | Bin 5149 -> 0 bytes
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../declarative/imageelements/shadows/main.cpp     |   2 +-
 .../imageelements/shadows/qml/borderimage.qml      |  97 ----------
 .../shadows/qml/borderimage.qmlproject             |  16 --
 .../shadows/qml/content/MyBorderImage.qml          |  90 ----------
 .../shadows/qml/content/ShadowRectangle.qml        |  54 ------
 .../imageelements/shadows/qml/content/bw.png       | Bin 1357 -> 0 bytes
 .../shadows/qml/content/colors-round.sci           |   7 -
 .../shadows/qml/content/colors-stretch.sci         |   5 -
 .../imageelements/shadows/qml/content/colors.png   | Bin 1655 -> 0 bytes
 .../imageelements/shadows/qml/content/shadow.png   | Bin 588 -> 0 bytes
 .../imageelements/shadows/qml/shadows.qml          |  64 -------
 .../shadows/qml/shadows/borderimage.qml            |  97 ++++++++++
 .../shadows/qml/shadows/content/MyBorderImage.qml  |  90 ++++++++++
 .../qml/shadows/content/ShadowRectangle.qml        |  54 ++++++
 .../shadows/qml/shadows/content/bw.png             | Bin 0 -> 1357 bytes
 .../shadows/qml/shadows/content/colors-round.sci   |   7 +
 .../shadows/qml/shadows/content/colors-stretch.sci |   5 +
 .../shadows/qml/shadows/content/colors.png         | Bin 0 -> 1655 bytes
 .../shadows/qml/shadows/content/shadow.png         | Bin 0 -> 588 bytes
 .../imageelements/shadows/qml/shadows/shadows.qml  |  64 +++++++
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../declarative/imageelements/shadows/shadows.pro  |   4 +-
 .../imageelements/shadows/shadows.qmlproject       |  16 ++
 69 files changed, 817 insertions(+), 2538 deletions(-)
 delete mode 100644 examples/declarative/imageelements/borderimage/borderimage.qml
 create mode 100644 examples/declarative/imageelements/borderimage/borderimage.qmlproject
 delete mode 100644 examples/declarative/imageelements/borderimage/content/MyBorderImage.qml
 delete mode 100644 examples/declarative/imageelements/borderimage/content/ShadowRectangle.qml
 delete mode 100644 examples/declarative/imageelements/borderimage/qml/borderimage.qml
 delete mode 100644 examples/declarative/imageelements/borderimage/qml/borderimage.qmlproject
 create mode 100644 examples/declarative/imageelements/borderimage/qml/borderimage/borderimage.qml
 create mode 100644 examples/declarative/imageelements/borderimage/qml/borderimage/content/MyBorderImage.qml
 create mode 100644 examples/declarative/imageelements/borderimage/qml/borderimage/content/ShadowRectangle.qml
 create mode 100644 examples/declarative/imageelements/borderimage/qml/borderimage/content/bw.png
 create mode 100644 examples/declarative/imageelements/borderimage/qml/borderimage/content/colors-round.sci
 create mode 100644 examples/declarative/imageelements/borderimage/qml/borderimage/content/colors-stretch.sci
 create mode 100644 examples/declarative/imageelements/borderimage/qml/borderimage/content/colors.png
 create mode 100644 examples/declarative/imageelements/borderimage/qml/borderimage/content/shadow.png
 create mode 100644 examples/declarative/imageelements/borderimage/qml/borderimage/shadows.qml
 delete mode 100644 examples/declarative/imageelements/borderimage/qml/content/MyBorderImage.qml
 delete mode 100644 examples/declarative/imageelements/borderimage/qml/content/ShadowRectangle.qml
 delete mode 100644 examples/declarative/imageelements/borderimage/qml/content/bw.png
 delete mode 100644 examples/declarative/imageelements/borderimage/qml/content/colors-round.sci
 delete mode 100644 examples/declarative/imageelements/borderimage/qml/content/colors-stretch.sci
 delete mode 100644 examples/declarative/imageelements/borderimage/qml/content/colors.png
 delete mode 100644 examples/declarative/imageelements/borderimage/qml/content/shadow.png
 delete mode 100644 examples/declarative/imageelements/borderimage/qml/shadows.qml
 delete mode 100644 examples/declarative/imageelements/borderimage/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/imageelements/borderimage/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/imageelements/borderimage/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/imageelements/borderimage/shadows.qml
 delete mode 100644 examples/declarative/imageelements/image/ImageCell.qml
 delete mode 100644 examples/declarative/imageelements/image/image.qml
 create mode 100644 examples/declarative/imageelements/image/image.qmlproject
 delete mode 100644 examples/declarative/imageelements/image/qml/ImageCell.qml
 delete mode 100644 examples/declarative/imageelements/image/qml/image.qml
 delete mode 100644 examples/declarative/imageelements/image/qml/image.qmlproject
 create mode 100644 examples/declarative/imageelements/image/qml/image/ImageCell.qml
 create mode 100644 examples/declarative/imageelements/image/qml/image/image.qml
 create mode 100644 examples/declarative/imageelements/image/qml/image/qt-logo.png
 delete mode 100644 examples/declarative/imageelements/image/qml/qt-logo.png
 delete mode 100644 examples/declarative/imageelements/image/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/imageelements/image/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/imageelements/image/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/imageelements/shadows/qml/borderimage.qml
 delete mode 100644 examples/declarative/imageelements/shadows/qml/borderimage.qmlproject
 delete mode 100644 examples/declarative/imageelements/shadows/qml/content/MyBorderImage.qml
 delete mode 100644 examples/declarative/imageelements/shadows/qml/content/ShadowRectangle.qml
 delete mode 100644 examples/declarative/imageelements/shadows/qml/content/bw.png
 delete mode 100644 examples/declarative/imageelements/shadows/qml/content/colors-round.sci
 delete mode 100644 examples/declarative/imageelements/shadows/qml/content/colors-stretch.sci
 delete mode 100644 examples/declarative/imageelements/shadows/qml/content/colors.png
 delete mode 100644 examples/declarative/imageelements/shadows/qml/content/shadow.png
 delete mode 100644 examples/declarative/imageelements/shadows/qml/shadows.qml
 create mode 100644 examples/declarative/imageelements/shadows/qml/shadows/borderimage.qml
 create mode 100644 examples/declarative/imageelements/shadows/qml/shadows/content/MyBorderImage.qml
 create mode 100644 examples/declarative/imageelements/shadows/qml/shadows/content/ShadowRectangle.qml
 create mode 100644 examples/declarative/imageelements/shadows/qml/shadows/content/bw.png
 create mode 100644 examples/declarative/imageelements/shadows/qml/shadows/content/colors-round.sci
 create mode 100644 examples/declarative/imageelements/shadows/qml/shadows/content/colors-stretch.sci
 create mode 100644 examples/declarative/imageelements/shadows/qml/shadows/content/colors.png
 create mode 100644 examples/declarative/imageelements/shadows/qml/shadows/content/shadow.png
 create mode 100644 examples/declarative/imageelements/shadows/qml/shadows/shadows.qml
 delete mode 100644 examples/declarative/imageelements/shadows/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/imageelements/shadows/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/imageelements/shadows/qmlapplicationviewer/qmlapplicationviewer.pri
 create mode 100644 examples/declarative/imageelements/shadows/shadows.qmlproject

diff --git a/examples/declarative/imageelements/borderimage/borderimage.pro b/examples/declarative/imageelements/borderimage/borderimage.pro
index fd49676..64eaf4a 100644
--- a/examples/declarative/imageelements/borderimage/borderimage.pro
+++ b/examples/declarative/imageelements/borderimage/borderimage.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/borderimage
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEBB4D123
 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/imageelements/borderimage/borderimage.qml b/examples/declarative/imageelements/borderimage/borderimage.qml
deleted file mode 100644
index 2ff18c8..0000000
--- a/examples/declarative/imageelements/borderimage/borderimage.qml
+++ /dev/null
@@ -1,97 +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
-import "content"
-
-Rectangle {
-    id: page
-    width: 1030; height: 540
-
-    Grid {
-        anchors.centerIn: parent; spacing: 20
-
-        MyBorderImage {
-            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
-            source: "content/colors.png"; margin: 30
-        }
-
-        MyBorderImage {
-            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
-            source: "content/colors.png"; margin: 30
-            horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
-        }
-
-        MyBorderImage {
-            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
-            source: "content/colors.png"; margin: 30
-            horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
-        }
-
-        MyBorderImage {
-            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
-            source: "content/colors.png"; margin: 30
-            horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
-        }
-
-        MyBorderImage {
-            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
-            source: "content/bw.png"; margin: 10
-        }
-
-        MyBorderImage {
-            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
-            source: "content/bw.png"; margin: 10
-            horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
-        }
-
-        MyBorderImage {
-            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
-            source: "content/bw.png"; margin: 10
-            horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
-        }
-
-        MyBorderImage {
-            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
-            source: "content/bw.png"; margin: 10
-            horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
-        }
-    }
-}
diff --git a/examples/declarative/imageelements/borderimage/borderimage.qmlproject b/examples/declarative/imageelements/borderimage/borderimage.qmlproject
new file mode 100644
index 0000000..ab68435
--- /dev/null
+++ b/examples/declarative/imageelements/borderimage/borderimage.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/borderimage"
+    }
+    JavaScriptFiles {
+        directory: "qml/borderimage"
+    }
+    ImageFiles {
+        directory: "qml/borderimage"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/imageelements/borderimage/content/MyBorderImage.qml b/examples/declarative/imageelements/borderimage/content/MyBorderImage.qml
deleted file mode 100644
index 8ace6e1..0000000
--- a/examples/declarative/imageelements/borderimage/content/MyBorderImage.qml
+++ /dev/null
@@ -1,90 +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
-
-Item {
-    id: container
-
-    property alias horizontalMode: image.horizontalTileMode
-    property alias verticalMode: image.verticalTileMode
-    property alias source: image.source
-
-    property int minWidth
-    property int minHeight
-    property int maxWidth
-    property int maxHeight
-    property int margin
-
-    width: 240; height: 240
-
-    BorderImage {
-        id: image; anchors.centerIn: parent
-
-        SequentialAnimation on width {
-            loops: Animation.Infinite
-            NumberAnimation {
-                from: container.minWidth; to: container.maxWidth
-                duration: 2000; easing.type: Easing.InOutQuad
-            }
-            NumberAnimation {
-                from: container.maxWidth; to: container.minWidth
-                duration: 2000; easing.type: Easing.InOutQuad
-            }
-        }
-
-        SequentialAnimation on height {
-            loops: Animation.Infinite
-            NumberAnimation {
-                from: container.minHeight; to: container.maxHeight
-                duration: 2000; easing.type: Easing.InOutQuad
-            }
-            NumberAnimation {
-                from: container.maxHeight; to: container.minHeight
-                duration: 2000; easing.type: Easing.InOutQuad
-            }
-        }
-
-        border.top: container.margin
-        border.left: container.margin
-        border.bottom: container.margin
-        border.right: container.margin
-    }
-}
diff --git a/examples/declarative/imageelements/borderimage/content/ShadowRectangle.qml b/examples/declarative/imageelements/borderimage/content/ShadowRectangle.qml
deleted file mode 100644
index 722beae..0000000
--- a/examples/declarative/imageelements/borderimage/content/ShadowRectangle.qml
+++ /dev/null
@@ -1,54 +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
-
-Item {
-    property alias color : rectangle.color
-
-    BorderImage {
-        anchors.fill: rectangle
-        anchors { leftMargin: -6; topMargin: -6; rightMargin: -8; bottomMargin: -8 }
-        border { left: 10; top: 10; right: 10; bottom: 10 }
-        source: "shadow.png"; smooth: true
-    }
-
-    Rectangle { id: rectangle; anchors.fill: parent }
-}
diff --git a/examples/declarative/imageelements/borderimage/main.cpp b/examples/declarative/imageelements/borderimage/main.cpp
index c8a9b85..9caa74f 100644
--- a/examples/declarative/imageelements/borderimage/main.cpp
+++ b/examples/declarative/imageelements/borderimage/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/shadows.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/borderimage/shadows.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/imageelements/borderimage/qml/borderimage.qml b/examples/declarative/imageelements/borderimage/qml/borderimage.qml
deleted file mode 100644
index 53e35f9..0000000
--- a/examples/declarative/imageelements/borderimage/qml/borderimage.qml
+++ /dev/null
@@ -1,97 +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
-import "content"
-
-Rectangle {
-    id: page
-    width: 1030; height: 540
-
-    Grid {
-        anchors.centerIn: parent; spacing: 20
-
-        MyBorderImage {
-            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
-            source: "content/colors.png"; margin: 30
-        }
-
-        MyBorderImage {
-            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
-            source: "content/colors.png"; margin: 30
-            horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
-        }
-
-        MyBorderImage {
-            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
-            source: "content/colors.png"; margin: 30
-            horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
-        }
-
-        MyBorderImage {
-            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
-            source: "content/colors.png"; margin: 30
-            horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
-        }
-
-        MyBorderImage {
-            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
-            source: "content/bw.png"; margin: 10
-        }
-
-        MyBorderImage {
-            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
-            source: "content/bw.png"; margin: 10
-            horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
-        }
-
-        MyBorderImage {
-            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
-            source: "content/bw.png"; margin: 10
-            horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
-        }
-
-        MyBorderImage {
-            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
-            source: "content/bw.png"; margin: 10
-            horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
-        }
-    }
-}
diff --git a/examples/declarative/imageelements/borderimage/qml/borderimage.qmlproject b/examples/declarative/imageelements/borderimage/qml/borderimage.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/imageelements/borderimage/qml/borderimage.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/imageelements/borderimage/qml/borderimage/borderimage.qml b/examples/declarative/imageelements/borderimage/qml/borderimage/borderimage.qml
new file mode 100644
index 0000000..53e35f9
--- /dev/null
+++ b/examples/declarative/imageelements/borderimage/qml/borderimage/borderimage.qml
@@ -0,0 +1,97 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+Rectangle {
+    id: page
+    width: 1030; height: 540
+
+    Grid {
+        anchors.centerIn: parent; spacing: 20
+
+        MyBorderImage {
+            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
+            source: "content/colors.png"; margin: 30
+        }
+
+        MyBorderImage {
+            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
+            source: "content/colors.png"; margin: 30
+            horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
+        }
+
+        MyBorderImage {
+            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
+            source: "content/colors.png"; margin: 30
+            horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
+        }
+
+        MyBorderImage {
+            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
+            source: "content/colors.png"; margin: 30
+            horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
+        }
+
+        MyBorderImage {
+            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
+            source: "content/bw.png"; margin: 10
+        }
+
+        MyBorderImage {
+            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
+            source: "content/bw.png"; margin: 10
+            horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
+        }
+
+        MyBorderImage {
+            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
+            source: "content/bw.png"; margin: 10
+            horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
+        }
+
+        MyBorderImage {
+            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
+            source: "content/bw.png"; margin: 10
+            horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
+        }
+    }
+}
diff --git a/examples/declarative/imageelements/borderimage/qml/borderimage/content/MyBorderImage.qml b/examples/declarative/imageelements/borderimage/qml/borderimage/content/MyBorderImage.qml
new file mode 100644
index 0000000..96495cb
--- /dev/null
+++ b/examples/declarative/imageelements/borderimage/qml/borderimage/content/MyBorderImage.qml
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** 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
+
+Item {
+    id: container
+
+    property alias horizontalMode: image.horizontalTileMode
+    property alias verticalMode: image.verticalTileMode
+    property alias source: image.source
+
+    property int minWidth
+    property int minHeight
+    property int maxWidth
+    property int maxHeight
+    property int margin
+
+    width: 240; height: 240
+
+    BorderImage {
+        id: image; anchors.centerIn: parent
+
+        SequentialAnimation on width {
+            loops: Animation.Infinite
+            NumberAnimation {
+                from: container.minWidth; to: container.maxWidth
+                duration: 2000; easing.type: Easing.InOutQuad
+            }
+            NumberAnimation {
+                from: container.maxWidth; to: container.minWidth
+                duration: 2000; easing.type: Easing.InOutQuad
+            }
+        }
+
+        SequentialAnimation on height {
+            loops: Animation.Infinite
+            NumberAnimation {
+                from: container.minHeight; to: container.maxHeight
+                duration: 2000; easing.type: Easing.InOutQuad
+            }
+            NumberAnimation {
+                from: container.maxHeight; to: container.minHeight
+                duration: 2000; easing.type: Easing.InOutQuad
+            }
+        }
+
+        border.top: container.margin
+        border.left: container.margin
+        border.bottom: container.margin
+        border.right: container.margin
+    }
+}
diff --git a/examples/declarative/imageelements/borderimage/qml/borderimage/content/ShadowRectangle.qml b/examples/declarative/imageelements/borderimage/qml/borderimage/content/ShadowRectangle.qml
new file mode 100644
index 0000000..839ecf1
--- /dev/null
+++ b/examples/declarative/imageelements/borderimage/qml/borderimage/content/ShadowRectangle.qml
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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
+
+Item {
+    property alias color : rectangle.color
+
+    BorderImage {
+        anchors.fill: rectangle
+        anchors { leftMargin: -6; topMargin: -6; rightMargin: -8; bottomMargin: -8 }
+        border { left: 10; top: 10; right: 10; bottom: 10 }
+        source: "shadow.png"; smooth: true
+    }
+
+    Rectangle { id: rectangle; anchors.fill: parent }
+}
diff --git a/examples/declarative/imageelements/borderimage/qml/borderimage/content/bw.png b/examples/declarative/imageelements/borderimage/qml/borderimage/content/bw.png
new file mode 100644
index 0000000..486eaae
Binary files /dev/null and b/examples/declarative/imageelements/borderimage/qml/borderimage/content/bw.png differ
diff --git a/examples/declarative/imageelements/borderimage/qml/borderimage/content/colors-round.sci b/examples/declarative/imageelements/borderimage/qml/borderimage/content/colors-round.sci
new file mode 100644
index 0000000..506f6f5
--- /dev/null
+++ b/examples/declarative/imageelements/borderimage/qml/borderimage/content/colors-round.sci
@@ -0,0 +1,7 @@
+border.left:30
+border.top:30
+border.right:30
+border.bottom:30
+horizontalTileRule:Round
+verticalTileRule:Round
+source:colors.png
diff --git a/examples/declarative/imageelements/borderimage/qml/borderimage/content/colors-stretch.sci b/examples/declarative/imageelements/borderimage/qml/borderimage/content/colors-stretch.sci
new file mode 100644
index 0000000..e4989a7
--- /dev/null
+++ b/examples/declarative/imageelements/borderimage/qml/borderimage/content/colors-stretch.sci
@@ -0,0 +1,5 @@
+border.left:30
+border.top:30
+border.right:30
+border.bottom:30
+source:colors.png
diff --git a/examples/declarative/imageelements/borderimage/qml/borderimage/content/colors.png b/examples/declarative/imageelements/borderimage/qml/borderimage/content/colors.png
new file mode 100644
index 0000000..dfb62f3
Binary files /dev/null and b/examples/declarative/imageelements/borderimage/qml/borderimage/content/colors.png differ
diff --git a/examples/declarative/imageelements/borderimage/qml/borderimage/content/shadow.png b/examples/declarative/imageelements/borderimage/qml/borderimage/content/shadow.png
new file mode 100644
index 0000000..431af85
Binary files /dev/null and b/examples/declarative/imageelements/borderimage/qml/borderimage/content/shadow.png differ
diff --git a/examples/declarative/imageelements/borderimage/qml/borderimage/shadows.qml b/examples/declarative/imageelements/borderimage/qml/borderimage/shadows.qml
new file mode 100644
index 0000000..d547f63
--- /dev/null
+++ b/examples/declarative/imageelements/borderimage/qml/borderimage/shadows.qml
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+Rectangle {
+    id: window
+
+    width: 480; height: 320
+    color: "gray"
+
+    ShadowRectangle {
+        anchors.centerIn: parent; width: 250; height: 250
+        color: "lightsteelblue"
+    }
+
+    ShadowRectangle {
+        anchors.centerIn: parent; width: 200; height: 200
+        color: "steelblue"
+    }
+
+    ShadowRectangle {
+        anchors.centerIn: parent; width: 150; height: 150
+        color: "thistle"
+    }
+}
diff --git a/examples/declarative/imageelements/borderimage/qml/content/MyBorderImage.qml b/examples/declarative/imageelements/borderimage/qml/content/MyBorderImage.qml
deleted file mode 100644
index 96495cb..0000000
--- a/examples/declarative/imageelements/borderimage/qml/content/MyBorderImage.qml
+++ /dev/null
@@ -1,90 +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
-
-Item {
-    id: container
-
-    property alias horizontalMode: image.horizontalTileMode
-    property alias verticalMode: image.verticalTileMode
-    property alias source: image.source
-
-    property int minWidth
-    property int minHeight
-    property int maxWidth
-    property int maxHeight
-    property int margin
-
-    width: 240; height: 240
-
-    BorderImage {
-        id: image; anchors.centerIn: parent
-
-        SequentialAnimation on width {
-            loops: Animation.Infinite
-            NumberAnimation {
-                from: container.minWidth; to: container.maxWidth
-                duration: 2000; easing.type: Easing.InOutQuad
-            }
-            NumberAnimation {
-                from: container.maxWidth; to: container.minWidth
-                duration: 2000; easing.type: Easing.InOutQuad
-            }
-        }
-
-        SequentialAnimation on height {
-            loops: Animation.Infinite
-            NumberAnimation {
-                from: container.minHeight; to: container.maxHeight
-                duration: 2000; easing.type: Easing.InOutQuad
-            }
-            NumberAnimation {
-                from: container.maxHeight; to: container.minHeight
-                duration: 2000; easing.type: Easing.InOutQuad
-            }
-        }
-
-        border.top: container.margin
-        border.left: container.margin
-        border.bottom: container.margin
-        border.right: container.margin
-    }
-}
diff --git a/examples/declarative/imageelements/borderimage/qml/content/ShadowRectangle.qml b/examples/declarative/imageelements/borderimage/qml/content/ShadowRectangle.qml
deleted file mode 100644
index 839ecf1..0000000
--- a/examples/declarative/imageelements/borderimage/qml/content/ShadowRectangle.qml
+++ /dev/null
@@ -1,54 +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
-
-Item {
-    property alias color : rectangle.color
-
-    BorderImage {
-        anchors.fill: rectangle
-        anchors { leftMargin: -6; topMargin: -6; rightMargin: -8; bottomMargin: -8 }
-        border { left: 10; top: 10; right: 10; bottom: 10 }
-        source: "shadow.png"; smooth: true
-    }
-
-    Rectangle { id: rectangle; anchors.fill: parent }
-}
diff --git a/examples/declarative/imageelements/borderimage/qml/content/bw.png b/examples/declarative/imageelements/borderimage/qml/content/bw.png
deleted file mode 100644
index 486eaae..0000000
Binary files a/examples/declarative/imageelements/borderimage/qml/content/bw.png and /dev/null differ
diff --git a/examples/declarative/imageelements/borderimage/qml/content/colors-round.sci b/examples/declarative/imageelements/borderimage/qml/content/colors-round.sci
deleted file mode 100644
index 506f6f5..0000000
--- a/examples/declarative/imageelements/borderimage/qml/content/colors-round.sci
+++ /dev/null
@@ -1,7 +0,0 @@
-border.left:30
-border.top:30
-border.right:30
-border.bottom:30
-horizontalTileRule:Round
-verticalTileRule:Round
-source:colors.png
diff --git a/examples/declarative/imageelements/borderimage/qml/content/colors-stretch.sci b/examples/declarative/imageelements/borderimage/qml/content/colors-stretch.sci
deleted file mode 100644
index e4989a7..0000000
--- a/examples/declarative/imageelements/borderimage/qml/content/colors-stretch.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-border.left:30
-border.top:30
-border.right:30
-border.bottom:30
-source:colors.png
diff --git a/examples/declarative/imageelements/borderimage/qml/content/colors.png b/examples/declarative/imageelements/borderimage/qml/content/colors.png
deleted file mode 100644
index dfb62f3..0000000
Binary files a/examples/declarative/imageelements/borderimage/qml/content/colors.png and /dev/null differ
diff --git a/examples/declarative/imageelements/borderimage/qml/content/shadow.png b/examples/declarative/imageelements/borderimage/qml/content/shadow.png
deleted file mode 100644
index 431af85..0000000
Binary files a/examples/declarative/imageelements/borderimage/qml/content/shadow.png and /dev/null differ
diff --git a/examples/declarative/imageelements/borderimage/qml/shadows.qml b/examples/declarative/imageelements/borderimage/qml/shadows.qml
deleted file mode 100644
index d547f63..0000000
--- a/examples/declarative/imageelements/borderimage/qml/shadows.qml
+++ /dev/null
@@ -1,64 +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
-import "content"
-
-Rectangle {
-    id: window
-
-    width: 480; height: 320
-    color: "gray"
-
-    ShadowRectangle {
-        anchors.centerIn: parent; width: 250; height: 250
-        color: "lightsteelblue"
-    }
-
-    ShadowRectangle {
-        anchors.centerIn: parent; width: 200; height: 200
-        color: "steelblue"
-    }
-
-    ShadowRectangle {
-        anchors.centerIn: parent; width: 150; height: 150
-        color: "thistle"
-    }
-}
diff --git a/examples/declarative/imageelements/borderimage/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/imageelements/borderimage/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/imageelements/borderimage/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/imageelements/borderimage/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/imageelements/borderimage/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/imageelements/borderimage/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/imageelements/borderimage/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/imageelements/borderimage/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/imageelements/borderimage/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/imageelements/borderimage/shadows.qml b/examples/declarative/imageelements/borderimage/shadows.qml
deleted file mode 100644
index b48ab84..0000000
--- a/examples/declarative/imageelements/borderimage/shadows.qml
+++ /dev/null
@@ -1,64 +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
-import "content"
-
-Rectangle {
-    id: window
-
-    width: 480; height: 320
-    color: "gray"
-
-    ShadowRectangle {
-        anchors.centerIn: parent; width: 250; height: 250
-        color: "lightsteelblue"
-    }
-
-    ShadowRectangle {
-        anchors.centerIn: parent; width: 200; height: 200
-        color: "steelblue"
-    }
-
-    ShadowRectangle {
-        anchors.centerIn: parent; width: 150; height: 150
-        color: "thistle"
-    }
-}
diff --git a/examples/declarative/imageelements/image/ImageCell.qml b/examples/declarative/imageelements/image/ImageCell.qml
deleted file mode 100644
index 46a432f..0000000
--- a/examples/declarative/imageelements/image/ImageCell.qml
+++ /dev/null
@@ -1,60 +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
-
-Item {
-    property alias mode: image.fillMode
-    property alias caption: captionItem.text
-
-    width: parent.cellWidth; height: parent.cellHeight
-
-    Image {
-        id: image
-        width: parent.width; height: parent.height - captionItem.height
-        source: "qt-logo.png"
-        clip: true      // only makes a difference if mode is PreserveAspectCrop
-        smooth: true
-    }
-
-    Text { 
-        id: captionItem
-        anchors.horizontalCenter: parent.horizontalCenter; anchors.bottom: parent.bottom
-    }
-}
diff --git a/examples/declarative/imageelements/image/image.pro b/examples/declarative/imageelements/image/image.pro
index c5e94cc..28c978c 100644
--- a/examples/declarative/imageelements/image/image.pro
+++ b/examples/declarative/imageelements/image/image.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/image
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE5D64785
 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/imageelements/image/image.qml b/examples/declarative/imageelements/image/image.qml
deleted file mode 100644
index abaa095..0000000
--- a/examples/declarative/imageelements/image/image.qml
+++ /dev/null
@@ -1,66 +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 {
-    width: 490
-    height: 285
-
-    Grid {
-        property int cellWidth: (width - (spacing * (columns - 1))) / columns
-        property int cellHeight: (height - (spacing * (rows - 1))) / rows
-
-        anchors.fill: parent
-        anchors.margins: 30
-
-        columns: 3
-        rows: 2
-        spacing: 30
-
-        ImageCell { mode: Image.Stretch; caption: "Stretch" }
-        ImageCell { mode: Image.PreserveAspectFit; caption: "PreserveAspectFit" }
-        ImageCell { mode: Image.PreserveAspectCrop; caption: "PreserveAspectCrop" }
-
-        ImageCell { mode: Image.Tile; caption: "Tile" }
-        ImageCell { mode: Image.TileHorizontally; caption: "TileHorizontally" }
-        ImageCell { mode: Image.TileVertically; caption: "TileVertically" }
-    }
-}
diff --git a/examples/declarative/imageelements/image/image.qmlproject b/examples/declarative/imageelements/image/image.qmlproject
new file mode 100644
index 0000000..e605889
--- /dev/null
+++ b/examples/declarative/imageelements/image/image.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/image"
+    }
+    JavaScriptFiles {
+        directory: "qml/image"
+    }
+    ImageFiles {
+        directory: "qml/image"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/imageelements/image/main.cpp b/examples/declarative/imageelements/image/main.cpp
index 09cc884..d0febb1 100644
--- a/examples/declarative/imageelements/image/main.cpp
+++ b/examples/declarative/imageelements/image/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/image.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/image/image.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/imageelements/image/qml/ImageCell.qml b/examples/declarative/imageelements/image/qml/ImageCell.qml
deleted file mode 100644
index e8a6c55..0000000
--- a/examples/declarative/imageelements/image/qml/ImageCell.qml
+++ /dev/null
@@ -1,60 +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
-
-Item {
-    property alias mode: image.fillMode
-    property alias caption: captionItem.text
-
-    width: parent.cellWidth; height: parent.cellHeight
-
-    Image {
-        id: image
-        width: parent.width; height: parent.height - captionItem.height
-        source: "qt-logo.png"
-        clip: true      // only makes a difference if mode is PreserveAspectCrop
-        smooth: true
-    }
-
-    Text { 
-        id: captionItem
-        anchors.horizontalCenter: parent.horizontalCenter; anchors.bottom: parent.bottom
-    }
-}
diff --git a/examples/declarative/imageelements/image/qml/image.qml b/examples/declarative/imageelements/image/qml/image.qml
deleted file mode 100644
index f00fc18..0000000
--- a/examples/declarative/imageelements/image/qml/image.qml
+++ /dev/null
@@ -1,66 +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 {
-    width: 490
-    height: 285
-
-    Grid {
-        property int cellWidth: (width - (spacing * (columns - 1))) / columns
-        property int cellHeight: (height - (spacing * (rows - 1))) / rows
-
-        anchors.fill: parent
-        anchors.margins: 30
-
-        columns: 3
-        rows: 2
-        spacing: 30
-
-        ImageCell { mode: Image.Stretch; caption: "Stretch" }
-        ImageCell { mode: Image.PreserveAspectFit; caption: "PreserveAspectFit" }
-        ImageCell { mode: Image.PreserveAspectCrop; caption: "PreserveAspectCrop" }
-
-        ImageCell { mode: Image.Tile; caption: "Tile" }
-        ImageCell { mode: Image.TileHorizontally; caption: "TileHorizontally" }
-        ImageCell { mode: Image.TileVertically; caption: "TileVertically" }
-    }
-}
diff --git a/examples/declarative/imageelements/image/qml/image.qmlproject b/examples/declarative/imageelements/image/qml/image.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/imageelements/image/qml/image.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/imageelements/image/qml/image/ImageCell.qml b/examples/declarative/imageelements/image/qml/image/ImageCell.qml
new file mode 100644
index 0000000..e8a6c55
--- /dev/null
+++ b/examples/declarative/imageelements/image/qml/image/ImageCell.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** 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
+
+Item {
+    property alias mode: image.fillMode
+    property alias caption: captionItem.text
+
+    width: parent.cellWidth; height: parent.cellHeight
+
+    Image {
+        id: image
+        width: parent.width; height: parent.height - captionItem.height
+        source: "qt-logo.png"
+        clip: true      // only makes a difference if mode is PreserveAspectCrop
+        smooth: true
+    }
+
+    Text { 
+        id: captionItem
+        anchors.horizontalCenter: parent.horizontalCenter; anchors.bottom: parent.bottom
+    }
+}
diff --git a/examples/declarative/imageelements/image/qml/image/image.qml b/examples/declarative/imageelements/image/qml/image/image.qml
new file mode 100644
index 0000000..f00fc18
--- /dev/null
+++ b/examples/declarative/imageelements/image/qml/image/image.qml
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** 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 {
+    width: 490
+    height: 285
+
+    Grid {
+        property int cellWidth: (width - (spacing * (columns - 1))) / columns
+        property int cellHeight: (height - (spacing * (rows - 1))) / rows
+
+        anchors.fill: parent
+        anchors.margins: 30
+
+        columns: 3
+        rows: 2
+        spacing: 30
+
+        ImageCell { mode: Image.Stretch; caption: "Stretch" }
+        ImageCell { mode: Image.PreserveAspectFit; caption: "PreserveAspectFit" }
+        ImageCell { mode: Image.PreserveAspectCrop; caption: "PreserveAspectCrop" }
+
+        ImageCell { mode: Image.Tile; caption: "Tile" }
+        ImageCell { mode: Image.TileHorizontally; caption: "TileHorizontally" }
+        ImageCell { mode: Image.TileVertically; caption: "TileVertically" }
+    }
+}
diff --git a/examples/declarative/imageelements/image/qml/image/qt-logo.png b/examples/declarative/imageelements/image/qml/image/qt-logo.png
new file mode 100644
index 0000000..14ddf2a
Binary files /dev/null and b/examples/declarative/imageelements/image/qml/image/qt-logo.png differ
diff --git a/examples/declarative/imageelements/image/qml/qt-logo.png b/examples/declarative/imageelements/image/qml/qt-logo.png
deleted file mode 100644
index 14ddf2a..0000000
Binary files a/examples/declarative/imageelements/image/qml/qt-logo.png and /dev/null differ
diff --git a/examples/declarative/imageelements/image/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/imageelements/image/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/imageelements/image/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/imageelements/image/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/imageelements/image/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/imageelements/image/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/imageelements/image/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/imageelements/image/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/imageelements/image/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/imageelements/shadows/main.cpp b/examples/declarative/imageelements/shadows/main.cpp
index c8a9b85..6c78d0f 100644
--- a/examples/declarative/imageelements/shadows/main.cpp
+++ b/examples/declarative/imageelements/shadows/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/shadows.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/shadows/shadows.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/imageelements/shadows/qml/borderimage.qml b/examples/declarative/imageelements/shadows/qml/borderimage.qml
deleted file mode 100644
index 53e35f9..0000000
--- a/examples/declarative/imageelements/shadows/qml/borderimage.qml
+++ /dev/null
@@ -1,97 +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
-import "content"
-
-Rectangle {
-    id: page
-    width: 1030; height: 540
-
-    Grid {
-        anchors.centerIn: parent; spacing: 20
-
-        MyBorderImage {
-            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
-            source: "content/colors.png"; margin: 30
-        }
-
-        MyBorderImage {
-            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
-            source: "content/colors.png"; margin: 30
-            horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
-        }
-
-        MyBorderImage {
-            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
-            source: "content/colors.png"; margin: 30
-            horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
-        }
-
-        MyBorderImage {
-            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
-            source: "content/colors.png"; margin: 30
-            horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
-        }
-
-        MyBorderImage {
-            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
-            source: "content/bw.png"; margin: 10
-        }
-
-        MyBorderImage {
-            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
-            source: "content/bw.png"; margin: 10
-            horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
-        }
-
-        MyBorderImage {
-            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
-            source: "content/bw.png"; margin: 10
-            horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
-        }
-
-        MyBorderImage {
-            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
-            source: "content/bw.png"; margin: 10
-            horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
-        }
-    }
-}
diff --git a/examples/declarative/imageelements/shadows/qml/borderimage.qmlproject b/examples/declarative/imageelements/shadows/qml/borderimage.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/imageelements/shadows/qml/borderimage.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/imageelements/shadows/qml/content/MyBorderImage.qml b/examples/declarative/imageelements/shadows/qml/content/MyBorderImage.qml
deleted file mode 100644
index 96495cb..0000000
--- a/examples/declarative/imageelements/shadows/qml/content/MyBorderImage.qml
+++ /dev/null
@@ -1,90 +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
-
-Item {
-    id: container
-
-    property alias horizontalMode: image.horizontalTileMode
-    property alias verticalMode: image.verticalTileMode
-    property alias source: image.source
-
-    property int minWidth
-    property int minHeight
-    property int maxWidth
-    property int maxHeight
-    property int margin
-
-    width: 240; height: 240
-
-    BorderImage {
-        id: image; anchors.centerIn: parent
-
-        SequentialAnimation on width {
-            loops: Animation.Infinite
-            NumberAnimation {
-                from: container.minWidth; to: container.maxWidth
-                duration: 2000; easing.type: Easing.InOutQuad
-            }
-            NumberAnimation {
-                from: container.maxWidth; to: container.minWidth
-                duration: 2000; easing.type: Easing.InOutQuad
-            }
-        }
-
-        SequentialAnimation on height {
-            loops: Animation.Infinite
-            NumberAnimation {
-                from: container.minHeight; to: container.maxHeight
-                duration: 2000; easing.type: Easing.InOutQuad
-            }
-            NumberAnimation {
-                from: container.maxHeight; to: container.minHeight
-                duration: 2000; easing.type: Easing.InOutQuad
-            }
-        }
-
-        border.top: container.margin
-        border.left: container.margin
-        border.bottom: container.margin
-        border.right: container.margin
-    }
-}
diff --git a/examples/declarative/imageelements/shadows/qml/content/ShadowRectangle.qml b/examples/declarative/imageelements/shadows/qml/content/ShadowRectangle.qml
deleted file mode 100644
index 839ecf1..0000000
--- a/examples/declarative/imageelements/shadows/qml/content/ShadowRectangle.qml
+++ /dev/null
@@ -1,54 +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
-
-Item {
-    property alias color : rectangle.color
-
-    BorderImage {
-        anchors.fill: rectangle
-        anchors { leftMargin: -6; topMargin: -6; rightMargin: -8; bottomMargin: -8 }
-        border { left: 10; top: 10; right: 10; bottom: 10 }
-        source: "shadow.png"; smooth: true
-    }
-
-    Rectangle { id: rectangle; anchors.fill: parent }
-}
diff --git a/examples/declarative/imageelements/shadows/qml/content/bw.png b/examples/declarative/imageelements/shadows/qml/content/bw.png
deleted file mode 100644
index 486eaae..0000000
Binary files a/examples/declarative/imageelements/shadows/qml/content/bw.png and /dev/null differ
diff --git a/examples/declarative/imageelements/shadows/qml/content/colors-round.sci b/examples/declarative/imageelements/shadows/qml/content/colors-round.sci
deleted file mode 100644
index 506f6f5..0000000
--- a/examples/declarative/imageelements/shadows/qml/content/colors-round.sci
+++ /dev/null
@@ -1,7 +0,0 @@
-border.left:30
-border.top:30
-border.right:30
-border.bottom:30
-horizontalTileRule:Round
-verticalTileRule:Round
-source:colors.png
diff --git a/examples/declarative/imageelements/shadows/qml/content/colors-stretch.sci b/examples/declarative/imageelements/shadows/qml/content/colors-stretch.sci
deleted file mode 100644
index e4989a7..0000000
--- a/examples/declarative/imageelements/shadows/qml/content/colors-stretch.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-border.left:30
-border.top:30
-border.right:30
-border.bottom:30
-source:colors.png
diff --git a/examples/declarative/imageelements/shadows/qml/content/colors.png b/examples/declarative/imageelements/shadows/qml/content/colors.png
deleted file mode 100644
index dfb62f3..0000000
Binary files a/examples/declarative/imageelements/shadows/qml/content/colors.png and /dev/null differ
diff --git a/examples/declarative/imageelements/shadows/qml/content/shadow.png b/examples/declarative/imageelements/shadows/qml/content/shadow.png
deleted file mode 100644
index 431af85..0000000
Binary files a/examples/declarative/imageelements/shadows/qml/content/shadow.png and /dev/null differ
diff --git a/examples/declarative/imageelements/shadows/qml/shadows.qml b/examples/declarative/imageelements/shadows/qml/shadows.qml
deleted file mode 100644
index d547f63..0000000
--- a/examples/declarative/imageelements/shadows/qml/shadows.qml
+++ /dev/null
@@ -1,64 +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
-import "content"
-
-Rectangle {
-    id: window
-
-    width: 480; height: 320
-    color: "gray"
-
-    ShadowRectangle {
-        anchors.centerIn: parent; width: 250; height: 250
-        color: "lightsteelblue"
-    }
-
-    ShadowRectangle {
-        anchors.centerIn: parent; width: 200; height: 200
-        color: "steelblue"
-    }
-
-    ShadowRectangle {
-        anchors.centerIn: parent; width: 150; height: 150
-        color: "thistle"
-    }
-}
diff --git a/examples/declarative/imageelements/shadows/qml/shadows/borderimage.qml b/examples/declarative/imageelements/shadows/qml/shadows/borderimage.qml
new file mode 100644
index 0000000..53e35f9
--- /dev/null
+++ b/examples/declarative/imageelements/shadows/qml/shadows/borderimage.qml
@@ -0,0 +1,97 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+Rectangle {
+    id: page
+    width: 1030; height: 540
+
+    Grid {
+        anchors.centerIn: parent; spacing: 20
+
+        MyBorderImage {
+            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
+            source: "content/colors.png"; margin: 30
+        }
+
+        MyBorderImage {
+            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
+            source: "content/colors.png"; margin: 30
+            horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
+        }
+
+        MyBorderImage {
+            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
+            source: "content/colors.png"; margin: 30
+            horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
+        }
+
+        MyBorderImage {
+            minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
+            source: "content/colors.png"; margin: 30
+            horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
+        }
+
+        MyBorderImage {
+            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
+            source: "content/bw.png"; margin: 10
+        }
+
+        MyBorderImage {
+            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
+            source: "content/bw.png"; margin: 10
+            horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
+        }
+
+        MyBorderImage {
+            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
+            source: "content/bw.png"; margin: 10
+            horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
+        }
+
+        MyBorderImage {
+            minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
+            source: "content/bw.png"; margin: 10
+            horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
+        }
+    }
+}
diff --git a/examples/declarative/imageelements/shadows/qml/shadows/content/MyBorderImage.qml b/examples/declarative/imageelements/shadows/qml/shadows/content/MyBorderImage.qml
new file mode 100644
index 0000000..96495cb
--- /dev/null
+++ b/examples/declarative/imageelements/shadows/qml/shadows/content/MyBorderImage.qml
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** 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
+
+Item {
+    id: container
+
+    property alias horizontalMode: image.horizontalTileMode
+    property alias verticalMode: image.verticalTileMode
+    property alias source: image.source
+
+    property int minWidth
+    property int minHeight
+    property int maxWidth
+    property int maxHeight
+    property int margin
+
+    width: 240; height: 240
+
+    BorderImage {
+        id: image; anchors.centerIn: parent
+
+        SequentialAnimation on width {
+            loops: Animation.Infinite
+            NumberAnimation {
+                from: container.minWidth; to: container.maxWidth
+                duration: 2000; easing.type: Easing.InOutQuad
+            }
+            NumberAnimation {
+                from: container.maxWidth; to: container.minWidth
+                duration: 2000; easing.type: Easing.InOutQuad
+            }
+        }
+
+        SequentialAnimation on height {
+            loops: Animation.Infinite
+            NumberAnimation {
+                from: container.minHeight; to: container.maxHeight
+                duration: 2000; easing.type: Easing.InOutQuad
+            }
+            NumberAnimation {
+                from: container.maxHeight; to: container.minHeight
+                duration: 2000; easing.type: Easing.InOutQuad
+            }
+        }
+
+        border.top: container.margin
+        border.left: container.margin
+        border.bottom: container.margin
+        border.right: container.margin
+    }
+}
diff --git a/examples/declarative/imageelements/shadows/qml/shadows/content/ShadowRectangle.qml b/examples/declarative/imageelements/shadows/qml/shadows/content/ShadowRectangle.qml
new file mode 100644
index 0000000..839ecf1
--- /dev/null
+++ b/examples/declarative/imageelements/shadows/qml/shadows/content/ShadowRectangle.qml
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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
+
+Item {
+    property alias color : rectangle.color
+
+    BorderImage {
+        anchors.fill: rectangle
+        anchors { leftMargin: -6; topMargin: -6; rightMargin: -8; bottomMargin: -8 }
+        border { left: 10; top: 10; right: 10; bottom: 10 }
+        source: "shadow.png"; smooth: true
+    }
+
+    Rectangle { id: rectangle; anchors.fill: parent }
+}
diff --git a/examples/declarative/imageelements/shadows/qml/shadows/content/bw.png b/examples/declarative/imageelements/shadows/qml/shadows/content/bw.png
new file mode 100644
index 0000000..486eaae
Binary files /dev/null and b/examples/declarative/imageelements/shadows/qml/shadows/content/bw.png differ
diff --git a/examples/declarative/imageelements/shadows/qml/shadows/content/colors-round.sci b/examples/declarative/imageelements/shadows/qml/shadows/content/colors-round.sci
new file mode 100644
index 0000000..506f6f5
--- /dev/null
+++ b/examples/declarative/imageelements/shadows/qml/shadows/content/colors-round.sci
@@ -0,0 +1,7 @@
+border.left:30
+border.top:30
+border.right:30
+border.bottom:30
+horizontalTileRule:Round
+verticalTileRule:Round
+source:colors.png
diff --git a/examples/declarative/imageelements/shadows/qml/shadows/content/colors-stretch.sci b/examples/declarative/imageelements/shadows/qml/shadows/content/colors-stretch.sci
new file mode 100644
index 0000000..e4989a7
--- /dev/null
+++ b/examples/declarative/imageelements/shadows/qml/shadows/content/colors-stretch.sci
@@ -0,0 +1,5 @@
+border.left:30
+border.top:30
+border.right:30
+border.bottom:30
+source:colors.png
diff --git a/examples/declarative/imageelements/shadows/qml/shadows/content/colors.png b/examples/declarative/imageelements/shadows/qml/shadows/content/colors.png
new file mode 100644
index 0000000..dfb62f3
Binary files /dev/null and b/examples/declarative/imageelements/shadows/qml/shadows/content/colors.png differ
diff --git a/examples/declarative/imageelements/shadows/qml/shadows/content/shadow.png b/examples/declarative/imageelements/shadows/qml/shadows/content/shadow.png
new file mode 100644
index 0000000..431af85
Binary files /dev/null and b/examples/declarative/imageelements/shadows/qml/shadows/content/shadow.png differ
diff --git a/examples/declarative/imageelements/shadows/qml/shadows/shadows.qml b/examples/declarative/imageelements/shadows/qml/shadows/shadows.qml
new file mode 100644
index 0000000..d547f63
--- /dev/null
+++ b/examples/declarative/imageelements/shadows/qml/shadows/shadows.qml
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+Rectangle {
+    id: window
+
+    width: 480; height: 320
+    color: "gray"
+
+    ShadowRectangle {
+        anchors.centerIn: parent; width: 250; height: 250
+        color: "lightsteelblue"
+    }
+
+    ShadowRectangle {
+        anchors.centerIn: parent; width: 200; height: 200
+        color: "steelblue"
+    }
+
+    ShadowRectangle {
+        anchors.centerIn: parent; width: 150; height: 150
+        color: "thistle"
+    }
+}
diff --git a/examples/declarative/imageelements/shadows/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/imageelements/shadows/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/imageelements/shadows/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/imageelements/shadows/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/imageelements/shadows/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/imageelements/shadows/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/imageelements/shadows/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/imageelements/shadows/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/imageelements/shadows/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/imageelements/shadows/shadows.pro b/examples/declarative/imageelements/shadows/shadows.pro
index 6c88896..20d8a3d 100644
--- a/examples/declarative/imageelements/shadows/shadows.pro
+++ b/examples/declarative/imageelements/shadows/shadows.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/shadows
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE2C00C58
 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/imageelements/shadows/shadows.qmlproject b/examples/declarative/imageelements/shadows/shadows.qmlproject
new file mode 100644
index 0000000..4cdbfff
--- /dev/null
+++ b/examples/declarative/imageelements/shadows/shadows.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/shadows"
+    }
+    JavaScriptFiles {
+        directory: "qml/shadows"
+    }
+    ImageFiles {
+        directory: "qml/shadows"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
-- 
cgit v0.12


From cdf1f23df6c320177abccc6cda8917d1a24e9fd0 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:45 +0100
Subject: keyintegration example modifications

Modified the example 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>
---
 .../keyinteraction/focus/Core/ContextMenu.qml      |  65 -------
 .../keyinteraction/focus/Core/GridMenu.qml         | 105 -----------
 .../keyinteraction/focus/Core/ListMenu.qml         | 105 -----------
 .../keyinteraction/focus/Core/ListViewDelegate.qml |  85 ---------
 .../declarative/keyinteraction/focus/focus.pro     |   4 +-
 .../declarative/keyinteraction/focus/focus.qml     | 111 ------------
 .../keyinteraction/focus/focus.qmlproject          |  16 ++
 examples/declarative/keyinteraction/focus/main.cpp |   2 +-
 .../keyinteraction/focus/qml/Core/ContextMenu.qml  |  65 -------
 .../keyinteraction/focus/qml/Core/GridMenu.qml     | 105 -----------
 .../keyinteraction/focus/qml/Core/ListMenu.qml     | 105 -----------
 .../focus/qml/Core/ListViewDelegate.qml            |  85 ---------
 .../keyinteraction/focus/qml/Core/images/arrow.png | Bin 583 -> 0 bytes
 .../focus/qml/Core/images/qt-logo.png              | Bin 5149 -> 0 bytes
 .../declarative/keyinteraction/focus/qml/focus.qml | 111 ------------
 .../keyinteraction/focus/qml/focus.qmlproject      |  16 --
 .../focus/qml/focus/FocusCore/ContextMenu.qml      |  65 +++++++
 .../focus/qml/focus/FocusCore/GridMenu.qml         | 105 +++++++++++
 .../focus/qml/focus/FocusCore/ListMenu.qml         | 105 +++++++++++
 .../focus/qml/focus/FocusCore/ListViewDelegate.qml |  85 +++++++++
 .../focus/qml/focus/FocusCore/images/arrow.png     | Bin 0 -> 583 bytes
 .../focus/qml/focus/FocusCore/images/qt-logo.png   | Bin 0 -> 5149 bytes
 .../keyinteraction/focus/qml/focus/focus.qml       | 111 ++++++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 26 files changed, 490 insertions(+), 1391 deletions(-)
 delete mode 100644 examples/declarative/keyinteraction/focus/Core/ContextMenu.qml
 delete mode 100644 examples/declarative/keyinteraction/focus/Core/GridMenu.qml
 delete mode 100644 examples/declarative/keyinteraction/focus/Core/ListMenu.qml
 delete mode 100644 examples/declarative/keyinteraction/focus/Core/ListViewDelegate.qml
 delete mode 100644 examples/declarative/keyinteraction/focus/focus.qml
 create mode 100644 examples/declarative/keyinteraction/focus/focus.qmlproject
 delete mode 100644 examples/declarative/keyinteraction/focus/qml/Core/ContextMenu.qml
 delete mode 100644 examples/declarative/keyinteraction/focus/qml/Core/GridMenu.qml
 delete mode 100644 examples/declarative/keyinteraction/focus/qml/Core/ListMenu.qml
 delete mode 100644 examples/declarative/keyinteraction/focus/qml/Core/ListViewDelegate.qml
 delete mode 100644 examples/declarative/keyinteraction/focus/qml/Core/images/arrow.png
 delete mode 100644 examples/declarative/keyinteraction/focus/qml/Core/images/qt-logo.png
 delete mode 100644 examples/declarative/keyinteraction/focus/qml/focus.qml
 delete mode 100644 examples/declarative/keyinteraction/focus/qml/focus.qmlproject
 create mode 100644 examples/declarative/keyinteraction/focus/qml/focus/FocusCore/ContextMenu.qml
 create mode 100644 examples/declarative/keyinteraction/focus/qml/focus/FocusCore/GridMenu.qml
 create mode 100644 examples/declarative/keyinteraction/focus/qml/focus/FocusCore/ListMenu.qml
 create mode 100644 examples/declarative/keyinteraction/focus/qml/focus/FocusCore/ListViewDelegate.qml
 create mode 100644 examples/declarative/keyinteraction/focus/qml/focus/FocusCore/images/arrow.png
 create mode 100644 examples/declarative/keyinteraction/focus/qml/focus/FocusCore/images/qt-logo.png
 create mode 100644 examples/declarative/keyinteraction/focus/qml/focus/focus.qml
 delete mode 100644 examples/declarative/keyinteraction/focus/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/keyinteraction/focus/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/keyinteraction/focus/qmlapplicationviewer/qmlapplicationviewer.pri

diff --git a/examples/declarative/keyinteraction/focus/Core/ContextMenu.qml b/examples/declarative/keyinteraction/focus/Core/ContextMenu.qml
deleted file mode 100644
index d43daf0..0000000
--- a/examples/declarative/keyinteraction/focus/Core/ContextMenu.qml
+++ /dev/null
@@ -1,65 +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
-
-FocusScope {
-    id: container
-
-    property bool open: false
-
-    Item {
-        anchors.fill: parent
-
-        Rectangle {
-            anchors.fill: parent
-            color: "#D1DBBD"
-            focus: true
-            Keys.onRightPressed: mainView.focus = true
-
-            Text { 
-                anchors { top: parent.top; horizontalCenter: parent.horizontalCenter; margins: 30 }
-                color: "black"
-                font.pixelSize: 14
-                text: "Context Menu"
-            }
-        }
-    }
-}
diff --git a/examples/declarative/keyinteraction/focus/Core/GridMenu.qml b/examples/declarative/keyinteraction/focus/Core/GridMenu.qml
deleted file mode 100644
index 224d38b..0000000
--- a/examples/declarative/keyinteraction/focus/Core/GridMenu.qml
+++ /dev/null
@@ -1,105 +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
-
-FocusScope {
-    property alias interactive: gridView.interactive
-
-    onActiveFocusChanged: {
-        if (activeFocus) 
-            mainView.state = ""
-    }
-
-    Rectangle {
-        anchors.fill: parent
-        clip: true
-        gradient: Gradient {
-            GradientStop { position: 0.0; color: "#193441" }
-            GradientStop { position: 1.0; color: Qt.darker("#193441") }
-        }
-
-        GridView {
-            id: gridView
-            anchors.fill: parent; anchors.leftMargin: 20; anchors.rightMargin: 20
-            cellWidth: 152; cellHeight: 152
-            focus: true
-            model: 12
-
-            KeyNavigation.down: listMenu
-            KeyNavigation.left: contextMenu
-
-            delegate: Item {
-                id: container
-                width: GridView.view.cellWidth; height: GridView.view.cellHeight
-
-                Rectangle {
-                    id: content
-                    color: "transparent"
-                    smooth: true
-                    anchors.fill: parent; anchors.margins: 20; radius: 10
-
-                    Rectangle { color: "#91AA9D"; anchors.fill: parent; anchors.margins: 3; radius: 8; smooth: true }
-                    Image { source: "images/qt-logo.png"; anchors.centerIn: parent; smooth: true }
-                }
-
-                MouseArea {
-                    id: mouseArea
-                    anchors.fill: parent
-                    hoverEnabled: true
-
-                    onClicked: {
-                        container.GridView.view.currentIndex = index
-                        container.forceActiveFocus()
-                    }
-                }
-
-                states: State {
-                    name: "active"; when: container.activeFocus
-                    PropertyChanges { target: content; color: "#FCFFF5"; scale: 1.1 }
-                }
-
-                transitions: Transition {
-                    NumberAnimation { properties: "scale"; duration: 100 }
-                }
-            }
-        }
-    }
-}
diff --git a/examples/declarative/keyinteraction/focus/Core/ListMenu.qml b/examples/declarative/keyinteraction/focus/Core/ListMenu.qml
deleted file mode 100644
index 29650dc..0000000
--- a/examples/declarative/keyinteraction/focus/Core/ListMenu.qml
+++ /dev/null
@@ -1,105 +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
-
-FocusScope {
-    clip: true
-
-    onActiveFocusChanged: {
-        if (activeFocus) 
-            mainView.state = "showListViews"
-    }
-
-    ListView {
-        id: list1
-        y: activeFocus ? 10 : 40; width: parent.width / 3; height: parent.height - 20
-        focus: true
-        KeyNavigation.up: gridMenu; KeyNavigation.left: contextMenu; KeyNavigation.right: list2
-        model: 10; cacheBuffer: 200
-        delegate: ListViewDelegate {}
-
-        Behavior on y {
-            NumberAnimation { duration: 600; easing.type: Easing.OutQuint }
-        }
-    }
-
-    ListView {
-        id: list2
-        y: activeFocus ? 10 : 40; x: parseInt(parent.width / 3); width: parent.width / 3; height: parent.height - 20
-        KeyNavigation.up: gridMenu; KeyNavigation.left: list1; KeyNavigation.right: list3
-        model: 10; cacheBuffer: 200
-        delegate: ListViewDelegate {}
-
-        Behavior on y {
-            NumberAnimation { duration: 600; easing.type: Easing.OutQuint }
-        }
-    }
-
-    ListView {
-        id: list3
-        y: activeFocus ? 10 : 40; x: parseInt(2 * parent.width / 3); width: parent.width / 3; height: parent.height - 20
-        KeyNavigation.up: gridMenu; KeyNavigation.left: list2
-        model: 10; cacheBuffer: 200
-        delegate: ListViewDelegate {}
-
-        Behavior on y {
-            NumberAnimation { duration: 600; easing.type: Easing.OutQuint }
-        }
-    }
-
-    Rectangle { width: parent.width; height: 1; color: "#D1DBBD" }
-
-    Rectangle {
-        y: 1; width: parent.width; height: 10
-        gradient: Gradient {
-            GradientStop { position: 0.0; color: "#3E606F" }
-            GradientStop { position: 1.0; color: "transparent" }
-        }
-    }
-
-    Rectangle {
-        y: parent.height - 10; width: parent.width; height: 10
-        gradient: Gradient {
-            GradientStop { position: 1.0; color: "#3E606F" }
-            GradientStop { position: 0.0; color: "transparent" }
-        }
-    }
-}
diff --git a/examples/declarative/keyinteraction/focus/Core/ListViewDelegate.qml b/examples/declarative/keyinteraction/focus/Core/ListViewDelegate.qml
deleted file mode 100644
index 8f9d022..0000000
--- a/examples/declarative/keyinteraction/focus/Core/ListViewDelegate.qml
+++ /dev/null
@@ -1,85 +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
-
-Item {
-    id: container
-    width: ListView.view.width; height: 60; anchors.leftMargin: 10; anchors.rightMargin: 10
-
-    Rectangle {
-        id: content
-        anchors.centerIn: parent; width: container.width - 40; height: container.height - 10
-        color: "transparent"
-        smooth: true
-        radius: 10
-
-        Rectangle { anchors.fill: parent; anchors.margins: 3; color: "#91AA9D"; smooth: true; radius: 8 }
-    }
-
-    Text {
-        id: label
-        anchors.centerIn: content
-        text: "List element " + (index + 1)
-        color: "#193441"
-        font.pixelSize: 14
-    }
-
-    MouseArea {
-        id: mouseArea
-        anchors.fill: parent
-        hoverEnabled: true
-
-        onClicked: {
-            container.ListView.view.currentIndex = index
-            container.forceActiveFocus()
-        }
-    }
-
-    states: State {
-        name: "active"; when: container.activeFocus
-        PropertyChanges { target: content; color: "#FCFFF5"; scale: 1.1 }
-        PropertyChanges { target: label; font.pixelSize: 16 }
-    }
-
-    transitions: Transition {
-        NumberAnimation { properties: "scale"; duration: 100 }
-    }
-}
diff --git a/examples/declarative/keyinteraction/focus/focus.pro b/examples/declarative/keyinteraction/focus/focus.pro
index db502a0..e51cd0f 100644
--- a/examples/declarative/keyinteraction/focus/focus.pro
+++ b/examples/declarative/keyinteraction/focus/focus.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/focus
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEC9F742D
 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/keyinteraction/focus/focus.qml b/examples/declarative/keyinteraction/focus/focus.qml
deleted file mode 100644
index 935db25..0000000
--- a/examples/declarative/keyinteraction/focus/focus.qml
+++ /dev/null
@@ -1,111 +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
-import "Core"
-
-Rectangle {
-    id: window
-    
-    width: 800; height: 480
-    color: "#3E606F"
-
-    FocusScope {
-        id: mainView
-
-        width: parent.width; height: parent.height
-        focus: true
-
-        GridMenu {
-            id: gridMenu
-            width: parent.width; height: 320
-
-            focus: true
-            interactive: parent.activeFocus
-        }
-
-        ListMenu {
-            id: listMenu
-            y: 320; width: parent.width; height: 320
-        }
-
-        Rectangle { 
-            id: shade
-            anchors.fill: parent
-            color: "black"
-            opacity: 0 
-        }
-
-        states: State {
-            name: "showListViews"
-            PropertyChanges { target: gridMenu; y: -160 }
-            PropertyChanges { target: listMenu; y: 160 }
-        }
-
-        transitions: Transition {
-            NumberAnimation { properties: "y"; duration: 600; easing.type: Easing.OutQuint }
-        }
-    }
-
-    Image {
-        source: "Core/images/arrow.png"
-        rotation: 90
-        anchors.verticalCenter: parent.verticalCenter
-
-        MouseArea {
-            anchors.fill: parent; anchors.margins: -10
-            onClicked: contextMenu.focus = true
-        }
-    }
-
-    ContextMenu { id: contextMenu; x: -265; width: 260; height: parent.height }
-
-    states: State {
-        name: "contextMenuOpen"
-        when: !mainView.activeFocus
-        PropertyChanges { target: contextMenu; x: 0; open: true }
-        PropertyChanges { target: mainView; x: 130 }
-        PropertyChanges { target: shade; opacity: 0.25 }
-    }
-
-    transitions: Transition {
-        NumberAnimation { properties: "x,opacity"; duration: 600; easing.type: Easing.OutQuint }
-    }
-}
diff --git a/examples/declarative/keyinteraction/focus/focus.qmlproject b/examples/declarative/keyinteraction/focus/focus.qmlproject
new file mode 100644
index 0000000..d6e7df8
--- /dev/null
+++ b/examples/declarative/keyinteraction/focus/focus.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/focus"
+    }
+    JavaScriptFiles {
+        directory: "qml/focus"
+    }
+    ImageFiles {
+        directory: "qml/focus"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/keyinteraction/focus/main.cpp b/examples/declarative/keyinteraction/focus/main.cpp
index 2f4deff..451ba91 100644
--- a/examples/declarative/keyinteraction/focus/main.cpp
+++ b/examples/declarative/keyinteraction/focus/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/focus.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/focus/focus.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/keyinteraction/focus/qml/Core/ContextMenu.qml b/examples/declarative/keyinteraction/focus/qml/Core/ContextMenu.qml
deleted file mode 100644
index 79273ad..0000000
--- a/examples/declarative/keyinteraction/focus/qml/Core/ContextMenu.qml
+++ /dev/null
@@ -1,65 +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
-
-FocusScope {
-    id: container
-
-    property bool open: false
-
-    Item {
-        anchors.fill: parent
-
-        Rectangle {
-            anchors.fill: parent
-            color: "#D1DBBD"
-            focus: true
-            Keys.onRightPressed: mainView.focus = true
-
-            Text { 
-                anchors { top: parent.top; horizontalCenter: parent.horizontalCenter; margins: 30 }
-                color: "black"
-                font.pixelSize: 14
-                text: "Context Menu"
-            }
-        }
-    }
-}
diff --git a/examples/declarative/keyinteraction/focus/qml/Core/GridMenu.qml b/examples/declarative/keyinteraction/focus/qml/Core/GridMenu.qml
deleted file mode 100644
index 263adad..0000000
--- a/examples/declarative/keyinteraction/focus/qml/Core/GridMenu.qml
+++ /dev/null
@@ -1,105 +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
-
-FocusScope {
-    property alias interactive: gridView.interactive
-
-    onActiveFocusChanged: {
-        if (activeFocus) 
-            mainView.state = ""
-    }
-
-    Rectangle {
-        anchors.fill: parent
-        clip: true
-        gradient: Gradient {
-            GradientStop { position: 0.0; color: "#193441" }
-            GradientStop { position: 1.0; color: Qt.darker("#193441") }
-        }
-
-        GridView {
-            id: gridView
-            anchors.fill: parent; anchors.leftMargin: 20; anchors.rightMargin: 20
-            cellWidth: 152; cellHeight: 152
-            focus: true
-            model: 12
-
-            KeyNavigation.down: listMenu
-            KeyNavigation.left: contextMenu
-
-            delegate: Item {
-                id: container
-                width: GridView.view.cellWidth; height: GridView.view.cellHeight
-
-                Rectangle {
-                    id: content
-                    color: "transparent"
-                    smooth: true
-                    anchors.fill: parent; anchors.margins: 20; radius: 10
-
-                    Rectangle { color: "#91AA9D"; anchors.fill: parent; anchors.margins: 3; radius: 8; smooth: true }
-                    Image { source: "images/qt-logo.png"; anchors.centerIn: parent; smooth: true }
-                }
-
-                MouseArea {
-                    id: mouseArea
-                    anchors.fill: parent
-                    hoverEnabled: true
-
-                    onClicked: {
-                        GridView.view.currentIndex = index
-                        container.forceActiveFocus()
-                    }
-                }
-
-                states: State {
-                    name: "active"; when: container.activeFocus
-                    PropertyChanges { target: content; color: "#FCFFF5"; scale: 1.1 }
-                }
-
-                transitions: Transition {
-                    NumberAnimation { properties: "scale"; duration: 100 }
-                }
-            }
-        }
-    }
-}
diff --git a/examples/declarative/keyinteraction/focus/qml/Core/ListMenu.qml b/examples/declarative/keyinteraction/focus/qml/Core/ListMenu.qml
deleted file mode 100644
index cefc9a3..0000000
--- a/examples/declarative/keyinteraction/focus/qml/Core/ListMenu.qml
+++ /dev/null
@@ -1,105 +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
-
-FocusScope {
-    clip: true
-
-    onActiveFocusChanged: {
-        if (activeFocus) 
-            mainView.state = "showListViews"
-    }
-
-    ListView {
-        id: list1
-        y: activeFocus ? 10 : 40; width: parent.width / 3; height: parent.height - 20
-        focus: true
-        KeyNavigation.up: gridMenu; KeyNavigation.left: contextMenu; KeyNavigation.right: list2
-        model: 10; cacheBuffer: 200
-        delegate: ListViewDelegate {}
-
-        Behavior on y {
-            NumberAnimation { duration: 600; easing.type: Easing.OutQuint }
-        }
-    }
-
-    ListView {
-        id: list2
-        y: activeFocus ? 10 : 40; x: parseInt(parent.width / 3); width: parent.width / 3; height: parent.height - 20
-        KeyNavigation.up: gridMenu; KeyNavigation.left: list1; KeyNavigation.right: list3
-        model: 10; cacheBuffer: 200
-        delegate: ListViewDelegate {}
-
-        Behavior on y {
-            NumberAnimation { duration: 600; easing.type: Easing.OutQuint }
-        }
-    }
-
-    ListView {
-        id: list3
-        y: activeFocus ? 10 : 40; x: parseInt(2 * parent.width / 3); width: parent.width / 3; height: parent.height - 20
-        KeyNavigation.up: gridMenu; KeyNavigation.left: list2
-        model: 10; cacheBuffer: 200
-        delegate: ListViewDelegate {}
-
-        Behavior on y {
-            NumberAnimation { duration: 600; easing.type: Easing.OutQuint }
-        }
-    }
-
-    Rectangle { width: parent.width; height: 1; color: "#D1DBBD" }
-
-    Rectangle {
-        y: 1; width: parent.width; height: 10
-        gradient: Gradient {
-            GradientStop { position: 0.0; color: "#3E606F" }
-            GradientStop { position: 1.0; color: "transparent" }
-        }
-    }
-
-    Rectangle {
-        y: parent.height - 10; width: parent.width; height: 10
-        gradient: Gradient {
-            GradientStop { position: 1.0; color: "#3E606F" }
-            GradientStop { position: 0.0; color: "transparent" }
-        }
-    }
-}
diff --git a/examples/declarative/keyinteraction/focus/qml/Core/ListViewDelegate.qml b/examples/declarative/keyinteraction/focus/qml/Core/ListViewDelegate.qml
deleted file mode 100644
index 7b63cd8..0000000
--- a/examples/declarative/keyinteraction/focus/qml/Core/ListViewDelegate.qml
+++ /dev/null
@@ -1,85 +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
-
-Item {
-    id: container
-    width: ListView.view.width; height: 60; anchors.leftMargin: 10; anchors.rightMargin: 10
-
-    Rectangle {
-        id: content
-        anchors.centerIn: parent; width: container.width - 40; height: container.height - 10
-        color: "transparent"
-        smooth: true
-        radius: 10
-
-        Rectangle { anchors.fill: parent; anchors.margins: 3; color: "#91AA9D"; smooth: true; radius: 8 }
-    }
-
-    Text {
-        id: label
-        anchors.centerIn: content
-        text: "List element " + (index + 1)
-        color: "#193441"
-        font.pixelSize: 14
-    }
-
-    MouseArea {
-        id: mouseArea
-        anchors.fill: parent
-        hoverEnabled: true
-
-        onClicked: {
-            ListView.view.currentIndex = index
-            container.forceActiveFocus()
-        }
-    }
-
-    states: State {
-        name: "active"; when: container.activeFocus
-        PropertyChanges { target: content; color: "#FCFFF5"; scale: 1.1 }
-        PropertyChanges { target: label; font.pixelSize: 16 }
-    }
-
-    transitions: Transition {
-        NumberAnimation { properties: "scale"; duration: 100 }
-    }
-}
diff --git a/examples/declarative/keyinteraction/focus/qml/Core/images/arrow.png b/examples/declarative/keyinteraction/focus/qml/Core/images/arrow.png
deleted file mode 100644
index 14978c2..0000000
Binary files a/examples/declarative/keyinteraction/focus/qml/Core/images/arrow.png and /dev/null differ
diff --git a/examples/declarative/keyinteraction/focus/qml/Core/images/qt-logo.png b/examples/declarative/keyinteraction/focus/qml/Core/images/qt-logo.png
deleted file mode 100644
index 14ddf2a..0000000
Binary files a/examples/declarative/keyinteraction/focus/qml/Core/images/qt-logo.png and /dev/null differ
diff --git a/examples/declarative/keyinteraction/focus/qml/focus.qml b/examples/declarative/keyinteraction/focus/qml/focus.qml
deleted file mode 100644
index e2115d8..0000000
--- a/examples/declarative/keyinteraction/focus/qml/focus.qml
+++ /dev/null
@@ -1,111 +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
-import "Core"
-
-Rectangle {
-    id: window
-    
-    width: 800; height: 480
-    color: "#3E606F"
-
-    FocusScope {
-        id: mainView
-
-        width: parent.width; height: parent.height
-        focus: true
-
-        GridMenu {
-            id: gridMenu
-            width: parent.width; height: 320
-
-            focus: true
-            interactive: parent.activeFocus
-        }
-
-        ListMenu {
-            id: listMenu
-            y: 320; width: parent.width; height: 320
-        }
-
-        Rectangle { 
-            id: shade
-            anchors.fill: parent
-            color: "black"
-            opacity: 0 
-        }
-
-        states: State {
-            name: "showListViews"
-            PropertyChanges { target: gridMenu; y: -160 }
-            PropertyChanges { target: listMenu; y: 160 }
-        }
-
-        transitions: Transition {
-            NumberAnimation { properties: "y"; duration: 600; easing.type: Easing.OutQuint }
-        }
-    }
-
-    Image {
-        source: "Core/images/arrow.png"
-        rotation: 90
-        anchors.verticalCenter: parent.verticalCenter
-
-        MouseArea {
-            anchors.fill: parent; anchors.margins: -10
-            onClicked: window.state = "contextMenuOpen"
-        }
-    }
-
-    ContextMenu { id: contextMenu; x: -265; width: 260; height: parent.height }
-
-    states: State {
-        name: "contextMenuOpen"
-        when: !mainView.activeFocus
-        PropertyChanges { target: contextMenu; x: 0; open: true }
-        PropertyChanges { target: mainView; x: 130 }
-        PropertyChanges { target: shade; opacity: 0.25 }
-    }
-
-    transitions: Transition {
-        NumberAnimation { properties: "x,opacity"; duration: 600; easing.type: Easing.OutQuint }
-    }
-}
diff --git a/examples/declarative/keyinteraction/focus/qml/focus.qmlproject b/examples/declarative/keyinteraction/focus/qml/focus.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/keyinteraction/focus/qml/focus.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/keyinteraction/focus/qml/focus/FocusCore/ContextMenu.qml b/examples/declarative/keyinteraction/focus/qml/focus/FocusCore/ContextMenu.qml
new file mode 100644
index 0000000..79273ad
--- /dev/null
+++ b/examples/declarative/keyinteraction/focus/qml/focus/FocusCore/ContextMenu.qml
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** 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
+
+FocusScope {
+    id: container
+
+    property bool open: false
+
+    Item {
+        anchors.fill: parent
+
+        Rectangle {
+            anchors.fill: parent
+            color: "#D1DBBD"
+            focus: true
+            Keys.onRightPressed: mainView.focus = true
+
+            Text { 
+                anchors { top: parent.top; horizontalCenter: parent.horizontalCenter; margins: 30 }
+                color: "black"
+                font.pixelSize: 14
+                text: "Context Menu"
+            }
+        }
+    }
+}
diff --git a/examples/declarative/keyinteraction/focus/qml/focus/FocusCore/GridMenu.qml b/examples/declarative/keyinteraction/focus/qml/focus/FocusCore/GridMenu.qml
new file mode 100644
index 0000000..263adad
--- /dev/null
+++ b/examples/declarative/keyinteraction/focus/qml/focus/FocusCore/GridMenu.qml
@@ -0,0 +1,105 @@
+/****************************************************************************
+**
+** 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
+
+FocusScope {
+    property alias interactive: gridView.interactive
+
+    onActiveFocusChanged: {
+        if (activeFocus) 
+            mainView.state = ""
+    }
+
+    Rectangle {
+        anchors.fill: parent
+        clip: true
+        gradient: Gradient {
+            GradientStop { position: 0.0; color: "#193441" }
+            GradientStop { position: 1.0; color: Qt.darker("#193441") }
+        }
+
+        GridView {
+            id: gridView
+            anchors.fill: parent; anchors.leftMargin: 20; anchors.rightMargin: 20
+            cellWidth: 152; cellHeight: 152
+            focus: true
+            model: 12
+
+            KeyNavigation.down: listMenu
+            KeyNavigation.left: contextMenu
+
+            delegate: Item {
+                id: container
+                width: GridView.view.cellWidth; height: GridView.view.cellHeight
+
+                Rectangle {
+                    id: content
+                    color: "transparent"
+                    smooth: true
+                    anchors.fill: parent; anchors.margins: 20; radius: 10
+
+                    Rectangle { color: "#91AA9D"; anchors.fill: parent; anchors.margins: 3; radius: 8; smooth: true }
+                    Image { source: "images/qt-logo.png"; anchors.centerIn: parent; smooth: true }
+                }
+
+                MouseArea {
+                    id: mouseArea
+                    anchors.fill: parent
+                    hoverEnabled: true
+
+                    onClicked: {
+                        GridView.view.currentIndex = index
+                        container.forceActiveFocus()
+                    }
+                }
+
+                states: State {
+                    name: "active"; when: container.activeFocus
+                    PropertyChanges { target: content; color: "#FCFFF5"; scale: 1.1 }
+                }
+
+                transitions: Transition {
+                    NumberAnimation { properties: "scale"; duration: 100 }
+                }
+            }
+        }
+    }
+}
diff --git a/examples/declarative/keyinteraction/focus/qml/focus/FocusCore/ListMenu.qml b/examples/declarative/keyinteraction/focus/qml/focus/FocusCore/ListMenu.qml
new file mode 100644
index 0000000..cefc9a3
--- /dev/null
+++ b/examples/declarative/keyinteraction/focus/qml/focus/FocusCore/ListMenu.qml
@@ -0,0 +1,105 @@
+/****************************************************************************
+**
+** 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
+
+FocusScope {
+    clip: true
+
+    onActiveFocusChanged: {
+        if (activeFocus) 
+            mainView.state = "showListViews"
+    }
+
+    ListView {
+        id: list1
+        y: activeFocus ? 10 : 40; width: parent.width / 3; height: parent.height - 20
+        focus: true
+        KeyNavigation.up: gridMenu; KeyNavigation.left: contextMenu; KeyNavigation.right: list2
+        model: 10; cacheBuffer: 200
+        delegate: ListViewDelegate {}
+
+        Behavior on y {
+            NumberAnimation { duration: 600; easing.type: Easing.OutQuint }
+        }
+    }
+
+    ListView {
+        id: list2
+        y: activeFocus ? 10 : 40; x: parseInt(parent.width / 3); width: parent.width / 3; height: parent.height - 20
+        KeyNavigation.up: gridMenu; KeyNavigation.left: list1; KeyNavigation.right: list3
+        model: 10; cacheBuffer: 200
+        delegate: ListViewDelegate {}
+
+        Behavior on y {
+            NumberAnimation { duration: 600; easing.type: Easing.OutQuint }
+        }
+    }
+
+    ListView {
+        id: list3
+        y: activeFocus ? 10 : 40; x: parseInt(2 * parent.width / 3); width: parent.width / 3; height: parent.height - 20
+        KeyNavigation.up: gridMenu; KeyNavigation.left: list2
+        model: 10; cacheBuffer: 200
+        delegate: ListViewDelegate {}
+
+        Behavior on y {
+            NumberAnimation { duration: 600; easing.type: Easing.OutQuint }
+        }
+    }
+
+    Rectangle { width: parent.width; height: 1; color: "#D1DBBD" }
+
+    Rectangle {
+        y: 1; width: parent.width; height: 10
+        gradient: Gradient {
+            GradientStop { position: 0.0; color: "#3E606F" }
+            GradientStop { position: 1.0; color: "transparent" }
+        }
+    }
+
+    Rectangle {
+        y: parent.height - 10; width: parent.width; height: 10
+        gradient: Gradient {
+            GradientStop { position: 1.0; color: "#3E606F" }
+            GradientStop { position: 0.0; color: "transparent" }
+        }
+    }
+}
diff --git a/examples/declarative/keyinteraction/focus/qml/focus/FocusCore/ListViewDelegate.qml b/examples/declarative/keyinteraction/focus/qml/focus/FocusCore/ListViewDelegate.qml
new file mode 100644
index 0000000..7b63cd8
--- /dev/null
+++ b/examples/declarative/keyinteraction/focus/qml/focus/FocusCore/ListViewDelegate.qml
@@ -0,0 +1,85 @@
+/****************************************************************************
+**
+** 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
+
+Item {
+    id: container
+    width: ListView.view.width; height: 60; anchors.leftMargin: 10; anchors.rightMargin: 10
+
+    Rectangle {
+        id: content
+        anchors.centerIn: parent; width: container.width - 40; height: container.height - 10
+        color: "transparent"
+        smooth: true
+        radius: 10
+
+        Rectangle { anchors.fill: parent; anchors.margins: 3; color: "#91AA9D"; smooth: true; radius: 8 }
+    }
+
+    Text {
+        id: label
+        anchors.centerIn: content
+        text: "List element " + (index + 1)
+        color: "#193441"
+        font.pixelSize: 14
+    }
+
+    MouseArea {
+        id: mouseArea
+        anchors.fill: parent
+        hoverEnabled: true
+
+        onClicked: {
+            ListView.view.currentIndex = index
+            container.forceActiveFocus()
+        }
+    }
+
+    states: State {
+        name: "active"; when: container.activeFocus
+        PropertyChanges { target: content; color: "#FCFFF5"; scale: 1.1 }
+        PropertyChanges { target: label; font.pixelSize: 16 }
+    }
+
+    transitions: Transition {
+        NumberAnimation { properties: "scale"; duration: 100 }
+    }
+}
diff --git a/examples/declarative/keyinteraction/focus/qml/focus/FocusCore/images/arrow.png b/examples/declarative/keyinteraction/focus/qml/focus/FocusCore/images/arrow.png
new file mode 100644
index 0000000..14978c2
Binary files /dev/null and b/examples/declarative/keyinteraction/focus/qml/focus/FocusCore/images/arrow.png differ
diff --git a/examples/declarative/keyinteraction/focus/qml/focus/FocusCore/images/qt-logo.png b/examples/declarative/keyinteraction/focus/qml/focus/FocusCore/images/qt-logo.png
new file mode 100644
index 0000000..14ddf2a
Binary files /dev/null and b/examples/declarative/keyinteraction/focus/qml/focus/FocusCore/images/qt-logo.png differ
diff --git a/examples/declarative/keyinteraction/focus/qml/focus/focus.qml b/examples/declarative/keyinteraction/focus/qml/focus/focus.qml
new file mode 100644
index 0000000..0fd9ebb
--- /dev/null
+++ b/examples/declarative/keyinteraction/focus/qml/focus/focus.qml
@@ -0,0 +1,111 @@
+/****************************************************************************
+**
+** 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
+import "FocusCore"
+
+Rectangle {
+    id: window
+    
+    width: 800; height: 480
+    color: "#3E606F"
+
+    FocusScope {
+        id: mainView
+
+        width: parent.width; height: parent.height
+        focus: true
+
+        GridMenu {
+            id: gridMenu
+            width: parent.width; height: 320
+
+            focus: true
+            interactive: parent.activeFocus
+        }
+
+        ListMenu {
+            id: listMenu
+            y: 320; width: parent.width; height: 320
+        }
+
+        Rectangle { 
+            id: shade
+            anchors.fill: parent
+            color: "black"
+            opacity: 0 
+        }
+
+        states: State {
+            name: "showListViews"
+            PropertyChanges { target: gridMenu; y: -160 }
+            PropertyChanges { target: listMenu; y: 160 }
+        }
+
+        transitions: Transition {
+            NumberAnimation { properties: "y"; duration: 600; easing.type: Easing.OutQuint }
+        }
+    }
+
+    Image {
+        source: "FocusCore/images/arrow.png"
+        rotation: 90
+        anchors.verticalCenter: parent.verticalCenter
+
+        MouseArea {
+            anchors.fill: parent; anchors.margins: -10
+            onClicked: window.state = "contextMenuOpen"
+        }
+    }
+
+    ContextMenu { id: contextMenu; x: -265; width: 260; height: parent.height }
+
+    states: State {
+        name: "contextMenuOpen"
+        when: !mainView.activeFocus
+        PropertyChanges { target: contextMenu; x: 0; open: true }
+        PropertyChanges { target: mainView; x: 130 }
+        PropertyChanges { target: shade; opacity: 0.25 }
+    }
+
+    transitions: Transition {
+        NumberAnimation { properties: "x,opacity"; duration: 600; easing.type: Easing.OutQuint }
+    }
+}
diff --git a/examples/declarative/keyinteraction/focus/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/keyinteraction/focus/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/keyinteraction/focus/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/keyinteraction/focus/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/keyinteraction/focus/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/keyinteraction/focus/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/keyinteraction/focus/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/keyinteraction/focus/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/keyinteraction/focus/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)
-}
-- 
cgit v0.12


From 923f679cb1096d1cb56fbb735a268b5249913480 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:46 +0100
Subject: modelviews/abstractitemmodel example modifications

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

Merge-request: 2719
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
---
 .../abstractitemmodel/abstractitemmodel.pro        | 39 +++++++++++++++--
 .../modelviews/abstractitemmodel/main.cpp          | 12 ++---
 .../qml/abstractitemmodel/view.qml                 | 51 ++++++++++++++++++++++
 .../modelviews/abstractitemmodel/view.qml          | 51 ----------------------
 4 files changed, 92 insertions(+), 61 deletions(-)
 create mode 100644 examples/declarative/modelviews/abstractitemmodel/qml/abstractitemmodel/view.qml
 delete mode 100644 examples/declarative/modelviews/abstractitemmodel/view.qml

diff --git a/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.pro b/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.pro
index 55e67f3..98490b2 100644
--- a/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.pro
+++ b/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.pro
@@ -1,8 +1,39 @@
-TEMPLATE = app
+# Add more folders to ship with the application, here
+folder_01.source = qml/abstractitemmodel
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
 
-QT += declarative
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
 
-RESOURCES += abstractitemmodel.qrc
+symbian:TARGET.UID3 = 0xE1CB8EBB
 
-HEADERS = model.h
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
 SOURCES = main.cpp model.cpp
+HEADERS = model.h
+RESOURCES += abstractitemmodel.qrc
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/modelviews/abstractitemmodel/main.cpp b/examples/declarative/modelviews/abstractitemmodel/main.cpp
index f60c9b8..4a3e84e 100644
--- a/examples/declarative/modelviews/abstractitemmodel/main.cpp
+++ b/examples/declarative/modelviews/abstractitemmodel/main.cpp
@@ -38,28 +38,28 @@
 **
 ****************************************************************************/
 #include "model.h"
+#include "qmlapplicationviewer.h"
 #include <QDeclarativeContext>
-#include <QDeclarativeView>
-
 #include <QApplication>
 
 //![0]
 int main(int argc, char ** argv)
 {
     QApplication app(argc, argv);
+    QmlApplicationViewer viewer;
 
     AnimalModel model;
     model.addAnimal(Animal("Wolf", "Medium"));
     model.addAnimal(Animal("Polar bear", "Large"));
     model.addAnimal(Animal("Quoll", "Small"));
 
-    QDeclarativeView view;
-    QDeclarativeContext *ctxt = view.rootContext();
+    QDeclarativeContext *ctxt = viewer.rootContext();
     ctxt->setContextProperty("myModel", &model);
 //![0]
 
-    view.setSource(QUrl("qrc:view.qml"));
-    view.show();
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
+    viewer.setMainQmlFile(QLatin1String("qml/abstractitemmodel/view.qml"));
+    viewer.showExpanded();
 
     return app.exec();
 }
diff --git a/examples/declarative/modelviews/abstractitemmodel/qml/abstractitemmodel/view.qml b/examples/declarative/modelviews/abstractitemmodel/qml/abstractitemmodel/view.qml
new file mode 100644
index 0000000..0363e9a
--- /dev/null
+++ b/examples/declarative/modelviews/abstractitemmodel/qml/abstractitemmodel/view.qml
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** 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
+
+//![0]
+ListView {
+    width: 200; height: 250
+    anchors.fill: parent
+
+    model: myModel
+    delegate: Text { text: "Animal: " + type + ", " + size }
+}
+//![0]
+
diff --git a/examples/declarative/modelviews/abstractitemmodel/view.qml b/examples/declarative/modelviews/abstractitemmodel/view.qml
deleted file mode 100644
index 0363e9a..0000000
--- a/examples/declarative/modelviews/abstractitemmodel/view.qml
+++ /dev/null
@@ -1,51 +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
-
-//![0]
-ListView {
-    width: 200; height: 250
-    anchors.fill: parent
-
-    model: myModel
-    delegate: Text { text: "Animal: " + type + ", " + size }
-}
-//![0]
-
-- 
cgit v0.12


From f4db1fccb2899b945c9c23bd3d7780ad7cfa0622 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:46 +0100
Subject: modelviews/delegate example modifications

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

Merge-request: 2719
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
---
 .../declarative/modelviews/Delegate/Delegate.pro   |   4 +-
 .../modelviews/Delegate/delegate.qmlproject        |  16 ++
 examples/declarative/modelviews/Delegate/main.cpp  |   2 +-
 .../modelviews/Delegate/qml/Delegate.qml           |  88 ---------
 .../modelviews/Delegate/qml/delegate/Delegate.qml  |  88 +++++++++
 .../modelviews/Delegate/qml/delegate/view.qml      |  76 ++++++++
 .../modelviews/Delegate/qml/package.qmlproject     |  16 --
 .../declarative/modelviews/Delegate/qml/view.qml   |  76 --------
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 11 files changed, 183 insertions(+), 613 deletions(-)
 create mode 100644 examples/declarative/modelviews/Delegate/delegate.qmlproject
 delete mode 100644 examples/declarative/modelviews/Delegate/qml/Delegate.qml
 create mode 100644 examples/declarative/modelviews/Delegate/qml/delegate/Delegate.qml
 create mode 100644 examples/declarative/modelviews/Delegate/qml/delegate/view.qml
 delete mode 100644 examples/declarative/modelviews/Delegate/qml/package.qmlproject
 delete mode 100644 examples/declarative/modelviews/Delegate/qml/view.qml
 delete mode 100644 examples/declarative/modelviews/Delegate/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/modelviews/Delegate/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/modelviews/Delegate/qmlapplicationviewer/qmlapplicationviewer.pri

diff --git a/examples/declarative/modelviews/Delegate/Delegate.pro b/examples/declarative/modelviews/Delegate/Delegate.pro
index 1b2a7e9..86901d3 100644
--- a/examples/declarative/modelviews/Delegate/Delegate.pro
+++ b/examples/declarative/modelviews/Delegate/Delegate.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/delegate
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE5FF52C0
 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/modelviews/Delegate/delegate.qmlproject b/examples/declarative/modelviews/Delegate/delegate.qmlproject
new file mode 100644
index 0000000..c821f6a
--- /dev/null
+++ b/examples/declarative/modelviews/Delegate/delegate.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/delegate"
+    }
+    JavaScriptFiles {
+        directory: "qml/delegate"
+    }
+    ImageFiles {
+        directory: "qml/delegate"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/modelviews/Delegate/main.cpp b/examples/declarative/modelviews/Delegate/main.cpp
index 4108851..2d4c7ec 100644
--- a/examples/declarative/modelviews/Delegate/main.cpp
+++ b/examples/declarative/modelviews/Delegate/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/Delegate.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/delegate/view.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/modelviews/Delegate/qml/Delegate.qml b/examples/declarative/modelviews/Delegate/qml/Delegate.qml
deleted file mode 100644
index 57048f4..0000000
--- a/examples/declarative/modelviews/Delegate/qml/Delegate.qml
+++ /dev/null
@@ -1,88 +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
-
-//![0]
-Package {
-    Text { id: listDelegate; width: 200; height: 25; text: 'Empty'; Package.name: 'list' }
-    Text { id: gridDelegate; width: 100; height: 50; text: 'Empty'; Package.name: 'grid' }
-
-    Rectangle {
-        id: wrapper
-        width: 200; height: 25
-        color: 'lightsteelblue'
-
-        Text { text: display; anchors.centerIn: parent }
-        MouseArea {
-            anchors.fill: parent
-            onClicked: {
-                if (wrapper.state == 'inList')
-                    wrapper.state = 'inGrid';
-                else
-                    wrapper.state = 'inList';
-            }
-        }
-
-        state: 'inList'
-        states: [
-            State {
-                name: 'inList'
-                ParentChange { target: wrapper; parent: listDelegate }
-            },
-            State {
-                name: 'inGrid'
-                ParentChange {
-                    target: wrapper; parent: gridDelegate
-                    x: 0; y: 0; width: gridDelegate.width; height: gridDelegate.height
-                }
-            }
-        ]
-
-        transitions: [
-            Transition {
-                ParentAnimation {
-                    NumberAnimation { properties: 'x,y,width,height'; duration: 300 }
-                }
-            }
-        ]
-    }
-}
-//![0]
diff --git a/examples/declarative/modelviews/Delegate/qml/delegate/Delegate.qml b/examples/declarative/modelviews/Delegate/qml/delegate/Delegate.qml
new file mode 100644
index 0000000..2f44ab1
--- /dev/null
+++ b/examples/declarative/modelviews/Delegate/qml/delegate/Delegate.qml
@@ -0,0 +1,88 @@
+/****************************************************************************
+**
+** 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
+
+//![0]
+Package {
+    Text { id: listDelegate; width: 200; height: 25; text: 'Empty'; Package.name: 'list' }
+    Text { id: gridDelegate; width: 100; height: 50; text: 'Empty'; Package.name: 'grid' }
+
+    Rectangle {
+        id: wrapper
+        width: 200; height: 25
+        color: 'lightsteelblue'
+
+        //Text { text: display; anchors.centerIn: parent }
+        MouseArea {
+            anchors.fill: parent
+            onClicked: {
+                if (wrapper.state == 'inList')
+                    wrapper.state = 'inGrid';
+                else
+                    wrapper.state = 'inList';
+            }
+        }
+
+        state: 'inList'
+        states: [
+            State {
+                name: 'inList'
+                ParentChange { target: wrapper; parent: listDelegate }
+            },
+            State {
+                name: 'inGrid'
+                ParentChange {
+                    target: wrapper; parent: gridDelegate
+                    x: 0; y: 0; width: gridDelegate.width; height: gridDelegate.height
+                }
+            }
+        ]
+
+        transitions: [
+            Transition {
+                ParentAnimation {
+                    NumberAnimation { properties: 'x,y,width,height'; duration: 300 }
+                }
+            }
+        ]
+    }
+}
+//![0]
diff --git a/examples/declarative/modelviews/Delegate/qml/delegate/view.qml b/examples/declarative/modelviews/Delegate/qml/delegate/view.qml
new file mode 100644
index 0000000..cbe8f06
--- /dev/null
+++ b/examples/declarative/modelviews/Delegate/qml/delegate/view.qml
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** 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 {
+    color: "white"
+    width: 400
+    height: 200
+
+    ListModel {
+        id: myModel
+        ListElement { display: "One" }
+        ListElement { display: "Two" }
+        ListElement { display: "Three" }
+        ListElement { display: "Four" }
+        ListElement { display: "Five" }
+        ListElement { display: "Six" }
+        ListElement { display: "Seven" }
+        ListElement { display: "Eight" }
+    }
+    //![0]
+    VisualDataModel {
+        id: visualModel
+        delegate: Delegate {}
+        model: myModel
+    }
+
+    ListView {
+        width: 200; height:200
+        model: visualModel.parts.list
+    }
+    GridView {
+        x: 200; width: 200; height:200
+        cellHeight: 50
+        model: visualModel.parts.grid
+    }
+    //![0]
+}
diff --git a/examples/declarative/modelviews/Delegate/qml/package.qmlproject b/examples/declarative/modelviews/Delegate/qml/package.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/modelviews/Delegate/qml/package.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/modelviews/Delegate/qml/view.qml b/examples/declarative/modelviews/Delegate/qml/view.qml
deleted file mode 100644
index cbe8f06..0000000
--- a/examples/declarative/modelviews/Delegate/qml/view.qml
+++ /dev/null
@@ -1,76 +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 {
-    color: "white"
-    width: 400
-    height: 200
-
-    ListModel {
-        id: myModel
-        ListElement { display: "One" }
-        ListElement { display: "Two" }
-        ListElement { display: "Three" }
-        ListElement { display: "Four" }
-        ListElement { display: "Five" }
-        ListElement { display: "Six" }
-        ListElement { display: "Seven" }
-        ListElement { display: "Eight" }
-    }
-    //![0]
-    VisualDataModel {
-        id: visualModel
-        delegate: Delegate {}
-        model: myModel
-    }
-
-    ListView {
-        width: 200; height:200
-        model: visualModel.parts.list
-    }
-    GridView {
-        x: 200; width: 200; height:200
-        cellHeight: 50
-        model: visualModel.parts.grid
-    }
-    //![0]
-}
diff --git a/examples/declarative/modelviews/Delegate/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/modelviews/Delegate/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/modelviews/Delegate/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/modelviews/Delegate/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/modelviews/Delegate/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/modelviews/Delegate/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/modelviews/Delegate/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/modelviews/Delegate/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/modelviews/Delegate/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)
-}
-- 
cgit v0.12


From b3919f7bd1cf1732155a7eec0becdf2e4ff157da Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:47 +0100
Subject: modelviews/gridview-example example modifications

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

Merge-request: 2719
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
---
 .../gridview-example/gridview.qmlproject           |  16 ++
 .../gridview-example/gridviewexample.pro           |   4 +-
 .../modelviews/gridview-example/main.cpp           |   2 +-
 .../gridview-example/qml/gridview-example.qml      |  89 ----------
 .../qml/gridview-example/gridview-example.qml      |  89 ++++++++++
 .../qml/gridview-example/pics/AddressBook_48.png   | Bin 0 -> 3350 bytes
 .../qml/gridview-example/pics/AudioPlayer_48.png   | Bin 0 -> 3806 bytes
 .../qml/gridview-example/pics/Camera_48.png        | Bin 0 -> 3540 bytes
 .../qml/gridview-example/pics/DateBook_48.png      | Bin 0 -> 2610 bytes
 .../qml/gridview-example/pics/EMail_48.png         | Bin 0 -> 3655 bytes
 .../qml/gridview-example/pics/TodoList_48.png      | Bin 0 -> 3429 bytes
 .../qml/gridview-example/pics/VideoPlayer_48.png   | Bin 0 -> 4151 bytes
 .../gridview-example/qml/gridview.qmlproject       |  16 --
 .../gridview-example/qml/pics/AddressBook_48.png   | Bin 3350 -> 0 bytes
 .../gridview-example/qml/pics/AudioPlayer_48.png   | Bin 3806 -> 0 bytes
 .../gridview-example/qml/pics/Camera_48.png        | Bin 3540 -> 0 bytes
 .../gridview-example/qml/pics/DateBook_48.png      | Bin 2610 -> 0 bytes
 .../gridview-example/qml/pics/EMail_48.png         | Bin 3655 -> 0 bytes
 .../gridview-example/qml/pics/TodoList_48.png      | Bin 3429 -> 0 bytes
 .../gridview-example/qml/pics/VideoPlayer_48.png   | Bin 4151 -> 0 bytes
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 23 files changed, 108 insertions(+), 538 deletions(-)
 create mode 100644 examples/declarative/modelviews/gridview-example/gridview.qmlproject
 delete mode 100644 examples/declarative/modelviews/gridview-example/qml/gridview-example.qml
 create mode 100644 examples/declarative/modelviews/gridview-example/qml/gridview-example/gridview-example.qml
 create mode 100644 examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/AddressBook_48.png
 create mode 100644 examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/AudioPlayer_48.png
 create mode 100644 examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/Camera_48.png
 create mode 100644 examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/DateBook_48.png
 create mode 100644 examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/EMail_48.png
 create mode 100644 examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/TodoList_48.png
 create mode 100644 examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/VideoPlayer_48.png
 delete mode 100644 examples/declarative/modelviews/gridview-example/qml/gridview.qmlproject
 delete mode 100644 examples/declarative/modelviews/gridview-example/qml/pics/AddressBook_48.png
 delete mode 100644 examples/declarative/modelviews/gridview-example/qml/pics/AudioPlayer_48.png
 delete mode 100644 examples/declarative/modelviews/gridview-example/qml/pics/Camera_48.png
 delete mode 100644 examples/declarative/modelviews/gridview-example/qml/pics/DateBook_48.png
 delete mode 100644 examples/declarative/modelviews/gridview-example/qml/pics/EMail_48.png
 delete mode 100644 examples/declarative/modelviews/gridview-example/qml/pics/TodoList_48.png
 delete mode 100644 examples/declarative/modelviews/gridview-example/qml/pics/VideoPlayer_48.png
 delete mode 100644 examples/declarative/modelviews/gridview-example/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/modelviews/gridview-example/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/modelviews/gridview-example/qmlapplicationviewer/qmlapplicationviewer.pri

diff --git a/examples/declarative/modelviews/gridview-example/gridview.qmlproject b/examples/declarative/modelviews/gridview-example/gridview.qmlproject
new file mode 100644
index 0000000..f70c496
--- /dev/null
+++ b/examples/declarative/modelviews/gridview-example/gridview.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/gridview-example"
+    }
+    JavaScriptFiles {
+        directory: "qml/gridview-example"
+    }
+    ImageFiles {
+        directory: "qml/gridview-example"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/modelviews/gridview-example/gridviewexample.pro b/examples/declarative/modelviews/gridview-example/gridviewexample.pro
index 61d7865..15a7d53 100644
--- a/examples/declarative/modelviews/gridview-example/gridviewexample.pro
+++ b/examples/declarative/modelviews/gridview-example/gridviewexample.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/gridview-example
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE53E8FDC
 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/modelviews/gridview-example/main.cpp b/examples/declarative/modelviews/gridview-example/main.cpp
index 54f49ad..d6a54b9 100644
--- a/examples/declarative/modelviews/gridview-example/main.cpp
+++ b/examples/declarative/modelviews/gridview-example/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/gridview-example.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/gridview-example/gridview-example.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/modelviews/gridview-example/qml/gridview-example.qml b/examples/declarative/modelviews/gridview-example/qml/gridview-example.qml
deleted file mode 100644
index 85fefda..0000000
--- a/examples/declarative/modelviews/gridview-example/qml/gridview-example.qml
+++ /dev/null
@@ -1,89 +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 {
-    width: 300; height: 400
-    color: "white"
-
-    ListModel {
-        id: appModel
-        ListElement { name: "Music"; icon: "pics/AudioPlayer_48.png" }
-        ListElement { name: "Movies"; icon: "pics/VideoPlayer_48.png" }
-        ListElement { name: "Camera"; icon: "pics/Camera_48.png" }
-        ListElement { name: "Calendar"; icon: "pics/DateBook_48.png" }
-        ListElement { name: "Messaging"; icon: "pics/EMail_48.png" }
-        ListElement { name: "Todo List"; icon: "pics/TodoList_48.png" }
-        ListElement { name: "Contacts"; icon: "pics/AddressBook_48.png" }
-    }
-
-    Component {
-        id: appDelegate
-
-        Item {
-            width: 100; height: 100
-
-            Image {
-                id: myIcon
-                y: 20; anchors.horizontalCenter: parent.horizontalCenter
-                source: icon
-            }
-            Text {
-                anchors { top: myIcon.bottom; horizontalCenter: parent.horizontalCenter }
-                text: name
-            }
-        }
-    }
-
-    Component {
-        id: appHighlight
-        Rectangle { width: 80; height: 80; color: "lightsteelblue" }
-    }
-
-    GridView {
-        anchors.fill: parent
-        cellWidth: 100; cellHeight: 100
-        highlight: appHighlight
-        focus: true
-        model: appModel
-        delegate: appDelegate
-    }
-}
diff --git a/examples/declarative/modelviews/gridview-example/qml/gridview-example/gridview-example.qml b/examples/declarative/modelviews/gridview-example/qml/gridview-example/gridview-example.qml
new file mode 100644
index 0000000..85fefda
--- /dev/null
+++ b/examples/declarative/modelviews/gridview-example/qml/gridview-example/gridview-example.qml
@@ -0,0 +1,89 @@
+/****************************************************************************
+**
+** 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 {
+    width: 300; height: 400
+    color: "white"
+
+    ListModel {
+        id: appModel
+        ListElement { name: "Music"; icon: "pics/AudioPlayer_48.png" }
+        ListElement { name: "Movies"; icon: "pics/VideoPlayer_48.png" }
+        ListElement { name: "Camera"; icon: "pics/Camera_48.png" }
+        ListElement { name: "Calendar"; icon: "pics/DateBook_48.png" }
+        ListElement { name: "Messaging"; icon: "pics/EMail_48.png" }
+        ListElement { name: "Todo List"; icon: "pics/TodoList_48.png" }
+        ListElement { name: "Contacts"; icon: "pics/AddressBook_48.png" }
+    }
+
+    Component {
+        id: appDelegate
+
+        Item {
+            width: 100; height: 100
+
+            Image {
+                id: myIcon
+                y: 20; anchors.horizontalCenter: parent.horizontalCenter
+                source: icon
+            }
+            Text {
+                anchors { top: myIcon.bottom; horizontalCenter: parent.horizontalCenter }
+                text: name
+            }
+        }
+    }
+
+    Component {
+        id: appHighlight
+        Rectangle { width: 80; height: 80; color: "lightsteelblue" }
+    }
+
+    GridView {
+        anchors.fill: parent
+        cellWidth: 100; cellHeight: 100
+        highlight: appHighlight
+        focus: true
+        model: appModel
+        delegate: appDelegate
+    }
+}
diff --git a/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/AddressBook_48.png b/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/AddressBook_48.png
new file mode 100644
index 0000000..1ab7c8e
Binary files /dev/null and b/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/AddressBook_48.png differ
diff --git a/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/AudioPlayer_48.png b/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/AudioPlayer_48.png
new file mode 100644
index 0000000..f4b8689
Binary files /dev/null and b/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/AudioPlayer_48.png differ
diff --git a/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/Camera_48.png b/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/Camera_48.png
new file mode 100644
index 0000000..c76b524
Binary files /dev/null and b/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/Camera_48.png differ
diff --git a/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/DateBook_48.png b/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/DateBook_48.png
new file mode 100644
index 0000000..58f5787
Binary files /dev/null and b/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/DateBook_48.png differ
diff --git a/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/EMail_48.png b/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/EMail_48.png
new file mode 100644
index 0000000..d6d84a6
Binary files /dev/null and b/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/EMail_48.png differ
diff --git a/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/TodoList_48.png b/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/TodoList_48.png
new file mode 100644
index 0000000..0988448
Binary files /dev/null and b/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/TodoList_48.png differ
diff --git a/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/VideoPlayer_48.png b/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/VideoPlayer_48.png
new file mode 100644
index 0000000..52638c5
Binary files /dev/null and b/examples/declarative/modelviews/gridview-example/qml/gridview-example/pics/VideoPlayer_48.png differ
diff --git a/examples/declarative/modelviews/gridview-example/qml/gridview.qmlproject b/examples/declarative/modelviews/gridview-example/qml/gridview.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/modelviews/gridview-example/qml/gridview.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/modelviews/gridview-example/qml/pics/AddressBook_48.png b/examples/declarative/modelviews/gridview-example/qml/pics/AddressBook_48.png
deleted file mode 100644
index 1ab7c8e..0000000
Binary files a/examples/declarative/modelviews/gridview-example/qml/pics/AddressBook_48.png and /dev/null differ
diff --git a/examples/declarative/modelviews/gridview-example/qml/pics/AudioPlayer_48.png b/examples/declarative/modelviews/gridview-example/qml/pics/AudioPlayer_48.png
deleted file mode 100644
index f4b8689..0000000
Binary files a/examples/declarative/modelviews/gridview-example/qml/pics/AudioPlayer_48.png and /dev/null differ
diff --git a/examples/declarative/modelviews/gridview-example/qml/pics/Camera_48.png b/examples/declarative/modelviews/gridview-example/qml/pics/Camera_48.png
deleted file mode 100644
index c76b524..0000000
Binary files a/examples/declarative/modelviews/gridview-example/qml/pics/Camera_48.png and /dev/null differ
diff --git a/examples/declarative/modelviews/gridview-example/qml/pics/DateBook_48.png b/examples/declarative/modelviews/gridview-example/qml/pics/DateBook_48.png
deleted file mode 100644
index 58f5787..0000000
Binary files a/examples/declarative/modelviews/gridview-example/qml/pics/DateBook_48.png and /dev/null differ
diff --git a/examples/declarative/modelviews/gridview-example/qml/pics/EMail_48.png b/examples/declarative/modelviews/gridview-example/qml/pics/EMail_48.png
deleted file mode 100644
index d6d84a6..0000000
Binary files a/examples/declarative/modelviews/gridview-example/qml/pics/EMail_48.png and /dev/null differ
diff --git a/examples/declarative/modelviews/gridview-example/qml/pics/TodoList_48.png b/examples/declarative/modelviews/gridview-example/qml/pics/TodoList_48.png
deleted file mode 100644
index 0988448..0000000
Binary files a/examples/declarative/modelviews/gridview-example/qml/pics/TodoList_48.png and /dev/null differ
diff --git a/examples/declarative/modelviews/gridview-example/qml/pics/VideoPlayer_48.png b/examples/declarative/modelviews/gridview-example/qml/pics/VideoPlayer_48.png
deleted file mode 100644
index 52638c5..0000000
Binary files a/examples/declarative/modelviews/gridview-example/qml/pics/VideoPlayer_48.png and /dev/null differ
diff --git a/examples/declarative/modelviews/gridview-example/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/modelviews/gridview-example/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/modelviews/gridview-example/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/modelviews/gridview-example/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/modelviews/gridview-example/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/modelviews/gridview-example/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/modelviews/gridview-example/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/modelviews/gridview-example/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/modelviews/gridview-example/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)
-}
-- 
cgit v0.12


From ee9307f9679953ab15d29756cd7fde930ac9080b Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:48 +0100
Subject: Modelview examples modifications.

modelviews\listview dynamiclist, expandingdelegates, highlight,
hightlightranges and sections example modifications

Modified the examples 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>
---
 .../modelviews/listview/content/PetsModel.qml      |  98 ----------
 .../listview/content/PressAndHoldButton.qml        |  82 ---------
 .../modelviews/listview/content/RecipesModel.qml   | 129 -------------
 .../modelviews/listview/content/TextButton.qml     |  78 --------
 .../listview/content/pics/arrow-down.png           | Bin 594 -> 0 bytes
 .../modelviews/listview/content/pics/arrow-up.png  | Bin 692 -> 0 bytes
 .../listview/content/pics/list-delete.png          | Bin 831 -> 0 bytes
 .../listview/content/pics/minus-sign.png           | Bin 250 -> 0 bytes
 .../modelviews/listview/content/pics/plus-sign.png | Bin 462 -> 0 bytes
 .../modelviews/listview/dynamiclist.qml            | 203 ---------------------
 .../listview/dynamiclist/dynamiclist.pro           |   4 +-
 .../listview/dynamiclist/dynamiclist.qmlproject    |  16 ++
 .../modelviews/listview/dynamiclist/main.cpp       |   2 +-
 .../listview/dynamiclist/qml/content/PetsModel.qml |  98 ----------
 .../dynamiclist/qml/content/PressAndHoldButton.qml |  82 ---------
 .../dynamiclist/qml/content/RecipesModel.qml       | 129 -------------
 .../dynamiclist/qml/content/TextButton.qml         |  78 --------
 .../dynamiclist/qml/content/pics/arrow-down.png    | Bin 594 -> 0 bytes
 .../dynamiclist/qml/content/pics/arrow-up.png      | Bin 692 -> 0 bytes
 .../dynamiclist/qml/content/pics/fruit-salad.jpg   | Bin 17952 -> 0 bytes
 .../dynamiclist/qml/content/pics/hamburger.jpg     | Bin 8572 -> 0 bytes
 .../dynamiclist/qml/content/pics/lemonade.jpg      | Bin 6645 -> 0 bytes
 .../dynamiclist/qml/content/pics/list-delete.png   | Bin 831 -> 0 bytes
 .../dynamiclist/qml/content/pics/minus-sign.png    | Bin 250 -> 0 bytes
 .../dynamiclist/qml/content/pics/moreDown.png      | Bin 217 -> 0 bytes
 .../dynamiclist/qml/content/pics/moreUp.png        | Bin 212 -> 0 bytes
 .../dynamiclist/qml/content/pics/pancakes.jpg      | Bin 9163 -> 0 bytes
 .../dynamiclist/qml/content/pics/plus-sign.png     | Bin 462 -> 0 bytes
 .../qml/content/pics/vegetable-soup.jpg            | Bin 8639 -> 0 bytes
 .../dynamiclist/qml/dynamic/content/PetsModel.qml  |  98 ++++++++++
 .../qml/dynamic/content/PressAndHoldButton.qml     |  82 +++++++++
 .../qml/dynamic/content/RecipesModel.qml           | 129 +++++++++++++
 .../dynamiclist/qml/dynamic/content/TextButton.qml |  78 ++++++++
 .../qml/dynamic/content/pics/arrow-down.png        | Bin 0 -> 594 bytes
 .../qml/dynamic/content/pics/arrow-up.png          | Bin 0 -> 692 bytes
 .../qml/dynamic/content/pics/fruit-salad.jpg       | Bin 0 -> 17952 bytes
 .../qml/dynamic/content/pics/hamburger.jpg         | Bin 0 -> 8572 bytes
 .../qml/dynamic/content/pics/lemonade.jpg          | Bin 0 -> 6645 bytes
 .../qml/dynamic/content/pics/list-delete.png       | Bin 0 -> 831 bytes
 .../qml/dynamic/content/pics/minus-sign.png        | Bin 0 -> 250 bytes
 .../qml/dynamic/content/pics/moreDown.png          | Bin 0 -> 217 bytes
 .../qml/dynamic/content/pics/moreUp.png            | Bin 0 -> 212 bytes
 .../qml/dynamic/content/pics/pancakes.jpg          | Bin 0 -> 9163 bytes
 .../qml/dynamic/content/pics/plus-sign.png         | Bin 0 -> 462 bytes
 .../qml/dynamic/content/pics/vegetable-soup.jpg    | Bin 0 -> 8639 bytes
 .../dynamiclist/qml/dynamic/dynamiclist.qml        | 203 +++++++++++++++++++++
 .../dynamiclist/qml/dynamic/expandingdelegates.qml | 202 ++++++++++++++++++++
 .../listview/dynamiclist/qml/dynamic/highlight.qml |  99 ++++++++++
 .../dynamiclist/qml/dynamic/highlightranges.qml    | 122 +++++++++++++
 .../listview/dynamiclist/qml/dynamic/sections.qml  |  87 +++++++++
 .../listview/dynamiclist/qml/dynamiclist.qml       | 203 ---------------------
 .../dynamiclist/qml/expandingdelegates.qml         | 202 --------------------
 .../listview/dynamiclist/qml/highlight.qml         |  99 ----------
 .../listview/dynamiclist/qml/highlightranges.qml   | 122 -------------
 .../listview/dynamiclist/qml/listview.qmlproject   |  16 --
 .../listview/dynamiclist/qml/sections.qml          |  87 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 --------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 --------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../modelviews/listview/expandingdelegates.qml     | 202 --------------------
 .../expandingdelegates/expandingdelegates.pro      |   4 +-
 .../expandingdelegates.qmlproject                  |  16 ++
 .../listview/expandingdelegates/main.cpp           |   2 +-
 .../expandingdelegates/qml/content/PetsModel.qml   |  98 ----------
 .../qml/content/PressAndHoldButton.qml             |  82 ---------
 .../qml/content/RecipesModel.qml                   | 129 -------------
 .../expandingdelegates/qml/content/TextButton.qml  |  78 --------
 .../qml/content/pics/arrow-down.png                | Bin 594 -> 0 bytes
 .../qml/content/pics/arrow-up.png                  | Bin 692 -> 0 bytes
 .../qml/content/pics/fruit-salad.jpg               | Bin 17952 -> 0 bytes
 .../qml/content/pics/hamburger.jpg                 | Bin 8572 -> 0 bytes
 .../qml/content/pics/lemonade.jpg                  | Bin 6645 -> 0 bytes
 .../qml/content/pics/list-delete.png               | Bin 831 -> 0 bytes
 .../qml/content/pics/minus-sign.png                | Bin 250 -> 0 bytes
 .../qml/content/pics/moreDown.png                  | Bin 217 -> 0 bytes
 .../expandingdelegates/qml/content/pics/moreUp.png | Bin 212 -> 0 bytes
 .../qml/content/pics/pancakes.jpg                  | Bin 9163 -> 0 bytes
 .../qml/content/pics/plus-sign.png                 | Bin 462 -> 0 bytes
 .../qml/content/pics/vegetable-soup.jpg            | Bin 8639 -> 0 bytes
 .../expandingdelegates/qml/dynamiclist.qml         | 203 ---------------------
 .../expandingdelegates/qml/expandingdelegates.qml  | 202 --------------------
 .../qml/expandingdelegates/content/PetsModel.qml   |  98 ++++++++++
 .../content/PressAndHoldButton.qml                 |  82 +++++++++
 .../expandingdelegates/content/RecipesModel.qml    | 129 +++++++++++++
 .../qml/expandingdelegates/content/TextButton.qml  |  78 ++++++++
 .../expandingdelegates/content/pics/arrow-down.png | Bin 0 -> 594 bytes
 .../expandingdelegates/content/pics/arrow-up.png   | Bin 0 -> 692 bytes
 .../content/pics/fruit-salad.jpg                   | Bin 0 -> 17952 bytes
 .../expandingdelegates/content/pics/hamburger.jpg  | Bin 0 -> 8572 bytes
 .../expandingdelegates/content/pics/lemonade.jpg   | Bin 0 -> 6645 bytes
 .../content/pics/list-delete.png                   | Bin 0 -> 831 bytes
 .../expandingdelegates/content/pics/minus-sign.png | Bin 0 -> 250 bytes
 .../expandingdelegates/content/pics/moreDown.png   | Bin 0 -> 217 bytes
 .../qml/expandingdelegates/content/pics/moreUp.png | Bin 0 -> 212 bytes
 .../expandingdelegates/content/pics/pancakes.jpg   | Bin 0 -> 9163 bytes
 .../expandingdelegates/content/pics/plus-sign.png  | Bin 0 -> 462 bytes
 .../content/pics/vegetable-soup.jpg                | Bin 0 -> 8639 bytes
 .../qml/expandingdelegates/dynamiclist.qml         | 203 +++++++++++++++++++++
 .../qml/expandingdelegates/expandingdelegates.qml  | 202 ++++++++++++++++++++
 .../qml/expandingdelegates/highlight.qml           |  99 ++++++++++
 .../qml/expandingdelegates/highlightranges.qml     | 122 +++++++++++++
 .../qml/expandingdelegates/sections.qml            |  87 +++++++++
 .../listview/expandingdelegates/qml/highlight.qml  |  99 ----------
 .../expandingdelegates/qml/highlightranges.qml     | 122 -------------
 .../expandingdelegates/qml/listview.qmlproject     |  16 --
 .../listview/expandingdelegates/qml/sections.qml   |  87 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 --------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 --------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../declarative/modelviews/listview/highlight.qml  |  99 ----------
 .../modelviews/listview/highlight/highlight.pro    |   4 +-
 .../listview/highlight/highlight.qmlproject        |  16 ++
 .../modelviews/listview/highlight/main.cpp         |   2 +-
 .../listview/highlight/qml/content/PetsModel.qml   |  98 ----------
 .../highlight/qml/content/PressAndHoldButton.qml   |  82 ---------
 .../highlight/qml/content/RecipesModel.qml         | 129 -------------
 .../listview/highlight/qml/content/TextButton.qml  |  78 --------
 .../highlight/qml/content/pics/arrow-down.png      | Bin 594 -> 0 bytes
 .../highlight/qml/content/pics/arrow-up.png        | Bin 692 -> 0 bytes
 .../highlight/qml/content/pics/fruit-salad.jpg     | Bin 17952 -> 0 bytes
 .../highlight/qml/content/pics/hamburger.jpg       | Bin 8572 -> 0 bytes
 .../highlight/qml/content/pics/lemonade.jpg        | Bin 6645 -> 0 bytes
 .../highlight/qml/content/pics/list-delete.png     | Bin 831 -> 0 bytes
 .../highlight/qml/content/pics/minus-sign.png      | Bin 250 -> 0 bytes
 .../highlight/qml/content/pics/moreDown.png        | Bin 217 -> 0 bytes
 .../listview/highlight/qml/content/pics/moreUp.png | Bin 212 -> 0 bytes
 .../highlight/qml/content/pics/pancakes.jpg        | Bin 9163 -> 0 bytes
 .../highlight/qml/content/pics/plus-sign.png       | Bin 462 -> 0 bytes
 .../highlight/qml/content/pics/vegetable-soup.jpg  | Bin 8639 -> 0 bytes
 .../listview/highlight/qml/dynamiclist.qml         | 203 ---------------------
 .../listview/highlight/qml/expandingdelegates.qml  | 202 --------------------
 .../listview/highlight/qml/highlight.qml           |  99 ----------
 .../highlight/qml/highlight/content/PetsModel.qml  |  98 ++++++++++
 .../qml/highlight/content/PressAndHoldButton.qml   |  82 +++++++++
 .../qml/highlight/content/RecipesModel.qml         | 129 +++++++++++++
 .../highlight/qml/highlight/content/TextButton.qml |  78 ++++++++
 .../qml/highlight/content/pics/arrow-down.png      | Bin 0 -> 594 bytes
 .../qml/highlight/content/pics/arrow-up.png        | Bin 0 -> 692 bytes
 .../qml/highlight/content/pics/fruit-salad.jpg     | Bin 0 -> 17952 bytes
 .../qml/highlight/content/pics/hamburger.jpg       | Bin 0 -> 8572 bytes
 .../qml/highlight/content/pics/lemonade.jpg        | Bin 0 -> 6645 bytes
 .../qml/highlight/content/pics/list-delete.png     | Bin 0 -> 831 bytes
 .../qml/highlight/content/pics/minus-sign.png      | Bin 0 -> 250 bytes
 .../qml/highlight/content/pics/moreDown.png        | Bin 0 -> 217 bytes
 .../qml/highlight/content/pics/moreUp.png          | Bin 0 -> 212 bytes
 .../qml/highlight/content/pics/pancakes.jpg        | Bin 0 -> 9163 bytes
 .../qml/highlight/content/pics/plus-sign.png       | Bin 0 -> 462 bytes
 .../qml/highlight/content/pics/vegetable-soup.jpg  | Bin 0 -> 8639 bytes
 .../highlight/qml/highlight/dynamiclist.qml        | 203 +++++++++++++++++++++
 .../highlight/qml/highlight/expandingdelegates.qml | 202 ++++++++++++++++++++
 .../listview/highlight/qml/highlight/highlight.qml |  99 ++++++++++
 .../highlight/qml/highlight/highlightranges.qml    | 122 +++++++++++++
 .../listview/highlight/qml/highlight/sections.qml  |  87 +++++++++
 .../listview/highlight/qml/highlightranges.qml     | 122 -------------
 .../listview/highlight/qml/listview.qmlproject     |  16 --
 .../modelviews/listview/highlight/qml/sections.qml |  87 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 --------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 --------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../modelviews/listview/highlightranges.qml        | 122 -------------
 .../listview/highlightranges/highlightranges.pro   |   4 +-
 .../highlightranges/highlightranges.qmlproject     |  16 ++
 .../modelviews/listview/highlightranges/main.cpp   |   2 +-
 .../highlightranges/qml/content/PetsModel.qml      |  98 ----------
 .../qml/content/PressAndHoldButton.qml             |  82 ---------
 .../highlightranges/qml/content/RecipesModel.qml   | 129 -------------
 .../highlightranges/qml/content/TextButton.qml     |  78 --------
 .../qml/content/pics/arrow-down.png                | Bin 594 -> 0 bytes
 .../highlightranges/qml/content/pics/arrow-up.png  | Bin 692 -> 0 bytes
 .../qml/content/pics/fruit-salad.jpg               | Bin 17952 -> 0 bytes
 .../highlightranges/qml/content/pics/hamburger.jpg | Bin 8572 -> 0 bytes
 .../highlightranges/qml/content/pics/lemonade.jpg  | Bin 6645 -> 0 bytes
 .../qml/content/pics/list-delete.png               | Bin 831 -> 0 bytes
 .../qml/content/pics/minus-sign.png                | Bin 250 -> 0 bytes
 .../highlightranges/qml/content/pics/moreDown.png  | Bin 217 -> 0 bytes
 .../highlightranges/qml/content/pics/moreUp.png    | Bin 212 -> 0 bytes
 .../highlightranges/qml/content/pics/pancakes.jpg  | Bin 9163 -> 0 bytes
 .../highlightranges/qml/content/pics/plus-sign.png | Bin 462 -> 0 bytes
 .../qml/content/pics/vegetable-soup.jpg            | Bin 8639 -> 0 bytes
 .../listview/highlightranges/qml/dynamiclist.qml   | 203 ---------------------
 .../highlightranges/qml/expandingdelegates.qml     | 202 --------------------
 .../listview/highlightranges/qml/highlight.qml     |  99 ----------
 .../highlightranges/qml/highlightranges.qml        | 122 -------------
 .../qml/highlightranges/content/PetsModel.qml      |  98 ++++++++++
 .../highlightranges/content/PressAndHoldButton.qml |  82 +++++++++
 .../qml/highlightranges/content/RecipesModel.qml   | 129 +++++++++++++
 .../qml/highlightranges/content/TextButton.qml     |  78 ++++++++
 .../highlightranges/content/pics/arrow-down.png    | Bin 0 -> 594 bytes
 .../qml/highlightranges/content/pics/arrow-up.png  | Bin 0 -> 692 bytes
 .../highlightranges/content/pics/fruit-salad.jpg   | Bin 0 -> 17952 bytes
 .../qml/highlightranges/content/pics/hamburger.jpg | Bin 0 -> 8572 bytes
 .../qml/highlightranges/content/pics/lemonade.jpg  | Bin 0 -> 6645 bytes
 .../highlightranges/content/pics/list-delete.png   | Bin 0 -> 831 bytes
 .../highlightranges/content/pics/minus-sign.png    | Bin 0 -> 250 bytes
 .../qml/highlightranges/content/pics/moreDown.png  | Bin 0 -> 217 bytes
 .../qml/highlightranges/content/pics/moreUp.png    | Bin 0 -> 212 bytes
 .../qml/highlightranges/content/pics/pancakes.jpg  | Bin 0 -> 9163 bytes
 .../qml/highlightranges/content/pics/plus-sign.png | Bin 0 -> 462 bytes
 .../content/pics/vegetable-soup.jpg                | Bin 0 -> 8639 bytes
 .../qml/highlightranges/dynamiclist.qml            | 203 +++++++++++++++++++++
 .../qml/highlightranges/expandingdelegates.qml     | 202 ++++++++++++++++++++
 .../qml/highlightranges/highlight.qml              |  99 ++++++++++
 .../qml/highlightranges/highlightranges.qml        | 122 +++++++++++++
 .../qml/highlightranges/sections.qml               |  87 +++++++++
 .../highlightranges/qml/listview.qmlproject        |  16 --
 .../listview/highlightranges/qml/sections.qml      |  87 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 --------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 --------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../modelviews/listview/listview.qmlproject        |  16 --
 .../declarative/modelviews/listview/sections.qml   |  87 ---------
 .../modelviews/listview/sections/main.cpp          |   2 +-
 .../listview/sections/qml/content/PetsModel.qml    |  98 ----------
 .../sections/qml/content/PressAndHoldButton.qml    |  82 ---------
 .../listview/sections/qml/content/RecipesModel.qml | 129 -------------
 .../listview/sections/qml/content/TextButton.qml   |  78 --------
 .../sections/qml/content/pics/arrow-down.png       | Bin 594 -> 0 bytes
 .../sections/qml/content/pics/arrow-up.png         | Bin 692 -> 0 bytes
 .../sections/qml/content/pics/fruit-salad.jpg      | Bin 17952 -> 0 bytes
 .../sections/qml/content/pics/hamburger.jpg        | Bin 8572 -> 0 bytes
 .../sections/qml/content/pics/lemonade.jpg         | Bin 6645 -> 0 bytes
 .../sections/qml/content/pics/list-delete.png      | Bin 831 -> 0 bytes
 .../sections/qml/content/pics/minus-sign.png       | Bin 250 -> 0 bytes
 .../sections/qml/content/pics/moreDown.png         | Bin 217 -> 0 bytes
 .../listview/sections/qml/content/pics/moreUp.png  | Bin 212 -> 0 bytes
 .../sections/qml/content/pics/pancakes.jpg         | Bin 9163 -> 0 bytes
 .../sections/qml/content/pics/plus-sign.png        | Bin 462 -> 0 bytes
 .../sections/qml/content/pics/vegetable-soup.jpg   | Bin 8639 -> 0 bytes
 .../listview/sections/qml/dynamiclist.qml          | 203 ---------------------
 .../listview/sections/qml/expandingdelegates.qml   | 202 --------------------
 .../modelviews/listview/sections/qml/highlight.qml |  99 ----------
 .../listview/sections/qml/highlightranges.qml      | 122 -------------
 .../listview/sections/qml/listview.qmlproject      |  16 --
 .../modelviews/listview/sections/qml/sections.qml  |  87 ---------
 .../sections/qml/sections/content/PetsModel.qml    |  98 ++++++++++
 .../qml/sections/content/PressAndHoldButton.qml    |  82 +++++++++
 .../sections/qml/sections/content/RecipesModel.qml | 129 +++++++++++++
 .../sections/qml/sections/content/TextButton.qml   |  78 ++++++++
 .../qml/sections/content/pics/arrow-down.png       | Bin 0 -> 594 bytes
 .../qml/sections/content/pics/arrow-up.png         | Bin 0 -> 692 bytes
 .../qml/sections/content/pics/fruit-salad.jpg      | Bin 0 -> 17952 bytes
 .../qml/sections/content/pics/hamburger.jpg        | Bin 0 -> 8572 bytes
 .../qml/sections/content/pics/lemonade.jpg         | Bin 0 -> 6645 bytes
 .../qml/sections/content/pics/list-delete.png      | Bin 0 -> 831 bytes
 .../qml/sections/content/pics/minus-sign.png       | Bin 0 -> 250 bytes
 .../qml/sections/content/pics/moreDown.png         | Bin 0 -> 217 bytes
 .../sections/qml/sections/content/pics/moreUp.png  | Bin 0 -> 212 bytes
 .../qml/sections/content/pics/pancakes.jpg         | Bin 0 -> 9163 bytes
 .../qml/sections/content/pics/plus-sign.png        | Bin 0 -> 462 bytes
 .../qml/sections/content/pics/vegetable-soup.jpg   | Bin 0 -> 8639 bytes
 .../listview/sections/qml/sections/dynamiclist.qml | 203 +++++++++++++++++++++
 .../sections/qml/sections/expandingdelegates.qml   | 202 ++++++++++++++++++++
 .../listview/sections/qml/sections/highlight.qml   |  99 ++++++++++
 .../sections/qml/sections/highlightranges.qml      | 122 +++++++++++++
 .../listview/sections/qml/sections/sections.qml    |  87 +++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 --------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 --------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../modelviews/listview/sections/sections.pro      |   4 +-
 .../listview/sections/sections.qmlproject          |  16 ++
 260 files changed, 5595 insertions(+), 8861 deletions(-)
 delete mode 100644 examples/declarative/modelviews/listview/content/PetsModel.qml
 delete mode 100644 examples/declarative/modelviews/listview/content/PressAndHoldButton.qml
 delete mode 100644 examples/declarative/modelviews/listview/content/RecipesModel.qml
 delete mode 100644 examples/declarative/modelviews/listview/content/TextButton.qml
 delete mode 100644 examples/declarative/modelviews/listview/content/pics/arrow-down.png
 delete mode 100644 examples/declarative/modelviews/listview/content/pics/arrow-up.png
 delete mode 100644 examples/declarative/modelviews/listview/content/pics/list-delete.png
 delete mode 100644 examples/declarative/modelviews/listview/content/pics/minus-sign.png
 delete mode 100644 examples/declarative/modelviews/listview/content/pics/plus-sign.png
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist.qml
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/dynamiclist.qmlproject
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/content/PetsModel.qml
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/content/PressAndHoldButton.qml
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/content/RecipesModel.qml
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/content/TextButton.qml
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/arrow-down.png
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/arrow-up.png
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/fruit-salad.jpg
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/hamburger.jpg
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/lemonade.jpg
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/list-delete.png
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/minus-sign.png
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/moreDown.png
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/moreUp.png
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/pancakes.jpg
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/plus-sign.png
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/vegetable-soup.jpg
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/PetsModel.qml
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/PressAndHoldButton.qml
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/RecipesModel.qml
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/TextButton.qml
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/arrow-down.png
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/arrow-up.png
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/fruit-salad.jpg
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/hamburger.jpg
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/lemonade.jpg
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/list-delete.png
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/minus-sign.png
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/moreDown.png
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/moreUp.png
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/pancakes.jpg
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/plus-sign.png
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/vegetable-soup.jpg
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/dynamiclist.qml
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/expandingdelegates.qml
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/highlight.qml
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/highlightranges.qml
 create mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/sections.qml
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/dynamiclist.qml
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/expandingdelegates.qml
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/highlight.qml
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/highlightranges.qml
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/listview.qmlproject
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qml/sections.qml
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/modelviews/listview/dynamiclist/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates.qml
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/expandingdelegates.qmlproject
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/content/PetsModel.qml
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/content/PressAndHoldButton.qml
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/content/RecipesModel.qml
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/content/TextButton.qml
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/arrow-down.png
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/arrow-up.png
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/fruit-salad.jpg
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/hamburger.jpg
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/lemonade.jpg
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/list-delete.png
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/minus-sign.png
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/moreDown.png
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/moreUp.png
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/pancakes.jpg
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/plus-sign.png
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/vegetable-soup.jpg
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/dynamiclist.qml
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates.qml
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/PetsModel.qml
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/PressAndHoldButton.qml
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/RecipesModel.qml
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/TextButton.qml
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/arrow-down.png
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/arrow-up.png
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/fruit-salad.jpg
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/hamburger.jpg
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/lemonade.jpg
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/list-delete.png
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/minus-sign.png
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/moreDown.png
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/moreUp.png
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/pancakes.jpg
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/plus-sign.png
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/vegetable-soup.jpg
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/dynamiclist.qml
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/expandingdelegates.qml
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/highlight.qml
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/highlightranges.qml
 create mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/sections.qml
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/highlight.qml
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/highlightranges.qml
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/listview.qmlproject
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qml/sections.qml
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/modelviews/listview/expandingdelegates/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/modelviews/listview/highlight.qml
 create mode 100644 examples/declarative/modelviews/listview/highlight/highlight.qmlproject
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/content/PetsModel.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/content/PressAndHoldButton.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/content/RecipesModel.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/content/TextButton.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/content/pics/arrow-down.png
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/content/pics/arrow-up.png
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/content/pics/fruit-salad.jpg
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/content/pics/hamburger.jpg
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/content/pics/lemonade.jpg
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/content/pics/list-delete.png
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/content/pics/minus-sign.png
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/content/pics/moreDown.png
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/content/pics/moreUp.png
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/content/pics/pancakes.jpg
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/content/pics/plus-sign.png
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/content/pics/vegetable-soup.jpg
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/dynamiclist.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/expandingdelegates.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight.qml
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/content/PetsModel.qml
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/content/PressAndHoldButton.qml
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/content/RecipesModel.qml
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/content/TextButton.qml
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/arrow-down.png
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/arrow-up.png
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/fruit-salad.jpg
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/hamburger.jpg
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/lemonade.jpg
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/list-delete.png
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/minus-sign.png
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/moreDown.png
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/moreUp.png
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/pancakes.jpg
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/plus-sign.png
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/vegetable-soup.jpg
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/dynamiclist.qml
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/expandingdelegates.qml
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/highlight.qml
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/highlightranges.qml
 create mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlight/sections.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/highlightranges.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/listview.qmlproject
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qml/sections.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/modelviews/listview/highlight/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges.qml
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/highlightranges.qmlproject
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/content/PetsModel.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/content/PressAndHoldButton.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/content/RecipesModel.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/content/TextButton.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/content/pics/arrow-down.png
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/content/pics/arrow-up.png
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/content/pics/fruit-salad.jpg
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/content/pics/hamburger.jpg
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/content/pics/lemonade.jpg
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/content/pics/list-delete.png
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/content/pics/minus-sign.png
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/content/pics/moreDown.png
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/content/pics/moreUp.png
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/content/pics/pancakes.jpg
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/content/pics/plus-sign.png
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/content/pics/vegetable-soup.jpg
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/dynamiclist.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/expandingdelegates.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlight.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges.qml
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/PetsModel.qml
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/PressAndHoldButton.qml
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/RecipesModel.qml
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/TextButton.qml
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/arrow-down.png
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/arrow-up.png
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/fruit-salad.jpg
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/hamburger.jpg
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/lemonade.jpg
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/list-delete.png
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/minus-sign.png
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/moreDown.png
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/moreUp.png
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/pancakes.jpg
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/plus-sign.png
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/vegetable-soup.jpg
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/dynamiclist.qml
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/expandingdelegates.qml
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/highlight.qml
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/highlightranges.qml
 create mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/sections.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/listview.qmlproject
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qml/sections.qml
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/modelviews/listview/highlightranges/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/modelviews/listview/listview.qmlproject
 delete mode 100644 examples/declarative/modelviews/listview/sections.qml
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/content/PetsModel.qml
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/content/PressAndHoldButton.qml
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/content/RecipesModel.qml
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/content/TextButton.qml
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/content/pics/arrow-down.png
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/content/pics/arrow-up.png
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/content/pics/fruit-salad.jpg
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/content/pics/hamburger.jpg
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/content/pics/lemonade.jpg
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/content/pics/list-delete.png
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/content/pics/minus-sign.png
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/content/pics/moreDown.png
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/content/pics/moreUp.png
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/content/pics/pancakes.jpg
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/content/pics/plus-sign.png
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/content/pics/vegetable-soup.jpg
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/dynamiclist.qml
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/expandingdelegates.qml
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/highlight.qml
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/highlightranges.qml
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/listview.qmlproject
 delete mode 100644 examples/declarative/modelviews/listview/sections/qml/sections.qml
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/content/PetsModel.qml
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/content/PressAndHoldButton.qml
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/content/RecipesModel.qml
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/content/TextButton.qml
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/content/pics/arrow-down.png
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/content/pics/arrow-up.png
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/content/pics/fruit-salad.jpg
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/content/pics/hamburger.jpg
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/content/pics/lemonade.jpg
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/content/pics/list-delete.png
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/content/pics/minus-sign.png
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/content/pics/moreDown.png
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/content/pics/moreUp.png
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/content/pics/pancakes.jpg
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/content/pics/plus-sign.png
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/content/pics/vegetable-soup.jpg
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/dynamiclist.qml
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/expandingdelegates.qml
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/highlight.qml
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/highlightranges.qml
 create mode 100644 examples/declarative/modelviews/listview/sections/qml/sections/sections.qml
 delete mode 100644 examples/declarative/modelviews/listview/sections/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/modelviews/listview/sections/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/modelviews/listview/sections/qmlapplicationviewer/qmlapplicationviewer.pri
 create mode 100644 examples/declarative/modelviews/listview/sections/sections.qmlproject

diff --git a/examples/declarative/modelviews/listview/content/PetsModel.qml b/examples/declarative/modelviews/listview/content/PetsModel.qml
deleted file mode 100644
index d7375a7..0000000
--- a/examples/declarative/modelviews/listview/content/PetsModel.qml
+++ /dev/null
@@ -1,98 +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
-
-ListModel {
-    ListElement {
-        name: "Polly"
-        type: "Parrot"
-        age: 12
-        size: "Small"
-    }
-    ListElement {
-        name: "Penny"
-        type: "Turtle"
-        age: 4
-        size: "Small"
-    }
-    ListElement {
-        name: "Warren"
-        type: "Rabbit"
-        age: 2
-        size: "Small"
-    }
-    ListElement {
-        name: "Spot"
-        type: "Dog"
-        age: 9
-        size: "Medium"
-    }
-    ListElement {
-        name: "Schrödinger"
-        type: "Cat"
-        age: 2
-        size: "Medium"
-    }
-    ListElement {
-        name: "Joey"
-        type: "Kangaroo"
-        age: 1
-        size: "Medium"
-    }
-    ListElement {
-        name: "Kimba"
-        type: "Bunny"
-        age: 65
-        size: "Large"
-    }
-    ListElement {
-        name: "Rover"
-        type: "Dog"
-        age: 5
-        size: "Large"
-    }
-    ListElement {
-        name: "Tiny"
-        type: "Elephant"
-        age: 15
-        size: "Large"
-    }
-}
diff --git a/examples/declarative/modelviews/listview/content/PressAndHoldButton.qml b/examples/declarative/modelviews/listview/content/PressAndHoldButton.qml
deleted file mode 100644
index b79b5cb..0000000
--- a/examples/declarative/modelviews/listview/content/PressAndHoldButton.qml
+++ /dev/null
@@ -1,82 +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
-
-Image {
-    id: container
-
-    property int repeatDelay: 300
-    property int repeatDuration: 75
-    property bool pressed: false
-
-    signal clicked
-
-    scale: pressed ? 0.9 : 1
-
-    function release() {
-        autoRepeatClicks.stop()
-        container.pressed = false
-    }
-
-    SequentialAnimation on pressed {
-        id: autoRepeatClicks
-        running: false
-
-        PropertyAction { target: container; property: "pressed"; value: true }
-        ScriptAction { script: container.clicked() }
-        PauseAnimation { duration: repeatDelay }
-
-        SequentialAnimation {
-            loops: Animation.Infinite
-            ScriptAction { script: container.clicked() }
-            PauseAnimation { duration: repeatDuration }
-        }
-    }
-
-    MouseArea {
-        anchors.fill: parent
-
-        onPressed: autoRepeatClicks.start()
-        onReleased: container.release()
-        onCanceled: container.release()
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/content/RecipesModel.qml b/examples/declarative/modelviews/listview/content/RecipesModel.qml
deleted file mode 100644
index 893d639..0000000
--- a/examples/declarative/modelviews/listview/content/RecipesModel.qml
+++ /dev/null
@@ -1,129 +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
-
-ListModel {
-    ListElement {
-        title: "Pancakes"
-        picture: "content/pics/pancakes.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 cup (150g) self-raising flour 
-                        <li> 1 tbs caster sugar 
-                        <li> 3/4 cup (185ml) milk 
-                        <li> 1 egg 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Sift flour and sugar together into a bowl. Add a pinch of salt. 
-                   <li> Beat milk and egg together, then add to dry ingredients. Beat until smooth. 
-                   <li> Pour mixture into a pan on medium heat and cook until bubbles appear on the surface. 
-                   <li> Turn over and cook other side until golden.  
-                  </ol>
-                 </html>"
-    }
-    ListElement {
-        title: "Fruit Salad"
-        picture: "content/pics/fruit-salad.jpg"
-        ingredients: "* Seasonal Fruit"
-        method: "* Chop fruit and place in a bowl."
-    }
-    ListElement {
-        title: "Vegetable Soup"
-        picture: "content/pics/vegetable-soup.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 onion 
-                        <li> 1 turnip 
-                        <li> 1 potato 
-                        <li> 1 carrot 
-                        <li> 1 head of celery 
-                        <li> 1 1/2 litres of water 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Chop vegetables. 
-                   <li> Boil in water until vegetables soften. 
-                   <li> Season with salt and pepper to taste. 
-                  </ol> 
-                 </html>"
-    }
-    ListElement {
-        title: "Hamburger"
-        picture: "content/pics/hamburger.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 500g minced beef 
-                        <li> Seasoning 
-                        <li> lettuce, tomato, onion, cheese 
-                        <li> 1 hamburger bun for each burger 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Mix the beef, together with seasoning, in a food processor. 
-                   <li> Shape the beef into burgers. 
-                   <li> Grill the burgers for about 5 mins on each side (until cooked through) 
-                   <li> Serve each burger on a bun with ketchup, cheese, lettuce, tomato and onion. 
-                  </ol> 
-                 </html>"
-    }
-    ListElement {
-        title: "Lemonade"
-        picture: "content/pics/lemonade.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 cup Lemon Juice 
-                        <li> 1 cup Sugar 
-                        <li> 6 Cups of Water (2 cups warm water, 4 cups cold water) 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Pour 2 cups of warm water into a pitcher and stir in sugar until it dissolves. 
-                   <li> Pour in lemon juice, stir again, and add 4 cups of cold water. 
-                   <li> Chill or serve over ice cubes. 
-                  </ol> 
-                 </html>"
-    }
-}
diff --git a/examples/declarative/modelviews/listview/content/TextButton.qml b/examples/declarative/modelviews/listview/content/TextButton.qml
deleted file mode 100644
index 9eef671..0000000
--- a/examples/declarative/modelviews/listview/content/TextButton.qml
+++ /dev/null
@@ -1,78 +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: container
-
-    property alias text: label.text
-
-    signal clicked
-
-    width: label.width + 20; height: label.height + 6
-    smooth: true
-    radius: 10
-
-    gradient: Gradient {
-        GradientStop { id: gradientStop; position: 0.0; color: palette.light }
-        GradientStop { position: 1.0; color: palette.button }
-    }
-
-    SystemPalette { id: palette }
-
-    MouseArea {
-        id: mouseArea
-        anchors.fill: parent
-        onClicked: { container.clicked() }
-    }
-
-    Text {
-        id: label
-        anchors.centerIn: parent
-    }
-
-    states: State {
-        name: "pressed"
-        when: mouseArea.pressed
-        PropertyChanges { target: gradientStop; color: palette.dark }
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/content/pics/arrow-down.png b/examples/declarative/modelviews/listview/content/pics/arrow-down.png
deleted file mode 100644
index 29d1d44..0000000
Binary files a/examples/declarative/modelviews/listview/content/pics/arrow-down.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/content/pics/arrow-up.png b/examples/declarative/modelviews/listview/content/pics/arrow-up.png
deleted file mode 100644
index e437312..0000000
Binary files a/examples/declarative/modelviews/listview/content/pics/arrow-up.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/content/pics/list-delete.png b/examples/declarative/modelviews/listview/content/pics/list-delete.png
deleted file mode 100644
index df2a147..0000000
Binary files a/examples/declarative/modelviews/listview/content/pics/list-delete.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/content/pics/minus-sign.png b/examples/declarative/modelviews/listview/content/pics/minus-sign.png
deleted file mode 100644
index d6f233d..0000000
Binary files a/examples/declarative/modelviews/listview/content/pics/minus-sign.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/content/pics/plus-sign.png b/examples/declarative/modelviews/listview/content/pics/plus-sign.png
deleted file mode 100644
index 40df113..0000000
Binary files a/examples/declarative/modelviews/listview/content/pics/plus-sign.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist.qml b/examples/declarative/modelviews/listview/dynamiclist.qml
deleted file mode 100644
index 350a337..0000000
--- a/examples/declarative/modelviews/listview/dynamiclist.qml
+++ /dev/null
@@ -1,203 +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
-import "content"
-
-// This example shows how items can be dynamically added to and removed from
-// a ListModel, and how these list modifications can be animated.
-
-Rectangle {
-    id: container
-    width: 500; height: 400
-    color: "#343434"
-
-    // The model:
-    ListModel {
-        id: fruitModel
-
-        ListElement {
-            name: "Apple"; cost: 2.45
-            attributes: [
-                ListElement { description: "Core" },
-                ListElement { description: "Deciduous" }
-            ]
-        }
-        ListElement {
-            name: "Banana"; cost: 1.95
-            attributes: [
-                ListElement { description: "Tropical" },
-                ListElement { description: "Seedless" }
-            ]
-        }
-        ListElement {
-            name: "Cumquat"; cost: 3.25
-            attributes: [
-                ListElement { description: "Citrus" }
-            ]
-        }
-        ListElement {
-            name: "Durian"; cost: 9.95
-            attributes: [
-                ListElement { description: "Tropical" },
-                ListElement { description: "Smelly" }
-            ]
-        }
-    }
-
-    // The delegate for each fruit in the model:
-    Component {
-        id: listDelegate
-        
-        Item {
-            id: delegateItem
-            width: listView.width; height: 55
-            clip: true
-
-            Row {
-                anchors.verticalCenter: parent.verticalCenter
-                spacing: 10
-
-                Column {
-                    Image {
-                        source: "content/pics/arrow-up.png"
-                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index-1, 1) }
-                    }
-                    Image { source: "content/pics/arrow-down.png"
-                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index+1, 1) }
-                    }
-                }
-
-                Column {
-                    anchors.verticalCenter: parent.verticalCenter
-
-                    Text { 
-                        text: name
-                        font.pixelSize: 15
-                        color: "white"
-                    }
-                    Row {
-                        spacing: 5
-                        Repeater {
-                            model: attributes
-                            Text { text: description; color: "White" }
-                        }
-                    }
-                }
-            }
-
-            Row {
-                anchors.verticalCenter: parent.verticalCenter
-                anchors.right: parent.right
-                spacing: 10
-
-                PressAndHoldButton {
-                    anchors.verticalCenter: parent.verticalCenter
-                    source: "content/pics/plus-sign.png"
-                    onClicked: fruitModel.setProperty(index, "cost", cost + 0.25)
-                }
-
-                Text { 
-                    id: costText
-                    anchors.verticalCenter: parent.verticalCenter
-                    text: '$' + Number(cost).toFixed(2)
-                    font.pixelSize: 15
-                    color: "white"
-                    font.bold: true
-                }
-
-                PressAndHoldButton {
-                    anchors.verticalCenter: parent.verticalCenter
-                    source: "content/pics/minus-sign.png"
-                    onClicked: fruitModel.setProperty(index, "cost", Math.max(0,cost-0.25))
-                }
-
-                Image {
-                    source: "content/pics/list-delete.png"
-                    MouseArea { anchors.fill:parent; onClicked: fruitModel.remove(index) }
-                }
-            }
-
-            // Animate adding and removing of items:
-
-            ListView.onAdd: SequentialAnimation {
-                PropertyAction { target: delegateItem; property: "height"; value: 0 }
-                NumberAnimation { target: delegateItem; property: "height"; to: 55; duration: 250; easing.type: Easing.InOutQuad }
-            }
-
-            ListView.onRemove: SequentialAnimation {
-                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: true }
-                NumberAnimation { target: delegateItem; property: "height"; to: 0; duration: 250; easing.type: Easing.InOutQuad }
-
-                // Make sure delayRemove is set back to false so that the item can be destroyed
-                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: false }
-            }
-        }
-    }
-
-    // The view:
-    ListView {
-        id: listView
-        anchors.fill: parent; anchors.margins: 20
-        model: fruitModel
-        delegate: listDelegate
-    }
-
-    Row {
-        anchors { left: parent.left; bottom: parent.bottom; margins: 20 }
-        spacing: 10
-
-        TextButton { 
-            text: "Add an item"
-            onClicked: {
-                fruitModel.append({
-                    "name": "Pizza Margarita",
-                    "cost": 5.95,
-                    "attributes": [{"description": "Cheese"}, {"description": "Tomato"}]
-                })
-            }
-        }
-
-        TextButton { 
-            text: "Remove all items" 
-            onClicked: fruitModel.clear()
-        }
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/dynamiclist/dynamiclist.pro b/examples/declarative/modelviews/listview/dynamiclist/dynamiclist.pro
index 39b1ad1..9d8a3fe 100644
--- a/examples/declarative/modelviews/listview/dynamiclist/dynamiclist.pro
+++ b/examples/declarative/modelviews/listview/dynamiclist/dynamiclist.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/dynamic
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE49D962F
 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/modelviews/listview/dynamiclist/dynamiclist.qmlproject b/examples/declarative/modelviews/listview/dynamiclist/dynamiclist.qmlproject
new file mode 100644
index 0000000..14b7b95
--- /dev/null
+++ b/examples/declarative/modelviews/listview/dynamiclist/dynamiclist.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/dynamic"
+    }
+    JavaScriptFiles {
+        directory: "qml/dynamic"
+    }
+    ImageFiles {
+        directory: "qml/dynamic"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/modelviews/listview/dynamiclist/main.cpp b/examples/declarative/modelviews/listview/dynamiclist/main.cpp
index 757b113..fad1426 100644
--- a/examples/declarative/modelviews/listview/dynamiclist/main.cpp
+++ b/examples/declarative/modelviews/listview/dynamiclist/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/dynamiclist.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/dynamic/dynamiclist.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/content/PetsModel.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/content/PetsModel.qml
deleted file mode 100644
index 5220763..0000000
--- a/examples/declarative/modelviews/listview/dynamiclist/qml/content/PetsModel.qml
+++ /dev/null
@@ -1,98 +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
-
-ListModel {
-    ListElement {
-        name: "Polly"
-        type: "Parrot"
-        age: 12
-        size: "Small"
-    }
-    ListElement {
-        name: "Penny"
-        type: "Turtle"
-        age: 4
-        size: "Small"
-    }
-    ListElement {
-        name: "Warren"
-        type: "Rabbit"
-        age: 2
-        size: "Small"
-    }
-    ListElement {
-        name: "Spot"
-        type: "Dog"
-        age: 9
-        size: "Medium"
-    }
-    ListElement {
-        name: "Schrödinger"
-        type: "Cat"
-        age: 2
-        size: "Medium"
-    }
-    ListElement {
-        name: "Joey"
-        type: "Kangaroo"
-        age: 1
-        size: "Medium"
-    }
-    ListElement {
-        name: "Kimba"
-        type: "Bunny"
-        age: 65
-        size: "Large"
-    }
-    ListElement {
-        name: "Rover"
-        type: "Dog"
-        age: 5
-        size: "Large"
-    }
-    ListElement {
-        name: "Tiny"
-        type: "Elephant"
-        age: 15
-        size: "Large"
-    }
-}
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/content/PressAndHoldButton.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/content/PressAndHoldButton.qml
deleted file mode 100644
index d6808a4..0000000
--- a/examples/declarative/modelviews/listview/dynamiclist/qml/content/PressAndHoldButton.qml
+++ /dev/null
@@ -1,82 +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
-
-Image {
-    id: container
-
-    property int repeatDelay: 300
-    property int repeatDuration: 75
-    property bool pressed: false
-
-    signal clicked
-
-    scale: pressed ? 0.9 : 1
-
-    function release() {
-        autoRepeatClicks.stop()
-        container.pressed = false
-    }
-
-    SequentialAnimation on pressed {
-        id: autoRepeatClicks
-        running: false
-
-        PropertyAction { target: container; property: "pressed"; value: true }
-        ScriptAction { script: container.clicked() }
-        PauseAnimation { duration: repeatDelay }
-
-        SequentialAnimation {
-            loops: Animation.Infinite
-            ScriptAction { script: container.clicked() }
-            PauseAnimation { duration: repeatDuration }
-        }
-    }
-
-    MouseArea {
-        anchors.fill: parent
-
-        onPressed: autoRepeatClicks.start()
-        onReleased: container.release()
-        onCanceled: container.release()
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/content/RecipesModel.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/content/RecipesModel.qml
deleted file mode 100644
index 6056b90..0000000
--- a/examples/declarative/modelviews/listview/dynamiclist/qml/content/RecipesModel.qml
+++ /dev/null
@@ -1,129 +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
-
-ListModel {
-    ListElement {
-        title: "Pancakes"
-        picture: "content/pics/pancakes.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 cup (150g) self-raising flour 
-                        <li> 1 tbs caster sugar 
-                        <li> 3/4 cup (185ml) milk 
-                        <li> 1 egg 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Sift flour and sugar together into a bowl. Add a pinch of salt. 
-                   <li> Beat milk and egg together, then add to dry ingredients. Beat until smooth. 
-                   <li> Pour mixture into a pan on medium heat and cook until bubbles appear on the surface. 
-                   <li> Turn over and cook other side until golden.  
-                  </ol>
-                 </html>"
-    }
-    ListElement {
-        title: "Fruit Salad"
-        picture: "content/pics/fruit-salad.jpg"
-        ingredients: "* Seasonal Fruit"
-        method: "* Chop fruit and place in a bowl."
-    }
-    ListElement {
-        title: "Vegetable Soup"
-        picture: "content/pics/vegetable-soup.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 onion 
-                        <li> 1 turnip 
-                        <li> 1 potato 
-                        <li> 1 carrot 
-                        <li> 1 head of celery 
-                        <li> 1 1/2 litres of water 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Chop vegetables. 
-                   <li> Boil in water until vegetables soften. 
-                   <li> Season with salt and pepper to taste. 
-                  </ol> 
-                 </html>"
-    }
-    ListElement {
-        title: "Hamburger"
-        picture: "content/pics/hamburger.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 500g minced beef 
-                        <li> Seasoning 
-                        <li> lettuce, tomato, onion, cheese 
-                        <li> 1 hamburger bun for each burger 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Mix the beef, together with seasoning, in a food processor. 
-                   <li> Shape the beef into burgers. 
-                   <li> Grill the burgers for about 5 mins on each side (until cooked through) 
-                   <li> Serve each burger on a bun with ketchup, cheese, lettuce, tomato and onion. 
-                  </ol> 
-                 </html>"
-    }
-    ListElement {
-        title: "Lemonade"
-        picture: "content/pics/lemonade.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 cup Lemon Juice 
-                        <li> 1 cup Sugar 
-                        <li> 6 Cups of Water (2 cups warm water, 4 cups cold water) 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Pour 2 cups of warm water into a pitcher and stir in sugar until it dissolves. 
-                   <li> Pour in lemon juice, stir again, and add 4 cups of cold water. 
-                   <li> Chill or serve over ice cubes. 
-                  </ol> 
-                 </html>"
-    }
-}
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/content/TextButton.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/content/TextButton.qml
deleted file mode 100644
index f26d775..0000000
--- a/examples/declarative/modelviews/listview/dynamiclist/qml/content/TextButton.qml
+++ /dev/null
@@ -1,78 +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: container
-
-    property alias text: label.text
-
-    signal clicked
-
-    width: label.width + 20; height: label.height + 6
-    smooth: true
-    radius: 10
-
-    gradient: Gradient {
-        GradientStop { id: gradientStop; position: 0.0; color: palette.light }
-        GradientStop { position: 1.0; color: palette.button }
-    }
-
-    SystemPalette { id: palette }
-
-    MouseArea {
-        id: mouseArea
-        anchors.fill: parent
-        onClicked: { container.clicked() }
-    }
-
-    Text {
-        id: label
-        anchors.centerIn: parent
-    }
-
-    states: State {
-        name: "pressed"
-        when: mouseArea.pressed
-        PropertyChanges { target: gradientStop; color: palette.dark }
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/arrow-down.png b/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/arrow-down.png
deleted file mode 100644
index 29d1d44..0000000
Binary files a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/arrow-down.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/arrow-up.png b/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/arrow-up.png
deleted file mode 100644
index e437312..0000000
Binary files a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/arrow-up.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/fruit-salad.jpg b/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/fruit-salad.jpg
deleted file mode 100644
index da5a6b1..0000000
Binary files a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/fruit-salad.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/hamburger.jpg b/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/hamburger.jpg
deleted file mode 100644
index d0a15be..0000000
Binary files a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/hamburger.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/lemonade.jpg b/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/lemonade.jpg
deleted file mode 100644
index db445c9..0000000
Binary files a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/lemonade.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/list-delete.png b/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/list-delete.png
deleted file mode 100644
index df2a147..0000000
Binary files a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/list-delete.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/minus-sign.png b/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/minus-sign.png
deleted file mode 100644
index d6f233d..0000000
Binary files a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/minus-sign.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/moreDown.png b/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/moreDown.png
deleted file mode 100644
index 31a35d5..0000000
Binary files a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/moreDown.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/moreUp.png b/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/moreUp.png
deleted file mode 100644
index fefb9c9..0000000
Binary files a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/moreUp.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/pancakes.jpg b/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/pancakes.jpg
deleted file mode 100644
index 60c4396..0000000
Binary files a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/pancakes.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/plus-sign.png b/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/plus-sign.png
deleted file mode 100644
index 40df113..0000000
Binary files a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/plus-sign.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/vegetable-soup.jpg b/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/vegetable-soup.jpg
deleted file mode 100644
index 9dce332..0000000
Binary files a/examples/declarative/modelviews/listview/dynamiclist/qml/content/pics/vegetable-soup.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/PetsModel.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/PetsModel.qml
new file mode 100644
index 0000000..5220763
--- /dev/null
+++ b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/PetsModel.qml
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** 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
+
+ListModel {
+    ListElement {
+        name: "Polly"
+        type: "Parrot"
+        age: 12
+        size: "Small"
+    }
+    ListElement {
+        name: "Penny"
+        type: "Turtle"
+        age: 4
+        size: "Small"
+    }
+    ListElement {
+        name: "Warren"
+        type: "Rabbit"
+        age: 2
+        size: "Small"
+    }
+    ListElement {
+        name: "Spot"
+        type: "Dog"
+        age: 9
+        size: "Medium"
+    }
+    ListElement {
+        name: "Schrödinger"
+        type: "Cat"
+        age: 2
+        size: "Medium"
+    }
+    ListElement {
+        name: "Joey"
+        type: "Kangaroo"
+        age: 1
+        size: "Medium"
+    }
+    ListElement {
+        name: "Kimba"
+        type: "Bunny"
+        age: 65
+        size: "Large"
+    }
+    ListElement {
+        name: "Rover"
+        type: "Dog"
+        age: 5
+        size: "Large"
+    }
+    ListElement {
+        name: "Tiny"
+        type: "Elephant"
+        age: 15
+        size: "Large"
+    }
+}
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/PressAndHoldButton.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/PressAndHoldButton.qml
new file mode 100644
index 0000000..d6808a4
--- /dev/null
+++ b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/PressAndHoldButton.qml
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** 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
+
+Image {
+    id: container
+
+    property int repeatDelay: 300
+    property int repeatDuration: 75
+    property bool pressed: false
+
+    signal clicked
+
+    scale: pressed ? 0.9 : 1
+
+    function release() {
+        autoRepeatClicks.stop()
+        container.pressed = false
+    }
+
+    SequentialAnimation on pressed {
+        id: autoRepeatClicks
+        running: false
+
+        PropertyAction { target: container; property: "pressed"; value: true }
+        ScriptAction { script: container.clicked() }
+        PauseAnimation { duration: repeatDelay }
+
+        SequentialAnimation {
+            loops: Animation.Infinite
+            ScriptAction { script: container.clicked() }
+            PauseAnimation { duration: repeatDuration }
+        }
+    }
+
+    MouseArea {
+        anchors.fill: parent
+
+        onPressed: autoRepeatClicks.start()
+        onReleased: container.release()
+        onCanceled: container.release()
+    }
+}
+
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/RecipesModel.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/RecipesModel.qml
new file mode 100644
index 0000000..6056b90
--- /dev/null
+++ b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/RecipesModel.qml
@@ -0,0 +1,129 @@
+/****************************************************************************
+**
+** 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
+
+ListModel {
+    ListElement {
+        title: "Pancakes"
+        picture: "content/pics/pancakes.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 1 cup (150g) self-raising flour 
+                        <li> 1 tbs caster sugar 
+                        <li> 3/4 cup (185ml) milk 
+                        <li> 1 egg 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Sift flour and sugar together into a bowl. Add a pinch of salt. 
+                   <li> Beat milk and egg together, then add to dry ingredients. Beat until smooth. 
+                   <li> Pour mixture into a pan on medium heat and cook until bubbles appear on the surface. 
+                   <li> Turn over and cook other side until golden.  
+                  </ol>
+                 </html>"
+    }
+    ListElement {
+        title: "Fruit Salad"
+        picture: "content/pics/fruit-salad.jpg"
+        ingredients: "* Seasonal Fruit"
+        method: "* Chop fruit and place in a bowl."
+    }
+    ListElement {
+        title: "Vegetable Soup"
+        picture: "content/pics/vegetable-soup.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 1 onion 
+                        <li> 1 turnip 
+                        <li> 1 potato 
+                        <li> 1 carrot 
+                        <li> 1 head of celery 
+                        <li> 1 1/2 litres of water 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Chop vegetables. 
+                   <li> Boil in water until vegetables soften. 
+                   <li> Season with salt and pepper to taste. 
+                  </ol> 
+                 </html>"
+    }
+    ListElement {
+        title: "Hamburger"
+        picture: "content/pics/hamburger.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 500g minced beef 
+                        <li> Seasoning 
+                        <li> lettuce, tomato, onion, cheese 
+                        <li> 1 hamburger bun for each burger 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Mix the beef, together with seasoning, in a food processor. 
+                   <li> Shape the beef into burgers. 
+                   <li> Grill the burgers for about 5 mins on each side (until cooked through) 
+                   <li> Serve each burger on a bun with ketchup, cheese, lettuce, tomato and onion. 
+                  </ol> 
+                 </html>"
+    }
+    ListElement {
+        title: "Lemonade"
+        picture: "content/pics/lemonade.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 1 cup Lemon Juice 
+                        <li> 1 cup Sugar 
+                        <li> 6 Cups of Water (2 cups warm water, 4 cups cold water) 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Pour 2 cups of warm water into a pitcher and stir in sugar until it dissolves. 
+                   <li> Pour in lemon juice, stir again, and add 4 cups of cold water. 
+                   <li> Chill or serve over ice cubes. 
+                  </ol> 
+                 </html>"
+    }
+}
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/TextButton.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/TextButton.qml
new file mode 100644
index 0000000..f26d775
--- /dev/null
+++ b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/TextButton.qml
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** 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: container
+
+    property alias text: label.text
+
+    signal clicked
+
+    width: label.width + 20; height: label.height + 6
+    smooth: true
+    radius: 10
+
+    gradient: Gradient {
+        GradientStop { id: gradientStop; position: 0.0; color: palette.light }
+        GradientStop { position: 1.0; color: palette.button }
+    }
+
+    SystemPalette { id: palette }
+
+    MouseArea {
+        id: mouseArea
+        anchors.fill: parent
+        onClicked: { container.clicked() }
+    }
+
+    Text {
+        id: label
+        anchors.centerIn: parent
+    }
+
+    states: State {
+        name: "pressed"
+        when: mouseArea.pressed
+        PropertyChanges { target: gradientStop; color: palette.dark }
+    }
+}
+
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/arrow-down.png b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/arrow-down.png
new file mode 100644
index 0000000..29d1d44
Binary files /dev/null and b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/arrow-down.png differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/arrow-up.png b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/arrow-up.png
new file mode 100644
index 0000000..e437312
Binary files /dev/null and b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/arrow-up.png differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/fruit-salad.jpg b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/fruit-salad.jpg
new file mode 100644
index 0000000..da5a6b1
Binary files /dev/null and b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/fruit-salad.jpg differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/hamburger.jpg b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/hamburger.jpg
new file mode 100644
index 0000000..d0a15be
Binary files /dev/null and b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/hamburger.jpg differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/lemonade.jpg b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/lemonade.jpg
new file mode 100644
index 0000000..db445c9
Binary files /dev/null and b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/lemonade.jpg differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/list-delete.png b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/list-delete.png
new file mode 100644
index 0000000..df2a147
Binary files /dev/null and b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/list-delete.png differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/minus-sign.png b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/minus-sign.png
new file mode 100644
index 0000000..d6f233d
Binary files /dev/null and b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/minus-sign.png differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/moreDown.png b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/moreDown.png
new file mode 100644
index 0000000..31a35d5
Binary files /dev/null and b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/moreDown.png differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/moreUp.png b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/moreUp.png
new file mode 100644
index 0000000..fefb9c9
Binary files /dev/null and b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/moreUp.png differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/pancakes.jpg b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/pancakes.jpg
new file mode 100644
index 0000000..60c4396
Binary files /dev/null and b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/pancakes.jpg differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/plus-sign.png b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/plus-sign.png
new file mode 100644
index 0000000..40df113
Binary files /dev/null and b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/plus-sign.png differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/vegetable-soup.jpg b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/vegetable-soup.jpg
new file mode 100644
index 0000000..9dce332
Binary files /dev/null and b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/content/pics/vegetable-soup.jpg differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/dynamiclist.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/dynamiclist.qml
new file mode 100644
index 0000000..f25f0fa
--- /dev/null
+++ b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/dynamiclist.qml
@@ -0,0 +1,203 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+// This example shows how items can be dynamically added to and removed from
+// a ListModel, and how these list modifications can be animated.
+
+Rectangle {
+    id: container
+    width: 500; height: 400
+    color: "#343434"
+
+    // The model:
+    ListModel {
+        id: fruitModel
+
+        ListElement {
+            name: "Apple"; cost: 2.45
+            attributes: [
+                ListElement { description: "Core" },
+                ListElement { description: "Deciduous" }
+            ]
+        }
+        ListElement {
+            name: "Banana"; cost: 1.95
+            attributes: [
+                ListElement { description: "Tropical" },
+                ListElement { description: "Seedless" }
+            ]
+        }
+        ListElement {
+            name: "Cumquat"; cost: 3.25
+            attributes: [
+                ListElement { description: "Citrus" }
+            ]
+        }
+        ListElement {
+            name: "Durian"; cost: 9.95
+            attributes: [
+                ListElement { description: "Tropical" },
+                ListElement { description: "Smelly" }
+            ]
+        }
+    }
+
+    // The delegate for each fruit in the model:
+    Component {
+        id: listDelegate
+        
+        Item {
+            id: delegateItem
+            width: listView.width; height: 55
+            clip: true
+
+            Row {
+                anchors.verticalCenter: parent.verticalCenter
+                spacing: 10
+
+                Column {
+                    Image {
+                        source: "content/pics/arrow-up.png"
+                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index-1, 1) }
+                    }
+                    Image { source: "content/pics/arrow-down.png"
+                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index+1, 1) }
+                    }
+                }
+
+                Column {
+                    anchors.verticalCenter: parent.verticalCenter
+
+                    Text { 
+                        text: name
+                        font.pixelSize: 15
+                        color: "white"
+                    }
+                    Row {
+                        spacing: 5
+                        Repeater {
+                            model: attributes
+                            Text { text: description; color: "White" }
+                        }
+                    }
+                }
+            }
+
+            Row {
+                anchors.verticalCenter: parent.verticalCenter
+                anchors.right: parent.right
+                spacing: 10
+
+                PressAndHoldButton {
+                    anchors.verticalCenter: parent.verticalCenter
+                    source: "content/pics/plus-sign.png"
+                    onClicked: fruitModel.setProperty(index, "cost", cost + 0.25)
+                }
+
+                Text { 
+                    id: costText
+                    anchors.verticalCenter: parent.verticalCenter
+                    text: '$' + Number(cost).toFixed(2)
+                    font.pixelSize: 15
+                    color: "white"
+                    font.bold: true
+                }
+
+                PressAndHoldButton {
+                    anchors.verticalCenter: parent.verticalCenter
+                    source: "content/pics/minus-sign.png"
+                    onClicked: fruitModel.setProperty(index, "cost", Math.max(0,cost-0.25))
+                }
+
+                Image {
+                    source: "content/pics/list-delete.png"
+                    MouseArea { anchors.fill:parent; onClicked: fruitModel.remove(index) }
+                }
+            }
+
+            // Animate adding and removing of items:
+
+            ListView.onAdd: SequentialAnimation {
+                PropertyAction { target: delegateItem; property: "height"; value: 0 }
+                NumberAnimation { target: delegateItem; property: "height"; to: 55; duration: 250; easing.type: Easing.InOutQuad }
+            }
+
+            ListView.onRemove: SequentialAnimation {
+                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: true }
+                NumberAnimation { target: delegateItem; property: "height"; to: 0; duration: 250; easing.type: Easing.InOutQuad }
+
+                // Make sure delayRemove is set back to false so that the item can be destroyed
+                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: false }
+            }
+        }
+    }
+
+    // The view:
+    ListView {
+        id: listView
+        anchors.fill: parent; anchors.margins: 20
+        model: fruitModel
+        delegate: listDelegate
+    }
+
+    Row {
+        anchors { left: parent.left; bottom: parent.bottom; margins: 20 }
+        spacing: 10
+
+        TextButton { 
+            text: "Add an item"
+            onClicked: {
+                fruitModel.append({
+                    "name": "Pizza Margarita",
+                    "cost": 5.95,
+                    "attributes": [{"description": "Cheese"}, {"description": "Tomato"}]
+                })
+            }
+        }
+
+        TextButton { 
+            text: "Remove all items" 
+            onClicked: fruitModel.clear()
+        }
+    }
+}
+
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/expandingdelegates.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/expandingdelegates.qml
new file mode 100644
index 0000000..bd3d3a9
--- /dev/null
+++ b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/expandingdelegates.qml
@@ -0,0 +1,202 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+// This example illustrates expanding a list item to show a more detailed view.
+
+Rectangle {
+    id: page
+    width: 400; height: 240
+    color: "black"
+
+    // Delegate for the recipes.  This delegate has two modes:
+    // 1. List mode (default), which just shows the picture and title of the recipe.
+    // 2. Details mode, which also shows the ingredients and method.
+    Component {
+        id: recipeDelegate
+
+        Item {
+            id: recipe
+
+            // Create a property to contain the visibility of the details.
+            // We can bind multiple element's opacity to this one property,
+            // rather than having a "PropertyChanges" line for each element we
+            // want to fade.
+            property real detailsOpacity : 0
+
+            width: listView.width
+            height: 70
+
+            // A simple rounded rectangle for the background
+            Rectangle {
+                id: background
+                x: 2; y: 2; width: parent.width - x*2; height: parent.height - y*2
+                color: "ivory"
+                border.color: "orange"
+                radius: 5
+            }
+
+            // This mouse region covers the entire delegate.
+            // When clicked it changes mode to 'Details'.  If we are already
+            // in Details mode, then no change will happen.
+            MouseArea {
+                anchors.fill: parent
+                onClicked: recipe.state = 'Details';
+            }
+
+            // Lay out the page: picture, title and ingredients at the top, and method at the
+            // bottom.  Note that elements that should not be visible in the list
+            // mode have their opacity set to recipe.detailsOpacity.
+            Row {
+                id: topLayout
+                x: 10; y: 10; height: recipeImage.height; width: parent.width
+                spacing: 10
+
+                Image {
+                    id: recipeImage
+                    width: 50; height: 50
+                    source: picture
+                }
+
+                Column {
+                    width: background.width - recipeImage.width - 20; height: recipeImage.height
+                    spacing: 5
+
+                    Text { 
+                        text: title
+                        font.bold: true; font.pointSize: 16
+                    }
+
+                    Text {
+                        text: "Ingredients"
+                        font.pointSize: 12; font.bold: true
+                        opacity: recipe.detailsOpacity
+                    }
+
+                    Text {
+                        text: ingredients
+                        wrapMode: Text.WordWrap
+                        width: parent.width
+                        opacity: recipe.detailsOpacity
+                    }
+                }
+            }
+
+            Item {
+                id: details
+                x: 10; width: parent.width - 20
+                anchors { top: topLayout.bottom; topMargin: 10; bottom: parent.bottom; bottomMargin: 10 }
+                opacity: recipe.detailsOpacity
+
+                Text {
+                    id: methodTitle
+                    anchors.top: parent.top
+                    text: "Method"
+                    font.pointSize: 12; font.bold: true
+                }
+
+                Flickable {
+                    id: flick
+                    width: parent.width
+                    anchors { top: methodTitle.bottom; bottom: parent.bottom }
+                    contentHeight: methodText.height
+                    clip: true
+
+                    Text { id: methodText; text: method; wrapMode: Text.WordWrap; width: details.width }
+                }
+
+                Image {
+                    anchors { right: flick.right; top: flick.top }
+                    source: "content/pics/moreUp.png"
+                    opacity: flick.atYBeginning ? 0 : 1
+                }
+
+                Image {
+                    anchors { right: flick.right; bottom: flick.bottom }
+                    source: "content/pics/moreDown.png"
+                    opacity: flick.atYEnd ? 0 : 1
+                }
+            }
+
+            // A button to close the detailed view, i.e. set the state back to default ('').
+            TextButton {
+                y: 10
+                anchors { right: background.right; rightMargin: 10 }
+                opacity: recipe.detailsOpacity
+                text: "Close"
+
+                onClicked: recipe.state = '';
+            }
+
+            states: State {
+                name: "Details"
+
+                PropertyChanges { target: background; color: "white" }
+                PropertyChanges { target: recipeImage; width: 130; height: 130 } // Make picture bigger
+                PropertyChanges { target: recipe; detailsOpacity: 1; x: 0 } // Make details visible
+                PropertyChanges { target: recipe; height: listView.height } // Fill the entire list area with the detailed view
+
+                // Move the list so that this item is at the top.
+                PropertyChanges { target: recipe.ListView.view; explicit: true; contentY: recipe.y }
+
+                // Disallow flicking while we're in detailed view
+                PropertyChanges { target: recipe.ListView.view; interactive: false }
+            }
+
+            transitions: Transition {
+                // Make the state changes smooth
+                ParallelAnimation {
+                    ColorAnimation { property: "color"; duration: 500 }
+                    NumberAnimation { duration: 300; properties: "detailsOpacity,x,contentY,height,width" }
+                }
+            }
+        }
+    }
+
+    // The actual list
+    ListView {
+        id: listView
+        anchors.fill: parent
+        model: RecipesModel {}
+        delegate: recipeDelegate
+    }
+}
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/highlight.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/highlight.qml
new file mode 100644
index 0000000..249c73b
--- /dev/null
+++ b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/highlight.qml
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// This example shows how to create your own highlight delegate for a ListView
+// that uses a SpringAnimation to provide custom movement when the
+// highlight bar is moved between items.
+
+import QtQuick 1.0
+import "content"
+
+Rectangle {
+    width: 200; height: 300
+
+    // Define a delegate component.  A component will be
+    // instantiated for each visible item in the list.
+    Component {
+        id: petDelegate
+        Item {
+            id: wrapper
+            width: 200; height: 55
+            Column {
+                Text { text: 'Name: ' + name }
+                Text { text: 'Type: ' + type }
+                Text { text: 'Age: ' + age }
+            }
+            // indent the item if it is the current item
+            states: State {
+                name: "Current"
+                when: wrapper.ListView.isCurrentItem
+                PropertyChanges { target: wrapper; x: 20 }
+            }
+            transitions: Transition {
+                NumberAnimation { properties: "x"; duration: 200 } 
+            }
+        }
+    }
+
+    // Define a highlight with customised movement between items.
+    Component {
+        id: highlightBar
+        Rectangle {
+            width: 200; height: 50
+            color: "#FFFF88"
+            y: listView.currentItem.y;
+            Behavior on y { SpringAnimation { spring: 2; damping: 0.1 } }
+        }
+    }
+
+    ListView {
+        id: listView
+        width: 200; height: parent.height
+
+        model: PetsModel {}
+        delegate: petDelegate
+        focus: true
+
+        // Set the highlight delegate. Note we must also set highlightFollowsCurrentItem
+        // to false so the highlight delegate can control how the highlight is moved.
+        highlight: highlightBar
+        highlightFollowsCurrentItem: false
+    }
+}
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/highlightranges.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/highlightranges.qml
new file mode 100644
index 0000000..58d37a3
--- /dev/null
+++ b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/highlightranges.qml
@@ -0,0 +1,122 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+Rectangle {
+    id: root
+    property int current: 0
+    width: 600; height: 300
+
+    // This example shows the same model in three different ListView items, 
+    // with different highlight ranges. The highlight ranges are set by the 
+    // preferredHighlightBegin and preferredHighlightEnd properties in ListView.
+    //
+    // The first ListView does not set a highlight range, so its currentItem
+    // can move freely within the visible area. If it moves outside the
+    // visible area, the view is automatically scrolled to keep the current
+    // item visible.
+    //
+    // The second ListView sets a highlight range which attempts to keep the
+    // current item within the the bounds of the range. However,
+    // items will not scroll beyond the beginning or end of the view,
+    // forcing the highlight to move outside the range at the ends.
+    //
+    // The third ListView sets the highlightRangeMode to StrictlyEnforceRange
+    // and sets a range smaller than the height of an item.  This
+    // forces the current item to change when the view is flicked,
+    // since the highlight is unable to move.
+    //
+    // All ListViews bind their currentIndex to the root.current property.
+    // The first ListView sets root.current whenever its currentIndex changes
+    // due to keyboard interaction.
+    // Flicking the third ListView with the mouse also changes root.current.
+
+    ListView {
+        id: list1
+        width: 200; height: parent.height
+        model: PetsModel {}
+        delegate: petDelegate
+
+        highlight: Rectangle { color: "lightsteelblue" }
+        currentIndex: root.current
+        onCurrentIndexChanged: root.current = currentIndex
+        focus: true
+    }
+
+    ListView {
+        id: list2
+        x: list1.width
+        width: 200; height: parent.height
+        model: PetsModel {}
+        delegate: petDelegate
+
+        highlight: Rectangle { color: "yellow" }
+        currentIndex: root.current
+        preferredHighlightBegin: 80; preferredHighlightEnd: 220
+        highlightRangeMode: ListView.ApplyRange
+    }
+
+    ListView {
+        id: list3
+        x: list1.width + list2.width
+        width: 200; height: parent.height
+        model: PetsModel {}
+        delegate: petDelegate
+
+        highlight: Rectangle { color: "yellow" }
+        currentIndex: root.current
+        onCurrentIndexChanged: root.current = currentIndex
+        preferredHighlightBegin: 125; preferredHighlightEnd: 125
+        highlightRangeMode: ListView.StrictlyEnforceRange
+    }
+
+    // The delegate for each list
+    Component {
+        id: petDelegate
+        Column {
+            width: 200
+            Text { text: 'Name: ' + name }
+            Text { text: 'Type: ' + type }
+            Text { text: 'Age: ' + age }
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/sections.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/sections.qml
new file mode 100644
index 0000000..3248899
--- /dev/null
+++ b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamic/sections.qml
@@ -0,0 +1,87 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// This example shows how a ListView can be separated into sections using
+// the ListView.section attached property.
+
+import QtQuick 1.0
+
+//! [0]
+Rectangle {
+    id: container
+    width: 200
+    height: 250
+
+    ListModel {
+        id: animalsModel
+        ListElement { name: "Parrot"; size: "Small" }
+        ListElement { name: "Guinea pig"; size: "Small" }
+        ListElement { name: "Dog"; size: "Medium" }
+        ListElement { name: "Cat"; size: "Medium" }
+        ListElement { name: "Elephant"; size: "Large" }
+    }
+
+    // The delegate for each section header
+    Component { 
+        id: sectionHeading
+        Rectangle {
+            width: container.width
+            height: childrenRect.height
+            color: "lightsteelblue"
+
+            Text {
+                text: section
+                font.bold: true
+            }
+        }
+    }
+
+    ListView {
+        anchors.fill: parent
+        model: animalsModel
+        delegate: Text { text: name }
+
+        section.property: "size"
+        section.criteria: ViewSection.FullString
+        section.delegate: sectionHeading
+    }
+}
+//! [0]
+
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamiclist.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/dynamiclist.qml
deleted file mode 100644
index f25f0fa..0000000
--- a/examples/declarative/modelviews/listview/dynamiclist/qml/dynamiclist.qml
+++ /dev/null
@@ -1,203 +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
-import "content"
-
-// This example shows how items can be dynamically added to and removed from
-// a ListModel, and how these list modifications can be animated.
-
-Rectangle {
-    id: container
-    width: 500; height: 400
-    color: "#343434"
-
-    // The model:
-    ListModel {
-        id: fruitModel
-
-        ListElement {
-            name: "Apple"; cost: 2.45
-            attributes: [
-                ListElement { description: "Core" },
-                ListElement { description: "Deciduous" }
-            ]
-        }
-        ListElement {
-            name: "Banana"; cost: 1.95
-            attributes: [
-                ListElement { description: "Tropical" },
-                ListElement { description: "Seedless" }
-            ]
-        }
-        ListElement {
-            name: "Cumquat"; cost: 3.25
-            attributes: [
-                ListElement { description: "Citrus" }
-            ]
-        }
-        ListElement {
-            name: "Durian"; cost: 9.95
-            attributes: [
-                ListElement { description: "Tropical" },
-                ListElement { description: "Smelly" }
-            ]
-        }
-    }
-
-    // The delegate for each fruit in the model:
-    Component {
-        id: listDelegate
-        
-        Item {
-            id: delegateItem
-            width: listView.width; height: 55
-            clip: true
-
-            Row {
-                anchors.verticalCenter: parent.verticalCenter
-                spacing: 10
-
-                Column {
-                    Image {
-                        source: "content/pics/arrow-up.png"
-                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index-1, 1) }
-                    }
-                    Image { source: "content/pics/arrow-down.png"
-                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index+1, 1) }
-                    }
-                }
-
-                Column {
-                    anchors.verticalCenter: parent.verticalCenter
-
-                    Text { 
-                        text: name
-                        font.pixelSize: 15
-                        color: "white"
-                    }
-                    Row {
-                        spacing: 5
-                        Repeater {
-                            model: attributes
-                            Text { text: description; color: "White" }
-                        }
-                    }
-                }
-            }
-
-            Row {
-                anchors.verticalCenter: parent.verticalCenter
-                anchors.right: parent.right
-                spacing: 10
-
-                PressAndHoldButton {
-                    anchors.verticalCenter: parent.verticalCenter
-                    source: "content/pics/plus-sign.png"
-                    onClicked: fruitModel.setProperty(index, "cost", cost + 0.25)
-                }
-
-                Text { 
-                    id: costText
-                    anchors.verticalCenter: parent.verticalCenter
-                    text: '$' + Number(cost).toFixed(2)
-                    font.pixelSize: 15
-                    color: "white"
-                    font.bold: true
-                }
-
-                PressAndHoldButton {
-                    anchors.verticalCenter: parent.verticalCenter
-                    source: "content/pics/minus-sign.png"
-                    onClicked: fruitModel.setProperty(index, "cost", Math.max(0,cost-0.25))
-                }
-
-                Image {
-                    source: "content/pics/list-delete.png"
-                    MouseArea { anchors.fill:parent; onClicked: fruitModel.remove(index) }
-                }
-            }
-
-            // Animate adding and removing of items:
-
-            ListView.onAdd: SequentialAnimation {
-                PropertyAction { target: delegateItem; property: "height"; value: 0 }
-                NumberAnimation { target: delegateItem; property: "height"; to: 55; duration: 250; easing.type: Easing.InOutQuad }
-            }
-
-            ListView.onRemove: SequentialAnimation {
-                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: true }
-                NumberAnimation { target: delegateItem; property: "height"; to: 0; duration: 250; easing.type: Easing.InOutQuad }
-
-                // Make sure delayRemove is set back to false so that the item can be destroyed
-                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: false }
-            }
-        }
-    }
-
-    // The view:
-    ListView {
-        id: listView
-        anchors.fill: parent; anchors.margins: 20
-        model: fruitModel
-        delegate: listDelegate
-    }
-
-    Row {
-        anchors { left: parent.left; bottom: parent.bottom; margins: 20 }
-        spacing: 10
-
-        TextButton { 
-            text: "Add an item"
-            onClicked: {
-                fruitModel.append({
-                    "name": "Pizza Margarita",
-                    "cost": 5.95,
-                    "attributes": [{"description": "Cheese"}, {"description": "Tomato"}]
-                })
-            }
-        }
-
-        TextButton { 
-            text: "Remove all items" 
-            onClicked: fruitModel.clear()
-        }
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/expandingdelegates.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/expandingdelegates.qml
deleted file mode 100644
index bd3d3a9..0000000
--- a/examples/declarative/modelviews/listview/dynamiclist/qml/expandingdelegates.qml
+++ /dev/null
@@ -1,202 +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
-import "content"
-
-// This example illustrates expanding a list item to show a more detailed view.
-
-Rectangle {
-    id: page
-    width: 400; height: 240
-    color: "black"
-
-    // Delegate for the recipes.  This delegate has two modes:
-    // 1. List mode (default), which just shows the picture and title of the recipe.
-    // 2. Details mode, which also shows the ingredients and method.
-    Component {
-        id: recipeDelegate
-
-        Item {
-            id: recipe
-
-            // Create a property to contain the visibility of the details.
-            // We can bind multiple element's opacity to this one property,
-            // rather than having a "PropertyChanges" line for each element we
-            // want to fade.
-            property real detailsOpacity : 0
-
-            width: listView.width
-            height: 70
-
-            // A simple rounded rectangle for the background
-            Rectangle {
-                id: background
-                x: 2; y: 2; width: parent.width - x*2; height: parent.height - y*2
-                color: "ivory"
-                border.color: "orange"
-                radius: 5
-            }
-
-            // This mouse region covers the entire delegate.
-            // When clicked it changes mode to 'Details'.  If we are already
-            // in Details mode, then no change will happen.
-            MouseArea {
-                anchors.fill: parent
-                onClicked: recipe.state = 'Details';
-            }
-
-            // Lay out the page: picture, title and ingredients at the top, and method at the
-            // bottom.  Note that elements that should not be visible in the list
-            // mode have their opacity set to recipe.detailsOpacity.
-            Row {
-                id: topLayout
-                x: 10; y: 10; height: recipeImage.height; width: parent.width
-                spacing: 10
-
-                Image {
-                    id: recipeImage
-                    width: 50; height: 50
-                    source: picture
-                }
-
-                Column {
-                    width: background.width - recipeImage.width - 20; height: recipeImage.height
-                    spacing: 5
-
-                    Text { 
-                        text: title
-                        font.bold: true; font.pointSize: 16
-                    }
-
-                    Text {
-                        text: "Ingredients"
-                        font.pointSize: 12; font.bold: true
-                        opacity: recipe.detailsOpacity
-                    }
-
-                    Text {
-                        text: ingredients
-                        wrapMode: Text.WordWrap
-                        width: parent.width
-                        opacity: recipe.detailsOpacity
-                    }
-                }
-            }
-
-            Item {
-                id: details
-                x: 10; width: parent.width - 20
-                anchors { top: topLayout.bottom; topMargin: 10; bottom: parent.bottom; bottomMargin: 10 }
-                opacity: recipe.detailsOpacity
-
-                Text {
-                    id: methodTitle
-                    anchors.top: parent.top
-                    text: "Method"
-                    font.pointSize: 12; font.bold: true
-                }
-
-                Flickable {
-                    id: flick
-                    width: parent.width
-                    anchors { top: methodTitle.bottom; bottom: parent.bottom }
-                    contentHeight: methodText.height
-                    clip: true
-
-                    Text { id: methodText; text: method; wrapMode: Text.WordWrap; width: details.width }
-                }
-
-                Image {
-                    anchors { right: flick.right; top: flick.top }
-                    source: "content/pics/moreUp.png"
-                    opacity: flick.atYBeginning ? 0 : 1
-                }
-
-                Image {
-                    anchors { right: flick.right; bottom: flick.bottom }
-                    source: "content/pics/moreDown.png"
-                    opacity: flick.atYEnd ? 0 : 1
-                }
-            }
-
-            // A button to close the detailed view, i.e. set the state back to default ('').
-            TextButton {
-                y: 10
-                anchors { right: background.right; rightMargin: 10 }
-                opacity: recipe.detailsOpacity
-                text: "Close"
-
-                onClicked: recipe.state = '';
-            }
-
-            states: State {
-                name: "Details"
-
-                PropertyChanges { target: background; color: "white" }
-                PropertyChanges { target: recipeImage; width: 130; height: 130 } // Make picture bigger
-                PropertyChanges { target: recipe; detailsOpacity: 1; x: 0 } // Make details visible
-                PropertyChanges { target: recipe; height: listView.height } // Fill the entire list area with the detailed view
-
-                // Move the list so that this item is at the top.
-                PropertyChanges { target: recipe.ListView.view; explicit: true; contentY: recipe.y }
-
-                // Disallow flicking while we're in detailed view
-                PropertyChanges { target: recipe.ListView.view; interactive: false }
-            }
-
-            transitions: Transition {
-                // Make the state changes smooth
-                ParallelAnimation {
-                    ColorAnimation { property: "color"; duration: 500 }
-                    NumberAnimation { duration: 300; properties: "detailsOpacity,x,contentY,height,width" }
-                }
-            }
-        }
-    }
-
-    // The actual list
-    ListView {
-        id: listView
-        anchors.fill: parent
-        model: RecipesModel {}
-        delegate: recipeDelegate
-    }
-}
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/highlight.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/highlight.qml
deleted file mode 100644
index 249c73b..0000000
--- a/examples/declarative/modelviews/listview/dynamiclist/qml/highlight.qml
+++ /dev/null
@@ -1,99 +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$
-**
-****************************************************************************/
-
-// This example shows how to create your own highlight delegate for a ListView
-// that uses a SpringAnimation to provide custom movement when the
-// highlight bar is moved between items.
-
-import QtQuick 1.0
-import "content"
-
-Rectangle {
-    width: 200; height: 300
-
-    // Define a delegate component.  A component will be
-    // instantiated for each visible item in the list.
-    Component {
-        id: petDelegate
-        Item {
-            id: wrapper
-            width: 200; height: 55
-            Column {
-                Text { text: 'Name: ' + name }
-                Text { text: 'Type: ' + type }
-                Text { text: 'Age: ' + age }
-            }
-            // indent the item if it is the current item
-            states: State {
-                name: "Current"
-                when: wrapper.ListView.isCurrentItem
-                PropertyChanges { target: wrapper; x: 20 }
-            }
-            transitions: Transition {
-                NumberAnimation { properties: "x"; duration: 200 } 
-            }
-        }
-    }
-
-    // Define a highlight with customised movement between items.
-    Component {
-        id: highlightBar
-        Rectangle {
-            width: 200; height: 50
-            color: "#FFFF88"
-            y: listView.currentItem.y;
-            Behavior on y { SpringAnimation { spring: 2; damping: 0.1 } }
-        }
-    }
-
-    ListView {
-        id: listView
-        width: 200; height: parent.height
-
-        model: PetsModel {}
-        delegate: petDelegate
-        focus: true
-
-        // Set the highlight delegate. Note we must also set highlightFollowsCurrentItem
-        // to false so the highlight delegate can control how the highlight is moved.
-        highlight: highlightBar
-        highlightFollowsCurrentItem: false
-    }
-}
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/highlightranges.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/highlightranges.qml
deleted file mode 100644
index 58d37a3..0000000
--- a/examples/declarative/modelviews/listview/dynamiclist/qml/highlightranges.qml
+++ /dev/null
@@ -1,122 +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
-import "content"
-
-Rectangle {
-    id: root
-    property int current: 0
-    width: 600; height: 300
-
-    // This example shows the same model in three different ListView items, 
-    // with different highlight ranges. The highlight ranges are set by the 
-    // preferredHighlightBegin and preferredHighlightEnd properties in ListView.
-    //
-    // The first ListView does not set a highlight range, so its currentItem
-    // can move freely within the visible area. If it moves outside the
-    // visible area, the view is automatically scrolled to keep the current
-    // item visible.
-    //
-    // The second ListView sets a highlight range which attempts to keep the
-    // current item within the the bounds of the range. However,
-    // items will not scroll beyond the beginning or end of the view,
-    // forcing the highlight to move outside the range at the ends.
-    //
-    // The third ListView sets the highlightRangeMode to StrictlyEnforceRange
-    // and sets a range smaller than the height of an item.  This
-    // forces the current item to change when the view is flicked,
-    // since the highlight is unable to move.
-    //
-    // All ListViews bind their currentIndex to the root.current property.
-    // The first ListView sets root.current whenever its currentIndex changes
-    // due to keyboard interaction.
-    // Flicking the third ListView with the mouse also changes root.current.
-
-    ListView {
-        id: list1
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "lightsteelblue" }
-        currentIndex: root.current
-        onCurrentIndexChanged: root.current = currentIndex
-        focus: true
-    }
-
-    ListView {
-        id: list2
-        x: list1.width
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "yellow" }
-        currentIndex: root.current
-        preferredHighlightBegin: 80; preferredHighlightEnd: 220
-        highlightRangeMode: ListView.ApplyRange
-    }
-
-    ListView {
-        id: list3
-        x: list1.width + list2.width
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "yellow" }
-        currentIndex: root.current
-        onCurrentIndexChanged: root.current = currentIndex
-        preferredHighlightBegin: 125; preferredHighlightEnd: 125
-        highlightRangeMode: ListView.StrictlyEnforceRange
-    }
-
-    // The delegate for each list
-    Component {
-        id: petDelegate
-        Column {
-            width: 200
-            Text { text: 'Name: ' + name }
-            Text { text: 'Type: ' + type }
-            Text { text: 'Age: ' + age }
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qml/listview.qmlproject b/examples/declarative/modelviews/listview/dynamiclist/qml/listview.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/modelviews/listview/dynamiclist/qml/listview.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/modelviews/listview/dynamiclist/qml/sections.qml b/examples/declarative/modelviews/listview/dynamiclist/qml/sections.qml
deleted file mode 100644
index 3248899..0000000
--- a/examples/declarative/modelviews/listview/dynamiclist/qml/sections.qml
+++ /dev/null
@@ -1,87 +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$
-**
-****************************************************************************/
-
-// This example shows how a ListView can be separated into sections using
-// the ListView.section attached property.
-
-import QtQuick 1.0
-
-//! [0]
-Rectangle {
-    id: container
-    width: 200
-    height: 250
-
-    ListModel {
-        id: animalsModel
-        ListElement { name: "Parrot"; size: "Small" }
-        ListElement { name: "Guinea pig"; size: "Small" }
-        ListElement { name: "Dog"; size: "Medium" }
-        ListElement { name: "Cat"; size: "Medium" }
-        ListElement { name: "Elephant"; size: "Large" }
-    }
-
-    // The delegate for each section header
-    Component { 
-        id: sectionHeading
-        Rectangle {
-            width: container.width
-            height: childrenRect.height
-            color: "lightsteelblue"
-
-            Text {
-                text: section
-                font.bold: true
-            }
-        }
-    }
-
-    ListView {
-        anchors.fill: parent
-        model: animalsModel
-        delegate: Text { text: name }
-
-        section.property: "size"
-        section.criteria: ViewSection.FullString
-        section.delegate: sectionHeading
-    }
-}
-//! [0]
-
diff --git a/examples/declarative/modelviews/listview/dynamiclist/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/modelviews/listview/dynamiclist/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/modelviews/listview/dynamiclist/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/modelviews/listview/dynamiclist/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/modelviews/listview/dynamiclist/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/modelviews/listview/dynamiclist/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/modelviews/listview/dynamiclist/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/modelviews/listview/dynamiclist/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/modelviews/listview/dynamiclist/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/modelviews/listview/expandingdelegates.qml b/examples/declarative/modelviews/listview/expandingdelegates.qml
deleted file mode 100644
index d961aba..0000000
--- a/examples/declarative/modelviews/listview/expandingdelegates.qml
+++ /dev/null
@@ -1,202 +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
-import "content"
-
-// This example illustrates expanding a list item to show a more detailed view.
-
-Rectangle {
-    id: page
-    width: 400; height: 240
-    color: "black"
-
-    // Delegate for the recipes.  This delegate has two modes:
-    // 1. List mode (default), which just shows the picture and title of the recipe.
-    // 2. Details mode, which also shows the ingredients and method.
-    Component {
-        id: recipeDelegate
-
-        Item {
-            id: recipe
-
-            // Create a property to contain the visibility of the details.
-            // We can bind multiple element's opacity to this one property,
-            // rather than having a "PropertyChanges" line for each element we
-            // want to fade.
-            property real detailsOpacity : 0
-
-            width: listView.width
-            height: 70
-
-            // A simple rounded rectangle for the background
-            Rectangle {
-                id: background
-                x: 2; y: 2; width: parent.width - x*2; height: parent.height - y*2
-                color: "ivory"
-                border.color: "orange"
-                radius: 5
-            }
-
-            // This mouse region covers the entire delegate.
-            // When clicked it changes mode to 'Details'.  If we are already
-            // in Details mode, then no change will happen.
-            MouseArea {
-                anchors.fill: parent
-                onClicked: recipe.state = 'Details';
-            }
-
-            // Lay out the page: picture, title and ingredients at the top, and method at the
-            // bottom.  Note that elements that should not be visible in the list
-            // mode have their opacity set to recipe.detailsOpacity.
-            Row {
-                id: topLayout
-                x: 10; y: 10; height: recipeImage.height; width: parent.width
-                spacing: 10
-
-                Image {
-                    id: recipeImage
-                    width: 50; height: 50
-                    source: picture
-                }
-
-                Column {
-                    width: background.width - recipeImage.width - 20; height: recipeImage.height
-                    spacing: 5
-
-                    Text { 
-                        text: title
-                        font.bold: true; font.pointSize: 16
-                    }
-
-                    Text {
-                        text: "Ingredients"
-                        font.pointSize: 12; font.bold: true
-                        opacity: recipe.detailsOpacity
-                    }
-
-                    Text {
-                        text: ingredients
-                        wrapMode: Text.WordWrap
-                        width: parent.width
-                        opacity: recipe.detailsOpacity
-                    }
-                }
-            }
-
-            Item {
-                id: details
-                x: 10; width: parent.width - 20
-                anchors { top: topLayout.bottom; topMargin: 10; bottom: parent.bottom; bottomMargin: 10 }
-                opacity: recipe.detailsOpacity
-
-                Text {
-                    id: methodTitle
-                    anchors.top: parent.top
-                    text: "Method"
-                    font.pointSize: 12; font.bold: true
-                }
-
-                Flickable {
-                    id: flick
-                    width: parent.width
-                    anchors { top: methodTitle.bottom; bottom: parent.bottom }
-                    contentHeight: methodText.height
-                    clip: true
-
-                    Text { id: methodText; text: method; wrapMode: Text.WordWrap; width: details.width }
-                }
-
-                Image {
-                    anchors { right: flick.right; top: flick.top }
-                    source: "content/pics/moreUp.png"
-                    opacity: flick.atYBeginning ? 0 : 1
-                }
-
-                Image {
-                    anchors { right: flick.right; bottom: flick.bottom }
-                    source: "content/pics/moreDown.png"
-                    opacity: flick.atYEnd ? 0 : 1
-                }
-            }
-
-            // A button to close the detailed view, i.e. set the state back to default ('').
-            TextButton {
-                y: 10
-                anchors { right: background.right; rightMargin: 10 }
-                opacity: recipe.detailsOpacity
-                text: "Close"
-
-                onClicked: recipe.state = '';
-            }
-
-            states: State {
-                name: "Details"
-
-                PropertyChanges { target: background; color: "white" }
-                PropertyChanges { target: recipeImage; width: 130; height: 130 } // Make picture bigger
-                PropertyChanges { target: recipe; detailsOpacity: 1; x: 0 } // Make details visible
-                PropertyChanges { target: recipe; height: listView.height } // Fill the entire list area with the detailed view
-
-                // Move the list so that this item is at the top.
-                PropertyChanges { target: recipe.ListView.view; explicit: true; contentY: recipe.y }
-
-                // Disallow flicking while we're in detailed view
-                PropertyChanges { target: recipe.ListView.view; interactive: false }
-            }
-
-            transitions: Transition {
-                // Make the state changes smooth
-                ParallelAnimation {
-                    ColorAnimation { property: "color"; duration: 500 }
-                    NumberAnimation { duration: 300; properties: "detailsOpacity,x,contentY,height,width" }
-                }
-            }
-        }
-    }
-
-    // The actual list
-    ListView {
-        id: listView
-        anchors.fill: parent
-        model: RecipesModel {}
-        delegate: recipeDelegate
-    }
-}
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/expandingdelegates.pro b/examples/declarative/modelviews/listview/expandingdelegates/expandingdelegates.pro
index 59f0554..e9bbc65 100644
--- a/examples/declarative/modelviews/listview/expandingdelegates/expandingdelegates.pro
+++ b/examples/declarative/modelviews/listview/expandingdelegates/expandingdelegates.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/expandingdelegates
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEEA16F93
 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/modelviews/listview/expandingdelegates/expandingdelegates.qmlproject b/examples/declarative/modelviews/listview/expandingdelegates/expandingdelegates.qmlproject
new file mode 100644
index 0000000..5fa8ae9
--- /dev/null
+++ b/examples/declarative/modelviews/listview/expandingdelegates/expandingdelegates.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/expandingdelegates"
+    }
+    JavaScriptFiles {
+        directory: "qml/expandingdelegates"
+    }
+    ImageFiles {
+        directory: "qml/expandingdelegates"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/main.cpp b/examples/declarative/modelviews/listview/expandingdelegates/main.cpp
index b411dff..f141eb0 100644
--- a/examples/declarative/modelviews/listview/expandingdelegates/main.cpp
+++ b/examples/declarative/modelviews/listview/expandingdelegates/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/expandingdelegates.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/expandingdelegates/expandingdelegates.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/PetsModel.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/content/PetsModel.qml
deleted file mode 100644
index 5220763..0000000
--- a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/PetsModel.qml
+++ /dev/null
@@ -1,98 +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
-
-ListModel {
-    ListElement {
-        name: "Polly"
-        type: "Parrot"
-        age: 12
-        size: "Small"
-    }
-    ListElement {
-        name: "Penny"
-        type: "Turtle"
-        age: 4
-        size: "Small"
-    }
-    ListElement {
-        name: "Warren"
-        type: "Rabbit"
-        age: 2
-        size: "Small"
-    }
-    ListElement {
-        name: "Spot"
-        type: "Dog"
-        age: 9
-        size: "Medium"
-    }
-    ListElement {
-        name: "Schrödinger"
-        type: "Cat"
-        age: 2
-        size: "Medium"
-    }
-    ListElement {
-        name: "Joey"
-        type: "Kangaroo"
-        age: 1
-        size: "Medium"
-    }
-    ListElement {
-        name: "Kimba"
-        type: "Bunny"
-        age: 65
-        size: "Large"
-    }
-    ListElement {
-        name: "Rover"
-        type: "Dog"
-        age: 5
-        size: "Large"
-    }
-    ListElement {
-        name: "Tiny"
-        type: "Elephant"
-        age: 15
-        size: "Large"
-    }
-}
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/PressAndHoldButton.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/content/PressAndHoldButton.qml
deleted file mode 100644
index d6808a4..0000000
--- a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/PressAndHoldButton.qml
+++ /dev/null
@@ -1,82 +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
-
-Image {
-    id: container
-
-    property int repeatDelay: 300
-    property int repeatDuration: 75
-    property bool pressed: false
-
-    signal clicked
-
-    scale: pressed ? 0.9 : 1
-
-    function release() {
-        autoRepeatClicks.stop()
-        container.pressed = false
-    }
-
-    SequentialAnimation on pressed {
-        id: autoRepeatClicks
-        running: false
-
-        PropertyAction { target: container; property: "pressed"; value: true }
-        ScriptAction { script: container.clicked() }
-        PauseAnimation { duration: repeatDelay }
-
-        SequentialAnimation {
-            loops: Animation.Infinite
-            ScriptAction { script: container.clicked() }
-            PauseAnimation { duration: repeatDuration }
-        }
-    }
-
-    MouseArea {
-        anchors.fill: parent
-
-        onPressed: autoRepeatClicks.start()
-        onReleased: container.release()
-        onCanceled: container.release()
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/RecipesModel.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/content/RecipesModel.qml
deleted file mode 100644
index 6056b90..0000000
--- a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/RecipesModel.qml
+++ /dev/null
@@ -1,129 +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
-
-ListModel {
-    ListElement {
-        title: "Pancakes"
-        picture: "content/pics/pancakes.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 cup (150g) self-raising flour 
-                        <li> 1 tbs caster sugar 
-                        <li> 3/4 cup (185ml) milk 
-                        <li> 1 egg 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Sift flour and sugar together into a bowl. Add a pinch of salt. 
-                   <li> Beat milk and egg together, then add to dry ingredients. Beat until smooth. 
-                   <li> Pour mixture into a pan on medium heat and cook until bubbles appear on the surface. 
-                   <li> Turn over and cook other side until golden.  
-                  </ol>
-                 </html>"
-    }
-    ListElement {
-        title: "Fruit Salad"
-        picture: "content/pics/fruit-salad.jpg"
-        ingredients: "* Seasonal Fruit"
-        method: "* Chop fruit and place in a bowl."
-    }
-    ListElement {
-        title: "Vegetable Soup"
-        picture: "content/pics/vegetable-soup.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 onion 
-                        <li> 1 turnip 
-                        <li> 1 potato 
-                        <li> 1 carrot 
-                        <li> 1 head of celery 
-                        <li> 1 1/2 litres of water 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Chop vegetables. 
-                   <li> Boil in water until vegetables soften. 
-                   <li> Season with salt and pepper to taste. 
-                  </ol> 
-                 </html>"
-    }
-    ListElement {
-        title: "Hamburger"
-        picture: "content/pics/hamburger.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 500g minced beef 
-                        <li> Seasoning 
-                        <li> lettuce, tomato, onion, cheese 
-                        <li> 1 hamburger bun for each burger 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Mix the beef, together with seasoning, in a food processor. 
-                   <li> Shape the beef into burgers. 
-                   <li> Grill the burgers for about 5 mins on each side (until cooked through) 
-                   <li> Serve each burger on a bun with ketchup, cheese, lettuce, tomato and onion. 
-                  </ol> 
-                 </html>"
-    }
-    ListElement {
-        title: "Lemonade"
-        picture: "content/pics/lemonade.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 cup Lemon Juice 
-                        <li> 1 cup Sugar 
-                        <li> 6 Cups of Water (2 cups warm water, 4 cups cold water) 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Pour 2 cups of warm water into a pitcher and stir in sugar until it dissolves. 
-                   <li> Pour in lemon juice, stir again, and add 4 cups of cold water. 
-                   <li> Chill or serve over ice cubes. 
-                  </ol> 
-                 </html>"
-    }
-}
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/TextButton.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/content/TextButton.qml
deleted file mode 100644
index f26d775..0000000
--- a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/TextButton.qml
+++ /dev/null
@@ -1,78 +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: container
-
-    property alias text: label.text
-
-    signal clicked
-
-    width: label.width + 20; height: label.height + 6
-    smooth: true
-    radius: 10
-
-    gradient: Gradient {
-        GradientStop { id: gradientStop; position: 0.0; color: palette.light }
-        GradientStop { position: 1.0; color: palette.button }
-    }
-
-    SystemPalette { id: palette }
-
-    MouseArea {
-        id: mouseArea
-        anchors.fill: parent
-        onClicked: { container.clicked() }
-    }
-
-    Text {
-        id: label
-        anchors.centerIn: parent
-    }
-
-    states: State {
-        name: "pressed"
-        when: mouseArea.pressed
-        PropertyChanges { target: gradientStop; color: palette.dark }
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/arrow-down.png b/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/arrow-down.png
deleted file mode 100644
index 29d1d44..0000000
Binary files a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/arrow-down.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/arrow-up.png b/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/arrow-up.png
deleted file mode 100644
index e437312..0000000
Binary files a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/arrow-up.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/fruit-salad.jpg b/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/fruit-salad.jpg
deleted file mode 100644
index da5a6b1..0000000
Binary files a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/fruit-salad.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/hamburger.jpg b/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/hamburger.jpg
deleted file mode 100644
index d0a15be..0000000
Binary files a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/hamburger.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/lemonade.jpg b/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/lemonade.jpg
deleted file mode 100644
index db445c9..0000000
Binary files a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/lemonade.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/list-delete.png b/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/list-delete.png
deleted file mode 100644
index df2a147..0000000
Binary files a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/list-delete.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/minus-sign.png b/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/minus-sign.png
deleted file mode 100644
index d6f233d..0000000
Binary files a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/minus-sign.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/moreDown.png b/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/moreDown.png
deleted file mode 100644
index 31a35d5..0000000
Binary files a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/moreDown.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/moreUp.png b/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/moreUp.png
deleted file mode 100644
index fefb9c9..0000000
Binary files a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/moreUp.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/pancakes.jpg b/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/pancakes.jpg
deleted file mode 100644
index 60c4396..0000000
Binary files a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/pancakes.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/plus-sign.png b/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/plus-sign.png
deleted file mode 100644
index 40df113..0000000
Binary files a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/plus-sign.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/vegetable-soup.jpg b/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/vegetable-soup.jpg
deleted file mode 100644
index 9dce332..0000000
Binary files a/examples/declarative/modelviews/listview/expandingdelegates/qml/content/pics/vegetable-soup.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/dynamiclist.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/dynamiclist.qml
deleted file mode 100644
index f25f0fa..0000000
--- a/examples/declarative/modelviews/listview/expandingdelegates/qml/dynamiclist.qml
+++ /dev/null
@@ -1,203 +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
-import "content"
-
-// This example shows how items can be dynamically added to and removed from
-// a ListModel, and how these list modifications can be animated.
-
-Rectangle {
-    id: container
-    width: 500; height: 400
-    color: "#343434"
-
-    // The model:
-    ListModel {
-        id: fruitModel
-
-        ListElement {
-            name: "Apple"; cost: 2.45
-            attributes: [
-                ListElement { description: "Core" },
-                ListElement { description: "Deciduous" }
-            ]
-        }
-        ListElement {
-            name: "Banana"; cost: 1.95
-            attributes: [
-                ListElement { description: "Tropical" },
-                ListElement { description: "Seedless" }
-            ]
-        }
-        ListElement {
-            name: "Cumquat"; cost: 3.25
-            attributes: [
-                ListElement { description: "Citrus" }
-            ]
-        }
-        ListElement {
-            name: "Durian"; cost: 9.95
-            attributes: [
-                ListElement { description: "Tropical" },
-                ListElement { description: "Smelly" }
-            ]
-        }
-    }
-
-    // The delegate for each fruit in the model:
-    Component {
-        id: listDelegate
-        
-        Item {
-            id: delegateItem
-            width: listView.width; height: 55
-            clip: true
-
-            Row {
-                anchors.verticalCenter: parent.verticalCenter
-                spacing: 10
-
-                Column {
-                    Image {
-                        source: "content/pics/arrow-up.png"
-                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index-1, 1) }
-                    }
-                    Image { source: "content/pics/arrow-down.png"
-                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index+1, 1) }
-                    }
-                }
-
-                Column {
-                    anchors.verticalCenter: parent.verticalCenter
-
-                    Text { 
-                        text: name
-                        font.pixelSize: 15
-                        color: "white"
-                    }
-                    Row {
-                        spacing: 5
-                        Repeater {
-                            model: attributes
-                            Text { text: description; color: "White" }
-                        }
-                    }
-                }
-            }
-
-            Row {
-                anchors.verticalCenter: parent.verticalCenter
-                anchors.right: parent.right
-                spacing: 10
-
-                PressAndHoldButton {
-                    anchors.verticalCenter: parent.verticalCenter
-                    source: "content/pics/plus-sign.png"
-                    onClicked: fruitModel.setProperty(index, "cost", cost + 0.25)
-                }
-
-                Text { 
-                    id: costText
-                    anchors.verticalCenter: parent.verticalCenter
-                    text: '$' + Number(cost).toFixed(2)
-                    font.pixelSize: 15
-                    color: "white"
-                    font.bold: true
-                }
-
-                PressAndHoldButton {
-                    anchors.verticalCenter: parent.verticalCenter
-                    source: "content/pics/minus-sign.png"
-                    onClicked: fruitModel.setProperty(index, "cost", Math.max(0,cost-0.25))
-                }
-
-                Image {
-                    source: "content/pics/list-delete.png"
-                    MouseArea { anchors.fill:parent; onClicked: fruitModel.remove(index) }
-                }
-            }
-
-            // Animate adding and removing of items:
-
-            ListView.onAdd: SequentialAnimation {
-                PropertyAction { target: delegateItem; property: "height"; value: 0 }
-                NumberAnimation { target: delegateItem; property: "height"; to: 55; duration: 250; easing.type: Easing.InOutQuad }
-            }
-
-            ListView.onRemove: SequentialAnimation {
-                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: true }
-                NumberAnimation { target: delegateItem; property: "height"; to: 0; duration: 250; easing.type: Easing.InOutQuad }
-
-                // Make sure delayRemove is set back to false so that the item can be destroyed
-                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: false }
-            }
-        }
-    }
-
-    // The view:
-    ListView {
-        id: listView
-        anchors.fill: parent; anchors.margins: 20
-        model: fruitModel
-        delegate: listDelegate
-    }
-
-    Row {
-        anchors { left: parent.left; bottom: parent.bottom; margins: 20 }
-        spacing: 10
-
-        TextButton { 
-            text: "Add an item"
-            onClicked: {
-                fruitModel.append({
-                    "name": "Pizza Margarita",
-                    "cost": 5.95,
-                    "attributes": [{"description": "Cheese"}, {"description": "Tomato"}]
-                })
-            }
-        }
-
-        TextButton { 
-            text: "Remove all items" 
-            onClicked: fruitModel.clear()
-        }
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates.qml
deleted file mode 100644
index bd3d3a9..0000000
--- a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates.qml
+++ /dev/null
@@ -1,202 +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
-import "content"
-
-// This example illustrates expanding a list item to show a more detailed view.
-
-Rectangle {
-    id: page
-    width: 400; height: 240
-    color: "black"
-
-    // Delegate for the recipes.  This delegate has two modes:
-    // 1. List mode (default), which just shows the picture and title of the recipe.
-    // 2. Details mode, which also shows the ingredients and method.
-    Component {
-        id: recipeDelegate
-
-        Item {
-            id: recipe
-
-            // Create a property to contain the visibility of the details.
-            // We can bind multiple element's opacity to this one property,
-            // rather than having a "PropertyChanges" line for each element we
-            // want to fade.
-            property real detailsOpacity : 0
-
-            width: listView.width
-            height: 70
-
-            // A simple rounded rectangle for the background
-            Rectangle {
-                id: background
-                x: 2; y: 2; width: parent.width - x*2; height: parent.height - y*2
-                color: "ivory"
-                border.color: "orange"
-                radius: 5
-            }
-
-            // This mouse region covers the entire delegate.
-            // When clicked it changes mode to 'Details'.  If we are already
-            // in Details mode, then no change will happen.
-            MouseArea {
-                anchors.fill: parent
-                onClicked: recipe.state = 'Details';
-            }
-
-            // Lay out the page: picture, title and ingredients at the top, and method at the
-            // bottom.  Note that elements that should not be visible in the list
-            // mode have their opacity set to recipe.detailsOpacity.
-            Row {
-                id: topLayout
-                x: 10; y: 10; height: recipeImage.height; width: parent.width
-                spacing: 10
-
-                Image {
-                    id: recipeImage
-                    width: 50; height: 50
-                    source: picture
-                }
-
-                Column {
-                    width: background.width - recipeImage.width - 20; height: recipeImage.height
-                    spacing: 5
-
-                    Text { 
-                        text: title
-                        font.bold: true; font.pointSize: 16
-                    }
-
-                    Text {
-                        text: "Ingredients"
-                        font.pointSize: 12; font.bold: true
-                        opacity: recipe.detailsOpacity
-                    }
-
-                    Text {
-                        text: ingredients
-                        wrapMode: Text.WordWrap
-                        width: parent.width
-                        opacity: recipe.detailsOpacity
-                    }
-                }
-            }
-
-            Item {
-                id: details
-                x: 10; width: parent.width - 20
-                anchors { top: topLayout.bottom; topMargin: 10; bottom: parent.bottom; bottomMargin: 10 }
-                opacity: recipe.detailsOpacity
-
-                Text {
-                    id: methodTitle
-                    anchors.top: parent.top
-                    text: "Method"
-                    font.pointSize: 12; font.bold: true
-                }
-
-                Flickable {
-                    id: flick
-                    width: parent.width
-                    anchors { top: methodTitle.bottom; bottom: parent.bottom }
-                    contentHeight: methodText.height
-                    clip: true
-
-                    Text { id: methodText; text: method; wrapMode: Text.WordWrap; width: details.width }
-                }
-
-                Image {
-                    anchors { right: flick.right; top: flick.top }
-                    source: "content/pics/moreUp.png"
-                    opacity: flick.atYBeginning ? 0 : 1
-                }
-
-                Image {
-                    anchors { right: flick.right; bottom: flick.bottom }
-                    source: "content/pics/moreDown.png"
-                    opacity: flick.atYEnd ? 0 : 1
-                }
-            }
-
-            // A button to close the detailed view, i.e. set the state back to default ('').
-            TextButton {
-                y: 10
-                anchors { right: background.right; rightMargin: 10 }
-                opacity: recipe.detailsOpacity
-                text: "Close"
-
-                onClicked: recipe.state = '';
-            }
-
-            states: State {
-                name: "Details"
-
-                PropertyChanges { target: background; color: "white" }
-                PropertyChanges { target: recipeImage; width: 130; height: 130 } // Make picture bigger
-                PropertyChanges { target: recipe; detailsOpacity: 1; x: 0 } // Make details visible
-                PropertyChanges { target: recipe; height: listView.height } // Fill the entire list area with the detailed view
-
-                // Move the list so that this item is at the top.
-                PropertyChanges { target: recipe.ListView.view; explicit: true; contentY: recipe.y }
-
-                // Disallow flicking while we're in detailed view
-                PropertyChanges { target: recipe.ListView.view; interactive: false }
-            }
-
-            transitions: Transition {
-                // Make the state changes smooth
-                ParallelAnimation {
-                    ColorAnimation { property: "color"; duration: 500 }
-                    NumberAnimation { duration: 300; properties: "detailsOpacity,x,contentY,height,width" }
-                }
-            }
-        }
-    }
-
-    // The actual list
-    ListView {
-        id: listView
-        anchors.fill: parent
-        model: RecipesModel {}
-        delegate: recipeDelegate
-    }
-}
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/PetsModel.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/PetsModel.qml
new file mode 100644
index 0000000..5220763
--- /dev/null
+++ b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/PetsModel.qml
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** 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
+
+ListModel {
+    ListElement {
+        name: "Polly"
+        type: "Parrot"
+        age: 12
+        size: "Small"
+    }
+    ListElement {
+        name: "Penny"
+        type: "Turtle"
+        age: 4
+        size: "Small"
+    }
+    ListElement {
+        name: "Warren"
+        type: "Rabbit"
+        age: 2
+        size: "Small"
+    }
+    ListElement {
+        name: "Spot"
+        type: "Dog"
+        age: 9
+        size: "Medium"
+    }
+    ListElement {
+        name: "Schrödinger"
+        type: "Cat"
+        age: 2
+        size: "Medium"
+    }
+    ListElement {
+        name: "Joey"
+        type: "Kangaroo"
+        age: 1
+        size: "Medium"
+    }
+    ListElement {
+        name: "Kimba"
+        type: "Bunny"
+        age: 65
+        size: "Large"
+    }
+    ListElement {
+        name: "Rover"
+        type: "Dog"
+        age: 5
+        size: "Large"
+    }
+    ListElement {
+        name: "Tiny"
+        type: "Elephant"
+        age: 15
+        size: "Large"
+    }
+}
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/PressAndHoldButton.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/PressAndHoldButton.qml
new file mode 100644
index 0000000..d6808a4
--- /dev/null
+++ b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/PressAndHoldButton.qml
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** 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
+
+Image {
+    id: container
+
+    property int repeatDelay: 300
+    property int repeatDuration: 75
+    property bool pressed: false
+
+    signal clicked
+
+    scale: pressed ? 0.9 : 1
+
+    function release() {
+        autoRepeatClicks.stop()
+        container.pressed = false
+    }
+
+    SequentialAnimation on pressed {
+        id: autoRepeatClicks
+        running: false
+
+        PropertyAction { target: container; property: "pressed"; value: true }
+        ScriptAction { script: container.clicked() }
+        PauseAnimation { duration: repeatDelay }
+
+        SequentialAnimation {
+            loops: Animation.Infinite
+            ScriptAction { script: container.clicked() }
+            PauseAnimation { duration: repeatDuration }
+        }
+    }
+
+    MouseArea {
+        anchors.fill: parent
+
+        onPressed: autoRepeatClicks.start()
+        onReleased: container.release()
+        onCanceled: container.release()
+    }
+}
+
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/RecipesModel.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/RecipesModel.qml
new file mode 100644
index 0000000..6056b90
--- /dev/null
+++ b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/RecipesModel.qml
@@ -0,0 +1,129 @@
+/****************************************************************************
+**
+** 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
+
+ListModel {
+    ListElement {
+        title: "Pancakes"
+        picture: "content/pics/pancakes.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 1 cup (150g) self-raising flour 
+                        <li> 1 tbs caster sugar 
+                        <li> 3/4 cup (185ml) milk 
+                        <li> 1 egg 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Sift flour and sugar together into a bowl. Add a pinch of salt. 
+                   <li> Beat milk and egg together, then add to dry ingredients. Beat until smooth. 
+                   <li> Pour mixture into a pan on medium heat and cook until bubbles appear on the surface. 
+                   <li> Turn over and cook other side until golden.  
+                  </ol>
+                 </html>"
+    }
+    ListElement {
+        title: "Fruit Salad"
+        picture: "content/pics/fruit-salad.jpg"
+        ingredients: "* Seasonal Fruit"
+        method: "* Chop fruit and place in a bowl."
+    }
+    ListElement {
+        title: "Vegetable Soup"
+        picture: "content/pics/vegetable-soup.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 1 onion 
+                        <li> 1 turnip 
+                        <li> 1 potato 
+                        <li> 1 carrot 
+                        <li> 1 head of celery 
+                        <li> 1 1/2 litres of water 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Chop vegetables. 
+                   <li> Boil in water until vegetables soften. 
+                   <li> Season with salt and pepper to taste. 
+                  </ol> 
+                 </html>"
+    }
+    ListElement {
+        title: "Hamburger"
+        picture: "content/pics/hamburger.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 500g minced beef 
+                        <li> Seasoning 
+                        <li> lettuce, tomato, onion, cheese 
+                        <li> 1 hamburger bun for each burger 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Mix the beef, together with seasoning, in a food processor. 
+                   <li> Shape the beef into burgers. 
+                   <li> Grill the burgers for about 5 mins on each side (until cooked through) 
+                   <li> Serve each burger on a bun with ketchup, cheese, lettuce, tomato and onion. 
+                  </ol> 
+                 </html>"
+    }
+    ListElement {
+        title: "Lemonade"
+        picture: "content/pics/lemonade.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 1 cup Lemon Juice 
+                        <li> 1 cup Sugar 
+                        <li> 6 Cups of Water (2 cups warm water, 4 cups cold water) 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Pour 2 cups of warm water into a pitcher and stir in sugar until it dissolves. 
+                   <li> Pour in lemon juice, stir again, and add 4 cups of cold water. 
+                   <li> Chill or serve over ice cubes. 
+                  </ol> 
+                 </html>"
+    }
+}
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/TextButton.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/TextButton.qml
new file mode 100644
index 0000000..f26d775
--- /dev/null
+++ b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/TextButton.qml
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** 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: container
+
+    property alias text: label.text
+
+    signal clicked
+
+    width: label.width + 20; height: label.height + 6
+    smooth: true
+    radius: 10
+
+    gradient: Gradient {
+        GradientStop { id: gradientStop; position: 0.0; color: palette.light }
+        GradientStop { position: 1.0; color: palette.button }
+    }
+
+    SystemPalette { id: palette }
+
+    MouseArea {
+        id: mouseArea
+        anchors.fill: parent
+        onClicked: { container.clicked() }
+    }
+
+    Text {
+        id: label
+        anchors.centerIn: parent
+    }
+
+    states: State {
+        name: "pressed"
+        when: mouseArea.pressed
+        PropertyChanges { target: gradientStop; color: palette.dark }
+    }
+}
+
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/arrow-down.png b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/arrow-down.png
new file mode 100644
index 0000000..29d1d44
Binary files /dev/null and b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/arrow-down.png differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/arrow-up.png b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/arrow-up.png
new file mode 100644
index 0000000..e437312
Binary files /dev/null and b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/arrow-up.png differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/fruit-salad.jpg b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/fruit-salad.jpg
new file mode 100644
index 0000000..da5a6b1
Binary files /dev/null and b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/fruit-salad.jpg differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/hamburger.jpg b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/hamburger.jpg
new file mode 100644
index 0000000..d0a15be
Binary files /dev/null and b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/hamburger.jpg differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/lemonade.jpg b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/lemonade.jpg
new file mode 100644
index 0000000..db445c9
Binary files /dev/null and b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/lemonade.jpg differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/list-delete.png b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/list-delete.png
new file mode 100644
index 0000000..df2a147
Binary files /dev/null and b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/list-delete.png differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/minus-sign.png b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/minus-sign.png
new file mode 100644
index 0000000..d6f233d
Binary files /dev/null and b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/minus-sign.png differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/moreDown.png b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/moreDown.png
new file mode 100644
index 0000000..31a35d5
Binary files /dev/null and b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/moreDown.png differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/moreUp.png b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/moreUp.png
new file mode 100644
index 0000000..fefb9c9
Binary files /dev/null and b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/moreUp.png differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/pancakes.jpg b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/pancakes.jpg
new file mode 100644
index 0000000..60c4396
Binary files /dev/null and b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/pancakes.jpg differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/plus-sign.png b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/plus-sign.png
new file mode 100644
index 0000000..40df113
Binary files /dev/null and b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/plus-sign.png differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/vegetable-soup.jpg b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/vegetable-soup.jpg
new file mode 100644
index 0000000..9dce332
Binary files /dev/null and b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/content/pics/vegetable-soup.jpg differ
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/dynamiclist.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/dynamiclist.qml
new file mode 100644
index 0000000..f25f0fa
--- /dev/null
+++ b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/dynamiclist.qml
@@ -0,0 +1,203 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+// This example shows how items can be dynamically added to and removed from
+// a ListModel, and how these list modifications can be animated.
+
+Rectangle {
+    id: container
+    width: 500; height: 400
+    color: "#343434"
+
+    // The model:
+    ListModel {
+        id: fruitModel
+
+        ListElement {
+            name: "Apple"; cost: 2.45
+            attributes: [
+                ListElement { description: "Core" },
+                ListElement { description: "Deciduous" }
+            ]
+        }
+        ListElement {
+            name: "Banana"; cost: 1.95
+            attributes: [
+                ListElement { description: "Tropical" },
+                ListElement { description: "Seedless" }
+            ]
+        }
+        ListElement {
+            name: "Cumquat"; cost: 3.25
+            attributes: [
+                ListElement { description: "Citrus" }
+            ]
+        }
+        ListElement {
+            name: "Durian"; cost: 9.95
+            attributes: [
+                ListElement { description: "Tropical" },
+                ListElement { description: "Smelly" }
+            ]
+        }
+    }
+
+    // The delegate for each fruit in the model:
+    Component {
+        id: listDelegate
+        
+        Item {
+            id: delegateItem
+            width: listView.width; height: 55
+            clip: true
+
+            Row {
+                anchors.verticalCenter: parent.verticalCenter
+                spacing: 10
+
+                Column {
+                    Image {
+                        source: "content/pics/arrow-up.png"
+                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index-1, 1) }
+                    }
+                    Image { source: "content/pics/arrow-down.png"
+                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index+1, 1) }
+                    }
+                }
+
+                Column {
+                    anchors.verticalCenter: parent.verticalCenter
+
+                    Text { 
+                        text: name
+                        font.pixelSize: 15
+                        color: "white"
+                    }
+                    Row {
+                        spacing: 5
+                        Repeater {
+                            model: attributes
+                            Text { text: description; color: "White" }
+                        }
+                    }
+                }
+            }
+
+            Row {
+                anchors.verticalCenter: parent.verticalCenter
+                anchors.right: parent.right
+                spacing: 10
+
+                PressAndHoldButton {
+                    anchors.verticalCenter: parent.verticalCenter
+                    source: "content/pics/plus-sign.png"
+                    onClicked: fruitModel.setProperty(index, "cost", cost + 0.25)
+                }
+
+                Text { 
+                    id: costText
+                    anchors.verticalCenter: parent.verticalCenter
+                    text: '$' + Number(cost).toFixed(2)
+                    font.pixelSize: 15
+                    color: "white"
+                    font.bold: true
+                }
+
+                PressAndHoldButton {
+                    anchors.verticalCenter: parent.verticalCenter
+                    source: "content/pics/minus-sign.png"
+                    onClicked: fruitModel.setProperty(index, "cost", Math.max(0,cost-0.25))
+                }
+
+                Image {
+                    source: "content/pics/list-delete.png"
+                    MouseArea { anchors.fill:parent; onClicked: fruitModel.remove(index) }
+                }
+            }
+
+            // Animate adding and removing of items:
+
+            ListView.onAdd: SequentialAnimation {
+                PropertyAction { target: delegateItem; property: "height"; value: 0 }
+                NumberAnimation { target: delegateItem; property: "height"; to: 55; duration: 250; easing.type: Easing.InOutQuad }
+            }
+
+            ListView.onRemove: SequentialAnimation {
+                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: true }
+                NumberAnimation { target: delegateItem; property: "height"; to: 0; duration: 250; easing.type: Easing.InOutQuad }
+
+                // Make sure delayRemove is set back to false so that the item can be destroyed
+                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: false }
+            }
+        }
+    }
+
+    // The view:
+    ListView {
+        id: listView
+        anchors.fill: parent; anchors.margins: 20
+        model: fruitModel
+        delegate: listDelegate
+    }
+
+    Row {
+        anchors { left: parent.left; bottom: parent.bottom; margins: 20 }
+        spacing: 10
+
+        TextButton { 
+            text: "Add an item"
+            onClicked: {
+                fruitModel.append({
+                    "name": "Pizza Margarita",
+                    "cost": 5.95,
+                    "attributes": [{"description": "Cheese"}, {"description": "Tomato"}]
+                })
+            }
+        }
+
+        TextButton { 
+            text: "Remove all items" 
+            onClicked: fruitModel.clear()
+        }
+    }
+}
+
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/expandingdelegates.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/expandingdelegates.qml
new file mode 100644
index 0000000..bd3d3a9
--- /dev/null
+++ b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/expandingdelegates.qml
@@ -0,0 +1,202 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+// This example illustrates expanding a list item to show a more detailed view.
+
+Rectangle {
+    id: page
+    width: 400; height: 240
+    color: "black"
+
+    // Delegate for the recipes.  This delegate has two modes:
+    // 1. List mode (default), which just shows the picture and title of the recipe.
+    // 2. Details mode, which also shows the ingredients and method.
+    Component {
+        id: recipeDelegate
+
+        Item {
+            id: recipe
+
+            // Create a property to contain the visibility of the details.
+            // We can bind multiple element's opacity to this one property,
+            // rather than having a "PropertyChanges" line for each element we
+            // want to fade.
+            property real detailsOpacity : 0
+
+            width: listView.width
+            height: 70
+
+            // A simple rounded rectangle for the background
+            Rectangle {
+                id: background
+                x: 2; y: 2; width: parent.width - x*2; height: parent.height - y*2
+                color: "ivory"
+                border.color: "orange"
+                radius: 5
+            }
+
+            // This mouse region covers the entire delegate.
+            // When clicked it changes mode to 'Details'.  If we are already
+            // in Details mode, then no change will happen.
+            MouseArea {
+                anchors.fill: parent
+                onClicked: recipe.state = 'Details';
+            }
+
+            // Lay out the page: picture, title and ingredients at the top, and method at the
+            // bottom.  Note that elements that should not be visible in the list
+            // mode have their opacity set to recipe.detailsOpacity.
+            Row {
+                id: topLayout
+                x: 10; y: 10; height: recipeImage.height; width: parent.width
+                spacing: 10
+
+                Image {
+                    id: recipeImage
+                    width: 50; height: 50
+                    source: picture
+                }
+
+                Column {
+                    width: background.width - recipeImage.width - 20; height: recipeImage.height
+                    spacing: 5
+
+                    Text { 
+                        text: title
+                        font.bold: true; font.pointSize: 16
+                    }
+
+                    Text {
+                        text: "Ingredients"
+                        font.pointSize: 12; font.bold: true
+                        opacity: recipe.detailsOpacity
+                    }
+
+                    Text {
+                        text: ingredients
+                        wrapMode: Text.WordWrap
+                        width: parent.width
+                        opacity: recipe.detailsOpacity
+                    }
+                }
+            }
+
+            Item {
+                id: details
+                x: 10; width: parent.width - 20
+                anchors { top: topLayout.bottom; topMargin: 10; bottom: parent.bottom; bottomMargin: 10 }
+                opacity: recipe.detailsOpacity
+
+                Text {
+                    id: methodTitle
+                    anchors.top: parent.top
+                    text: "Method"
+                    font.pointSize: 12; font.bold: true
+                }
+
+                Flickable {
+                    id: flick
+                    width: parent.width
+                    anchors { top: methodTitle.bottom; bottom: parent.bottom }
+                    contentHeight: methodText.height
+                    clip: true
+
+                    Text { id: methodText; text: method; wrapMode: Text.WordWrap; width: details.width }
+                }
+
+                Image {
+                    anchors { right: flick.right; top: flick.top }
+                    source: "content/pics/moreUp.png"
+                    opacity: flick.atYBeginning ? 0 : 1
+                }
+
+                Image {
+                    anchors { right: flick.right; bottom: flick.bottom }
+                    source: "content/pics/moreDown.png"
+                    opacity: flick.atYEnd ? 0 : 1
+                }
+            }
+
+            // A button to close the detailed view, i.e. set the state back to default ('').
+            TextButton {
+                y: 10
+                anchors { right: background.right; rightMargin: 10 }
+                opacity: recipe.detailsOpacity
+                text: "Close"
+
+                onClicked: recipe.state = '';
+            }
+
+            states: State {
+                name: "Details"
+
+                PropertyChanges { target: background; color: "white" }
+                PropertyChanges { target: recipeImage; width: 130; height: 130 } // Make picture bigger
+                PropertyChanges { target: recipe; detailsOpacity: 1; x: 0 } // Make details visible
+                PropertyChanges { target: recipe; height: listView.height } // Fill the entire list area with the detailed view
+
+                // Move the list so that this item is at the top.
+                PropertyChanges { target: recipe.ListView.view; explicit: true; contentY: recipe.y }
+
+                // Disallow flicking while we're in detailed view
+                PropertyChanges { target: recipe.ListView.view; interactive: false }
+            }
+
+            transitions: Transition {
+                // Make the state changes smooth
+                ParallelAnimation {
+                    ColorAnimation { property: "color"; duration: 500 }
+                    NumberAnimation { duration: 300; properties: "detailsOpacity,x,contentY,height,width" }
+                }
+            }
+        }
+    }
+
+    // The actual list
+    ListView {
+        id: listView
+        anchors.fill: parent
+        model: RecipesModel {}
+        delegate: recipeDelegate
+    }
+}
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/highlight.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/highlight.qml
new file mode 100644
index 0000000..249c73b
--- /dev/null
+++ b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/highlight.qml
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// This example shows how to create your own highlight delegate for a ListView
+// that uses a SpringAnimation to provide custom movement when the
+// highlight bar is moved between items.
+
+import QtQuick 1.0
+import "content"
+
+Rectangle {
+    width: 200; height: 300
+
+    // Define a delegate component.  A component will be
+    // instantiated for each visible item in the list.
+    Component {
+        id: petDelegate
+        Item {
+            id: wrapper
+            width: 200; height: 55
+            Column {
+                Text { text: 'Name: ' + name }
+                Text { text: 'Type: ' + type }
+                Text { text: 'Age: ' + age }
+            }
+            // indent the item if it is the current item
+            states: State {
+                name: "Current"
+                when: wrapper.ListView.isCurrentItem
+                PropertyChanges { target: wrapper; x: 20 }
+            }
+            transitions: Transition {
+                NumberAnimation { properties: "x"; duration: 200 } 
+            }
+        }
+    }
+
+    // Define a highlight with customised movement between items.
+    Component {
+        id: highlightBar
+        Rectangle {
+            width: 200; height: 50
+            color: "#FFFF88"
+            y: listView.currentItem.y;
+            Behavior on y { SpringAnimation { spring: 2; damping: 0.1 } }
+        }
+    }
+
+    ListView {
+        id: listView
+        width: 200; height: parent.height
+
+        model: PetsModel {}
+        delegate: petDelegate
+        focus: true
+
+        // Set the highlight delegate. Note we must also set highlightFollowsCurrentItem
+        // to false so the highlight delegate can control how the highlight is moved.
+        highlight: highlightBar
+        highlightFollowsCurrentItem: false
+    }
+}
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/highlightranges.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/highlightranges.qml
new file mode 100644
index 0000000..58d37a3
--- /dev/null
+++ b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/highlightranges.qml
@@ -0,0 +1,122 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+Rectangle {
+    id: root
+    property int current: 0
+    width: 600; height: 300
+
+    // This example shows the same model in three different ListView items, 
+    // with different highlight ranges. The highlight ranges are set by the 
+    // preferredHighlightBegin and preferredHighlightEnd properties in ListView.
+    //
+    // The first ListView does not set a highlight range, so its currentItem
+    // can move freely within the visible area. If it moves outside the
+    // visible area, the view is automatically scrolled to keep the current
+    // item visible.
+    //
+    // The second ListView sets a highlight range which attempts to keep the
+    // current item within the the bounds of the range. However,
+    // items will not scroll beyond the beginning or end of the view,
+    // forcing the highlight to move outside the range at the ends.
+    //
+    // The third ListView sets the highlightRangeMode to StrictlyEnforceRange
+    // and sets a range smaller than the height of an item.  This
+    // forces the current item to change when the view is flicked,
+    // since the highlight is unable to move.
+    //
+    // All ListViews bind their currentIndex to the root.current property.
+    // The first ListView sets root.current whenever its currentIndex changes
+    // due to keyboard interaction.
+    // Flicking the third ListView with the mouse also changes root.current.
+
+    ListView {
+        id: list1
+        width: 200; height: parent.height
+        model: PetsModel {}
+        delegate: petDelegate
+
+        highlight: Rectangle { color: "lightsteelblue" }
+        currentIndex: root.current
+        onCurrentIndexChanged: root.current = currentIndex
+        focus: true
+    }
+
+    ListView {
+        id: list2
+        x: list1.width
+        width: 200; height: parent.height
+        model: PetsModel {}
+        delegate: petDelegate
+
+        highlight: Rectangle { color: "yellow" }
+        currentIndex: root.current
+        preferredHighlightBegin: 80; preferredHighlightEnd: 220
+        highlightRangeMode: ListView.ApplyRange
+    }
+
+    ListView {
+        id: list3
+        x: list1.width + list2.width
+        width: 200; height: parent.height
+        model: PetsModel {}
+        delegate: petDelegate
+
+        highlight: Rectangle { color: "yellow" }
+        currentIndex: root.current
+        onCurrentIndexChanged: root.current = currentIndex
+        preferredHighlightBegin: 125; preferredHighlightEnd: 125
+        highlightRangeMode: ListView.StrictlyEnforceRange
+    }
+
+    // The delegate for each list
+    Component {
+        id: petDelegate
+        Column {
+            width: 200
+            Text { text: 'Name: ' + name }
+            Text { text: 'Type: ' + type }
+            Text { text: 'Age: ' + age }
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/sections.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/sections.qml
new file mode 100644
index 0000000..3248899
--- /dev/null
+++ b/examples/declarative/modelviews/listview/expandingdelegates/qml/expandingdelegates/sections.qml
@@ -0,0 +1,87 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// This example shows how a ListView can be separated into sections using
+// the ListView.section attached property.
+
+import QtQuick 1.0
+
+//! [0]
+Rectangle {
+    id: container
+    width: 200
+    height: 250
+
+    ListModel {
+        id: animalsModel
+        ListElement { name: "Parrot"; size: "Small" }
+        ListElement { name: "Guinea pig"; size: "Small" }
+        ListElement { name: "Dog"; size: "Medium" }
+        ListElement { name: "Cat"; size: "Medium" }
+        ListElement { name: "Elephant"; size: "Large" }
+    }
+
+    // The delegate for each section header
+    Component { 
+        id: sectionHeading
+        Rectangle {
+            width: container.width
+            height: childrenRect.height
+            color: "lightsteelblue"
+
+            Text {
+                text: section
+                font.bold: true
+            }
+        }
+    }
+
+    ListView {
+        anchors.fill: parent
+        model: animalsModel
+        delegate: Text { text: name }
+
+        section.property: "size"
+        section.criteria: ViewSection.FullString
+        section.delegate: sectionHeading
+    }
+}
+//! [0]
+
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/highlight.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/highlight.qml
deleted file mode 100644
index 249c73b..0000000
--- a/examples/declarative/modelviews/listview/expandingdelegates/qml/highlight.qml
+++ /dev/null
@@ -1,99 +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$
-**
-****************************************************************************/
-
-// This example shows how to create your own highlight delegate for a ListView
-// that uses a SpringAnimation to provide custom movement when the
-// highlight bar is moved between items.
-
-import QtQuick 1.0
-import "content"
-
-Rectangle {
-    width: 200; height: 300
-
-    // Define a delegate component.  A component will be
-    // instantiated for each visible item in the list.
-    Component {
-        id: petDelegate
-        Item {
-            id: wrapper
-            width: 200; height: 55
-            Column {
-                Text { text: 'Name: ' + name }
-                Text { text: 'Type: ' + type }
-                Text { text: 'Age: ' + age }
-            }
-            // indent the item if it is the current item
-            states: State {
-                name: "Current"
-                when: wrapper.ListView.isCurrentItem
-                PropertyChanges { target: wrapper; x: 20 }
-            }
-            transitions: Transition {
-                NumberAnimation { properties: "x"; duration: 200 } 
-            }
-        }
-    }
-
-    // Define a highlight with customised movement between items.
-    Component {
-        id: highlightBar
-        Rectangle {
-            width: 200; height: 50
-            color: "#FFFF88"
-            y: listView.currentItem.y;
-            Behavior on y { SpringAnimation { spring: 2; damping: 0.1 } }
-        }
-    }
-
-    ListView {
-        id: listView
-        width: 200; height: parent.height
-
-        model: PetsModel {}
-        delegate: petDelegate
-        focus: true
-
-        // Set the highlight delegate. Note we must also set highlightFollowsCurrentItem
-        // to false so the highlight delegate can control how the highlight is moved.
-        highlight: highlightBar
-        highlightFollowsCurrentItem: false
-    }
-}
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/highlightranges.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/highlightranges.qml
deleted file mode 100644
index 58d37a3..0000000
--- a/examples/declarative/modelviews/listview/expandingdelegates/qml/highlightranges.qml
+++ /dev/null
@@ -1,122 +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
-import "content"
-
-Rectangle {
-    id: root
-    property int current: 0
-    width: 600; height: 300
-
-    // This example shows the same model in three different ListView items, 
-    // with different highlight ranges. The highlight ranges are set by the 
-    // preferredHighlightBegin and preferredHighlightEnd properties in ListView.
-    //
-    // The first ListView does not set a highlight range, so its currentItem
-    // can move freely within the visible area. If it moves outside the
-    // visible area, the view is automatically scrolled to keep the current
-    // item visible.
-    //
-    // The second ListView sets a highlight range which attempts to keep the
-    // current item within the the bounds of the range. However,
-    // items will not scroll beyond the beginning or end of the view,
-    // forcing the highlight to move outside the range at the ends.
-    //
-    // The third ListView sets the highlightRangeMode to StrictlyEnforceRange
-    // and sets a range smaller than the height of an item.  This
-    // forces the current item to change when the view is flicked,
-    // since the highlight is unable to move.
-    //
-    // All ListViews bind their currentIndex to the root.current property.
-    // The first ListView sets root.current whenever its currentIndex changes
-    // due to keyboard interaction.
-    // Flicking the third ListView with the mouse also changes root.current.
-
-    ListView {
-        id: list1
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "lightsteelblue" }
-        currentIndex: root.current
-        onCurrentIndexChanged: root.current = currentIndex
-        focus: true
-    }
-
-    ListView {
-        id: list2
-        x: list1.width
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "yellow" }
-        currentIndex: root.current
-        preferredHighlightBegin: 80; preferredHighlightEnd: 220
-        highlightRangeMode: ListView.ApplyRange
-    }
-
-    ListView {
-        id: list3
-        x: list1.width + list2.width
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "yellow" }
-        currentIndex: root.current
-        onCurrentIndexChanged: root.current = currentIndex
-        preferredHighlightBegin: 125; preferredHighlightEnd: 125
-        highlightRangeMode: ListView.StrictlyEnforceRange
-    }
-
-    // The delegate for each list
-    Component {
-        id: petDelegate
-        Column {
-            width: 200
-            Text { text: 'Name: ' + name }
-            Text { text: 'Type: ' + type }
-            Text { text: 'Age: ' + age }
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qml/listview.qmlproject b/examples/declarative/modelviews/listview/expandingdelegates/qml/listview.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/modelviews/listview/expandingdelegates/qml/listview.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/modelviews/listview/expandingdelegates/qml/sections.qml b/examples/declarative/modelviews/listview/expandingdelegates/qml/sections.qml
deleted file mode 100644
index 3248899..0000000
--- a/examples/declarative/modelviews/listview/expandingdelegates/qml/sections.qml
+++ /dev/null
@@ -1,87 +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$
-**
-****************************************************************************/
-
-// This example shows how a ListView can be separated into sections using
-// the ListView.section attached property.
-
-import QtQuick 1.0
-
-//! [0]
-Rectangle {
-    id: container
-    width: 200
-    height: 250
-
-    ListModel {
-        id: animalsModel
-        ListElement { name: "Parrot"; size: "Small" }
-        ListElement { name: "Guinea pig"; size: "Small" }
-        ListElement { name: "Dog"; size: "Medium" }
-        ListElement { name: "Cat"; size: "Medium" }
-        ListElement { name: "Elephant"; size: "Large" }
-    }
-
-    // The delegate for each section header
-    Component { 
-        id: sectionHeading
-        Rectangle {
-            width: container.width
-            height: childrenRect.height
-            color: "lightsteelblue"
-
-            Text {
-                text: section
-                font.bold: true
-            }
-        }
-    }
-
-    ListView {
-        anchors.fill: parent
-        model: animalsModel
-        delegate: Text { text: name }
-
-        section.property: "size"
-        section.criteria: ViewSection.FullString
-        section.delegate: sectionHeading
-    }
-}
-//! [0]
-
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/modelviews/listview/expandingdelegates/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/modelviews/listview/expandingdelegates/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/modelviews/listview/expandingdelegates/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/modelviews/listview/expandingdelegates/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/modelviews/listview/expandingdelegates/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/modelviews/listview/expandingdelegates/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/modelviews/listview/expandingdelegates/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/modelviews/listview/expandingdelegates/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/modelviews/listview/highlight.qml b/examples/declarative/modelviews/listview/highlight.qml
deleted file mode 100644
index e9e269f..0000000
--- a/examples/declarative/modelviews/listview/highlight.qml
+++ /dev/null
@@ -1,99 +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$
-**
-****************************************************************************/
-
-// This example shows how to create your own highlight delegate for a ListView
-// that uses a SpringAnimation to provide custom movement when the
-// highlight bar is moved between items.
-
-import QtQuick 1.0
-import "content"
-
-Rectangle {
-    width: 200; height: 300
-
-    // Define a delegate component.  A component will be
-    // instantiated for each visible item in the list.
-    Component {
-        id: petDelegate
-        Item {
-            id: wrapper
-            width: 200; height: 55
-            Column {
-                Text { text: 'Name: ' + name }
-                Text { text: 'Type: ' + type }
-                Text { text: 'Age: ' + age }
-            }
-            // indent the item if it is the current item
-            states: State {
-                name: "Current"
-                when: wrapper.ListView.isCurrentItem
-                PropertyChanges { target: wrapper; x: 20 }
-            }
-            transitions: Transition {
-                NumberAnimation { properties: "x"; duration: 200 } 
-            }
-        }
-    }
-
-    // Define a highlight with customised movement between items.
-    Component {
-        id: highlightBar
-        Rectangle {
-            width: 200; height: 50
-            color: "#FFFF88"
-            y: listView.currentItem.y;
-            Behavior on y { SpringAnimation { spring: 2; damping: 0.1 } }
-        }
-    }
-
-    ListView {
-        id: listView
-        width: 200; height: parent.height
-
-        model: PetsModel {}
-        delegate: petDelegate
-        focus: true
-
-        // Set the highlight delegate. Note we must also set highlightFollowsCurrentItem
-        // to false so the highlight delegate can control how the highlight is moved.
-        highlight: highlightBar
-        highlightFollowsCurrentItem: false
-    }
-}
diff --git a/examples/declarative/modelviews/listview/highlight/highlight.pro b/examples/declarative/modelviews/listview/highlight/highlight.pro
index 60ae50c..a0a5c01 100644
--- a/examples/declarative/modelviews/listview/highlight/highlight.pro
+++ b/examples/declarative/modelviews/listview/highlight/highlight.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/highlight
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE9439941
 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/modelviews/listview/highlight/highlight.qmlproject b/examples/declarative/modelviews/listview/highlight/highlight.qmlproject
new file mode 100644
index 0000000..a1ac231
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlight/highlight.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/highlight"
+    }
+    JavaScriptFiles {
+        directory: "qml/highlight"
+    }
+    ImageFiles {
+        directory: "qml/highlight"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/modelviews/listview/highlight/main.cpp b/examples/declarative/modelviews/listview/highlight/main.cpp
index 7b8cdf2..ed02580 100644
--- a/examples/declarative/modelviews/listview/highlight/main.cpp
+++ b/examples/declarative/modelviews/listview/highlight/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockPortrait);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/highlight.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/highlight/highlight.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/modelviews/listview/highlight/qml/content/PetsModel.qml b/examples/declarative/modelviews/listview/highlight/qml/content/PetsModel.qml
deleted file mode 100644
index 5220763..0000000
--- a/examples/declarative/modelviews/listview/highlight/qml/content/PetsModel.qml
+++ /dev/null
@@ -1,98 +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
-
-ListModel {
-    ListElement {
-        name: "Polly"
-        type: "Parrot"
-        age: 12
-        size: "Small"
-    }
-    ListElement {
-        name: "Penny"
-        type: "Turtle"
-        age: 4
-        size: "Small"
-    }
-    ListElement {
-        name: "Warren"
-        type: "Rabbit"
-        age: 2
-        size: "Small"
-    }
-    ListElement {
-        name: "Spot"
-        type: "Dog"
-        age: 9
-        size: "Medium"
-    }
-    ListElement {
-        name: "Schrödinger"
-        type: "Cat"
-        age: 2
-        size: "Medium"
-    }
-    ListElement {
-        name: "Joey"
-        type: "Kangaroo"
-        age: 1
-        size: "Medium"
-    }
-    ListElement {
-        name: "Kimba"
-        type: "Bunny"
-        age: 65
-        size: "Large"
-    }
-    ListElement {
-        name: "Rover"
-        type: "Dog"
-        age: 5
-        size: "Large"
-    }
-    ListElement {
-        name: "Tiny"
-        type: "Elephant"
-        age: 15
-        size: "Large"
-    }
-}
diff --git a/examples/declarative/modelviews/listview/highlight/qml/content/PressAndHoldButton.qml b/examples/declarative/modelviews/listview/highlight/qml/content/PressAndHoldButton.qml
deleted file mode 100644
index d6808a4..0000000
--- a/examples/declarative/modelviews/listview/highlight/qml/content/PressAndHoldButton.qml
+++ /dev/null
@@ -1,82 +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
-
-Image {
-    id: container
-
-    property int repeatDelay: 300
-    property int repeatDuration: 75
-    property bool pressed: false
-
-    signal clicked
-
-    scale: pressed ? 0.9 : 1
-
-    function release() {
-        autoRepeatClicks.stop()
-        container.pressed = false
-    }
-
-    SequentialAnimation on pressed {
-        id: autoRepeatClicks
-        running: false
-
-        PropertyAction { target: container; property: "pressed"; value: true }
-        ScriptAction { script: container.clicked() }
-        PauseAnimation { duration: repeatDelay }
-
-        SequentialAnimation {
-            loops: Animation.Infinite
-            ScriptAction { script: container.clicked() }
-            PauseAnimation { duration: repeatDuration }
-        }
-    }
-
-    MouseArea {
-        anchors.fill: parent
-
-        onPressed: autoRepeatClicks.start()
-        onReleased: container.release()
-        onCanceled: container.release()
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/highlight/qml/content/RecipesModel.qml b/examples/declarative/modelviews/listview/highlight/qml/content/RecipesModel.qml
deleted file mode 100644
index 6056b90..0000000
--- a/examples/declarative/modelviews/listview/highlight/qml/content/RecipesModel.qml
+++ /dev/null
@@ -1,129 +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
-
-ListModel {
-    ListElement {
-        title: "Pancakes"
-        picture: "content/pics/pancakes.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 cup (150g) self-raising flour 
-                        <li> 1 tbs caster sugar 
-                        <li> 3/4 cup (185ml) milk 
-                        <li> 1 egg 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Sift flour and sugar together into a bowl. Add a pinch of salt. 
-                   <li> Beat milk and egg together, then add to dry ingredients. Beat until smooth. 
-                   <li> Pour mixture into a pan on medium heat and cook until bubbles appear on the surface. 
-                   <li> Turn over and cook other side until golden.  
-                  </ol>
-                 </html>"
-    }
-    ListElement {
-        title: "Fruit Salad"
-        picture: "content/pics/fruit-salad.jpg"
-        ingredients: "* Seasonal Fruit"
-        method: "* Chop fruit and place in a bowl."
-    }
-    ListElement {
-        title: "Vegetable Soup"
-        picture: "content/pics/vegetable-soup.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 onion 
-                        <li> 1 turnip 
-                        <li> 1 potato 
-                        <li> 1 carrot 
-                        <li> 1 head of celery 
-                        <li> 1 1/2 litres of water 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Chop vegetables. 
-                   <li> Boil in water until vegetables soften. 
-                   <li> Season with salt and pepper to taste. 
-                  </ol> 
-                 </html>"
-    }
-    ListElement {
-        title: "Hamburger"
-        picture: "content/pics/hamburger.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 500g minced beef 
-                        <li> Seasoning 
-                        <li> lettuce, tomato, onion, cheese 
-                        <li> 1 hamburger bun for each burger 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Mix the beef, together with seasoning, in a food processor. 
-                   <li> Shape the beef into burgers. 
-                   <li> Grill the burgers for about 5 mins on each side (until cooked through) 
-                   <li> Serve each burger on a bun with ketchup, cheese, lettuce, tomato and onion. 
-                  </ol> 
-                 </html>"
-    }
-    ListElement {
-        title: "Lemonade"
-        picture: "content/pics/lemonade.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 cup Lemon Juice 
-                        <li> 1 cup Sugar 
-                        <li> 6 Cups of Water (2 cups warm water, 4 cups cold water) 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Pour 2 cups of warm water into a pitcher and stir in sugar until it dissolves. 
-                   <li> Pour in lemon juice, stir again, and add 4 cups of cold water. 
-                   <li> Chill or serve over ice cubes. 
-                  </ol> 
-                 </html>"
-    }
-}
diff --git a/examples/declarative/modelviews/listview/highlight/qml/content/TextButton.qml b/examples/declarative/modelviews/listview/highlight/qml/content/TextButton.qml
deleted file mode 100644
index f26d775..0000000
--- a/examples/declarative/modelviews/listview/highlight/qml/content/TextButton.qml
+++ /dev/null
@@ -1,78 +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: container
-
-    property alias text: label.text
-
-    signal clicked
-
-    width: label.width + 20; height: label.height + 6
-    smooth: true
-    radius: 10
-
-    gradient: Gradient {
-        GradientStop { id: gradientStop; position: 0.0; color: palette.light }
-        GradientStop { position: 1.0; color: palette.button }
-    }
-
-    SystemPalette { id: palette }
-
-    MouseArea {
-        id: mouseArea
-        anchors.fill: parent
-        onClicked: { container.clicked() }
-    }
-
-    Text {
-        id: label
-        anchors.centerIn: parent
-    }
-
-    states: State {
-        name: "pressed"
-        when: mouseArea.pressed
-        PropertyChanges { target: gradientStop; color: palette.dark }
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/highlight/qml/content/pics/arrow-down.png b/examples/declarative/modelviews/listview/highlight/qml/content/pics/arrow-down.png
deleted file mode 100644
index 29d1d44..0000000
Binary files a/examples/declarative/modelviews/listview/highlight/qml/content/pics/arrow-down.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/content/pics/arrow-up.png b/examples/declarative/modelviews/listview/highlight/qml/content/pics/arrow-up.png
deleted file mode 100644
index e437312..0000000
Binary files a/examples/declarative/modelviews/listview/highlight/qml/content/pics/arrow-up.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/content/pics/fruit-salad.jpg b/examples/declarative/modelviews/listview/highlight/qml/content/pics/fruit-salad.jpg
deleted file mode 100644
index da5a6b1..0000000
Binary files a/examples/declarative/modelviews/listview/highlight/qml/content/pics/fruit-salad.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/content/pics/hamburger.jpg b/examples/declarative/modelviews/listview/highlight/qml/content/pics/hamburger.jpg
deleted file mode 100644
index d0a15be..0000000
Binary files a/examples/declarative/modelviews/listview/highlight/qml/content/pics/hamburger.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/content/pics/lemonade.jpg b/examples/declarative/modelviews/listview/highlight/qml/content/pics/lemonade.jpg
deleted file mode 100644
index db445c9..0000000
Binary files a/examples/declarative/modelviews/listview/highlight/qml/content/pics/lemonade.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/content/pics/list-delete.png b/examples/declarative/modelviews/listview/highlight/qml/content/pics/list-delete.png
deleted file mode 100644
index df2a147..0000000
Binary files a/examples/declarative/modelviews/listview/highlight/qml/content/pics/list-delete.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/content/pics/minus-sign.png b/examples/declarative/modelviews/listview/highlight/qml/content/pics/minus-sign.png
deleted file mode 100644
index d6f233d..0000000
Binary files a/examples/declarative/modelviews/listview/highlight/qml/content/pics/minus-sign.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/content/pics/moreDown.png b/examples/declarative/modelviews/listview/highlight/qml/content/pics/moreDown.png
deleted file mode 100644
index 31a35d5..0000000
Binary files a/examples/declarative/modelviews/listview/highlight/qml/content/pics/moreDown.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/content/pics/moreUp.png b/examples/declarative/modelviews/listview/highlight/qml/content/pics/moreUp.png
deleted file mode 100644
index fefb9c9..0000000
Binary files a/examples/declarative/modelviews/listview/highlight/qml/content/pics/moreUp.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/content/pics/pancakes.jpg b/examples/declarative/modelviews/listview/highlight/qml/content/pics/pancakes.jpg
deleted file mode 100644
index 60c4396..0000000
Binary files a/examples/declarative/modelviews/listview/highlight/qml/content/pics/pancakes.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/content/pics/plus-sign.png b/examples/declarative/modelviews/listview/highlight/qml/content/pics/plus-sign.png
deleted file mode 100644
index 40df113..0000000
Binary files a/examples/declarative/modelviews/listview/highlight/qml/content/pics/plus-sign.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/content/pics/vegetable-soup.jpg b/examples/declarative/modelviews/listview/highlight/qml/content/pics/vegetable-soup.jpg
deleted file mode 100644
index 9dce332..0000000
Binary files a/examples/declarative/modelviews/listview/highlight/qml/content/pics/vegetable-soup.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/dynamiclist.qml b/examples/declarative/modelviews/listview/highlight/qml/dynamiclist.qml
deleted file mode 100644
index f25f0fa..0000000
--- a/examples/declarative/modelviews/listview/highlight/qml/dynamiclist.qml
+++ /dev/null
@@ -1,203 +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
-import "content"
-
-// This example shows how items can be dynamically added to and removed from
-// a ListModel, and how these list modifications can be animated.
-
-Rectangle {
-    id: container
-    width: 500; height: 400
-    color: "#343434"
-
-    // The model:
-    ListModel {
-        id: fruitModel
-
-        ListElement {
-            name: "Apple"; cost: 2.45
-            attributes: [
-                ListElement { description: "Core" },
-                ListElement { description: "Deciduous" }
-            ]
-        }
-        ListElement {
-            name: "Banana"; cost: 1.95
-            attributes: [
-                ListElement { description: "Tropical" },
-                ListElement { description: "Seedless" }
-            ]
-        }
-        ListElement {
-            name: "Cumquat"; cost: 3.25
-            attributes: [
-                ListElement { description: "Citrus" }
-            ]
-        }
-        ListElement {
-            name: "Durian"; cost: 9.95
-            attributes: [
-                ListElement { description: "Tropical" },
-                ListElement { description: "Smelly" }
-            ]
-        }
-    }
-
-    // The delegate for each fruit in the model:
-    Component {
-        id: listDelegate
-        
-        Item {
-            id: delegateItem
-            width: listView.width; height: 55
-            clip: true
-
-            Row {
-                anchors.verticalCenter: parent.verticalCenter
-                spacing: 10
-
-                Column {
-                    Image {
-                        source: "content/pics/arrow-up.png"
-                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index-1, 1) }
-                    }
-                    Image { source: "content/pics/arrow-down.png"
-                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index+1, 1) }
-                    }
-                }
-
-                Column {
-                    anchors.verticalCenter: parent.verticalCenter
-
-                    Text { 
-                        text: name
-                        font.pixelSize: 15
-                        color: "white"
-                    }
-                    Row {
-                        spacing: 5
-                        Repeater {
-                            model: attributes
-                            Text { text: description; color: "White" }
-                        }
-                    }
-                }
-            }
-
-            Row {
-                anchors.verticalCenter: parent.verticalCenter
-                anchors.right: parent.right
-                spacing: 10
-
-                PressAndHoldButton {
-                    anchors.verticalCenter: parent.verticalCenter
-                    source: "content/pics/plus-sign.png"
-                    onClicked: fruitModel.setProperty(index, "cost", cost + 0.25)
-                }
-
-                Text { 
-                    id: costText
-                    anchors.verticalCenter: parent.verticalCenter
-                    text: '$' + Number(cost).toFixed(2)
-                    font.pixelSize: 15
-                    color: "white"
-                    font.bold: true
-                }
-
-                PressAndHoldButton {
-                    anchors.verticalCenter: parent.verticalCenter
-                    source: "content/pics/minus-sign.png"
-                    onClicked: fruitModel.setProperty(index, "cost", Math.max(0,cost-0.25))
-                }
-
-                Image {
-                    source: "content/pics/list-delete.png"
-                    MouseArea { anchors.fill:parent; onClicked: fruitModel.remove(index) }
-                }
-            }
-
-            // Animate adding and removing of items:
-
-            ListView.onAdd: SequentialAnimation {
-                PropertyAction { target: delegateItem; property: "height"; value: 0 }
-                NumberAnimation { target: delegateItem; property: "height"; to: 55; duration: 250; easing.type: Easing.InOutQuad }
-            }
-
-            ListView.onRemove: SequentialAnimation {
-                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: true }
-                NumberAnimation { target: delegateItem; property: "height"; to: 0; duration: 250; easing.type: Easing.InOutQuad }
-
-                // Make sure delayRemove is set back to false so that the item can be destroyed
-                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: false }
-            }
-        }
-    }
-
-    // The view:
-    ListView {
-        id: listView
-        anchors.fill: parent; anchors.margins: 20
-        model: fruitModel
-        delegate: listDelegate
-    }
-
-    Row {
-        anchors { left: parent.left; bottom: parent.bottom; margins: 20 }
-        spacing: 10
-
-        TextButton { 
-            text: "Add an item"
-            onClicked: {
-                fruitModel.append({
-                    "name": "Pizza Margarita",
-                    "cost": 5.95,
-                    "attributes": [{"description": "Cheese"}, {"description": "Tomato"}]
-                })
-            }
-        }
-
-        TextButton { 
-            text: "Remove all items" 
-            onClicked: fruitModel.clear()
-        }
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/highlight/qml/expandingdelegates.qml b/examples/declarative/modelviews/listview/highlight/qml/expandingdelegates.qml
deleted file mode 100644
index bd3d3a9..0000000
--- a/examples/declarative/modelviews/listview/highlight/qml/expandingdelegates.qml
+++ /dev/null
@@ -1,202 +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
-import "content"
-
-// This example illustrates expanding a list item to show a more detailed view.
-
-Rectangle {
-    id: page
-    width: 400; height: 240
-    color: "black"
-
-    // Delegate for the recipes.  This delegate has two modes:
-    // 1. List mode (default), which just shows the picture and title of the recipe.
-    // 2. Details mode, which also shows the ingredients and method.
-    Component {
-        id: recipeDelegate
-
-        Item {
-            id: recipe
-
-            // Create a property to contain the visibility of the details.
-            // We can bind multiple element's opacity to this one property,
-            // rather than having a "PropertyChanges" line for each element we
-            // want to fade.
-            property real detailsOpacity : 0
-
-            width: listView.width
-            height: 70
-
-            // A simple rounded rectangle for the background
-            Rectangle {
-                id: background
-                x: 2; y: 2; width: parent.width - x*2; height: parent.height - y*2
-                color: "ivory"
-                border.color: "orange"
-                radius: 5
-            }
-
-            // This mouse region covers the entire delegate.
-            // When clicked it changes mode to 'Details'.  If we are already
-            // in Details mode, then no change will happen.
-            MouseArea {
-                anchors.fill: parent
-                onClicked: recipe.state = 'Details';
-            }
-
-            // Lay out the page: picture, title and ingredients at the top, and method at the
-            // bottom.  Note that elements that should not be visible in the list
-            // mode have their opacity set to recipe.detailsOpacity.
-            Row {
-                id: topLayout
-                x: 10; y: 10; height: recipeImage.height; width: parent.width
-                spacing: 10
-
-                Image {
-                    id: recipeImage
-                    width: 50; height: 50
-                    source: picture
-                }
-
-                Column {
-                    width: background.width - recipeImage.width - 20; height: recipeImage.height
-                    spacing: 5
-
-                    Text { 
-                        text: title
-                        font.bold: true; font.pointSize: 16
-                    }
-
-                    Text {
-                        text: "Ingredients"
-                        font.pointSize: 12; font.bold: true
-                        opacity: recipe.detailsOpacity
-                    }
-
-                    Text {
-                        text: ingredients
-                        wrapMode: Text.WordWrap
-                        width: parent.width
-                        opacity: recipe.detailsOpacity
-                    }
-                }
-            }
-
-            Item {
-                id: details
-                x: 10; width: parent.width - 20
-                anchors { top: topLayout.bottom; topMargin: 10; bottom: parent.bottom; bottomMargin: 10 }
-                opacity: recipe.detailsOpacity
-
-                Text {
-                    id: methodTitle
-                    anchors.top: parent.top
-                    text: "Method"
-                    font.pointSize: 12; font.bold: true
-                }
-
-                Flickable {
-                    id: flick
-                    width: parent.width
-                    anchors { top: methodTitle.bottom; bottom: parent.bottom }
-                    contentHeight: methodText.height
-                    clip: true
-
-                    Text { id: methodText; text: method; wrapMode: Text.WordWrap; width: details.width }
-                }
-
-                Image {
-                    anchors { right: flick.right; top: flick.top }
-                    source: "content/pics/moreUp.png"
-                    opacity: flick.atYBeginning ? 0 : 1
-                }
-
-                Image {
-                    anchors { right: flick.right; bottom: flick.bottom }
-                    source: "content/pics/moreDown.png"
-                    opacity: flick.atYEnd ? 0 : 1
-                }
-            }
-
-            // A button to close the detailed view, i.e. set the state back to default ('').
-            TextButton {
-                y: 10
-                anchors { right: background.right; rightMargin: 10 }
-                opacity: recipe.detailsOpacity
-                text: "Close"
-
-                onClicked: recipe.state = '';
-            }
-
-            states: State {
-                name: "Details"
-
-                PropertyChanges { target: background; color: "white" }
-                PropertyChanges { target: recipeImage; width: 130; height: 130 } // Make picture bigger
-                PropertyChanges { target: recipe; detailsOpacity: 1; x: 0 } // Make details visible
-                PropertyChanges { target: recipe; height: listView.height } // Fill the entire list area with the detailed view
-
-                // Move the list so that this item is at the top.
-                PropertyChanges { target: recipe.ListView.view; explicit: true; contentY: recipe.y }
-
-                // Disallow flicking while we're in detailed view
-                PropertyChanges { target: recipe.ListView.view; interactive: false }
-            }
-
-            transitions: Transition {
-                // Make the state changes smooth
-                ParallelAnimation {
-                    ColorAnimation { property: "color"; duration: 500 }
-                    NumberAnimation { duration: 300; properties: "detailsOpacity,x,contentY,height,width" }
-                }
-            }
-        }
-    }
-
-    // The actual list
-    ListView {
-        id: listView
-        anchors.fill: parent
-        model: RecipesModel {}
-        delegate: recipeDelegate
-    }
-}
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight.qml b/examples/declarative/modelviews/listview/highlight/qml/highlight.qml
deleted file mode 100644
index 249c73b..0000000
--- a/examples/declarative/modelviews/listview/highlight/qml/highlight.qml
+++ /dev/null
@@ -1,99 +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$
-**
-****************************************************************************/
-
-// This example shows how to create your own highlight delegate for a ListView
-// that uses a SpringAnimation to provide custom movement when the
-// highlight bar is moved between items.
-
-import QtQuick 1.0
-import "content"
-
-Rectangle {
-    width: 200; height: 300
-
-    // Define a delegate component.  A component will be
-    // instantiated for each visible item in the list.
-    Component {
-        id: petDelegate
-        Item {
-            id: wrapper
-            width: 200; height: 55
-            Column {
-                Text { text: 'Name: ' + name }
-                Text { text: 'Type: ' + type }
-                Text { text: 'Age: ' + age }
-            }
-            // indent the item if it is the current item
-            states: State {
-                name: "Current"
-                when: wrapper.ListView.isCurrentItem
-                PropertyChanges { target: wrapper; x: 20 }
-            }
-            transitions: Transition {
-                NumberAnimation { properties: "x"; duration: 200 } 
-            }
-        }
-    }
-
-    // Define a highlight with customised movement between items.
-    Component {
-        id: highlightBar
-        Rectangle {
-            width: 200; height: 50
-            color: "#FFFF88"
-            y: listView.currentItem.y;
-            Behavior on y { SpringAnimation { spring: 2; damping: 0.1 } }
-        }
-    }
-
-    ListView {
-        id: listView
-        width: 200; height: parent.height
-
-        model: PetsModel {}
-        delegate: petDelegate
-        focus: true
-
-        // Set the highlight delegate. Note we must also set highlightFollowsCurrentItem
-        // to false so the highlight delegate can control how the highlight is moved.
-        highlight: highlightBar
-        highlightFollowsCurrentItem: false
-    }
-}
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/content/PetsModel.qml b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/PetsModel.qml
new file mode 100644
index 0000000..5220763
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/PetsModel.qml
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** 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
+
+ListModel {
+    ListElement {
+        name: "Polly"
+        type: "Parrot"
+        age: 12
+        size: "Small"
+    }
+    ListElement {
+        name: "Penny"
+        type: "Turtle"
+        age: 4
+        size: "Small"
+    }
+    ListElement {
+        name: "Warren"
+        type: "Rabbit"
+        age: 2
+        size: "Small"
+    }
+    ListElement {
+        name: "Spot"
+        type: "Dog"
+        age: 9
+        size: "Medium"
+    }
+    ListElement {
+        name: "Schrödinger"
+        type: "Cat"
+        age: 2
+        size: "Medium"
+    }
+    ListElement {
+        name: "Joey"
+        type: "Kangaroo"
+        age: 1
+        size: "Medium"
+    }
+    ListElement {
+        name: "Kimba"
+        type: "Bunny"
+        age: 65
+        size: "Large"
+    }
+    ListElement {
+        name: "Rover"
+        type: "Dog"
+        age: 5
+        size: "Large"
+    }
+    ListElement {
+        name: "Tiny"
+        type: "Elephant"
+        age: 15
+        size: "Large"
+    }
+}
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/content/PressAndHoldButton.qml b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/PressAndHoldButton.qml
new file mode 100644
index 0000000..d6808a4
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/PressAndHoldButton.qml
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** 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
+
+Image {
+    id: container
+
+    property int repeatDelay: 300
+    property int repeatDuration: 75
+    property bool pressed: false
+
+    signal clicked
+
+    scale: pressed ? 0.9 : 1
+
+    function release() {
+        autoRepeatClicks.stop()
+        container.pressed = false
+    }
+
+    SequentialAnimation on pressed {
+        id: autoRepeatClicks
+        running: false
+
+        PropertyAction { target: container; property: "pressed"; value: true }
+        ScriptAction { script: container.clicked() }
+        PauseAnimation { duration: repeatDelay }
+
+        SequentialAnimation {
+            loops: Animation.Infinite
+            ScriptAction { script: container.clicked() }
+            PauseAnimation { duration: repeatDuration }
+        }
+    }
+
+    MouseArea {
+        anchors.fill: parent
+
+        onPressed: autoRepeatClicks.start()
+        onReleased: container.release()
+        onCanceled: container.release()
+    }
+}
+
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/content/RecipesModel.qml b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/RecipesModel.qml
new file mode 100644
index 0000000..6056b90
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/RecipesModel.qml
@@ -0,0 +1,129 @@
+/****************************************************************************
+**
+** 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
+
+ListModel {
+    ListElement {
+        title: "Pancakes"
+        picture: "content/pics/pancakes.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 1 cup (150g) self-raising flour 
+                        <li> 1 tbs caster sugar 
+                        <li> 3/4 cup (185ml) milk 
+                        <li> 1 egg 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Sift flour and sugar together into a bowl. Add a pinch of salt. 
+                   <li> Beat milk and egg together, then add to dry ingredients. Beat until smooth. 
+                   <li> Pour mixture into a pan on medium heat and cook until bubbles appear on the surface. 
+                   <li> Turn over and cook other side until golden.  
+                  </ol>
+                 </html>"
+    }
+    ListElement {
+        title: "Fruit Salad"
+        picture: "content/pics/fruit-salad.jpg"
+        ingredients: "* Seasonal Fruit"
+        method: "* Chop fruit and place in a bowl."
+    }
+    ListElement {
+        title: "Vegetable Soup"
+        picture: "content/pics/vegetable-soup.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 1 onion 
+                        <li> 1 turnip 
+                        <li> 1 potato 
+                        <li> 1 carrot 
+                        <li> 1 head of celery 
+                        <li> 1 1/2 litres of water 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Chop vegetables. 
+                   <li> Boil in water until vegetables soften. 
+                   <li> Season with salt and pepper to taste. 
+                  </ol> 
+                 </html>"
+    }
+    ListElement {
+        title: "Hamburger"
+        picture: "content/pics/hamburger.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 500g minced beef 
+                        <li> Seasoning 
+                        <li> lettuce, tomato, onion, cheese 
+                        <li> 1 hamburger bun for each burger 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Mix the beef, together with seasoning, in a food processor. 
+                   <li> Shape the beef into burgers. 
+                   <li> Grill the burgers for about 5 mins on each side (until cooked through) 
+                   <li> Serve each burger on a bun with ketchup, cheese, lettuce, tomato and onion. 
+                  </ol> 
+                 </html>"
+    }
+    ListElement {
+        title: "Lemonade"
+        picture: "content/pics/lemonade.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 1 cup Lemon Juice 
+                        <li> 1 cup Sugar 
+                        <li> 6 Cups of Water (2 cups warm water, 4 cups cold water) 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Pour 2 cups of warm water into a pitcher and stir in sugar until it dissolves. 
+                   <li> Pour in lemon juice, stir again, and add 4 cups of cold water. 
+                   <li> Chill or serve over ice cubes. 
+                  </ol> 
+                 </html>"
+    }
+}
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/content/TextButton.qml b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/TextButton.qml
new file mode 100644
index 0000000..f26d775
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/TextButton.qml
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** 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: container
+
+    property alias text: label.text
+
+    signal clicked
+
+    width: label.width + 20; height: label.height + 6
+    smooth: true
+    radius: 10
+
+    gradient: Gradient {
+        GradientStop { id: gradientStop; position: 0.0; color: palette.light }
+        GradientStop { position: 1.0; color: palette.button }
+    }
+
+    SystemPalette { id: palette }
+
+    MouseArea {
+        id: mouseArea
+        anchors.fill: parent
+        onClicked: { container.clicked() }
+    }
+
+    Text {
+        id: label
+        anchors.centerIn: parent
+    }
+
+    states: State {
+        name: "pressed"
+        when: mouseArea.pressed
+        PropertyChanges { target: gradientStop; color: palette.dark }
+    }
+}
+
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/arrow-down.png b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/arrow-down.png
new file mode 100644
index 0000000..29d1d44
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/arrow-down.png differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/arrow-up.png b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/arrow-up.png
new file mode 100644
index 0000000..e437312
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/arrow-up.png differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/fruit-salad.jpg b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/fruit-salad.jpg
new file mode 100644
index 0000000..da5a6b1
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/fruit-salad.jpg differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/hamburger.jpg b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/hamburger.jpg
new file mode 100644
index 0000000..d0a15be
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/hamburger.jpg differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/lemonade.jpg b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/lemonade.jpg
new file mode 100644
index 0000000..db445c9
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/lemonade.jpg differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/list-delete.png b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/list-delete.png
new file mode 100644
index 0000000..df2a147
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/list-delete.png differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/minus-sign.png b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/minus-sign.png
new file mode 100644
index 0000000..d6f233d
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/minus-sign.png differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/moreDown.png b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/moreDown.png
new file mode 100644
index 0000000..31a35d5
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/moreDown.png differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/moreUp.png b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/moreUp.png
new file mode 100644
index 0000000..fefb9c9
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/moreUp.png differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/pancakes.jpg b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/pancakes.jpg
new file mode 100644
index 0000000..60c4396
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/pancakes.jpg differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/plus-sign.png b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/plus-sign.png
new file mode 100644
index 0000000..40df113
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/plus-sign.png differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/vegetable-soup.jpg b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/vegetable-soup.jpg
new file mode 100644
index 0000000..9dce332
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlight/qml/highlight/content/pics/vegetable-soup.jpg differ
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/dynamiclist.qml b/examples/declarative/modelviews/listview/highlight/qml/highlight/dynamiclist.qml
new file mode 100644
index 0000000..f25f0fa
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlight/qml/highlight/dynamiclist.qml
@@ -0,0 +1,203 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+// This example shows how items can be dynamically added to and removed from
+// a ListModel, and how these list modifications can be animated.
+
+Rectangle {
+    id: container
+    width: 500; height: 400
+    color: "#343434"
+
+    // The model:
+    ListModel {
+        id: fruitModel
+
+        ListElement {
+            name: "Apple"; cost: 2.45
+            attributes: [
+                ListElement { description: "Core" },
+                ListElement { description: "Deciduous" }
+            ]
+        }
+        ListElement {
+            name: "Banana"; cost: 1.95
+            attributes: [
+                ListElement { description: "Tropical" },
+                ListElement { description: "Seedless" }
+            ]
+        }
+        ListElement {
+            name: "Cumquat"; cost: 3.25
+            attributes: [
+                ListElement { description: "Citrus" }
+            ]
+        }
+        ListElement {
+            name: "Durian"; cost: 9.95
+            attributes: [
+                ListElement { description: "Tropical" },
+                ListElement { description: "Smelly" }
+            ]
+        }
+    }
+
+    // The delegate for each fruit in the model:
+    Component {
+        id: listDelegate
+        
+        Item {
+            id: delegateItem
+            width: listView.width; height: 55
+            clip: true
+
+            Row {
+                anchors.verticalCenter: parent.verticalCenter
+                spacing: 10
+
+                Column {
+                    Image {
+                        source: "content/pics/arrow-up.png"
+                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index-1, 1) }
+                    }
+                    Image { source: "content/pics/arrow-down.png"
+                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index+1, 1) }
+                    }
+                }
+
+                Column {
+                    anchors.verticalCenter: parent.verticalCenter
+
+                    Text { 
+                        text: name
+                        font.pixelSize: 15
+                        color: "white"
+                    }
+                    Row {
+                        spacing: 5
+                        Repeater {
+                            model: attributes
+                            Text { text: description; color: "White" }
+                        }
+                    }
+                }
+            }
+
+            Row {
+                anchors.verticalCenter: parent.verticalCenter
+                anchors.right: parent.right
+                spacing: 10
+
+                PressAndHoldButton {
+                    anchors.verticalCenter: parent.verticalCenter
+                    source: "content/pics/plus-sign.png"
+                    onClicked: fruitModel.setProperty(index, "cost", cost + 0.25)
+                }
+
+                Text { 
+                    id: costText
+                    anchors.verticalCenter: parent.verticalCenter
+                    text: '$' + Number(cost).toFixed(2)
+                    font.pixelSize: 15
+                    color: "white"
+                    font.bold: true
+                }
+
+                PressAndHoldButton {
+                    anchors.verticalCenter: parent.verticalCenter
+                    source: "content/pics/minus-sign.png"
+                    onClicked: fruitModel.setProperty(index, "cost", Math.max(0,cost-0.25))
+                }
+
+                Image {
+                    source: "content/pics/list-delete.png"
+                    MouseArea { anchors.fill:parent; onClicked: fruitModel.remove(index) }
+                }
+            }
+
+            // Animate adding and removing of items:
+
+            ListView.onAdd: SequentialAnimation {
+                PropertyAction { target: delegateItem; property: "height"; value: 0 }
+                NumberAnimation { target: delegateItem; property: "height"; to: 55; duration: 250; easing.type: Easing.InOutQuad }
+            }
+
+            ListView.onRemove: SequentialAnimation {
+                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: true }
+                NumberAnimation { target: delegateItem; property: "height"; to: 0; duration: 250; easing.type: Easing.InOutQuad }
+
+                // Make sure delayRemove is set back to false so that the item can be destroyed
+                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: false }
+            }
+        }
+    }
+
+    // The view:
+    ListView {
+        id: listView
+        anchors.fill: parent; anchors.margins: 20
+        model: fruitModel
+        delegate: listDelegate
+    }
+
+    Row {
+        anchors { left: parent.left; bottom: parent.bottom; margins: 20 }
+        spacing: 10
+
+        TextButton { 
+            text: "Add an item"
+            onClicked: {
+                fruitModel.append({
+                    "name": "Pizza Margarita",
+                    "cost": 5.95,
+                    "attributes": [{"description": "Cheese"}, {"description": "Tomato"}]
+                })
+            }
+        }
+
+        TextButton { 
+            text: "Remove all items" 
+            onClicked: fruitModel.clear()
+        }
+    }
+}
+
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/expandingdelegates.qml b/examples/declarative/modelviews/listview/highlight/qml/highlight/expandingdelegates.qml
new file mode 100644
index 0000000..bd3d3a9
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlight/qml/highlight/expandingdelegates.qml
@@ -0,0 +1,202 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+// This example illustrates expanding a list item to show a more detailed view.
+
+Rectangle {
+    id: page
+    width: 400; height: 240
+    color: "black"
+
+    // Delegate for the recipes.  This delegate has two modes:
+    // 1. List mode (default), which just shows the picture and title of the recipe.
+    // 2. Details mode, which also shows the ingredients and method.
+    Component {
+        id: recipeDelegate
+
+        Item {
+            id: recipe
+
+            // Create a property to contain the visibility of the details.
+            // We can bind multiple element's opacity to this one property,
+            // rather than having a "PropertyChanges" line for each element we
+            // want to fade.
+            property real detailsOpacity : 0
+
+            width: listView.width
+            height: 70
+
+            // A simple rounded rectangle for the background
+            Rectangle {
+                id: background
+                x: 2; y: 2; width: parent.width - x*2; height: parent.height - y*2
+                color: "ivory"
+                border.color: "orange"
+                radius: 5
+            }
+
+            // This mouse region covers the entire delegate.
+            // When clicked it changes mode to 'Details'.  If we are already
+            // in Details mode, then no change will happen.
+            MouseArea {
+                anchors.fill: parent
+                onClicked: recipe.state = 'Details';
+            }
+
+            // Lay out the page: picture, title and ingredients at the top, and method at the
+            // bottom.  Note that elements that should not be visible in the list
+            // mode have their opacity set to recipe.detailsOpacity.
+            Row {
+                id: topLayout
+                x: 10; y: 10; height: recipeImage.height; width: parent.width
+                spacing: 10
+
+                Image {
+                    id: recipeImage
+                    width: 50; height: 50
+                    source: picture
+                }
+
+                Column {
+                    width: background.width - recipeImage.width - 20; height: recipeImage.height
+                    spacing: 5
+
+                    Text { 
+                        text: title
+                        font.bold: true; font.pointSize: 16
+                    }
+
+                    Text {
+                        text: "Ingredients"
+                        font.pointSize: 12; font.bold: true
+                        opacity: recipe.detailsOpacity
+                    }
+
+                    Text {
+                        text: ingredients
+                        wrapMode: Text.WordWrap
+                        width: parent.width
+                        opacity: recipe.detailsOpacity
+                    }
+                }
+            }
+
+            Item {
+                id: details
+                x: 10; width: parent.width - 20
+                anchors { top: topLayout.bottom; topMargin: 10; bottom: parent.bottom; bottomMargin: 10 }
+                opacity: recipe.detailsOpacity
+
+                Text {
+                    id: methodTitle
+                    anchors.top: parent.top
+                    text: "Method"
+                    font.pointSize: 12; font.bold: true
+                }
+
+                Flickable {
+                    id: flick
+                    width: parent.width
+                    anchors { top: methodTitle.bottom; bottom: parent.bottom }
+                    contentHeight: methodText.height
+                    clip: true
+
+                    Text { id: methodText; text: method; wrapMode: Text.WordWrap; width: details.width }
+                }
+
+                Image {
+                    anchors { right: flick.right; top: flick.top }
+                    source: "content/pics/moreUp.png"
+                    opacity: flick.atYBeginning ? 0 : 1
+                }
+
+                Image {
+                    anchors { right: flick.right; bottom: flick.bottom }
+                    source: "content/pics/moreDown.png"
+                    opacity: flick.atYEnd ? 0 : 1
+                }
+            }
+
+            // A button to close the detailed view, i.e. set the state back to default ('').
+            TextButton {
+                y: 10
+                anchors { right: background.right; rightMargin: 10 }
+                opacity: recipe.detailsOpacity
+                text: "Close"
+
+                onClicked: recipe.state = '';
+            }
+
+            states: State {
+                name: "Details"
+
+                PropertyChanges { target: background; color: "white" }
+                PropertyChanges { target: recipeImage; width: 130; height: 130 } // Make picture bigger
+                PropertyChanges { target: recipe; detailsOpacity: 1; x: 0 } // Make details visible
+                PropertyChanges { target: recipe; height: listView.height } // Fill the entire list area with the detailed view
+
+                // Move the list so that this item is at the top.
+                PropertyChanges { target: recipe.ListView.view; explicit: true; contentY: recipe.y }
+
+                // Disallow flicking while we're in detailed view
+                PropertyChanges { target: recipe.ListView.view; interactive: false }
+            }
+
+            transitions: Transition {
+                // Make the state changes smooth
+                ParallelAnimation {
+                    ColorAnimation { property: "color"; duration: 500 }
+                    NumberAnimation { duration: 300; properties: "detailsOpacity,x,contentY,height,width" }
+                }
+            }
+        }
+    }
+
+    // The actual list
+    ListView {
+        id: listView
+        anchors.fill: parent
+        model: RecipesModel {}
+        delegate: recipeDelegate
+    }
+}
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/highlight.qml b/examples/declarative/modelviews/listview/highlight/qml/highlight/highlight.qml
new file mode 100644
index 0000000..249c73b
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlight/qml/highlight/highlight.qml
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// This example shows how to create your own highlight delegate for a ListView
+// that uses a SpringAnimation to provide custom movement when the
+// highlight bar is moved between items.
+
+import QtQuick 1.0
+import "content"
+
+Rectangle {
+    width: 200; height: 300
+
+    // Define a delegate component.  A component will be
+    // instantiated for each visible item in the list.
+    Component {
+        id: petDelegate
+        Item {
+            id: wrapper
+            width: 200; height: 55
+            Column {
+                Text { text: 'Name: ' + name }
+                Text { text: 'Type: ' + type }
+                Text { text: 'Age: ' + age }
+            }
+            // indent the item if it is the current item
+            states: State {
+                name: "Current"
+                when: wrapper.ListView.isCurrentItem
+                PropertyChanges { target: wrapper; x: 20 }
+            }
+            transitions: Transition {
+                NumberAnimation { properties: "x"; duration: 200 } 
+            }
+        }
+    }
+
+    // Define a highlight with customised movement between items.
+    Component {
+        id: highlightBar
+        Rectangle {
+            width: 200; height: 50
+            color: "#FFFF88"
+            y: listView.currentItem.y;
+            Behavior on y { SpringAnimation { spring: 2; damping: 0.1 } }
+        }
+    }
+
+    ListView {
+        id: listView
+        width: 200; height: parent.height
+
+        model: PetsModel {}
+        delegate: petDelegate
+        focus: true
+
+        // Set the highlight delegate. Note we must also set highlightFollowsCurrentItem
+        // to false so the highlight delegate can control how the highlight is moved.
+        highlight: highlightBar
+        highlightFollowsCurrentItem: false
+    }
+}
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/highlightranges.qml b/examples/declarative/modelviews/listview/highlight/qml/highlight/highlightranges.qml
new file mode 100644
index 0000000..58d37a3
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlight/qml/highlight/highlightranges.qml
@@ -0,0 +1,122 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+Rectangle {
+    id: root
+    property int current: 0
+    width: 600; height: 300
+
+    // This example shows the same model in three different ListView items, 
+    // with different highlight ranges. The highlight ranges are set by the 
+    // preferredHighlightBegin and preferredHighlightEnd properties in ListView.
+    //
+    // The first ListView does not set a highlight range, so its currentItem
+    // can move freely within the visible area. If it moves outside the
+    // visible area, the view is automatically scrolled to keep the current
+    // item visible.
+    //
+    // The second ListView sets a highlight range which attempts to keep the
+    // current item within the the bounds of the range. However,
+    // items will not scroll beyond the beginning or end of the view,
+    // forcing the highlight to move outside the range at the ends.
+    //
+    // The third ListView sets the highlightRangeMode to StrictlyEnforceRange
+    // and sets a range smaller than the height of an item.  This
+    // forces the current item to change when the view is flicked,
+    // since the highlight is unable to move.
+    //
+    // All ListViews bind their currentIndex to the root.current property.
+    // The first ListView sets root.current whenever its currentIndex changes
+    // due to keyboard interaction.
+    // Flicking the third ListView with the mouse also changes root.current.
+
+    ListView {
+        id: list1
+        width: 200; height: parent.height
+        model: PetsModel {}
+        delegate: petDelegate
+
+        highlight: Rectangle { color: "lightsteelblue" }
+        currentIndex: root.current
+        onCurrentIndexChanged: root.current = currentIndex
+        focus: true
+    }
+
+    ListView {
+        id: list2
+        x: list1.width
+        width: 200; height: parent.height
+        model: PetsModel {}
+        delegate: petDelegate
+
+        highlight: Rectangle { color: "yellow" }
+        currentIndex: root.current
+        preferredHighlightBegin: 80; preferredHighlightEnd: 220
+        highlightRangeMode: ListView.ApplyRange
+    }
+
+    ListView {
+        id: list3
+        x: list1.width + list2.width
+        width: 200; height: parent.height
+        model: PetsModel {}
+        delegate: petDelegate
+
+        highlight: Rectangle { color: "yellow" }
+        currentIndex: root.current
+        onCurrentIndexChanged: root.current = currentIndex
+        preferredHighlightBegin: 125; preferredHighlightEnd: 125
+        highlightRangeMode: ListView.StrictlyEnforceRange
+    }
+
+    // The delegate for each list
+    Component {
+        id: petDelegate
+        Column {
+            width: 200
+            Text { text: 'Name: ' + name }
+            Text { text: 'Type: ' + type }
+            Text { text: 'Age: ' + age }
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlight/sections.qml b/examples/declarative/modelviews/listview/highlight/qml/highlight/sections.qml
new file mode 100644
index 0000000..3248899
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlight/qml/highlight/sections.qml
@@ -0,0 +1,87 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// This example shows how a ListView can be separated into sections using
+// the ListView.section attached property.
+
+import QtQuick 1.0
+
+//! [0]
+Rectangle {
+    id: container
+    width: 200
+    height: 250
+
+    ListModel {
+        id: animalsModel
+        ListElement { name: "Parrot"; size: "Small" }
+        ListElement { name: "Guinea pig"; size: "Small" }
+        ListElement { name: "Dog"; size: "Medium" }
+        ListElement { name: "Cat"; size: "Medium" }
+        ListElement { name: "Elephant"; size: "Large" }
+    }
+
+    // The delegate for each section header
+    Component { 
+        id: sectionHeading
+        Rectangle {
+            width: container.width
+            height: childrenRect.height
+            color: "lightsteelblue"
+
+            Text {
+                text: section
+                font.bold: true
+            }
+        }
+    }
+
+    ListView {
+        anchors.fill: parent
+        model: animalsModel
+        delegate: Text { text: name }
+
+        section.property: "size"
+        section.criteria: ViewSection.FullString
+        section.delegate: sectionHeading
+    }
+}
+//! [0]
+
diff --git a/examples/declarative/modelviews/listview/highlight/qml/highlightranges.qml b/examples/declarative/modelviews/listview/highlight/qml/highlightranges.qml
deleted file mode 100644
index 58d37a3..0000000
--- a/examples/declarative/modelviews/listview/highlight/qml/highlightranges.qml
+++ /dev/null
@@ -1,122 +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
-import "content"
-
-Rectangle {
-    id: root
-    property int current: 0
-    width: 600; height: 300
-
-    // This example shows the same model in three different ListView items, 
-    // with different highlight ranges. The highlight ranges are set by the 
-    // preferredHighlightBegin and preferredHighlightEnd properties in ListView.
-    //
-    // The first ListView does not set a highlight range, so its currentItem
-    // can move freely within the visible area. If it moves outside the
-    // visible area, the view is automatically scrolled to keep the current
-    // item visible.
-    //
-    // The second ListView sets a highlight range which attempts to keep the
-    // current item within the the bounds of the range. However,
-    // items will not scroll beyond the beginning or end of the view,
-    // forcing the highlight to move outside the range at the ends.
-    //
-    // The third ListView sets the highlightRangeMode to StrictlyEnforceRange
-    // and sets a range smaller than the height of an item.  This
-    // forces the current item to change when the view is flicked,
-    // since the highlight is unable to move.
-    //
-    // All ListViews bind their currentIndex to the root.current property.
-    // The first ListView sets root.current whenever its currentIndex changes
-    // due to keyboard interaction.
-    // Flicking the third ListView with the mouse also changes root.current.
-
-    ListView {
-        id: list1
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "lightsteelblue" }
-        currentIndex: root.current
-        onCurrentIndexChanged: root.current = currentIndex
-        focus: true
-    }
-
-    ListView {
-        id: list2
-        x: list1.width
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "yellow" }
-        currentIndex: root.current
-        preferredHighlightBegin: 80; preferredHighlightEnd: 220
-        highlightRangeMode: ListView.ApplyRange
-    }
-
-    ListView {
-        id: list3
-        x: list1.width + list2.width
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "yellow" }
-        currentIndex: root.current
-        onCurrentIndexChanged: root.current = currentIndex
-        preferredHighlightBegin: 125; preferredHighlightEnd: 125
-        highlightRangeMode: ListView.StrictlyEnforceRange
-    }
-
-    // The delegate for each list
-    Component {
-        id: petDelegate
-        Column {
-            width: 200
-            Text { text: 'Name: ' + name }
-            Text { text: 'Type: ' + type }
-            Text { text: 'Age: ' + age }
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/listview/highlight/qml/listview.qmlproject b/examples/declarative/modelviews/listview/highlight/qml/listview.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/modelviews/listview/highlight/qml/listview.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/modelviews/listview/highlight/qml/sections.qml b/examples/declarative/modelviews/listview/highlight/qml/sections.qml
deleted file mode 100644
index 3248899..0000000
--- a/examples/declarative/modelviews/listview/highlight/qml/sections.qml
+++ /dev/null
@@ -1,87 +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$
-**
-****************************************************************************/
-
-// This example shows how a ListView can be separated into sections using
-// the ListView.section attached property.
-
-import QtQuick 1.0
-
-//! [0]
-Rectangle {
-    id: container
-    width: 200
-    height: 250
-
-    ListModel {
-        id: animalsModel
-        ListElement { name: "Parrot"; size: "Small" }
-        ListElement { name: "Guinea pig"; size: "Small" }
-        ListElement { name: "Dog"; size: "Medium" }
-        ListElement { name: "Cat"; size: "Medium" }
-        ListElement { name: "Elephant"; size: "Large" }
-    }
-
-    // The delegate for each section header
-    Component { 
-        id: sectionHeading
-        Rectangle {
-            width: container.width
-            height: childrenRect.height
-            color: "lightsteelblue"
-
-            Text {
-                text: section
-                font.bold: true
-            }
-        }
-    }
-
-    ListView {
-        anchors.fill: parent
-        model: animalsModel
-        delegate: Text { text: name }
-
-        section.property: "size"
-        section.criteria: ViewSection.FullString
-        section.delegate: sectionHeading
-    }
-}
-//! [0]
-
diff --git a/examples/declarative/modelviews/listview/highlight/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/modelviews/listview/highlight/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/modelviews/listview/highlight/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/modelviews/listview/highlight/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/modelviews/listview/highlight/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/modelviews/listview/highlight/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/modelviews/listview/highlight/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/modelviews/listview/highlight/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/modelviews/listview/highlight/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/modelviews/listview/highlightranges.qml b/examples/declarative/modelviews/listview/highlightranges.qml
deleted file mode 100644
index cad40e7..0000000
--- a/examples/declarative/modelviews/listview/highlightranges.qml
+++ /dev/null
@@ -1,122 +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
-import "content"
-
-Rectangle {
-    id: root
-    property int current: 0
-    width: 600; height: 300
-
-    // This example shows the same model in three different ListView items, 
-    // with different highlight ranges. The highlight ranges are set by the 
-    // preferredHighlightBegin and preferredHighlightEnd properties in ListView.
-    //
-    // The first ListView does not set a highlight range, so its currentItem
-    // can move freely within the visible area. If it moves outside the
-    // visible area, the view is automatically scrolled to keep the current
-    // item visible.
-    //
-    // The second ListView sets a highlight range which attempts to keep the
-    // current item within the the bounds of the range. However,
-    // items will not scroll beyond the beginning or end of the view,
-    // forcing the highlight to move outside the range at the ends.
-    //
-    // The third ListView sets the highlightRangeMode to StrictlyEnforceRange
-    // and sets a range smaller than the height of an item.  This
-    // forces the current item to change when the view is flicked,
-    // since the highlight is unable to move.
-    //
-    // All ListViews bind their currentIndex to the root.current property.
-    // The first ListView sets root.current whenever its currentIndex changes
-    // due to keyboard interaction.
-    // Flicking the third ListView with the mouse also changes root.current.
-
-    ListView {
-        id: list1
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "lightsteelblue" }
-        currentIndex: root.current
-        onCurrentIndexChanged: root.current = currentIndex
-        focus: true
-    }
-
-    ListView {
-        id: list2
-        x: list1.width
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "yellow" }
-        currentIndex: root.current
-        preferredHighlightBegin: 80; preferredHighlightEnd: 220
-        highlightRangeMode: ListView.ApplyRange
-    }
-
-    ListView {
-        id: list3
-        x: list1.width + list2.width
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "yellow" }
-        currentIndex: root.current
-        onCurrentIndexChanged: root.current = currentIndex
-        preferredHighlightBegin: 125; preferredHighlightEnd: 125
-        highlightRangeMode: ListView.StrictlyEnforceRange
-    }
-
-    // The delegate for each list
-    Component {
-        id: petDelegate
-        Column {
-            width: 200
-            Text { text: 'Name: ' + name }
-            Text { text: 'Type: ' + type }
-            Text { text: 'Age: ' + age }
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/listview/highlightranges/highlightranges.pro b/examples/declarative/modelviews/listview/highlightranges/highlightranges.pro
index 4dd178f..f86e6c7 100644
--- a/examples/declarative/modelviews/listview/highlightranges/highlightranges.pro
+++ b/examples/declarative/modelviews/listview/highlightranges/highlightranges.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/highlightranges
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE7A0AE23
 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/modelviews/listview/highlightranges/highlightranges.qmlproject b/examples/declarative/modelviews/listview/highlightranges/highlightranges.qmlproject
new file mode 100644
index 0000000..2688410
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlightranges/highlightranges.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/highlightranges"
+    }
+    JavaScriptFiles {
+        directory: "qml/highlightranges"
+    }
+    ImageFiles {
+        directory: "qml/highlightranges"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/modelviews/listview/highlightranges/main.cpp b/examples/declarative/modelviews/listview/highlightranges/main.cpp
index fad8f0c..81810db 100644
--- a/examples/declarative/modelviews/listview/highlightranges/main.cpp
+++ b/examples/declarative/modelviews/listview/highlightranges/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/highlightranges.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/highlightranges/highlightranges.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/content/PetsModel.qml b/examples/declarative/modelviews/listview/highlightranges/qml/content/PetsModel.qml
deleted file mode 100644
index 5220763..0000000
--- a/examples/declarative/modelviews/listview/highlightranges/qml/content/PetsModel.qml
+++ /dev/null
@@ -1,98 +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
-
-ListModel {
-    ListElement {
-        name: "Polly"
-        type: "Parrot"
-        age: 12
-        size: "Small"
-    }
-    ListElement {
-        name: "Penny"
-        type: "Turtle"
-        age: 4
-        size: "Small"
-    }
-    ListElement {
-        name: "Warren"
-        type: "Rabbit"
-        age: 2
-        size: "Small"
-    }
-    ListElement {
-        name: "Spot"
-        type: "Dog"
-        age: 9
-        size: "Medium"
-    }
-    ListElement {
-        name: "Schrödinger"
-        type: "Cat"
-        age: 2
-        size: "Medium"
-    }
-    ListElement {
-        name: "Joey"
-        type: "Kangaroo"
-        age: 1
-        size: "Medium"
-    }
-    ListElement {
-        name: "Kimba"
-        type: "Bunny"
-        age: 65
-        size: "Large"
-    }
-    ListElement {
-        name: "Rover"
-        type: "Dog"
-        age: 5
-        size: "Large"
-    }
-    ListElement {
-        name: "Tiny"
-        type: "Elephant"
-        age: 15
-        size: "Large"
-    }
-}
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/content/PressAndHoldButton.qml b/examples/declarative/modelviews/listview/highlightranges/qml/content/PressAndHoldButton.qml
deleted file mode 100644
index d6808a4..0000000
--- a/examples/declarative/modelviews/listview/highlightranges/qml/content/PressAndHoldButton.qml
+++ /dev/null
@@ -1,82 +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
-
-Image {
-    id: container
-
-    property int repeatDelay: 300
-    property int repeatDuration: 75
-    property bool pressed: false
-
-    signal clicked
-
-    scale: pressed ? 0.9 : 1
-
-    function release() {
-        autoRepeatClicks.stop()
-        container.pressed = false
-    }
-
-    SequentialAnimation on pressed {
-        id: autoRepeatClicks
-        running: false
-
-        PropertyAction { target: container; property: "pressed"; value: true }
-        ScriptAction { script: container.clicked() }
-        PauseAnimation { duration: repeatDelay }
-
-        SequentialAnimation {
-            loops: Animation.Infinite
-            ScriptAction { script: container.clicked() }
-            PauseAnimation { duration: repeatDuration }
-        }
-    }
-
-    MouseArea {
-        anchors.fill: parent
-
-        onPressed: autoRepeatClicks.start()
-        onReleased: container.release()
-        onCanceled: container.release()
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/content/RecipesModel.qml b/examples/declarative/modelviews/listview/highlightranges/qml/content/RecipesModel.qml
deleted file mode 100644
index 6056b90..0000000
--- a/examples/declarative/modelviews/listview/highlightranges/qml/content/RecipesModel.qml
+++ /dev/null
@@ -1,129 +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
-
-ListModel {
-    ListElement {
-        title: "Pancakes"
-        picture: "content/pics/pancakes.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 cup (150g) self-raising flour 
-                        <li> 1 tbs caster sugar 
-                        <li> 3/4 cup (185ml) milk 
-                        <li> 1 egg 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Sift flour and sugar together into a bowl. Add a pinch of salt. 
-                   <li> Beat milk and egg together, then add to dry ingredients. Beat until smooth. 
-                   <li> Pour mixture into a pan on medium heat and cook until bubbles appear on the surface. 
-                   <li> Turn over and cook other side until golden.  
-                  </ol>
-                 </html>"
-    }
-    ListElement {
-        title: "Fruit Salad"
-        picture: "content/pics/fruit-salad.jpg"
-        ingredients: "* Seasonal Fruit"
-        method: "* Chop fruit and place in a bowl."
-    }
-    ListElement {
-        title: "Vegetable Soup"
-        picture: "content/pics/vegetable-soup.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 onion 
-                        <li> 1 turnip 
-                        <li> 1 potato 
-                        <li> 1 carrot 
-                        <li> 1 head of celery 
-                        <li> 1 1/2 litres of water 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Chop vegetables. 
-                   <li> Boil in water until vegetables soften. 
-                   <li> Season with salt and pepper to taste. 
-                  </ol> 
-                 </html>"
-    }
-    ListElement {
-        title: "Hamburger"
-        picture: "content/pics/hamburger.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 500g minced beef 
-                        <li> Seasoning 
-                        <li> lettuce, tomato, onion, cheese 
-                        <li> 1 hamburger bun for each burger 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Mix the beef, together with seasoning, in a food processor. 
-                   <li> Shape the beef into burgers. 
-                   <li> Grill the burgers for about 5 mins on each side (until cooked through) 
-                   <li> Serve each burger on a bun with ketchup, cheese, lettuce, tomato and onion. 
-                  </ol> 
-                 </html>"
-    }
-    ListElement {
-        title: "Lemonade"
-        picture: "content/pics/lemonade.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 cup Lemon Juice 
-                        <li> 1 cup Sugar 
-                        <li> 6 Cups of Water (2 cups warm water, 4 cups cold water) 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Pour 2 cups of warm water into a pitcher and stir in sugar until it dissolves. 
-                   <li> Pour in lemon juice, stir again, and add 4 cups of cold water. 
-                   <li> Chill or serve over ice cubes. 
-                  </ol> 
-                 </html>"
-    }
-}
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/content/TextButton.qml b/examples/declarative/modelviews/listview/highlightranges/qml/content/TextButton.qml
deleted file mode 100644
index f26d775..0000000
--- a/examples/declarative/modelviews/listview/highlightranges/qml/content/TextButton.qml
+++ /dev/null
@@ -1,78 +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: container
-
-    property alias text: label.text
-
-    signal clicked
-
-    width: label.width + 20; height: label.height + 6
-    smooth: true
-    radius: 10
-
-    gradient: Gradient {
-        GradientStop { id: gradientStop; position: 0.0; color: palette.light }
-        GradientStop { position: 1.0; color: palette.button }
-    }
-
-    SystemPalette { id: palette }
-
-    MouseArea {
-        id: mouseArea
-        anchors.fill: parent
-        onClicked: { container.clicked() }
-    }
-
-    Text {
-        id: label
-        anchors.centerIn: parent
-    }
-
-    states: State {
-        name: "pressed"
-        when: mouseArea.pressed
-        PropertyChanges { target: gradientStop; color: palette.dark }
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/arrow-down.png b/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/arrow-down.png
deleted file mode 100644
index 29d1d44..0000000
Binary files a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/arrow-down.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/arrow-up.png b/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/arrow-up.png
deleted file mode 100644
index e437312..0000000
Binary files a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/arrow-up.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/fruit-salad.jpg b/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/fruit-salad.jpg
deleted file mode 100644
index da5a6b1..0000000
Binary files a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/fruit-salad.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/hamburger.jpg b/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/hamburger.jpg
deleted file mode 100644
index d0a15be..0000000
Binary files a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/hamburger.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/lemonade.jpg b/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/lemonade.jpg
deleted file mode 100644
index db445c9..0000000
Binary files a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/lemonade.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/list-delete.png b/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/list-delete.png
deleted file mode 100644
index df2a147..0000000
Binary files a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/list-delete.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/minus-sign.png b/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/minus-sign.png
deleted file mode 100644
index d6f233d..0000000
Binary files a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/minus-sign.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/moreDown.png b/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/moreDown.png
deleted file mode 100644
index 31a35d5..0000000
Binary files a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/moreDown.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/moreUp.png b/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/moreUp.png
deleted file mode 100644
index fefb9c9..0000000
Binary files a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/moreUp.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/pancakes.jpg b/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/pancakes.jpg
deleted file mode 100644
index 60c4396..0000000
Binary files a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/pancakes.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/plus-sign.png b/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/plus-sign.png
deleted file mode 100644
index 40df113..0000000
Binary files a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/plus-sign.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/vegetable-soup.jpg b/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/vegetable-soup.jpg
deleted file mode 100644
index 9dce332..0000000
Binary files a/examples/declarative/modelviews/listview/highlightranges/qml/content/pics/vegetable-soup.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/dynamiclist.qml b/examples/declarative/modelviews/listview/highlightranges/qml/dynamiclist.qml
deleted file mode 100644
index f25f0fa..0000000
--- a/examples/declarative/modelviews/listview/highlightranges/qml/dynamiclist.qml
+++ /dev/null
@@ -1,203 +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
-import "content"
-
-// This example shows how items can be dynamically added to and removed from
-// a ListModel, and how these list modifications can be animated.
-
-Rectangle {
-    id: container
-    width: 500; height: 400
-    color: "#343434"
-
-    // The model:
-    ListModel {
-        id: fruitModel
-
-        ListElement {
-            name: "Apple"; cost: 2.45
-            attributes: [
-                ListElement { description: "Core" },
-                ListElement { description: "Deciduous" }
-            ]
-        }
-        ListElement {
-            name: "Banana"; cost: 1.95
-            attributes: [
-                ListElement { description: "Tropical" },
-                ListElement { description: "Seedless" }
-            ]
-        }
-        ListElement {
-            name: "Cumquat"; cost: 3.25
-            attributes: [
-                ListElement { description: "Citrus" }
-            ]
-        }
-        ListElement {
-            name: "Durian"; cost: 9.95
-            attributes: [
-                ListElement { description: "Tropical" },
-                ListElement { description: "Smelly" }
-            ]
-        }
-    }
-
-    // The delegate for each fruit in the model:
-    Component {
-        id: listDelegate
-        
-        Item {
-            id: delegateItem
-            width: listView.width; height: 55
-            clip: true
-
-            Row {
-                anchors.verticalCenter: parent.verticalCenter
-                spacing: 10
-
-                Column {
-                    Image {
-                        source: "content/pics/arrow-up.png"
-                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index-1, 1) }
-                    }
-                    Image { source: "content/pics/arrow-down.png"
-                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index+1, 1) }
-                    }
-                }
-
-                Column {
-                    anchors.verticalCenter: parent.verticalCenter
-
-                    Text { 
-                        text: name
-                        font.pixelSize: 15
-                        color: "white"
-                    }
-                    Row {
-                        spacing: 5
-                        Repeater {
-                            model: attributes
-                            Text { text: description; color: "White" }
-                        }
-                    }
-                }
-            }
-
-            Row {
-                anchors.verticalCenter: parent.verticalCenter
-                anchors.right: parent.right
-                spacing: 10
-
-                PressAndHoldButton {
-                    anchors.verticalCenter: parent.verticalCenter
-                    source: "content/pics/plus-sign.png"
-                    onClicked: fruitModel.setProperty(index, "cost", cost + 0.25)
-                }
-
-                Text { 
-                    id: costText
-                    anchors.verticalCenter: parent.verticalCenter
-                    text: '$' + Number(cost).toFixed(2)
-                    font.pixelSize: 15
-                    color: "white"
-                    font.bold: true
-                }
-
-                PressAndHoldButton {
-                    anchors.verticalCenter: parent.verticalCenter
-                    source: "content/pics/minus-sign.png"
-                    onClicked: fruitModel.setProperty(index, "cost", Math.max(0,cost-0.25))
-                }
-
-                Image {
-                    source: "content/pics/list-delete.png"
-                    MouseArea { anchors.fill:parent; onClicked: fruitModel.remove(index) }
-                }
-            }
-
-            // Animate adding and removing of items:
-
-            ListView.onAdd: SequentialAnimation {
-                PropertyAction { target: delegateItem; property: "height"; value: 0 }
-                NumberAnimation { target: delegateItem; property: "height"; to: 55; duration: 250; easing.type: Easing.InOutQuad }
-            }
-
-            ListView.onRemove: SequentialAnimation {
-                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: true }
-                NumberAnimation { target: delegateItem; property: "height"; to: 0; duration: 250; easing.type: Easing.InOutQuad }
-
-                // Make sure delayRemove is set back to false so that the item can be destroyed
-                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: false }
-            }
-        }
-    }
-
-    // The view:
-    ListView {
-        id: listView
-        anchors.fill: parent; anchors.margins: 20
-        model: fruitModel
-        delegate: listDelegate
-    }
-
-    Row {
-        anchors { left: parent.left; bottom: parent.bottom; margins: 20 }
-        spacing: 10
-
-        TextButton { 
-            text: "Add an item"
-            onClicked: {
-                fruitModel.append({
-                    "name": "Pizza Margarita",
-                    "cost": 5.95,
-                    "attributes": [{"description": "Cheese"}, {"description": "Tomato"}]
-                })
-            }
-        }
-
-        TextButton { 
-            text: "Remove all items" 
-            onClicked: fruitModel.clear()
-        }
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/expandingdelegates.qml b/examples/declarative/modelviews/listview/highlightranges/qml/expandingdelegates.qml
deleted file mode 100644
index bd3d3a9..0000000
--- a/examples/declarative/modelviews/listview/highlightranges/qml/expandingdelegates.qml
+++ /dev/null
@@ -1,202 +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
-import "content"
-
-// This example illustrates expanding a list item to show a more detailed view.
-
-Rectangle {
-    id: page
-    width: 400; height: 240
-    color: "black"
-
-    // Delegate for the recipes.  This delegate has two modes:
-    // 1. List mode (default), which just shows the picture and title of the recipe.
-    // 2. Details mode, which also shows the ingredients and method.
-    Component {
-        id: recipeDelegate
-
-        Item {
-            id: recipe
-
-            // Create a property to contain the visibility of the details.
-            // We can bind multiple element's opacity to this one property,
-            // rather than having a "PropertyChanges" line for each element we
-            // want to fade.
-            property real detailsOpacity : 0
-
-            width: listView.width
-            height: 70
-
-            // A simple rounded rectangle for the background
-            Rectangle {
-                id: background
-                x: 2; y: 2; width: parent.width - x*2; height: parent.height - y*2
-                color: "ivory"
-                border.color: "orange"
-                radius: 5
-            }
-
-            // This mouse region covers the entire delegate.
-            // When clicked it changes mode to 'Details'.  If we are already
-            // in Details mode, then no change will happen.
-            MouseArea {
-                anchors.fill: parent
-                onClicked: recipe.state = 'Details';
-            }
-
-            // Lay out the page: picture, title and ingredients at the top, and method at the
-            // bottom.  Note that elements that should not be visible in the list
-            // mode have their opacity set to recipe.detailsOpacity.
-            Row {
-                id: topLayout
-                x: 10; y: 10; height: recipeImage.height; width: parent.width
-                spacing: 10
-
-                Image {
-                    id: recipeImage
-                    width: 50; height: 50
-                    source: picture
-                }
-
-                Column {
-                    width: background.width - recipeImage.width - 20; height: recipeImage.height
-                    spacing: 5
-
-                    Text { 
-                        text: title
-                        font.bold: true; font.pointSize: 16
-                    }
-
-                    Text {
-                        text: "Ingredients"
-                        font.pointSize: 12; font.bold: true
-                        opacity: recipe.detailsOpacity
-                    }
-
-                    Text {
-                        text: ingredients
-                        wrapMode: Text.WordWrap
-                        width: parent.width
-                        opacity: recipe.detailsOpacity
-                    }
-                }
-            }
-
-            Item {
-                id: details
-                x: 10; width: parent.width - 20
-                anchors { top: topLayout.bottom; topMargin: 10; bottom: parent.bottom; bottomMargin: 10 }
-                opacity: recipe.detailsOpacity
-
-                Text {
-                    id: methodTitle
-                    anchors.top: parent.top
-                    text: "Method"
-                    font.pointSize: 12; font.bold: true
-                }
-
-                Flickable {
-                    id: flick
-                    width: parent.width
-                    anchors { top: methodTitle.bottom; bottom: parent.bottom }
-                    contentHeight: methodText.height
-                    clip: true
-
-                    Text { id: methodText; text: method; wrapMode: Text.WordWrap; width: details.width }
-                }
-
-                Image {
-                    anchors { right: flick.right; top: flick.top }
-                    source: "content/pics/moreUp.png"
-                    opacity: flick.atYBeginning ? 0 : 1
-                }
-
-                Image {
-                    anchors { right: flick.right; bottom: flick.bottom }
-                    source: "content/pics/moreDown.png"
-                    opacity: flick.atYEnd ? 0 : 1
-                }
-            }
-
-            // A button to close the detailed view, i.e. set the state back to default ('').
-            TextButton {
-                y: 10
-                anchors { right: background.right; rightMargin: 10 }
-                opacity: recipe.detailsOpacity
-                text: "Close"
-
-                onClicked: recipe.state = '';
-            }
-
-            states: State {
-                name: "Details"
-
-                PropertyChanges { target: background; color: "white" }
-                PropertyChanges { target: recipeImage; width: 130; height: 130 } // Make picture bigger
-                PropertyChanges { target: recipe; detailsOpacity: 1; x: 0 } // Make details visible
-                PropertyChanges { target: recipe; height: listView.height } // Fill the entire list area with the detailed view
-
-                // Move the list so that this item is at the top.
-                PropertyChanges { target: recipe.ListView.view; explicit: true; contentY: recipe.y }
-
-                // Disallow flicking while we're in detailed view
-                PropertyChanges { target: recipe.ListView.view; interactive: false }
-            }
-
-            transitions: Transition {
-                // Make the state changes smooth
-                ParallelAnimation {
-                    ColorAnimation { property: "color"; duration: 500 }
-                    NumberAnimation { duration: 300; properties: "detailsOpacity,x,contentY,height,width" }
-                }
-            }
-        }
-    }
-
-    // The actual list
-    ListView {
-        id: listView
-        anchors.fill: parent
-        model: RecipesModel {}
-        delegate: recipeDelegate
-    }
-}
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlight.qml b/examples/declarative/modelviews/listview/highlightranges/qml/highlight.qml
deleted file mode 100644
index 249c73b..0000000
--- a/examples/declarative/modelviews/listview/highlightranges/qml/highlight.qml
+++ /dev/null
@@ -1,99 +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$
-**
-****************************************************************************/
-
-// This example shows how to create your own highlight delegate for a ListView
-// that uses a SpringAnimation to provide custom movement when the
-// highlight bar is moved between items.
-
-import QtQuick 1.0
-import "content"
-
-Rectangle {
-    width: 200; height: 300
-
-    // Define a delegate component.  A component will be
-    // instantiated for each visible item in the list.
-    Component {
-        id: petDelegate
-        Item {
-            id: wrapper
-            width: 200; height: 55
-            Column {
-                Text { text: 'Name: ' + name }
-                Text { text: 'Type: ' + type }
-                Text { text: 'Age: ' + age }
-            }
-            // indent the item if it is the current item
-            states: State {
-                name: "Current"
-                when: wrapper.ListView.isCurrentItem
-                PropertyChanges { target: wrapper; x: 20 }
-            }
-            transitions: Transition {
-                NumberAnimation { properties: "x"; duration: 200 } 
-            }
-        }
-    }
-
-    // Define a highlight with customised movement between items.
-    Component {
-        id: highlightBar
-        Rectangle {
-            width: 200; height: 50
-            color: "#FFFF88"
-            y: listView.currentItem.y;
-            Behavior on y { SpringAnimation { spring: 2; damping: 0.1 } }
-        }
-    }
-
-    ListView {
-        id: listView
-        width: 200; height: parent.height
-
-        model: PetsModel {}
-        delegate: petDelegate
-        focus: true
-
-        // Set the highlight delegate. Note we must also set highlightFollowsCurrentItem
-        // to false so the highlight delegate can control how the highlight is moved.
-        highlight: highlightBar
-        highlightFollowsCurrentItem: false
-    }
-}
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges.qml b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges.qml
deleted file mode 100644
index 58d37a3..0000000
--- a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges.qml
+++ /dev/null
@@ -1,122 +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
-import "content"
-
-Rectangle {
-    id: root
-    property int current: 0
-    width: 600; height: 300
-
-    // This example shows the same model in three different ListView items, 
-    // with different highlight ranges. The highlight ranges are set by the 
-    // preferredHighlightBegin and preferredHighlightEnd properties in ListView.
-    //
-    // The first ListView does not set a highlight range, so its currentItem
-    // can move freely within the visible area. If it moves outside the
-    // visible area, the view is automatically scrolled to keep the current
-    // item visible.
-    //
-    // The second ListView sets a highlight range which attempts to keep the
-    // current item within the the bounds of the range. However,
-    // items will not scroll beyond the beginning or end of the view,
-    // forcing the highlight to move outside the range at the ends.
-    //
-    // The third ListView sets the highlightRangeMode to StrictlyEnforceRange
-    // and sets a range smaller than the height of an item.  This
-    // forces the current item to change when the view is flicked,
-    // since the highlight is unable to move.
-    //
-    // All ListViews bind their currentIndex to the root.current property.
-    // The first ListView sets root.current whenever its currentIndex changes
-    // due to keyboard interaction.
-    // Flicking the third ListView with the mouse also changes root.current.
-
-    ListView {
-        id: list1
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "lightsteelblue" }
-        currentIndex: root.current
-        onCurrentIndexChanged: root.current = currentIndex
-        focus: true
-    }
-
-    ListView {
-        id: list2
-        x: list1.width
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "yellow" }
-        currentIndex: root.current
-        preferredHighlightBegin: 80; preferredHighlightEnd: 220
-        highlightRangeMode: ListView.ApplyRange
-    }
-
-    ListView {
-        id: list3
-        x: list1.width + list2.width
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "yellow" }
-        currentIndex: root.current
-        onCurrentIndexChanged: root.current = currentIndex
-        preferredHighlightBegin: 125; preferredHighlightEnd: 125
-        highlightRangeMode: ListView.StrictlyEnforceRange
-    }
-
-    // The delegate for each list
-    Component {
-        id: petDelegate
-        Column {
-            width: 200
-            Text { text: 'Name: ' + name }
-            Text { text: 'Type: ' + type }
-            Text { text: 'Age: ' + age }
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/PetsModel.qml b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/PetsModel.qml
new file mode 100644
index 0000000..5220763
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/PetsModel.qml
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** 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
+
+ListModel {
+    ListElement {
+        name: "Polly"
+        type: "Parrot"
+        age: 12
+        size: "Small"
+    }
+    ListElement {
+        name: "Penny"
+        type: "Turtle"
+        age: 4
+        size: "Small"
+    }
+    ListElement {
+        name: "Warren"
+        type: "Rabbit"
+        age: 2
+        size: "Small"
+    }
+    ListElement {
+        name: "Spot"
+        type: "Dog"
+        age: 9
+        size: "Medium"
+    }
+    ListElement {
+        name: "Schrödinger"
+        type: "Cat"
+        age: 2
+        size: "Medium"
+    }
+    ListElement {
+        name: "Joey"
+        type: "Kangaroo"
+        age: 1
+        size: "Medium"
+    }
+    ListElement {
+        name: "Kimba"
+        type: "Bunny"
+        age: 65
+        size: "Large"
+    }
+    ListElement {
+        name: "Rover"
+        type: "Dog"
+        age: 5
+        size: "Large"
+    }
+    ListElement {
+        name: "Tiny"
+        type: "Elephant"
+        age: 15
+        size: "Large"
+    }
+}
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/PressAndHoldButton.qml b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/PressAndHoldButton.qml
new file mode 100644
index 0000000..d6808a4
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/PressAndHoldButton.qml
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** 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
+
+Image {
+    id: container
+
+    property int repeatDelay: 300
+    property int repeatDuration: 75
+    property bool pressed: false
+
+    signal clicked
+
+    scale: pressed ? 0.9 : 1
+
+    function release() {
+        autoRepeatClicks.stop()
+        container.pressed = false
+    }
+
+    SequentialAnimation on pressed {
+        id: autoRepeatClicks
+        running: false
+
+        PropertyAction { target: container; property: "pressed"; value: true }
+        ScriptAction { script: container.clicked() }
+        PauseAnimation { duration: repeatDelay }
+
+        SequentialAnimation {
+            loops: Animation.Infinite
+            ScriptAction { script: container.clicked() }
+            PauseAnimation { duration: repeatDuration }
+        }
+    }
+
+    MouseArea {
+        anchors.fill: parent
+
+        onPressed: autoRepeatClicks.start()
+        onReleased: container.release()
+        onCanceled: container.release()
+    }
+}
+
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/RecipesModel.qml b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/RecipesModel.qml
new file mode 100644
index 0000000..6056b90
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/RecipesModel.qml
@@ -0,0 +1,129 @@
+/****************************************************************************
+**
+** 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
+
+ListModel {
+    ListElement {
+        title: "Pancakes"
+        picture: "content/pics/pancakes.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 1 cup (150g) self-raising flour 
+                        <li> 1 tbs caster sugar 
+                        <li> 3/4 cup (185ml) milk 
+                        <li> 1 egg 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Sift flour and sugar together into a bowl. Add a pinch of salt. 
+                   <li> Beat milk and egg together, then add to dry ingredients. Beat until smooth. 
+                   <li> Pour mixture into a pan on medium heat and cook until bubbles appear on the surface. 
+                   <li> Turn over and cook other side until golden.  
+                  </ol>
+                 </html>"
+    }
+    ListElement {
+        title: "Fruit Salad"
+        picture: "content/pics/fruit-salad.jpg"
+        ingredients: "* Seasonal Fruit"
+        method: "* Chop fruit and place in a bowl."
+    }
+    ListElement {
+        title: "Vegetable Soup"
+        picture: "content/pics/vegetable-soup.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 1 onion 
+                        <li> 1 turnip 
+                        <li> 1 potato 
+                        <li> 1 carrot 
+                        <li> 1 head of celery 
+                        <li> 1 1/2 litres of water 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Chop vegetables. 
+                   <li> Boil in water until vegetables soften. 
+                   <li> Season with salt and pepper to taste. 
+                  </ol> 
+                 </html>"
+    }
+    ListElement {
+        title: "Hamburger"
+        picture: "content/pics/hamburger.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 500g minced beef 
+                        <li> Seasoning 
+                        <li> lettuce, tomato, onion, cheese 
+                        <li> 1 hamburger bun for each burger 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Mix the beef, together with seasoning, in a food processor. 
+                   <li> Shape the beef into burgers. 
+                   <li> Grill the burgers for about 5 mins on each side (until cooked through) 
+                   <li> Serve each burger on a bun with ketchup, cheese, lettuce, tomato and onion. 
+                  </ol> 
+                 </html>"
+    }
+    ListElement {
+        title: "Lemonade"
+        picture: "content/pics/lemonade.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 1 cup Lemon Juice 
+                        <li> 1 cup Sugar 
+                        <li> 6 Cups of Water (2 cups warm water, 4 cups cold water) 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Pour 2 cups of warm water into a pitcher and stir in sugar until it dissolves. 
+                   <li> Pour in lemon juice, stir again, and add 4 cups of cold water. 
+                   <li> Chill or serve over ice cubes. 
+                  </ol> 
+                 </html>"
+    }
+}
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/TextButton.qml b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/TextButton.qml
new file mode 100644
index 0000000..f26d775
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/TextButton.qml
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** 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: container
+
+    property alias text: label.text
+
+    signal clicked
+
+    width: label.width + 20; height: label.height + 6
+    smooth: true
+    radius: 10
+
+    gradient: Gradient {
+        GradientStop { id: gradientStop; position: 0.0; color: palette.light }
+        GradientStop { position: 1.0; color: palette.button }
+    }
+
+    SystemPalette { id: palette }
+
+    MouseArea {
+        id: mouseArea
+        anchors.fill: parent
+        onClicked: { container.clicked() }
+    }
+
+    Text {
+        id: label
+        anchors.centerIn: parent
+    }
+
+    states: State {
+        name: "pressed"
+        when: mouseArea.pressed
+        PropertyChanges { target: gradientStop; color: palette.dark }
+    }
+}
+
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/arrow-down.png b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/arrow-down.png
new file mode 100644
index 0000000..29d1d44
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/arrow-down.png differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/arrow-up.png b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/arrow-up.png
new file mode 100644
index 0000000..e437312
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/arrow-up.png differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/fruit-salad.jpg b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/fruit-salad.jpg
new file mode 100644
index 0000000..da5a6b1
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/fruit-salad.jpg differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/hamburger.jpg b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/hamburger.jpg
new file mode 100644
index 0000000..d0a15be
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/hamburger.jpg differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/lemonade.jpg b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/lemonade.jpg
new file mode 100644
index 0000000..db445c9
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/lemonade.jpg differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/list-delete.png b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/list-delete.png
new file mode 100644
index 0000000..df2a147
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/list-delete.png differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/minus-sign.png b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/minus-sign.png
new file mode 100644
index 0000000..d6f233d
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/minus-sign.png differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/moreDown.png b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/moreDown.png
new file mode 100644
index 0000000..31a35d5
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/moreDown.png differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/moreUp.png b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/moreUp.png
new file mode 100644
index 0000000..fefb9c9
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/moreUp.png differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/pancakes.jpg b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/pancakes.jpg
new file mode 100644
index 0000000..60c4396
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/pancakes.jpg differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/plus-sign.png b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/plus-sign.png
new file mode 100644
index 0000000..40df113
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/plus-sign.png differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/vegetable-soup.jpg b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/vegetable-soup.jpg
new file mode 100644
index 0000000..9dce332
Binary files /dev/null and b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/content/pics/vegetable-soup.jpg differ
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/dynamiclist.qml b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/dynamiclist.qml
new file mode 100644
index 0000000..f25f0fa
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/dynamiclist.qml
@@ -0,0 +1,203 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+// This example shows how items can be dynamically added to and removed from
+// a ListModel, and how these list modifications can be animated.
+
+Rectangle {
+    id: container
+    width: 500; height: 400
+    color: "#343434"
+
+    // The model:
+    ListModel {
+        id: fruitModel
+
+        ListElement {
+            name: "Apple"; cost: 2.45
+            attributes: [
+                ListElement { description: "Core" },
+                ListElement { description: "Deciduous" }
+            ]
+        }
+        ListElement {
+            name: "Banana"; cost: 1.95
+            attributes: [
+                ListElement { description: "Tropical" },
+                ListElement { description: "Seedless" }
+            ]
+        }
+        ListElement {
+            name: "Cumquat"; cost: 3.25
+            attributes: [
+                ListElement { description: "Citrus" }
+            ]
+        }
+        ListElement {
+            name: "Durian"; cost: 9.95
+            attributes: [
+                ListElement { description: "Tropical" },
+                ListElement { description: "Smelly" }
+            ]
+        }
+    }
+
+    // The delegate for each fruit in the model:
+    Component {
+        id: listDelegate
+        
+        Item {
+            id: delegateItem
+            width: listView.width; height: 55
+            clip: true
+
+            Row {
+                anchors.verticalCenter: parent.verticalCenter
+                spacing: 10
+
+                Column {
+                    Image {
+                        source: "content/pics/arrow-up.png"
+                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index-1, 1) }
+                    }
+                    Image { source: "content/pics/arrow-down.png"
+                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index+1, 1) }
+                    }
+                }
+
+                Column {
+                    anchors.verticalCenter: parent.verticalCenter
+
+                    Text { 
+                        text: name
+                        font.pixelSize: 15
+                        color: "white"
+                    }
+                    Row {
+                        spacing: 5
+                        Repeater {
+                            model: attributes
+                            Text { text: description; color: "White" }
+                        }
+                    }
+                }
+            }
+
+            Row {
+                anchors.verticalCenter: parent.verticalCenter
+                anchors.right: parent.right
+                spacing: 10
+
+                PressAndHoldButton {
+                    anchors.verticalCenter: parent.verticalCenter
+                    source: "content/pics/plus-sign.png"
+                    onClicked: fruitModel.setProperty(index, "cost", cost + 0.25)
+                }
+
+                Text { 
+                    id: costText
+                    anchors.verticalCenter: parent.verticalCenter
+                    text: '$' + Number(cost).toFixed(2)
+                    font.pixelSize: 15
+                    color: "white"
+                    font.bold: true
+                }
+
+                PressAndHoldButton {
+                    anchors.verticalCenter: parent.verticalCenter
+                    source: "content/pics/minus-sign.png"
+                    onClicked: fruitModel.setProperty(index, "cost", Math.max(0,cost-0.25))
+                }
+
+                Image {
+                    source: "content/pics/list-delete.png"
+                    MouseArea { anchors.fill:parent; onClicked: fruitModel.remove(index) }
+                }
+            }
+
+            // Animate adding and removing of items:
+
+            ListView.onAdd: SequentialAnimation {
+                PropertyAction { target: delegateItem; property: "height"; value: 0 }
+                NumberAnimation { target: delegateItem; property: "height"; to: 55; duration: 250; easing.type: Easing.InOutQuad }
+            }
+
+            ListView.onRemove: SequentialAnimation {
+                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: true }
+                NumberAnimation { target: delegateItem; property: "height"; to: 0; duration: 250; easing.type: Easing.InOutQuad }
+
+                // Make sure delayRemove is set back to false so that the item can be destroyed
+                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: false }
+            }
+        }
+    }
+
+    // The view:
+    ListView {
+        id: listView
+        anchors.fill: parent; anchors.margins: 20
+        model: fruitModel
+        delegate: listDelegate
+    }
+
+    Row {
+        anchors { left: parent.left; bottom: parent.bottom; margins: 20 }
+        spacing: 10
+
+        TextButton { 
+            text: "Add an item"
+            onClicked: {
+                fruitModel.append({
+                    "name": "Pizza Margarita",
+                    "cost": 5.95,
+                    "attributes": [{"description": "Cheese"}, {"description": "Tomato"}]
+                })
+            }
+        }
+
+        TextButton { 
+            text: "Remove all items" 
+            onClicked: fruitModel.clear()
+        }
+    }
+}
+
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/expandingdelegates.qml b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/expandingdelegates.qml
new file mode 100644
index 0000000..bd3d3a9
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/expandingdelegates.qml
@@ -0,0 +1,202 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+// This example illustrates expanding a list item to show a more detailed view.
+
+Rectangle {
+    id: page
+    width: 400; height: 240
+    color: "black"
+
+    // Delegate for the recipes.  This delegate has two modes:
+    // 1. List mode (default), which just shows the picture and title of the recipe.
+    // 2. Details mode, which also shows the ingredients and method.
+    Component {
+        id: recipeDelegate
+
+        Item {
+            id: recipe
+
+            // Create a property to contain the visibility of the details.
+            // We can bind multiple element's opacity to this one property,
+            // rather than having a "PropertyChanges" line for each element we
+            // want to fade.
+            property real detailsOpacity : 0
+
+            width: listView.width
+            height: 70
+
+            // A simple rounded rectangle for the background
+            Rectangle {
+                id: background
+                x: 2; y: 2; width: parent.width - x*2; height: parent.height - y*2
+                color: "ivory"
+                border.color: "orange"
+                radius: 5
+            }
+
+            // This mouse region covers the entire delegate.
+            // When clicked it changes mode to 'Details'.  If we are already
+            // in Details mode, then no change will happen.
+            MouseArea {
+                anchors.fill: parent
+                onClicked: recipe.state = 'Details';
+            }
+
+            // Lay out the page: picture, title and ingredients at the top, and method at the
+            // bottom.  Note that elements that should not be visible in the list
+            // mode have their opacity set to recipe.detailsOpacity.
+            Row {
+                id: topLayout
+                x: 10; y: 10; height: recipeImage.height; width: parent.width
+                spacing: 10
+
+                Image {
+                    id: recipeImage
+                    width: 50; height: 50
+                    source: picture
+                }
+
+                Column {
+                    width: background.width - recipeImage.width - 20; height: recipeImage.height
+                    spacing: 5
+
+                    Text { 
+                        text: title
+                        font.bold: true; font.pointSize: 16
+                    }
+
+                    Text {
+                        text: "Ingredients"
+                        font.pointSize: 12; font.bold: true
+                        opacity: recipe.detailsOpacity
+                    }
+
+                    Text {
+                        text: ingredients
+                        wrapMode: Text.WordWrap
+                        width: parent.width
+                        opacity: recipe.detailsOpacity
+                    }
+                }
+            }
+
+            Item {
+                id: details
+                x: 10; width: parent.width - 20
+                anchors { top: topLayout.bottom; topMargin: 10; bottom: parent.bottom; bottomMargin: 10 }
+                opacity: recipe.detailsOpacity
+
+                Text {
+                    id: methodTitle
+                    anchors.top: parent.top
+                    text: "Method"
+                    font.pointSize: 12; font.bold: true
+                }
+
+                Flickable {
+                    id: flick
+                    width: parent.width
+                    anchors { top: methodTitle.bottom; bottom: parent.bottom }
+                    contentHeight: methodText.height
+                    clip: true
+
+                    Text { id: methodText; text: method; wrapMode: Text.WordWrap; width: details.width }
+                }
+
+                Image {
+                    anchors { right: flick.right; top: flick.top }
+                    source: "content/pics/moreUp.png"
+                    opacity: flick.atYBeginning ? 0 : 1
+                }
+
+                Image {
+                    anchors { right: flick.right; bottom: flick.bottom }
+                    source: "content/pics/moreDown.png"
+                    opacity: flick.atYEnd ? 0 : 1
+                }
+            }
+
+            // A button to close the detailed view, i.e. set the state back to default ('').
+            TextButton {
+                y: 10
+                anchors { right: background.right; rightMargin: 10 }
+                opacity: recipe.detailsOpacity
+                text: "Close"
+
+                onClicked: recipe.state = '';
+            }
+
+            states: State {
+                name: "Details"
+
+                PropertyChanges { target: background; color: "white" }
+                PropertyChanges { target: recipeImage; width: 130; height: 130 } // Make picture bigger
+                PropertyChanges { target: recipe; detailsOpacity: 1; x: 0 } // Make details visible
+                PropertyChanges { target: recipe; height: listView.height } // Fill the entire list area with the detailed view
+
+                // Move the list so that this item is at the top.
+                PropertyChanges { target: recipe.ListView.view; explicit: true; contentY: recipe.y }
+
+                // Disallow flicking while we're in detailed view
+                PropertyChanges { target: recipe.ListView.view; interactive: false }
+            }
+
+            transitions: Transition {
+                // Make the state changes smooth
+                ParallelAnimation {
+                    ColorAnimation { property: "color"; duration: 500 }
+                    NumberAnimation { duration: 300; properties: "detailsOpacity,x,contentY,height,width" }
+                }
+            }
+        }
+    }
+
+    // The actual list
+    ListView {
+        id: listView
+        anchors.fill: parent
+        model: RecipesModel {}
+        delegate: recipeDelegate
+    }
+}
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/highlight.qml b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/highlight.qml
new file mode 100644
index 0000000..249c73b
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/highlight.qml
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// This example shows how to create your own highlight delegate for a ListView
+// that uses a SpringAnimation to provide custom movement when the
+// highlight bar is moved between items.
+
+import QtQuick 1.0
+import "content"
+
+Rectangle {
+    width: 200; height: 300
+
+    // Define a delegate component.  A component will be
+    // instantiated for each visible item in the list.
+    Component {
+        id: petDelegate
+        Item {
+            id: wrapper
+            width: 200; height: 55
+            Column {
+                Text { text: 'Name: ' + name }
+                Text { text: 'Type: ' + type }
+                Text { text: 'Age: ' + age }
+            }
+            // indent the item if it is the current item
+            states: State {
+                name: "Current"
+                when: wrapper.ListView.isCurrentItem
+                PropertyChanges { target: wrapper; x: 20 }
+            }
+            transitions: Transition {
+                NumberAnimation { properties: "x"; duration: 200 } 
+            }
+        }
+    }
+
+    // Define a highlight with customised movement between items.
+    Component {
+        id: highlightBar
+        Rectangle {
+            width: 200; height: 50
+            color: "#FFFF88"
+            y: listView.currentItem.y;
+            Behavior on y { SpringAnimation { spring: 2; damping: 0.1 } }
+        }
+    }
+
+    ListView {
+        id: listView
+        width: 200; height: parent.height
+
+        model: PetsModel {}
+        delegate: petDelegate
+        focus: true
+
+        // Set the highlight delegate. Note we must also set highlightFollowsCurrentItem
+        // to false so the highlight delegate can control how the highlight is moved.
+        highlight: highlightBar
+        highlightFollowsCurrentItem: false
+    }
+}
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/highlightranges.qml b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/highlightranges.qml
new file mode 100644
index 0000000..58d37a3
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/highlightranges.qml
@@ -0,0 +1,122 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+Rectangle {
+    id: root
+    property int current: 0
+    width: 600; height: 300
+
+    // This example shows the same model in three different ListView items, 
+    // with different highlight ranges. The highlight ranges are set by the 
+    // preferredHighlightBegin and preferredHighlightEnd properties in ListView.
+    //
+    // The first ListView does not set a highlight range, so its currentItem
+    // can move freely within the visible area. If it moves outside the
+    // visible area, the view is automatically scrolled to keep the current
+    // item visible.
+    //
+    // The second ListView sets a highlight range which attempts to keep the
+    // current item within the the bounds of the range. However,
+    // items will not scroll beyond the beginning or end of the view,
+    // forcing the highlight to move outside the range at the ends.
+    //
+    // The third ListView sets the highlightRangeMode to StrictlyEnforceRange
+    // and sets a range smaller than the height of an item.  This
+    // forces the current item to change when the view is flicked,
+    // since the highlight is unable to move.
+    //
+    // All ListViews bind their currentIndex to the root.current property.
+    // The first ListView sets root.current whenever its currentIndex changes
+    // due to keyboard interaction.
+    // Flicking the third ListView with the mouse also changes root.current.
+
+    ListView {
+        id: list1
+        width: 200; height: parent.height
+        model: PetsModel {}
+        delegate: petDelegate
+
+        highlight: Rectangle { color: "lightsteelblue" }
+        currentIndex: root.current
+        onCurrentIndexChanged: root.current = currentIndex
+        focus: true
+    }
+
+    ListView {
+        id: list2
+        x: list1.width
+        width: 200; height: parent.height
+        model: PetsModel {}
+        delegate: petDelegate
+
+        highlight: Rectangle { color: "yellow" }
+        currentIndex: root.current
+        preferredHighlightBegin: 80; preferredHighlightEnd: 220
+        highlightRangeMode: ListView.ApplyRange
+    }
+
+    ListView {
+        id: list3
+        x: list1.width + list2.width
+        width: 200; height: parent.height
+        model: PetsModel {}
+        delegate: petDelegate
+
+        highlight: Rectangle { color: "yellow" }
+        currentIndex: root.current
+        onCurrentIndexChanged: root.current = currentIndex
+        preferredHighlightBegin: 125; preferredHighlightEnd: 125
+        highlightRangeMode: ListView.StrictlyEnforceRange
+    }
+
+    // The delegate for each list
+    Component {
+        id: petDelegate
+        Column {
+            width: 200
+            Text { text: 'Name: ' + name }
+            Text { text: 'Type: ' + type }
+            Text { text: 'Age: ' + age }
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/sections.qml b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/sections.qml
new file mode 100644
index 0000000..3248899
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlightranges/qml/highlightranges/sections.qml
@@ -0,0 +1,87 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// This example shows how a ListView can be separated into sections using
+// the ListView.section attached property.
+
+import QtQuick 1.0
+
+//! [0]
+Rectangle {
+    id: container
+    width: 200
+    height: 250
+
+    ListModel {
+        id: animalsModel
+        ListElement { name: "Parrot"; size: "Small" }
+        ListElement { name: "Guinea pig"; size: "Small" }
+        ListElement { name: "Dog"; size: "Medium" }
+        ListElement { name: "Cat"; size: "Medium" }
+        ListElement { name: "Elephant"; size: "Large" }
+    }
+
+    // The delegate for each section header
+    Component { 
+        id: sectionHeading
+        Rectangle {
+            width: container.width
+            height: childrenRect.height
+            color: "lightsteelblue"
+
+            Text {
+                text: section
+                font.bold: true
+            }
+        }
+    }
+
+    ListView {
+        anchors.fill: parent
+        model: animalsModel
+        delegate: Text { text: name }
+
+        section.property: "size"
+        section.criteria: ViewSection.FullString
+        section.delegate: sectionHeading
+    }
+}
+//! [0]
+
diff --git a/examples/declarative/modelviews/listview/highlightranges/qml/listview.qmlproject b/examples/declarative/modelviews/listview/highlightranges/qml/listview.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/modelviews/listview/highlightranges/qml/listview.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/modelviews/listview/highlightranges/qml/sections.qml b/examples/declarative/modelviews/listview/highlightranges/qml/sections.qml
deleted file mode 100644
index 3248899..0000000
--- a/examples/declarative/modelviews/listview/highlightranges/qml/sections.qml
+++ /dev/null
@@ -1,87 +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$
-**
-****************************************************************************/
-
-// This example shows how a ListView can be separated into sections using
-// the ListView.section attached property.
-
-import QtQuick 1.0
-
-//! [0]
-Rectangle {
-    id: container
-    width: 200
-    height: 250
-
-    ListModel {
-        id: animalsModel
-        ListElement { name: "Parrot"; size: "Small" }
-        ListElement { name: "Guinea pig"; size: "Small" }
-        ListElement { name: "Dog"; size: "Medium" }
-        ListElement { name: "Cat"; size: "Medium" }
-        ListElement { name: "Elephant"; size: "Large" }
-    }
-
-    // The delegate for each section header
-    Component { 
-        id: sectionHeading
-        Rectangle {
-            width: container.width
-            height: childrenRect.height
-            color: "lightsteelblue"
-
-            Text {
-                text: section
-                font.bold: true
-            }
-        }
-    }
-
-    ListView {
-        anchors.fill: parent
-        model: animalsModel
-        delegate: Text { text: name }
-
-        section.property: "size"
-        section.criteria: ViewSection.FullString
-        section.delegate: sectionHeading
-    }
-}
-//! [0]
-
diff --git a/examples/declarative/modelviews/listview/highlightranges/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/modelviews/listview/highlightranges/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/modelviews/listview/highlightranges/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/modelviews/listview/highlightranges/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/modelviews/listview/highlightranges/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/modelviews/listview/highlightranges/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/modelviews/listview/highlightranges/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/modelviews/listview/highlightranges/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/modelviews/listview/highlightranges/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/modelviews/listview/listview.qmlproject b/examples/declarative/modelviews/listview/listview.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/modelviews/listview/listview.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/modelviews/listview/sections.qml b/examples/declarative/modelviews/listview/sections.qml
deleted file mode 100644
index 30c5a48..0000000
--- a/examples/declarative/modelviews/listview/sections.qml
+++ /dev/null
@@ -1,87 +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$
-**
-****************************************************************************/
-
-// This example shows how a ListView can be separated into sections using
-// the ListView.section attached property.
-
-import QtQuick 1.0
-
-//! [0]
-Rectangle {
-    id: container
-    width: 200
-    height: 250
-
-    ListModel {
-        id: animalsModel
-        ListElement { name: "Parrot"; size: "Small" }
-        ListElement { name: "Guinea pig"; size: "Small" }
-        ListElement { name: "Dog"; size: "Medium" }
-        ListElement { name: "Cat"; size: "Medium" }
-        ListElement { name: "Elephant"; size: "Large" }
-    }
-
-    // The delegate for each section header
-    Component { 
-        id: sectionHeading
-        Rectangle {
-            width: container.width
-            height: childrenRect.height
-            color: "lightsteelblue"
-
-            Text {
-                text: section
-                font.bold: true
-            }
-        }
-    }
-
-    ListView {
-        anchors.fill: parent
-        model: animalsModel
-        delegate: Text { text: name }
-
-        section.property: "size"
-        section.criteria: ViewSection.FullString
-        section.delegate: sectionHeading
-    }
-}
-//! [0]
-
diff --git a/examples/declarative/modelviews/listview/sections/main.cpp b/examples/declarative/modelviews/listview/sections/main.cpp
index 7b827c7..660616b 100644
--- a/examples/declarative/modelviews/listview/sections/main.cpp
+++ b/examples/declarative/modelviews/listview/sections/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockPortrait);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/sections.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/sections/sections.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/modelviews/listview/sections/qml/content/PetsModel.qml b/examples/declarative/modelviews/listview/sections/qml/content/PetsModel.qml
deleted file mode 100644
index 5220763..0000000
--- a/examples/declarative/modelviews/listview/sections/qml/content/PetsModel.qml
+++ /dev/null
@@ -1,98 +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
-
-ListModel {
-    ListElement {
-        name: "Polly"
-        type: "Parrot"
-        age: 12
-        size: "Small"
-    }
-    ListElement {
-        name: "Penny"
-        type: "Turtle"
-        age: 4
-        size: "Small"
-    }
-    ListElement {
-        name: "Warren"
-        type: "Rabbit"
-        age: 2
-        size: "Small"
-    }
-    ListElement {
-        name: "Spot"
-        type: "Dog"
-        age: 9
-        size: "Medium"
-    }
-    ListElement {
-        name: "Schrödinger"
-        type: "Cat"
-        age: 2
-        size: "Medium"
-    }
-    ListElement {
-        name: "Joey"
-        type: "Kangaroo"
-        age: 1
-        size: "Medium"
-    }
-    ListElement {
-        name: "Kimba"
-        type: "Bunny"
-        age: 65
-        size: "Large"
-    }
-    ListElement {
-        name: "Rover"
-        type: "Dog"
-        age: 5
-        size: "Large"
-    }
-    ListElement {
-        name: "Tiny"
-        type: "Elephant"
-        age: 15
-        size: "Large"
-    }
-}
diff --git a/examples/declarative/modelviews/listview/sections/qml/content/PressAndHoldButton.qml b/examples/declarative/modelviews/listview/sections/qml/content/PressAndHoldButton.qml
deleted file mode 100644
index d6808a4..0000000
--- a/examples/declarative/modelviews/listview/sections/qml/content/PressAndHoldButton.qml
+++ /dev/null
@@ -1,82 +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
-
-Image {
-    id: container
-
-    property int repeatDelay: 300
-    property int repeatDuration: 75
-    property bool pressed: false
-
-    signal clicked
-
-    scale: pressed ? 0.9 : 1
-
-    function release() {
-        autoRepeatClicks.stop()
-        container.pressed = false
-    }
-
-    SequentialAnimation on pressed {
-        id: autoRepeatClicks
-        running: false
-
-        PropertyAction { target: container; property: "pressed"; value: true }
-        ScriptAction { script: container.clicked() }
-        PauseAnimation { duration: repeatDelay }
-
-        SequentialAnimation {
-            loops: Animation.Infinite
-            ScriptAction { script: container.clicked() }
-            PauseAnimation { duration: repeatDuration }
-        }
-    }
-
-    MouseArea {
-        anchors.fill: parent
-
-        onPressed: autoRepeatClicks.start()
-        onReleased: container.release()
-        onCanceled: container.release()
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/sections/qml/content/RecipesModel.qml b/examples/declarative/modelviews/listview/sections/qml/content/RecipesModel.qml
deleted file mode 100644
index 6056b90..0000000
--- a/examples/declarative/modelviews/listview/sections/qml/content/RecipesModel.qml
+++ /dev/null
@@ -1,129 +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
-
-ListModel {
-    ListElement {
-        title: "Pancakes"
-        picture: "content/pics/pancakes.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 cup (150g) self-raising flour 
-                        <li> 1 tbs caster sugar 
-                        <li> 3/4 cup (185ml) milk 
-                        <li> 1 egg 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Sift flour and sugar together into a bowl. Add a pinch of salt. 
-                   <li> Beat milk and egg together, then add to dry ingredients. Beat until smooth. 
-                   <li> Pour mixture into a pan on medium heat and cook until bubbles appear on the surface. 
-                   <li> Turn over and cook other side until golden.  
-                  </ol>
-                 </html>"
-    }
-    ListElement {
-        title: "Fruit Salad"
-        picture: "content/pics/fruit-salad.jpg"
-        ingredients: "* Seasonal Fruit"
-        method: "* Chop fruit and place in a bowl."
-    }
-    ListElement {
-        title: "Vegetable Soup"
-        picture: "content/pics/vegetable-soup.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 onion 
-                        <li> 1 turnip 
-                        <li> 1 potato 
-                        <li> 1 carrot 
-                        <li> 1 head of celery 
-                        <li> 1 1/2 litres of water 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Chop vegetables. 
-                   <li> Boil in water until vegetables soften. 
-                   <li> Season with salt and pepper to taste. 
-                  </ol> 
-                 </html>"
-    }
-    ListElement {
-        title: "Hamburger"
-        picture: "content/pics/hamburger.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 500g minced beef 
-                        <li> Seasoning 
-                        <li> lettuce, tomato, onion, cheese 
-                        <li> 1 hamburger bun for each burger 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Mix the beef, together with seasoning, in a food processor. 
-                   <li> Shape the beef into burgers. 
-                   <li> Grill the burgers for about 5 mins on each side (until cooked through) 
-                   <li> Serve each burger on a bun with ketchup, cheese, lettuce, tomato and onion. 
-                  </ol> 
-                 </html>"
-    }
-    ListElement {
-        title: "Lemonade"
-        picture: "content/pics/lemonade.jpg"
-        ingredients: "<html> 
-                       <ul> 
-                        <li> 1 cup Lemon Juice 
-                        <li> 1 cup Sugar 
-                        <li> 6 Cups of Water (2 cups warm water, 4 cups cold water) 
-                       </ul> 
-                      </html>"
-        method: "<html> 
-                  <ol> 
-                   <li> Pour 2 cups of warm water into a pitcher and stir in sugar until it dissolves. 
-                   <li> Pour in lemon juice, stir again, and add 4 cups of cold water. 
-                   <li> Chill or serve over ice cubes. 
-                  </ol> 
-                 </html>"
-    }
-}
diff --git a/examples/declarative/modelviews/listview/sections/qml/content/TextButton.qml b/examples/declarative/modelviews/listview/sections/qml/content/TextButton.qml
deleted file mode 100644
index f26d775..0000000
--- a/examples/declarative/modelviews/listview/sections/qml/content/TextButton.qml
+++ /dev/null
@@ -1,78 +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: container
-
-    property alias text: label.text
-
-    signal clicked
-
-    width: label.width + 20; height: label.height + 6
-    smooth: true
-    radius: 10
-
-    gradient: Gradient {
-        GradientStop { id: gradientStop; position: 0.0; color: palette.light }
-        GradientStop { position: 1.0; color: palette.button }
-    }
-
-    SystemPalette { id: palette }
-
-    MouseArea {
-        id: mouseArea
-        anchors.fill: parent
-        onClicked: { container.clicked() }
-    }
-
-    Text {
-        id: label
-        anchors.centerIn: parent
-    }
-
-    states: State {
-        name: "pressed"
-        when: mouseArea.pressed
-        PropertyChanges { target: gradientStop; color: palette.dark }
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/sections/qml/content/pics/arrow-down.png b/examples/declarative/modelviews/listview/sections/qml/content/pics/arrow-down.png
deleted file mode 100644
index 29d1d44..0000000
Binary files a/examples/declarative/modelviews/listview/sections/qml/content/pics/arrow-down.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/content/pics/arrow-up.png b/examples/declarative/modelviews/listview/sections/qml/content/pics/arrow-up.png
deleted file mode 100644
index e437312..0000000
Binary files a/examples/declarative/modelviews/listview/sections/qml/content/pics/arrow-up.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/content/pics/fruit-salad.jpg b/examples/declarative/modelviews/listview/sections/qml/content/pics/fruit-salad.jpg
deleted file mode 100644
index da5a6b1..0000000
Binary files a/examples/declarative/modelviews/listview/sections/qml/content/pics/fruit-salad.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/content/pics/hamburger.jpg b/examples/declarative/modelviews/listview/sections/qml/content/pics/hamburger.jpg
deleted file mode 100644
index d0a15be..0000000
Binary files a/examples/declarative/modelviews/listview/sections/qml/content/pics/hamburger.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/content/pics/lemonade.jpg b/examples/declarative/modelviews/listview/sections/qml/content/pics/lemonade.jpg
deleted file mode 100644
index db445c9..0000000
Binary files a/examples/declarative/modelviews/listview/sections/qml/content/pics/lemonade.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/content/pics/list-delete.png b/examples/declarative/modelviews/listview/sections/qml/content/pics/list-delete.png
deleted file mode 100644
index df2a147..0000000
Binary files a/examples/declarative/modelviews/listview/sections/qml/content/pics/list-delete.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/content/pics/minus-sign.png b/examples/declarative/modelviews/listview/sections/qml/content/pics/minus-sign.png
deleted file mode 100644
index d6f233d..0000000
Binary files a/examples/declarative/modelviews/listview/sections/qml/content/pics/minus-sign.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/content/pics/moreDown.png b/examples/declarative/modelviews/listview/sections/qml/content/pics/moreDown.png
deleted file mode 100644
index 31a35d5..0000000
Binary files a/examples/declarative/modelviews/listview/sections/qml/content/pics/moreDown.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/content/pics/moreUp.png b/examples/declarative/modelviews/listview/sections/qml/content/pics/moreUp.png
deleted file mode 100644
index fefb9c9..0000000
Binary files a/examples/declarative/modelviews/listview/sections/qml/content/pics/moreUp.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/content/pics/pancakes.jpg b/examples/declarative/modelviews/listview/sections/qml/content/pics/pancakes.jpg
deleted file mode 100644
index 60c4396..0000000
Binary files a/examples/declarative/modelviews/listview/sections/qml/content/pics/pancakes.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/content/pics/plus-sign.png b/examples/declarative/modelviews/listview/sections/qml/content/pics/plus-sign.png
deleted file mode 100644
index 40df113..0000000
Binary files a/examples/declarative/modelviews/listview/sections/qml/content/pics/plus-sign.png and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/content/pics/vegetable-soup.jpg b/examples/declarative/modelviews/listview/sections/qml/content/pics/vegetable-soup.jpg
deleted file mode 100644
index 9dce332..0000000
Binary files a/examples/declarative/modelviews/listview/sections/qml/content/pics/vegetable-soup.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/dynamiclist.qml b/examples/declarative/modelviews/listview/sections/qml/dynamiclist.qml
deleted file mode 100644
index f25f0fa..0000000
--- a/examples/declarative/modelviews/listview/sections/qml/dynamiclist.qml
+++ /dev/null
@@ -1,203 +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
-import "content"
-
-// This example shows how items can be dynamically added to and removed from
-// a ListModel, and how these list modifications can be animated.
-
-Rectangle {
-    id: container
-    width: 500; height: 400
-    color: "#343434"
-
-    // The model:
-    ListModel {
-        id: fruitModel
-
-        ListElement {
-            name: "Apple"; cost: 2.45
-            attributes: [
-                ListElement { description: "Core" },
-                ListElement { description: "Deciduous" }
-            ]
-        }
-        ListElement {
-            name: "Banana"; cost: 1.95
-            attributes: [
-                ListElement { description: "Tropical" },
-                ListElement { description: "Seedless" }
-            ]
-        }
-        ListElement {
-            name: "Cumquat"; cost: 3.25
-            attributes: [
-                ListElement { description: "Citrus" }
-            ]
-        }
-        ListElement {
-            name: "Durian"; cost: 9.95
-            attributes: [
-                ListElement { description: "Tropical" },
-                ListElement { description: "Smelly" }
-            ]
-        }
-    }
-
-    // The delegate for each fruit in the model:
-    Component {
-        id: listDelegate
-        
-        Item {
-            id: delegateItem
-            width: listView.width; height: 55
-            clip: true
-
-            Row {
-                anchors.verticalCenter: parent.verticalCenter
-                spacing: 10
-
-                Column {
-                    Image {
-                        source: "content/pics/arrow-up.png"
-                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index-1, 1) }
-                    }
-                    Image { source: "content/pics/arrow-down.png"
-                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index+1, 1) }
-                    }
-                }
-
-                Column {
-                    anchors.verticalCenter: parent.verticalCenter
-
-                    Text { 
-                        text: name
-                        font.pixelSize: 15
-                        color: "white"
-                    }
-                    Row {
-                        spacing: 5
-                        Repeater {
-                            model: attributes
-                            Text { text: description; color: "White" }
-                        }
-                    }
-                }
-            }
-
-            Row {
-                anchors.verticalCenter: parent.verticalCenter
-                anchors.right: parent.right
-                spacing: 10
-
-                PressAndHoldButton {
-                    anchors.verticalCenter: parent.verticalCenter
-                    source: "content/pics/plus-sign.png"
-                    onClicked: fruitModel.setProperty(index, "cost", cost + 0.25)
-                }
-
-                Text { 
-                    id: costText
-                    anchors.verticalCenter: parent.verticalCenter
-                    text: '$' + Number(cost).toFixed(2)
-                    font.pixelSize: 15
-                    color: "white"
-                    font.bold: true
-                }
-
-                PressAndHoldButton {
-                    anchors.verticalCenter: parent.verticalCenter
-                    source: "content/pics/minus-sign.png"
-                    onClicked: fruitModel.setProperty(index, "cost", Math.max(0,cost-0.25))
-                }
-
-                Image {
-                    source: "content/pics/list-delete.png"
-                    MouseArea { anchors.fill:parent; onClicked: fruitModel.remove(index) }
-                }
-            }
-
-            // Animate adding and removing of items:
-
-            ListView.onAdd: SequentialAnimation {
-                PropertyAction { target: delegateItem; property: "height"; value: 0 }
-                NumberAnimation { target: delegateItem; property: "height"; to: 55; duration: 250; easing.type: Easing.InOutQuad }
-            }
-
-            ListView.onRemove: SequentialAnimation {
-                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: true }
-                NumberAnimation { target: delegateItem; property: "height"; to: 0; duration: 250; easing.type: Easing.InOutQuad }
-
-                // Make sure delayRemove is set back to false so that the item can be destroyed
-                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: false }
-            }
-        }
-    }
-
-    // The view:
-    ListView {
-        id: listView
-        anchors.fill: parent; anchors.margins: 20
-        model: fruitModel
-        delegate: listDelegate
-    }
-
-    Row {
-        anchors { left: parent.left; bottom: parent.bottom; margins: 20 }
-        spacing: 10
-
-        TextButton { 
-            text: "Add an item"
-            onClicked: {
-                fruitModel.append({
-                    "name": "Pizza Margarita",
-                    "cost": 5.95,
-                    "attributes": [{"description": "Cheese"}, {"description": "Tomato"}]
-                })
-            }
-        }
-
-        TextButton { 
-            text: "Remove all items" 
-            onClicked: fruitModel.clear()
-        }
-    }
-}
-
diff --git a/examples/declarative/modelviews/listview/sections/qml/expandingdelegates.qml b/examples/declarative/modelviews/listview/sections/qml/expandingdelegates.qml
deleted file mode 100644
index bd3d3a9..0000000
--- a/examples/declarative/modelviews/listview/sections/qml/expandingdelegates.qml
+++ /dev/null
@@ -1,202 +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
-import "content"
-
-// This example illustrates expanding a list item to show a more detailed view.
-
-Rectangle {
-    id: page
-    width: 400; height: 240
-    color: "black"
-
-    // Delegate for the recipes.  This delegate has two modes:
-    // 1. List mode (default), which just shows the picture and title of the recipe.
-    // 2. Details mode, which also shows the ingredients and method.
-    Component {
-        id: recipeDelegate
-
-        Item {
-            id: recipe
-
-            // Create a property to contain the visibility of the details.
-            // We can bind multiple element's opacity to this one property,
-            // rather than having a "PropertyChanges" line for each element we
-            // want to fade.
-            property real detailsOpacity : 0
-
-            width: listView.width
-            height: 70
-
-            // A simple rounded rectangle for the background
-            Rectangle {
-                id: background
-                x: 2; y: 2; width: parent.width - x*2; height: parent.height - y*2
-                color: "ivory"
-                border.color: "orange"
-                radius: 5
-            }
-
-            // This mouse region covers the entire delegate.
-            // When clicked it changes mode to 'Details'.  If we are already
-            // in Details mode, then no change will happen.
-            MouseArea {
-                anchors.fill: parent
-                onClicked: recipe.state = 'Details';
-            }
-
-            // Lay out the page: picture, title and ingredients at the top, and method at the
-            // bottom.  Note that elements that should not be visible in the list
-            // mode have their opacity set to recipe.detailsOpacity.
-            Row {
-                id: topLayout
-                x: 10; y: 10; height: recipeImage.height; width: parent.width
-                spacing: 10
-
-                Image {
-                    id: recipeImage
-                    width: 50; height: 50
-                    source: picture
-                }
-
-                Column {
-                    width: background.width - recipeImage.width - 20; height: recipeImage.height
-                    spacing: 5
-
-                    Text { 
-                        text: title
-                        font.bold: true; font.pointSize: 16
-                    }
-
-                    Text {
-                        text: "Ingredients"
-                        font.pointSize: 12; font.bold: true
-                        opacity: recipe.detailsOpacity
-                    }
-
-                    Text {
-                        text: ingredients
-                        wrapMode: Text.WordWrap
-                        width: parent.width
-                        opacity: recipe.detailsOpacity
-                    }
-                }
-            }
-
-            Item {
-                id: details
-                x: 10; width: parent.width - 20
-                anchors { top: topLayout.bottom; topMargin: 10; bottom: parent.bottom; bottomMargin: 10 }
-                opacity: recipe.detailsOpacity
-
-                Text {
-                    id: methodTitle
-                    anchors.top: parent.top
-                    text: "Method"
-                    font.pointSize: 12; font.bold: true
-                }
-
-                Flickable {
-                    id: flick
-                    width: parent.width
-                    anchors { top: methodTitle.bottom; bottom: parent.bottom }
-                    contentHeight: methodText.height
-                    clip: true
-
-                    Text { id: methodText; text: method; wrapMode: Text.WordWrap; width: details.width }
-                }
-
-                Image {
-                    anchors { right: flick.right; top: flick.top }
-                    source: "content/pics/moreUp.png"
-                    opacity: flick.atYBeginning ? 0 : 1
-                }
-
-                Image {
-                    anchors { right: flick.right; bottom: flick.bottom }
-                    source: "content/pics/moreDown.png"
-                    opacity: flick.atYEnd ? 0 : 1
-                }
-            }
-
-            // A button to close the detailed view, i.e. set the state back to default ('').
-            TextButton {
-                y: 10
-                anchors { right: background.right; rightMargin: 10 }
-                opacity: recipe.detailsOpacity
-                text: "Close"
-
-                onClicked: recipe.state = '';
-            }
-
-            states: State {
-                name: "Details"
-
-                PropertyChanges { target: background; color: "white" }
-                PropertyChanges { target: recipeImage; width: 130; height: 130 } // Make picture bigger
-                PropertyChanges { target: recipe; detailsOpacity: 1; x: 0 } // Make details visible
-                PropertyChanges { target: recipe; height: listView.height } // Fill the entire list area with the detailed view
-
-                // Move the list so that this item is at the top.
-                PropertyChanges { target: recipe.ListView.view; explicit: true; contentY: recipe.y }
-
-                // Disallow flicking while we're in detailed view
-                PropertyChanges { target: recipe.ListView.view; interactive: false }
-            }
-
-            transitions: Transition {
-                // Make the state changes smooth
-                ParallelAnimation {
-                    ColorAnimation { property: "color"; duration: 500 }
-                    NumberAnimation { duration: 300; properties: "detailsOpacity,x,contentY,height,width" }
-                }
-            }
-        }
-    }
-
-    // The actual list
-    ListView {
-        id: listView
-        anchors.fill: parent
-        model: RecipesModel {}
-        delegate: recipeDelegate
-    }
-}
diff --git a/examples/declarative/modelviews/listview/sections/qml/highlight.qml b/examples/declarative/modelviews/listview/sections/qml/highlight.qml
deleted file mode 100644
index 249c73b..0000000
--- a/examples/declarative/modelviews/listview/sections/qml/highlight.qml
+++ /dev/null
@@ -1,99 +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$
-**
-****************************************************************************/
-
-// This example shows how to create your own highlight delegate for a ListView
-// that uses a SpringAnimation to provide custom movement when the
-// highlight bar is moved between items.
-
-import QtQuick 1.0
-import "content"
-
-Rectangle {
-    width: 200; height: 300
-
-    // Define a delegate component.  A component will be
-    // instantiated for each visible item in the list.
-    Component {
-        id: petDelegate
-        Item {
-            id: wrapper
-            width: 200; height: 55
-            Column {
-                Text { text: 'Name: ' + name }
-                Text { text: 'Type: ' + type }
-                Text { text: 'Age: ' + age }
-            }
-            // indent the item if it is the current item
-            states: State {
-                name: "Current"
-                when: wrapper.ListView.isCurrentItem
-                PropertyChanges { target: wrapper; x: 20 }
-            }
-            transitions: Transition {
-                NumberAnimation { properties: "x"; duration: 200 } 
-            }
-        }
-    }
-
-    // Define a highlight with customised movement between items.
-    Component {
-        id: highlightBar
-        Rectangle {
-            width: 200; height: 50
-            color: "#FFFF88"
-            y: listView.currentItem.y;
-            Behavior on y { SpringAnimation { spring: 2; damping: 0.1 } }
-        }
-    }
-
-    ListView {
-        id: listView
-        width: 200; height: parent.height
-
-        model: PetsModel {}
-        delegate: petDelegate
-        focus: true
-
-        // Set the highlight delegate. Note we must also set highlightFollowsCurrentItem
-        // to false so the highlight delegate can control how the highlight is moved.
-        highlight: highlightBar
-        highlightFollowsCurrentItem: false
-    }
-}
diff --git a/examples/declarative/modelviews/listview/sections/qml/highlightranges.qml b/examples/declarative/modelviews/listview/sections/qml/highlightranges.qml
deleted file mode 100644
index 58d37a3..0000000
--- a/examples/declarative/modelviews/listview/sections/qml/highlightranges.qml
+++ /dev/null
@@ -1,122 +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
-import "content"
-
-Rectangle {
-    id: root
-    property int current: 0
-    width: 600; height: 300
-
-    // This example shows the same model in three different ListView items, 
-    // with different highlight ranges. The highlight ranges are set by the 
-    // preferredHighlightBegin and preferredHighlightEnd properties in ListView.
-    //
-    // The first ListView does not set a highlight range, so its currentItem
-    // can move freely within the visible area. If it moves outside the
-    // visible area, the view is automatically scrolled to keep the current
-    // item visible.
-    //
-    // The second ListView sets a highlight range which attempts to keep the
-    // current item within the the bounds of the range. However,
-    // items will not scroll beyond the beginning or end of the view,
-    // forcing the highlight to move outside the range at the ends.
-    //
-    // The third ListView sets the highlightRangeMode to StrictlyEnforceRange
-    // and sets a range smaller than the height of an item.  This
-    // forces the current item to change when the view is flicked,
-    // since the highlight is unable to move.
-    //
-    // All ListViews bind their currentIndex to the root.current property.
-    // The first ListView sets root.current whenever its currentIndex changes
-    // due to keyboard interaction.
-    // Flicking the third ListView with the mouse also changes root.current.
-
-    ListView {
-        id: list1
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "lightsteelblue" }
-        currentIndex: root.current
-        onCurrentIndexChanged: root.current = currentIndex
-        focus: true
-    }
-
-    ListView {
-        id: list2
-        x: list1.width
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "yellow" }
-        currentIndex: root.current
-        preferredHighlightBegin: 80; preferredHighlightEnd: 220
-        highlightRangeMode: ListView.ApplyRange
-    }
-
-    ListView {
-        id: list3
-        x: list1.width + list2.width
-        width: 200; height: parent.height
-        model: PetsModel {}
-        delegate: petDelegate
-
-        highlight: Rectangle { color: "yellow" }
-        currentIndex: root.current
-        onCurrentIndexChanged: root.current = currentIndex
-        preferredHighlightBegin: 125; preferredHighlightEnd: 125
-        highlightRangeMode: ListView.StrictlyEnforceRange
-    }
-
-    // The delegate for each list
-    Component {
-        id: petDelegate
-        Column {
-            width: 200
-            Text { text: 'Name: ' + name }
-            Text { text: 'Type: ' + type }
-            Text { text: 'Age: ' + age }
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/listview/sections/qml/listview.qmlproject b/examples/declarative/modelviews/listview/sections/qml/listview.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/modelviews/listview/sections/qml/listview.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/modelviews/listview/sections/qml/sections.qml b/examples/declarative/modelviews/listview/sections/qml/sections.qml
deleted file mode 100644
index 3248899..0000000
--- a/examples/declarative/modelviews/listview/sections/qml/sections.qml
+++ /dev/null
@@ -1,87 +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$
-**
-****************************************************************************/
-
-// This example shows how a ListView can be separated into sections using
-// the ListView.section attached property.
-
-import QtQuick 1.0
-
-//! [0]
-Rectangle {
-    id: container
-    width: 200
-    height: 250
-
-    ListModel {
-        id: animalsModel
-        ListElement { name: "Parrot"; size: "Small" }
-        ListElement { name: "Guinea pig"; size: "Small" }
-        ListElement { name: "Dog"; size: "Medium" }
-        ListElement { name: "Cat"; size: "Medium" }
-        ListElement { name: "Elephant"; size: "Large" }
-    }
-
-    // The delegate for each section header
-    Component { 
-        id: sectionHeading
-        Rectangle {
-            width: container.width
-            height: childrenRect.height
-            color: "lightsteelblue"
-
-            Text {
-                text: section
-                font.bold: true
-            }
-        }
-    }
-
-    ListView {
-        anchors.fill: parent
-        model: animalsModel
-        delegate: Text { text: name }
-
-        section.property: "size"
-        section.criteria: ViewSection.FullString
-        section.delegate: sectionHeading
-    }
-}
-//! [0]
-
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/content/PetsModel.qml b/examples/declarative/modelviews/listview/sections/qml/sections/content/PetsModel.qml
new file mode 100644
index 0000000..5220763
--- /dev/null
+++ b/examples/declarative/modelviews/listview/sections/qml/sections/content/PetsModel.qml
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** 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
+
+ListModel {
+    ListElement {
+        name: "Polly"
+        type: "Parrot"
+        age: 12
+        size: "Small"
+    }
+    ListElement {
+        name: "Penny"
+        type: "Turtle"
+        age: 4
+        size: "Small"
+    }
+    ListElement {
+        name: "Warren"
+        type: "Rabbit"
+        age: 2
+        size: "Small"
+    }
+    ListElement {
+        name: "Spot"
+        type: "Dog"
+        age: 9
+        size: "Medium"
+    }
+    ListElement {
+        name: "Schrödinger"
+        type: "Cat"
+        age: 2
+        size: "Medium"
+    }
+    ListElement {
+        name: "Joey"
+        type: "Kangaroo"
+        age: 1
+        size: "Medium"
+    }
+    ListElement {
+        name: "Kimba"
+        type: "Bunny"
+        age: 65
+        size: "Large"
+    }
+    ListElement {
+        name: "Rover"
+        type: "Dog"
+        age: 5
+        size: "Large"
+    }
+    ListElement {
+        name: "Tiny"
+        type: "Elephant"
+        age: 15
+        size: "Large"
+    }
+}
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/content/PressAndHoldButton.qml b/examples/declarative/modelviews/listview/sections/qml/sections/content/PressAndHoldButton.qml
new file mode 100644
index 0000000..d6808a4
--- /dev/null
+++ b/examples/declarative/modelviews/listview/sections/qml/sections/content/PressAndHoldButton.qml
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** 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
+
+Image {
+    id: container
+
+    property int repeatDelay: 300
+    property int repeatDuration: 75
+    property bool pressed: false
+
+    signal clicked
+
+    scale: pressed ? 0.9 : 1
+
+    function release() {
+        autoRepeatClicks.stop()
+        container.pressed = false
+    }
+
+    SequentialAnimation on pressed {
+        id: autoRepeatClicks
+        running: false
+
+        PropertyAction { target: container; property: "pressed"; value: true }
+        ScriptAction { script: container.clicked() }
+        PauseAnimation { duration: repeatDelay }
+
+        SequentialAnimation {
+            loops: Animation.Infinite
+            ScriptAction { script: container.clicked() }
+            PauseAnimation { duration: repeatDuration }
+        }
+    }
+
+    MouseArea {
+        anchors.fill: parent
+
+        onPressed: autoRepeatClicks.start()
+        onReleased: container.release()
+        onCanceled: container.release()
+    }
+}
+
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/content/RecipesModel.qml b/examples/declarative/modelviews/listview/sections/qml/sections/content/RecipesModel.qml
new file mode 100644
index 0000000..6056b90
--- /dev/null
+++ b/examples/declarative/modelviews/listview/sections/qml/sections/content/RecipesModel.qml
@@ -0,0 +1,129 @@
+/****************************************************************************
+**
+** 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
+
+ListModel {
+    ListElement {
+        title: "Pancakes"
+        picture: "content/pics/pancakes.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 1 cup (150g) self-raising flour 
+                        <li> 1 tbs caster sugar 
+                        <li> 3/4 cup (185ml) milk 
+                        <li> 1 egg 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Sift flour and sugar together into a bowl. Add a pinch of salt. 
+                   <li> Beat milk and egg together, then add to dry ingredients. Beat until smooth. 
+                   <li> Pour mixture into a pan on medium heat and cook until bubbles appear on the surface. 
+                   <li> Turn over and cook other side until golden.  
+                  </ol>
+                 </html>"
+    }
+    ListElement {
+        title: "Fruit Salad"
+        picture: "content/pics/fruit-salad.jpg"
+        ingredients: "* Seasonal Fruit"
+        method: "* Chop fruit and place in a bowl."
+    }
+    ListElement {
+        title: "Vegetable Soup"
+        picture: "content/pics/vegetable-soup.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 1 onion 
+                        <li> 1 turnip 
+                        <li> 1 potato 
+                        <li> 1 carrot 
+                        <li> 1 head of celery 
+                        <li> 1 1/2 litres of water 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Chop vegetables. 
+                   <li> Boil in water until vegetables soften. 
+                   <li> Season with salt and pepper to taste. 
+                  </ol> 
+                 </html>"
+    }
+    ListElement {
+        title: "Hamburger"
+        picture: "content/pics/hamburger.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 500g minced beef 
+                        <li> Seasoning 
+                        <li> lettuce, tomato, onion, cheese 
+                        <li> 1 hamburger bun for each burger 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Mix the beef, together with seasoning, in a food processor. 
+                   <li> Shape the beef into burgers. 
+                   <li> Grill the burgers for about 5 mins on each side (until cooked through) 
+                   <li> Serve each burger on a bun with ketchup, cheese, lettuce, tomato and onion. 
+                  </ol> 
+                 </html>"
+    }
+    ListElement {
+        title: "Lemonade"
+        picture: "content/pics/lemonade.jpg"
+        ingredients: "<html> 
+                       <ul> 
+                        <li> 1 cup Lemon Juice 
+                        <li> 1 cup Sugar 
+                        <li> 6 Cups of Water (2 cups warm water, 4 cups cold water) 
+                       </ul> 
+                      </html>"
+        method: "<html> 
+                  <ol> 
+                   <li> Pour 2 cups of warm water into a pitcher and stir in sugar until it dissolves. 
+                   <li> Pour in lemon juice, stir again, and add 4 cups of cold water. 
+                   <li> Chill or serve over ice cubes. 
+                  </ol> 
+                 </html>"
+    }
+}
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/content/TextButton.qml b/examples/declarative/modelviews/listview/sections/qml/sections/content/TextButton.qml
new file mode 100644
index 0000000..f26d775
--- /dev/null
+++ b/examples/declarative/modelviews/listview/sections/qml/sections/content/TextButton.qml
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** 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: container
+
+    property alias text: label.text
+
+    signal clicked
+
+    width: label.width + 20; height: label.height + 6
+    smooth: true
+    radius: 10
+
+    gradient: Gradient {
+        GradientStop { id: gradientStop; position: 0.0; color: palette.light }
+        GradientStop { position: 1.0; color: palette.button }
+    }
+
+    SystemPalette { id: palette }
+
+    MouseArea {
+        id: mouseArea
+        anchors.fill: parent
+        onClicked: { container.clicked() }
+    }
+
+    Text {
+        id: label
+        anchors.centerIn: parent
+    }
+
+    states: State {
+        name: "pressed"
+        when: mouseArea.pressed
+        PropertyChanges { target: gradientStop; color: palette.dark }
+    }
+}
+
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/arrow-down.png b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/arrow-down.png
new file mode 100644
index 0000000..29d1d44
Binary files /dev/null and b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/arrow-down.png differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/arrow-up.png b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/arrow-up.png
new file mode 100644
index 0000000..e437312
Binary files /dev/null and b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/arrow-up.png differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/fruit-salad.jpg b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/fruit-salad.jpg
new file mode 100644
index 0000000..da5a6b1
Binary files /dev/null and b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/fruit-salad.jpg differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/hamburger.jpg b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/hamburger.jpg
new file mode 100644
index 0000000..d0a15be
Binary files /dev/null and b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/hamburger.jpg differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/lemonade.jpg b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/lemonade.jpg
new file mode 100644
index 0000000..db445c9
Binary files /dev/null and b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/lemonade.jpg differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/list-delete.png b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/list-delete.png
new file mode 100644
index 0000000..df2a147
Binary files /dev/null and b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/list-delete.png differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/minus-sign.png b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/minus-sign.png
new file mode 100644
index 0000000..d6f233d
Binary files /dev/null and b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/minus-sign.png differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/moreDown.png b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/moreDown.png
new file mode 100644
index 0000000..31a35d5
Binary files /dev/null and b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/moreDown.png differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/moreUp.png b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/moreUp.png
new file mode 100644
index 0000000..fefb9c9
Binary files /dev/null and b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/moreUp.png differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/pancakes.jpg b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/pancakes.jpg
new file mode 100644
index 0000000..60c4396
Binary files /dev/null and b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/pancakes.jpg differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/plus-sign.png b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/plus-sign.png
new file mode 100644
index 0000000..40df113
Binary files /dev/null and b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/plus-sign.png differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/vegetable-soup.jpg b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/vegetable-soup.jpg
new file mode 100644
index 0000000..9dce332
Binary files /dev/null and b/examples/declarative/modelviews/listview/sections/qml/sections/content/pics/vegetable-soup.jpg differ
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/dynamiclist.qml b/examples/declarative/modelviews/listview/sections/qml/sections/dynamiclist.qml
new file mode 100644
index 0000000..f25f0fa
--- /dev/null
+++ b/examples/declarative/modelviews/listview/sections/qml/sections/dynamiclist.qml
@@ -0,0 +1,203 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+// This example shows how items can be dynamically added to and removed from
+// a ListModel, and how these list modifications can be animated.
+
+Rectangle {
+    id: container
+    width: 500; height: 400
+    color: "#343434"
+
+    // The model:
+    ListModel {
+        id: fruitModel
+
+        ListElement {
+            name: "Apple"; cost: 2.45
+            attributes: [
+                ListElement { description: "Core" },
+                ListElement { description: "Deciduous" }
+            ]
+        }
+        ListElement {
+            name: "Banana"; cost: 1.95
+            attributes: [
+                ListElement { description: "Tropical" },
+                ListElement { description: "Seedless" }
+            ]
+        }
+        ListElement {
+            name: "Cumquat"; cost: 3.25
+            attributes: [
+                ListElement { description: "Citrus" }
+            ]
+        }
+        ListElement {
+            name: "Durian"; cost: 9.95
+            attributes: [
+                ListElement { description: "Tropical" },
+                ListElement { description: "Smelly" }
+            ]
+        }
+    }
+
+    // The delegate for each fruit in the model:
+    Component {
+        id: listDelegate
+        
+        Item {
+            id: delegateItem
+            width: listView.width; height: 55
+            clip: true
+
+            Row {
+                anchors.verticalCenter: parent.verticalCenter
+                spacing: 10
+
+                Column {
+                    Image {
+                        source: "content/pics/arrow-up.png"
+                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index-1, 1) }
+                    }
+                    Image { source: "content/pics/arrow-down.png"
+                        MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index+1, 1) }
+                    }
+                }
+
+                Column {
+                    anchors.verticalCenter: parent.verticalCenter
+
+                    Text { 
+                        text: name
+                        font.pixelSize: 15
+                        color: "white"
+                    }
+                    Row {
+                        spacing: 5
+                        Repeater {
+                            model: attributes
+                            Text { text: description; color: "White" }
+                        }
+                    }
+                }
+            }
+
+            Row {
+                anchors.verticalCenter: parent.verticalCenter
+                anchors.right: parent.right
+                spacing: 10
+
+                PressAndHoldButton {
+                    anchors.verticalCenter: parent.verticalCenter
+                    source: "content/pics/plus-sign.png"
+                    onClicked: fruitModel.setProperty(index, "cost", cost + 0.25)
+                }
+
+                Text { 
+                    id: costText
+                    anchors.verticalCenter: parent.verticalCenter
+                    text: '$' + Number(cost).toFixed(2)
+                    font.pixelSize: 15
+                    color: "white"
+                    font.bold: true
+                }
+
+                PressAndHoldButton {
+                    anchors.verticalCenter: parent.verticalCenter
+                    source: "content/pics/minus-sign.png"
+                    onClicked: fruitModel.setProperty(index, "cost", Math.max(0,cost-0.25))
+                }
+
+                Image {
+                    source: "content/pics/list-delete.png"
+                    MouseArea { anchors.fill:parent; onClicked: fruitModel.remove(index) }
+                }
+            }
+
+            // Animate adding and removing of items:
+
+            ListView.onAdd: SequentialAnimation {
+                PropertyAction { target: delegateItem; property: "height"; value: 0 }
+                NumberAnimation { target: delegateItem; property: "height"; to: 55; duration: 250; easing.type: Easing.InOutQuad }
+            }
+
+            ListView.onRemove: SequentialAnimation {
+                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: true }
+                NumberAnimation { target: delegateItem; property: "height"; to: 0; duration: 250; easing.type: Easing.InOutQuad }
+
+                // Make sure delayRemove is set back to false so that the item can be destroyed
+                PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: false }
+            }
+        }
+    }
+
+    // The view:
+    ListView {
+        id: listView
+        anchors.fill: parent; anchors.margins: 20
+        model: fruitModel
+        delegate: listDelegate
+    }
+
+    Row {
+        anchors { left: parent.left; bottom: parent.bottom; margins: 20 }
+        spacing: 10
+
+        TextButton { 
+            text: "Add an item"
+            onClicked: {
+                fruitModel.append({
+                    "name": "Pizza Margarita",
+                    "cost": 5.95,
+                    "attributes": [{"description": "Cheese"}, {"description": "Tomato"}]
+                })
+            }
+        }
+
+        TextButton { 
+            text: "Remove all items" 
+            onClicked: fruitModel.clear()
+        }
+    }
+}
+
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/expandingdelegates.qml b/examples/declarative/modelviews/listview/sections/qml/sections/expandingdelegates.qml
new file mode 100644
index 0000000..bd3d3a9
--- /dev/null
+++ b/examples/declarative/modelviews/listview/sections/qml/sections/expandingdelegates.qml
@@ -0,0 +1,202 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+// This example illustrates expanding a list item to show a more detailed view.
+
+Rectangle {
+    id: page
+    width: 400; height: 240
+    color: "black"
+
+    // Delegate for the recipes.  This delegate has two modes:
+    // 1. List mode (default), which just shows the picture and title of the recipe.
+    // 2. Details mode, which also shows the ingredients and method.
+    Component {
+        id: recipeDelegate
+
+        Item {
+            id: recipe
+
+            // Create a property to contain the visibility of the details.
+            // We can bind multiple element's opacity to this one property,
+            // rather than having a "PropertyChanges" line for each element we
+            // want to fade.
+            property real detailsOpacity : 0
+
+            width: listView.width
+            height: 70
+
+            // A simple rounded rectangle for the background
+            Rectangle {
+                id: background
+                x: 2; y: 2; width: parent.width - x*2; height: parent.height - y*2
+                color: "ivory"
+                border.color: "orange"
+                radius: 5
+            }
+
+            // This mouse region covers the entire delegate.
+            // When clicked it changes mode to 'Details'.  If we are already
+            // in Details mode, then no change will happen.
+            MouseArea {
+                anchors.fill: parent
+                onClicked: recipe.state = 'Details';
+            }
+
+            // Lay out the page: picture, title and ingredients at the top, and method at the
+            // bottom.  Note that elements that should not be visible in the list
+            // mode have their opacity set to recipe.detailsOpacity.
+            Row {
+                id: topLayout
+                x: 10; y: 10; height: recipeImage.height; width: parent.width
+                spacing: 10
+
+                Image {
+                    id: recipeImage
+                    width: 50; height: 50
+                    source: picture
+                }
+
+                Column {
+                    width: background.width - recipeImage.width - 20; height: recipeImage.height
+                    spacing: 5
+
+                    Text { 
+                        text: title
+                        font.bold: true; font.pointSize: 16
+                    }
+
+                    Text {
+                        text: "Ingredients"
+                        font.pointSize: 12; font.bold: true
+                        opacity: recipe.detailsOpacity
+                    }
+
+                    Text {
+                        text: ingredients
+                        wrapMode: Text.WordWrap
+                        width: parent.width
+                        opacity: recipe.detailsOpacity
+                    }
+                }
+            }
+
+            Item {
+                id: details
+                x: 10; width: parent.width - 20
+                anchors { top: topLayout.bottom; topMargin: 10; bottom: parent.bottom; bottomMargin: 10 }
+                opacity: recipe.detailsOpacity
+
+                Text {
+                    id: methodTitle
+                    anchors.top: parent.top
+                    text: "Method"
+                    font.pointSize: 12; font.bold: true
+                }
+
+                Flickable {
+                    id: flick
+                    width: parent.width
+                    anchors { top: methodTitle.bottom; bottom: parent.bottom }
+                    contentHeight: methodText.height
+                    clip: true
+
+                    Text { id: methodText; text: method; wrapMode: Text.WordWrap; width: details.width }
+                }
+
+                Image {
+                    anchors { right: flick.right; top: flick.top }
+                    source: "content/pics/moreUp.png"
+                    opacity: flick.atYBeginning ? 0 : 1
+                }
+
+                Image {
+                    anchors { right: flick.right; bottom: flick.bottom }
+                    source: "content/pics/moreDown.png"
+                    opacity: flick.atYEnd ? 0 : 1
+                }
+            }
+
+            // A button to close the detailed view, i.e. set the state back to default ('').
+            TextButton {
+                y: 10
+                anchors { right: background.right; rightMargin: 10 }
+                opacity: recipe.detailsOpacity
+                text: "Close"
+
+                onClicked: recipe.state = '';
+            }
+
+            states: State {
+                name: "Details"
+
+                PropertyChanges { target: background; color: "white" }
+                PropertyChanges { target: recipeImage; width: 130; height: 130 } // Make picture bigger
+                PropertyChanges { target: recipe; detailsOpacity: 1; x: 0 } // Make details visible
+                PropertyChanges { target: recipe; height: listView.height } // Fill the entire list area with the detailed view
+
+                // Move the list so that this item is at the top.
+                PropertyChanges { target: recipe.ListView.view; explicit: true; contentY: recipe.y }
+
+                // Disallow flicking while we're in detailed view
+                PropertyChanges { target: recipe.ListView.view; interactive: false }
+            }
+
+            transitions: Transition {
+                // Make the state changes smooth
+                ParallelAnimation {
+                    ColorAnimation { property: "color"; duration: 500 }
+                    NumberAnimation { duration: 300; properties: "detailsOpacity,x,contentY,height,width" }
+                }
+            }
+        }
+    }
+
+    // The actual list
+    ListView {
+        id: listView
+        anchors.fill: parent
+        model: RecipesModel {}
+        delegate: recipeDelegate
+    }
+}
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/highlight.qml b/examples/declarative/modelviews/listview/sections/qml/sections/highlight.qml
new file mode 100644
index 0000000..249c73b
--- /dev/null
+++ b/examples/declarative/modelviews/listview/sections/qml/sections/highlight.qml
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// This example shows how to create your own highlight delegate for a ListView
+// that uses a SpringAnimation to provide custom movement when the
+// highlight bar is moved between items.
+
+import QtQuick 1.0
+import "content"
+
+Rectangle {
+    width: 200; height: 300
+
+    // Define a delegate component.  A component will be
+    // instantiated for each visible item in the list.
+    Component {
+        id: petDelegate
+        Item {
+            id: wrapper
+            width: 200; height: 55
+            Column {
+                Text { text: 'Name: ' + name }
+                Text { text: 'Type: ' + type }
+                Text { text: 'Age: ' + age }
+            }
+            // indent the item if it is the current item
+            states: State {
+                name: "Current"
+                when: wrapper.ListView.isCurrentItem
+                PropertyChanges { target: wrapper; x: 20 }
+            }
+            transitions: Transition {
+                NumberAnimation { properties: "x"; duration: 200 } 
+            }
+        }
+    }
+
+    // Define a highlight with customised movement between items.
+    Component {
+        id: highlightBar
+        Rectangle {
+            width: 200; height: 50
+            color: "#FFFF88"
+            y: listView.currentItem.y;
+            Behavior on y { SpringAnimation { spring: 2; damping: 0.1 } }
+        }
+    }
+
+    ListView {
+        id: listView
+        width: 200; height: parent.height
+
+        model: PetsModel {}
+        delegate: petDelegate
+        focus: true
+
+        // Set the highlight delegate. Note we must also set highlightFollowsCurrentItem
+        // to false so the highlight delegate can control how the highlight is moved.
+        highlight: highlightBar
+        highlightFollowsCurrentItem: false
+    }
+}
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/highlightranges.qml b/examples/declarative/modelviews/listview/sections/qml/sections/highlightranges.qml
new file mode 100644
index 0000000..58d37a3
--- /dev/null
+++ b/examples/declarative/modelviews/listview/sections/qml/sections/highlightranges.qml
@@ -0,0 +1,122 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+Rectangle {
+    id: root
+    property int current: 0
+    width: 600; height: 300
+
+    // This example shows the same model in three different ListView items, 
+    // with different highlight ranges. The highlight ranges are set by the 
+    // preferredHighlightBegin and preferredHighlightEnd properties in ListView.
+    //
+    // The first ListView does not set a highlight range, so its currentItem
+    // can move freely within the visible area. If it moves outside the
+    // visible area, the view is automatically scrolled to keep the current
+    // item visible.
+    //
+    // The second ListView sets a highlight range which attempts to keep the
+    // current item within the the bounds of the range. However,
+    // items will not scroll beyond the beginning or end of the view,
+    // forcing the highlight to move outside the range at the ends.
+    //
+    // The third ListView sets the highlightRangeMode to StrictlyEnforceRange
+    // and sets a range smaller than the height of an item.  This
+    // forces the current item to change when the view is flicked,
+    // since the highlight is unable to move.
+    //
+    // All ListViews bind their currentIndex to the root.current property.
+    // The first ListView sets root.current whenever its currentIndex changes
+    // due to keyboard interaction.
+    // Flicking the third ListView with the mouse also changes root.current.
+
+    ListView {
+        id: list1
+        width: 200; height: parent.height
+        model: PetsModel {}
+        delegate: petDelegate
+
+        highlight: Rectangle { color: "lightsteelblue" }
+        currentIndex: root.current
+        onCurrentIndexChanged: root.current = currentIndex
+        focus: true
+    }
+
+    ListView {
+        id: list2
+        x: list1.width
+        width: 200; height: parent.height
+        model: PetsModel {}
+        delegate: petDelegate
+
+        highlight: Rectangle { color: "yellow" }
+        currentIndex: root.current
+        preferredHighlightBegin: 80; preferredHighlightEnd: 220
+        highlightRangeMode: ListView.ApplyRange
+    }
+
+    ListView {
+        id: list3
+        x: list1.width + list2.width
+        width: 200; height: parent.height
+        model: PetsModel {}
+        delegate: petDelegate
+
+        highlight: Rectangle { color: "yellow" }
+        currentIndex: root.current
+        onCurrentIndexChanged: root.current = currentIndex
+        preferredHighlightBegin: 125; preferredHighlightEnd: 125
+        highlightRangeMode: ListView.StrictlyEnforceRange
+    }
+
+    // The delegate for each list
+    Component {
+        id: petDelegate
+        Column {
+            width: 200
+            Text { text: 'Name: ' + name }
+            Text { text: 'Type: ' + type }
+            Text { text: 'Age: ' + age }
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/listview/sections/qml/sections/sections.qml b/examples/declarative/modelviews/listview/sections/qml/sections/sections.qml
new file mode 100644
index 0000000..3248899
--- /dev/null
+++ b/examples/declarative/modelviews/listview/sections/qml/sections/sections.qml
@@ -0,0 +1,87 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// This example shows how a ListView can be separated into sections using
+// the ListView.section attached property.
+
+import QtQuick 1.0
+
+//! [0]
+Rectangle {
+    id: container
+    width: 200
+    height: 250
+
+    ListModel {
+        id: animalsModel
+        ListElement { name: "Parrot"; size: "Small" }
+        ListElement { name: "Guinea pig"; size: "Small" }
+        ListElement { name: "Dog"; size: "Medium" }
+        ListElement { name: "Cat"; size: "Medium" }
+        ListElement { name: "Elephant"; size: "Large" }
+    }
+
+    // The delegate for each section header
+    Component { 
+        id: sectionHeading
+        Rectangle {
+            width: container.width
+            height: childrenRect.height
+            color: "lightsteelblue"
+
+            Text {
+                text: section
+                font.bold: true
+            }
+        }
+    }
+
+    ListView {
+        anchors.fill: parent
+        model: animalsModel
+        delegate: Text { text: name }
+
+        section.property: "size"
+        section.criteria: ViewSection.FullString
+        section.delegate: sectionHeading
+    }
+}
+//! [0]
+
diff --git a/examples/declarative/modelviews/listview/sections/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/modelviews/listview/sections/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/modelviews/listview/sections/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/modelviews/listview/sections/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/modelviews/listview/sections/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/modelviews/listview/sections/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/modelviews/listview/sections/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/modelviews/listview/sections/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/modelviews/listview/sections/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/modelviews/listview/sections/sections.pro b/examples/declarative/modelviews/listview/sections/sections.pro
index 17e04f4..0d9151b 100644
--- a/examples/declarative/modelviews/listview/sections/sections.pro
+++ b/examples/declarative/modelviews/listview/sections/sections.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/sections
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEA0874F7
 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/modelviews/listview/sections/sections.qmlproject b/examples/declarative/modelviews/listview/sections/sections.qmlproject
new file mode 100644
index 0000000..6848d6b
--- /dev/null
+++ b/examples/declarative/modelviews/listview/sections/sections.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/sections"
+    }
+    JavaScriptFiles {
+        directory: "qml/sections"
+    }
+    ImageFiles {
+        directory: "qml/sections"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
-- 
cgit v0.12


From 4e6e49bda036f493200e7d51b2ec9690025e3dfd Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:49 +0100
Subject: modelview/objectlistmodel example modifications

Modified example 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>
---
 .../modelviews/objectlistmodel/main.cpp            | 18 +++----
 .../modelviews/objectlistmodel/objectlistmodel.pro | 46 +++++++++++++-----
 .../objectlistmodel/objectlistmodel.qmlproject     |  6 +--
 .../objectlistmodel/qml/objectlistmodel/view.qml   | 56 ++++++++++++++++++++++
 .../modelviews/objectlistmodel/view.qml            | 56 ----------------------
 5 files changed, 100 insertions(+), 82 deletions(-)
 create mode 100644 examples/declarative/modelviews/objectlistmodel/qml/objectlistmodel/view.qml
 delete mode 100644 examples/declarative/modelviews/objectlistmodel/view.qml

diff --git a/examples/declarative/modelviews/objectlistmodel/main.cpp b/examples/declarative/modelviews/objectlistmodel/main.cpp
index 812d8ad..826c648 100644
--- a/examples/declarative/modelviews/objectlistmodel/main.cpp
+++ b/examples/declarative/modelviews/objectlistmodel/main.cpp
@@ -38,15 +38,10 @@
 **
 ****************************************************************************/
 
+#include "qmlapplicationviewer.h"
+#include "dataobject.h"
 #include <QApplication>
-
-#include <qdeclarativeengine.h>
 #include <qdeclarativecontext.h>
-#include <qdeclarative.h>
-#include <qdeclarativeitem.h>
-#include <qdeclarativeview.h>
-
-#include "dataobject.h"
 
 /*
    This example illustrates exposing a QList<QObject*> as a
@@ -57,6 +52,7 @@
 int main(int argc, char ** argv)
 {
     QApplication app(argc, argv);
+    QmlApplicationViewer viewer;
 
     QList<QObject*> dataList;
     dataList.append(new DataObject("Item 1", "red"));
@@ -64,13 +60,13 @@ int main(int argc, char ** argv)
     dataList.append(new DataObject("Item 3", "blue"));
     dataList.append(new DataObject("Item 4", "yellow"));
 
-    QDeclarativeView view;
-    QDeclarativeContext *ctxt = view.rootContext();
+    QDeclarativeContext *ctxt = viewer.rootContext();
     ctxt->setContextProperty("myModel", QVariant::fromValue(dataList));
 //![0]
 
-    view.setSource(QUrl("qrc:view.qml"));
-    view.show();
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/objectlistmodel/view.qml"));
+    viewer.showExpanded();
 
     return app.exec();
 }
diff --git a/examples/declarative/modelviews/objectlistmodel/objectlistmodel.pro b/examples/declarative/modelviews/objectlistmodel/objectlistmodel.pro
index 869cde3..08ac231 100644
--- a/examples/declarative/modelviews/objectlistmodel/objectlistmodel.pro
+++ b/examples/declarative/modelviews/objectlistmodel/objectlistmodel.pro
@@ -1,18 +1,40 @@
-TEMPLATE = app
-TARGET = objectlistmodel
-DEPENDPATH += .
-INCLUDEPATH += .
-QT += declarative
+# Add more folders to ship with the application, here
+folder_01.source = qml/objectlistmodel
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
 
-# Input
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE6A5F859
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# input
 SOURCES += main.cpp \
            dataobject.cpp
 HEADERS += dataobject.h
 RESOURCES += objectlistmodel.qrc
 
-sources.files = $$SOURCES $$HEADERS $$RESOURCES objectlistmodel.pro view.qml
-sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/objectlistmodel
-target.path = $$[QT_INSTALL_EXAMPLES]/declarative/objectlistmodel
-
-INSTALLS += sources target
-
+# Please do not modify the following two lines. Required for deployment.
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/modelviews/objectlistmodel/objectlistmodel.qmlproject b/examples/declarative/modelviews/objectlistmodel/objectlistmodel.qmlproject
index d4909f8..a0b6c9e 100644
--- a/examples/declarative/modelviews/objectlistmodel/objectlistmodel.qmlproject
+++ b/examples/declarative/modelviews/objectlistmodel/objectlistmodel.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/objectlistmodel"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/objectlistmodel"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/objectlistmodel"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/examples/declarative/modelviews/objectlistmodel/qml/objectlistmodel/view.qml b/examples/declarative/modelviews/objectlistmodel/qml/objectlistmodel/view.qml
new file mode 100644
index 0000000..264289f
--- /dev/null
+++ b/examples/declarative/modelviews/objectlistmodel/qml/objectlistmodel/view.qml
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** 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
+
+//![0]
+ListView {
+    width: 100; height: 100
+    anchors.fill: parent
+
+    model: myModel
+    delegate: Rectangle {
+        height: 25
+        width: 100
+        color: model.modelData.color
+        Text { text: name }
+    }
+}
+//![0]
diff --git a/examples/declarative/modelviews/objectlistmodel/view.qml b/examples/declarative/modelviews/objectlistmodel/view.qml
deleted file mode 100644
index 264289f..0000000
--- a/examples/declarative/modelviews/objectlistmodel/view.qml
+++ /dev/null
@@ -1,56 +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
-
-//![0]
-ListView {
-    width: 100; height: 100
-    anchors.fill: parent
-
-    model: myModel
-    delegate: Rectangle {
-        height: 25
-        width: 100
-        color: model.modelData.color
-        Text { text: name }
-    }
-}
-//![0]
-- 
cgit v0.12


From d2b8c929c672ce524af97ba9505887d470662427 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:50 +0100
Subject: modelviews/package example modifications

Modified the example 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>
---
 .../modelviews/package/Delegate.desktop            |  11 +++
 .../declarative/modelviews/package/Delegate.pro    |  37 ++++++++
 .../declarative/modelviews/package/Delegate.qml    |  88 -------------------
 .../declarative/modelviews/package/Delegate.svg    |  93 +++++++++++++++++++++
 .../declarative/modelviews/package/Delegate64.png  | Bin 0 -> 3400 bytes
 .../declarative/modelviews/package/Delegate80.png  | Bin 0 -> 4945 bytes
 .../modelviews/package/Delegate_harmattan.desktop  |  11 +++
 examples/declarative/modelviews/package/main.cpp   |  54 ++++++++++++
 .../modelviews/package/package.qmlproject          |   6 +-
 .../modelviews/package/qml/Delegate/Delegate.qml   |  88 +++++++++++++++++++
 .../modelviews/package/qml/Delegate/view.qml       |  76 +++++++++++++++++
 examples/declarative/modelviews/package/view.qml   |  76 -----------------
 12 files changed, 373 insertions(+), 167 deletions(-)
 create mode 100644 examples/declarative/modelviews/package/Delegate.desktop
 create mode 100644 examples/declarative/modelviews/package/Delegate.pro
 delete mode 100644 examples/declarative/modelviews/package/Delegate.qml
 create mode 100644 examples/declarative/modelviews/package/Delegate.svg
 create mode 100644 examples/declarative/modelviews/package/Delegate64.png
 create mode 100644 examples/declarative/modelviews/package/Delegate80.png
 create mode 100644 examples/declarative/modelviews/package/Delegate_harmattan.desktop
 create mode 100644 examples/declarative/modelviews/package/main.cpp
 create mode 100644 examples/declarative/modelviews/package/qml/Delegate/Delegate.qml
 create mode 100644 examples/declarative/modelviews/package/qml/Delegate/view.qml
 delete mode 100644 examples/declarative/modelviews/package/view.qml

diff --git a/examples/declarative/modelviews/package/Delegate.desktop b/examples/declarative/modelviews/package/Delegate.desktop
new file mode 100644
index 0000000..8e40128
--- /dev/null
+++ b/examples/declarative/modelviews/package/Delegate.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=Delegate
+Exec=/opt/Delegate/bin/Delegate
+Icon=Delegate64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/modelviews/package/Delegate.pro b/examples/declarative/modelviews/package/Delegate.pro
new file mode 100644
index 0000000..d1b7c82
--- /dev/null
+++ b/examples/declarative/modelviews/package/Delegate.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml\Delegate
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE4E8295C
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/modelviews/package/Delegate.qml b/examples/declarative/modelviews/package/Delegate.qml
deleted file mode 100644
index 24abc5d..0000000
--- a/examples/declarative/modelviews/package/Delegate.qml
+++ /dev/null
@@ -1,88 +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
-
-//![0]
-Package {
-    Text { id: listDelegate; width: 200; height: 25; text: 'Empty'; Package.name: 'list' }
-    Text { id: gridDelegate; width: 100; height: 50; text: 'Empty'; Package.name: 'grid' }
-
-    Rectangle {
-        id: wrapper
-        width: 200; height: 25
-        color: 'lightsteelblue'
-
-        Text { text: display; anchors.centerIn: parent }
-        MouseArea {
-            anchors.fill: parent
-            onClicked: {
-                if (wrapper.state == 'inList')
-                    wrapper.state = 'inGrid';
-                else
-                    wrapper.state = 'inList';
-            }
-        }
-
-        state: 'inList'
-        states: [
-            State {
-                name: 'inList'
-                ParentChange { target: wrapper; parent: listDelegate }
-            },
-            State {
-                name: 'inGrid'
-                ParentChange {
-                    target: wrapper; parent: gridDelegate
-                    x: 0; y: 0; width: gridDelegate.width; height: gridDelegate.height
-                }
-            }
-        ]
-
-        transitions: [
-            Transition {
-                ParentAnimation {
-                    NumberAnimation { properties: 'x,y,width,height'; duration: 300 }
-                }
-            }
-        ]
-    }
-}
-//![0]
diff --git a/examples/declarative/modelviews/package/Delegate.svg b/examples/declarative/modelviews/package/Delegate.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/examples/declarative/modelviews/package/Delegate.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/examples/declarative/modelviews/package/Delegate64.png b/examples/declarative/modelviews/package/Delegate64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/examples/declarative/modelviews/package/Delegate64.png differ
diff --git a/examples/declarative/modelviews/package/Delegate80.png b/examples/declarative/modelviews/package/Delegate80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/examples/declarative/modelviews/package/Delegate80.png differ
diff --git a/examples/declarative/modelviews/package/Delegate_harmattan.desktop b/examples/declarative/modelviews/package/Delegate_harmattan.desktop
new file mode 100644
index 0000000..780e99f
--- /dev/null
+++ b/examples/declarative/modelviews/package/Delegate_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=Delegate
+Exec=/usr/bin/single-instance /opt/Delegate/bin/Delegate
+Icon=/usr/share/icons/hicolor/80x80/apps/Delegate80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/modelviews/package/main.cpp b/examples/declarative/modelviews/package/main.cpp
new file mode 100644
index 0000000..3285515
--- /dev/null
+++ b/examples/declarative/modelviews/package/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include "qmlapplicationviewer.h"
+#include <QtGui/QApplication>
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
+    viewer.setMainQmlFile(QLatin1String("qml/Delegate/view.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/examples/declarative/modelviews/package/package.qmlproject b/examples/declarative/modelviews/package/package.qmlproject
index d4909f8..abe951a 100644
--- a/examples/declarative/modelviews/package/package.qmlproject
+++ b/examples/declarative/modelviews/package/package.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml\Delegate"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml\Delegate"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml\Delegate"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/examples/declarative/modelviews/package/qml/Delegate/Delegate.qml b/examples/declarative/modelviews/package/qml/Delegate/Delegate.qml
new file mode 100644
index 0000000..24abc5d
--- /dev/null
+++ b/examples/declarative/modelviews/package/qml/Delegate/Delegate.qml
@@ -0,0 +1,88 @@
+/****************************************************************************
+**
+** 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
+
+//![0]
+Package {
+    Text { id: listDelegate; width: 200; height: 25; text: 'Empty'; Package.name: 'list' }
+    Text { id: gridDelegate; width: 100; height: 50; text: 'Empty'; Package.name: 'grid' }
+
+    Rectangle {
+        id: wrapper
+        width: 200; height: 25
+        color: 'lightsteelblue'
+
+        Text { text: display; anchors.centerIn: parent }
+        MouseArea {
+            anchors.fill: parent
+            onClicked: {
+                if (wrapper.state == 'inList')
+                    wrapper.state = 'inGrid';
+                else
+                    wrapper.state = 'inList';
+            }
+        }
+
+        state: 'inList'
+        states: [
+            State {
+                name: 'inList'
+                ParentChange { target: wrapper; parent: listDelegate }
+            },
+            State {
+                name: 'inGrid'
+                ParentChange {
+                    target: wrapper; parent: gridDelegate
+                    x: 0; y: 0; width: gridDelegate.width; height: gridDelegate.height
+                }
+            }
+        ]
+
+        transitions: [
+            Transition {
+                ParentAnimation {
+                    NumberAnimation { properties: 'x,y,width,height'; duration: 300 }
+                }
+            }
+        ]
+    }
+}
+//![0]
diff --git a/examples/declarative/modelviews/package/qml/Delegate/view.qml b/examples/declarative/modelviews/package/qml/Delegate/view.qml
new file mode 100644
index 0000000..1715ba1
--- /dev/null
+++ b/examples/declarative/modelviews/package/qml/Delegate/view.qml
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** 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 {
+    color: "white"
+    width: 400
+    height: 200
+
+    ListModel {
+        id: myModel
+        ListElement { display: "One" }
+        ListElement { display: "Two" }
+        ListElement { display: "Three" }
+        ListElement { display: "Four" }
+        ListElement { display: "Five" }
+        ListElement { display: "Six" }
+        ListElement { display: "Seven" }
+        ListElement { display: "Eight" }
+    }
+    //![0]
+    VisualDataModel {
+        id: visualModel
+        delegate: Delegate {}
+        model: myModel
+    }
+
+    ListView {
+        width: 200; height:200
+        model: visualModel.parts.list
+    }
+    GridView {
+        x: 200; width: 200; height:200
+        cellHeight: 50
+        model: visualModel.parts.grid
+    }
+    //![0]
+}
diff --git a/examples/declarative/modelviews/package/view.qml b/examples/declarative/modelviews/package/view.qml
deleted file mode 100644
index 1715ba1..0000000
--- a/examples/declarative/modelviews/package/view.qml
+++ /dev/null
@@ -1,76 +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 {
-    color: "white"
-    width: 400
-    height: 200
-
-    ListModel {
-        id: myModel
-        ListElement { display: "One" }
-        ListElement { display: "Two" }
-        ListElement { display: "Three" }
-        ListElement { display: "Four" }
-        ListElement { display: "Five" }
-        ListElement { display: "Six" }
-        ListElement { display: "Seven" }
-        ListElement { display: "Eight" }
-    }
-    //![0]
-    VisualDataModel {
-        id: visualModel
-        delegate: Delegate {}
-        model: myModel
-    }
-
-    ListView {
-        width: 200; height:200
-        model: visualModel.parts.list
-    }
-    GridView {
-        x: 200; width: 200; height:200
-        cellHeight: 50
-        model: visualModel.parts.grid
-    }
-    //![0]
-}
-- 
cgit v0.12


From c459bd16e2fab5d08fab5d55880eac084d8af615 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:51 +0100
Subject: modelviews/parallax example modifications

Modified the example 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/modelviews/parallax/main.cpp  |  54 +++
 .../modelviews/parallax/parallax.desktop           |  11 +
 .../declarative/modelviews/parallax/parallax.pro   |  37 ++
 .../declarative/modelviews/parallax/parallax.qml   |  78 ----
 .../modelviews/parallax/parallax.qmlproject        |   6 +-
 .../declarative/modelviews/parallax/parallax.svg   |  93 +++++
 .../declarative/modelviews/parallax/parallax64.png | Bin 0 -> 3400 bytes
 .../declarative/modelviews/parallax/parallax80.png | Bin 0 -> 4945 bytes
 .../modelviews/parallax/parallax_harmattan.desktop |  11 +
 .../modelviews/parallax/pics/background.jpg        | Bin 209814 -> 0 bytes
 .../modelviews/parallax/pics/face-smile.png        | Bin 15408 -> 0 bytes
 .../modelviews/parallax/pics/home-page.svg         | 445 ---------------------
 .../modelviews/parallax/pics/shadow.png            | Bin 425 -> 0 bytes
 .../modelviews/parallax/pics/yast-joystick.png     | Bin 2723 -> 0 bytes
 .../modelviews/parallax/pics/yast-wol.png          | Bin 3769 -> 0 bytes
 .../modelviews/parallax/qml/ParallaxView.qml       | 123 ------
 .../declarative/modelviews/parallax/qml/Smiley.qml |  84 ----
 .../parallax/qml/parallax/ParallaxView.qml         | 123 ++++++
 .../modelviews/parallax/qml/parallax/Smiley.qml    |  84 ++++
 .../modelviews/parallax/qml/parallax/parallax.qml  |  78 ++++
 .../parallax/qml/parallax/pics/background.jpg      | Bin 0 -> 209814 bytes
 .../parallax/qml/parallax/pics/face-smile.png      | Bin 0 -> 15408 bytes
 .../parallax/qml/parallax/pics/home-page.svg       | 445 +++++++++++++++++++++
 .../parallax/qml/parallax/pics/shadow.png          | Bin 0 -> 425 bytes
 .../parallax/qml/parallax/pics/yast-joystick.png   | Bin 0 -> 2723 bytes
 .../parallax/qml/parallax/pics/yast-wol.png        | Bin 0 -> 3769 bytes
 26 files changed, 939 insertions(+), 733 deletions(-)
 create mode 100644 examples/declarative/modelviews/parallax/main.cpp
 create mode 100644 examples/declarative/modelviews/parallax/parallax.desktop
 create mode 100644 examples/declarative/modelviews/parallax/parallax.pro
 delete mode 100644 examples/declarative/modelviews/parallax/parallax.qml
 create mode 100644 examples/declarative/modelviews/parallax/parallax.svg
 create mode 100644 examples/declarative/modelviews/parallax/parallax64.png
 create mode 100644 examples/declarative/modelviews/parallax/parallax80.png
 create mode 100644 examples/declarative/modelviews/parallax/parallax_harmattan.desktop
 delete mode 100644 examples/declarative/modelviews/parallax/pics/background.jpg
 delete mode 100644 examples/declarative/modelviews/parallax/pics/face-smile.png
 delete mode 100644 examples/declarative/modelviews/parallax/pics/home-page.svg
 delete mode 100644 examples/declarative/modelviews/parallax/pics/shadow.png
 delete mode 100644 examples/declarative/modelviews/parallax/pics/yast-joystick.png
 delete mode 100644 examples/declarative/modelviews/parallax/pics/yast-wol.png
 delete mode 100644 examples/declarative/modelviews/parallax/qml/ParallaxView.qml
 delete mode 100644 examples/declarative/modelviews/parallax/qml/Smiley.qml
 create mode 100644 examples/declarative/modelviews/parallax/qml/parallax/ParallaxView.qml
 create mode 100644 examples/declarative/modelviews/parallax/qml/parallax/Smiley.qml
 create mode 100644 examples/declarative/modelviews/parallax/qml/parallax/parallax.qml
 create mode 100644 examples/declarative/modelviews/parallax/qml/parallax/pics/background.jpg
 create mode 100644 examples/declarative/modelviews/parallax/qml/parallax/pics/face-smile.png
 create mode 100644 examples/declarative/modelviews/parallax/qml/parallax/pics/home-page.svg
 create mode 100644 examples/declarative/modelviews/parallax/qml/parallax/pics/shadow.png
 create mode 100644 examples/declarative/modelviews/parallax/qml/parallax/pics/yast-joystick.png
 create mode 100644 examples/declarative/modelviews/parallax/qml/parallax/pics/yast-wol.png

diff --git a/examples/declarative/modelviews/parallax/main.cpp b/examples/declarative/modelviews/parallax/main.cpp
new file mode 100644
index 0000000..aa4dc80
--- /dev/null
+++ b/examples/declarative/modelviews/parallax/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include "qmlapplicationviewer.h"
+#include <QtGui/QApplication>
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
+    viewer.setMainQmlFile(QLatin1String("qml/parallax/parallax.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/examples/declarative/modelviews/parallax/parallax.desktop b/examples/declarative/modelviews/parallax/parallax.desktop
new file mode 100644
index 0000000..c3d8cfc
--- /dev/null
+++ b/examples/declarative/modelviews/parallax/parallax.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=parallax
+Exec=/opt/parallax/bin/parallax
+Icon=parallax64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/modelviews/parallax/parallax.pro b/examples/declarative/modelviews/parallax/parallax.pro
new file mode 100644
index 0000000..42272b6
--- /dev/null
+++ b/examples/declarative/modelviews/parallax/parallax.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/parallax
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE1CB8EBB
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/modelviews/parallax/parallax.qml b/examples/declarative/modelviews/parallax/parallax.qml
deleted file mode 100644
index 5fa24ad..0000000
--- a/examples/declarative/modelviews/parallax/parallax.qml
+++ /dev/null
@@ -1,78 +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
-import "../../toys/clocks/content"  // for loading the Clock element
-import "qml"
-
-Rectangle {
-    width: 320; height: 480
-
-    ParallaxView {
-        id: parallax
-        anchors.fill: parent
-        background: "pics/background.jpg"
-
-        Item {
-            property url icon: "pics/yast-wol.png"
-            width: 320; height: 480
-            Clock { anchors.centerIn: parent }
-        }
-
-        Item {
-            property url icon: "pics/home-page.svg"
-            width: 320; height: 480
-            Smiley { }
-        }
-
-        Item {
-            property url icon: "pics/yast-joystick.png"
-            width: 320; height: 480
-
-            Loader {
-                anchors { top: parent.top; topMargin: 10; horizontalCenter: parent.horizontalCenter }
-                width: 300; height: 400
-                clip: true; 
-                source: "../../../../demos/declarative/samegame/samegame.qml"
-                Component.onCompleted: item.inAnotherDemo = true;
-            }
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/parallax/parallax.qmlproject b/examples/declarative/modelviews/parallax/parallax.qmlproject
index d4909f8..cc2a4a6 100644
--- a/examples/declarative/modelviews/parallax/parallax.qmlproject
+++ b/examples/declarative/modelviews/parallax/parallax.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/parallax"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/parallax"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/parallax"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/examples/declarative/modelviews/parallax/parallax.svg b/examples/declarative/modelviews/parallax/parallax.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/examples/declarative/modelviews/parallax/parallax.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/examples/declarative/modelviews/parallax/parallax64.png b/examples/declarative/modelviews/parallax/parallax64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/examples/declarative/modelviews/parallax/parallax64.png differ
diff --git a/examples/declarative/modelviews/parallax/parallax80.png b/examples/declarative/modelviews/parallax/parallax80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/examples/declarative/modelviews/parallax/parallax80.png differ
diff --git a/examples/declarative/modelviews/parallax/parallax_harmattan.desktop b/examples/declarative/modelviews/parallax/parallax_harmattan.desktop
new file mode 100644
index 0000000..2fff255
--- /dev/null
+++ b/examples/declarative/modelviews/parallax/parallax_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=parallax
+Exec=/usr/bin/single-instance /opt/parallax/bin/parallax
+Icon=/usr/share/icons/hicolor/80x80/apps/parallax80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/modelviews/parallax/pics/background.jpg b/examples/declarative/modelviews/parallax/pics/background.jpg
deleted file mode 100644
index 61cca2f..0000000
Binary files a/examples/declarative/modelviews/parallax/pics/background.jpg and /dev/null differ
diff --git a/examples/declarative/modelviews/parallax/pics/face-smile.png b/examples/declarative/modelviews/parallax/pics/face-smile.png
deleted file mode 100644
index 3d66d72..0000000
Binary files a/examples/declarative/modelviews/parallax/pics/face-smile.png and /dev/null differ
diff --git a/examples/declarative/modelviews/parallax/pics/home-page.svg b/examples/declarative/modelviews/parallax/pics/home-page.svg
deleted file mode 100644
index 4f16958..0000000
--- a/examples/declarative/modelviews/parallax/pics/home-page.svg
+++ /dev/null
@@ -1,445 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="48"
-   height="48"
-   overflow="visible"
-   enable-background="new 0 0 128 129.396"
-   xml:space="preserve"
-   id="svg2"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   sodipodi:docname="go-home.svg"
-   sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
-   version="1.0"
-   inkscape:export-filename="/home/tigert/My Downloads/go-home.png"
-   inkscape:export-xdpi="90.000000"
-   inkscape:export-ydpi="90.000000"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
-   id="metadata367"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><cc:license
-         rdf:resource="http://creativecommons.org/licenses/publicdomain/" /><dc:title>Go Home</dc:title><dc:creator><cc:Agent><dc:title>Jakub Steiner</dc:title></cc:Agent></dc:creator><dc:source>http://jimmac.musichall.cz</dc:source><dc:subject><rdf:Bag><rdf:li>home</rdf:li><rdf:li>return</rdf:li><rdf:li>go</rdf:li><rdf:li>default</rdf:li><rdf:li>user</rdf:li><rdf:li>directory</rdf:li></rdf:Bag></dc:subject><dc:contributor><cc:Agent><dc:title>Tuomas Kuosmanen</dc:title></cc:Agent></dc:contributor></cc:Work><cc:License
-       rdf:about="http://creativecommons.org/licenses/publicdomain/"><cc:permits
-         rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
-         rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:permits
-         rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /></cc:License></rdf:RDF></metadata><defs
-   id="defs365"><inkscape:perspective
-     sodipodi:type="inkscape:persp3d"
-     inkscape:vp_x="0 : 24 : 1"
-     inkscape:vp_y="0 : 1000 : 0"
-     inkscape:vp_z="48 : 24 : 1"
-     inkscape:persp3d-origin="24 : 16 : 1"
-     id="perspective92" /><radialGradient
-     inkscape:collect="always"
-     xlink:href="#linearGradient5060"
-     id="radialGradient5031"
-     gradientUnits="userSpaceOnUse"
-     gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
-     cx="605.71429"
-     cy="486.64789"
-     fx="605.71429"
-     fy="486.64789"
-     r="117.14286" /><linearGradient
-     inkscape:collect="always"
-     id="linearGradient5060"><stop
-       style="stop-color:black;stop-opacity:1;"
-       offset="0"
-       id="stop5062" /><stop
-       style="stop-color:black;stop-opacity:0;"
-       offset="1"
-       id="stop5064" /></linearGradient><radialGradient
-     inkscape:collect="always"
-     xlink:href="#linearGradient5060"
-     id="radialGradient5029"
-     gradientUnits="userSpaceOnUse"
-     gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
-     cx="605.71429"
-     cy="486.64789"
-     fx="605.71429"
-     fy="486.64789"
-     r="117.14286" /><linearGradient
-     id="linearGradient5048"><stop
-       style="stop-color:black;stop-opacity:0;"
-       offset="0"
-       id="stop5050" /><stop
-       id="stop5056"
-       offset="0.5"
-       style="stop-color:black;stop-opacity:1;" /><stop
-       style="stop-color:black;stop-opacity:0;"
-       offset="1"
-       id="stop5052" /></linearGradient><linearGradient
-     inkscape:collect="always"
-     xlink:href="#linearGradient5048"
-     id="linearGradient5027"
-     gradientUnits="userSpaceOnUse"
-     gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
-     x1="302.85715"
-     y1="366.64789"
-     x2="302.85715"
-     y2="609.50507" /><linearGradient
-     id="linearGradient2406"><stop
-       style="stop-color:#7c7e79;stop-opacity:1;"
-       offset="0"
-       id="stop2408" /><stop
-       id="stop2414"
-       offset="0.1724138"
-       style="stop-color:#848681;stop-opacity:1;" /><stop
-       style="stop-color:#898c86;stop-opacity:1;"
-       offset="1"
-       id="stop2410" /></linearGradient><linearGradient
-     inkscape:collect="always"
-     id="linearGradient2390"><stop
-       style="stop-color:#919191;stop-opacity:1;"
-       offset="0"
-       id="stop2392" /><stop
-       style="stop-color:#919191;stop-opacity:0;"
-       offset="1"
-       id="stop2394" /></linearGradient><linearGradient
-     inkscape:collect="always"
-     id="linearGradient2378"><stop
-       style="stop-color:#575757;stop-opacity:1;"
-       offset="0"
-       id="stop2380" /><stop
-       style="stop-color:#575757;stop-opacity:0;"
-       offset="1"
-       id="stop2382" /></linearGradient><linearGradient
-     inkscape:collect="always"
-     id="linearGradient2368"><stop
-       style="stop-color:#ffffff;stop-opacity:1;"
-       offset="0"
-       id="stop2370" /><stop
-       style="stop-color:#ffffff;stop-opacity:0;"
-       offset="1"
-       id="stop2372" /></linearGradient><linearGradient
-     inkscape:collect="always"
-     id="linearGradient2349"><stop
-       style="stop-color:#000000;stop-opacity:1;"
-       offset="0"
-       id="stop2351" /><stop
-       style="stop-color:#000000;stop-opacity:0;"
-       offset="1"
-       id="stop2353" /></linearGradient><linearGradient
-     id="linearGradient2341"><stop
-       id="stop2343"
-       offset="0"
-       style="stop-color:#000000;stop-opacity:1;" /><stop
-       id="stop2345"
-       offset="1"
-       style="stop-color:#000000;stop-opacity:0;" /></linearGradient><linearGradient
-     id="linearGradient2329"><stop
-       style="stop-color:#000000;stop-opacity:0.18556701;"
-       offset="0"
-       id="stop2331" /><stop
-       style="stop-color:#ffffff;stop-opacity:1;"
-       offset="1"
-       id="stop2333" /></linearGradient><linearGradient
-     inkscape:collect="always"
-     id="linearGradient2319"><stop
-       style="stop-color:#000000;stop-opacity:1;"
-       offset="0"
-       id="stop2321" /><stop
-       style="stop-color:#000000;stop-opacity:0;"
-       offset="1"
-       id="stop2323" /></linearGradient><linearGradient
-     id="linearGradient2307"><stop
-       style="stop-color:#edd400;stop-opacity:1;"
-       offset="0"
-       id="stop2309" /><stop
-       style="stop-color:#998800;stop-opacity:1;"
-       offset="1"
-       id="stop2311" /></linearGradient><linearGradient
-     inkscape:collect="always"
-     id="linearGradient2299"><stop
-       style="stop-color:#ffffff;stop-opacity:1;"
-       offset="0"
-       id="stop2301" /><stop
-       style="stop-color:#ffffff;stop-opacity:0;"
-       offset="1"
-       id="stop2303" /></linearGradient><linearGradient
-     id="XMLID_2_"
-     gradientUnits="userSpaceOnUse"
-     x1="80.223602"
-     y1="117.5205"
-     x2="48.046001"
-     y2="59.7995"
-     gradientTransform="matrix(0.314683,0.000000,0.000000,0.314683,4.128264,3.742874)">
-				<stop
-   offset="0"
-   style="stop-color:#CCCCCC"
-   id="stop17" />
-				<stop
-   offset="0.9831"
-   style="stop-color:#FFFFFF"
-   id="stop19" />
-				<midPointStop
-   offset="0"
-   style="stop-color:#CCCCCC"
-   id="midPointStop48" />
-				<midPointStop
-   offset="0.5"
-   style="stop-color:#CCCCCC"
-   id="midPointStop50" />
-				<midPointStop
-   offset="0.9831"
-   style="stop-color:#FFFFFF"
-   id="midPointStop52" />
-			</linearGradient><linearGradient
-     inkscape:collect="always"
-     xlink:href="#XMLID_2_"
-     id="linearGradient1514"
-     gradientUnits="userSpaceOnUse"
-     gradientTransform="matrix(0.336922,0.000000,0.000000,0.166888,17.98288,15.46151)"
-     x1="52.006104"
-     y1="166.1331"
-     x2="14.049017"
-     y2="-42.218513" /><linearGradient
-     id="XMLID_39_"
-     gradientUnits="userSpaceOnUse"
-     x1="64.387703"
-     y1="65.124001"
-     x2="64.387703"
-     y2="35.569"
-     gradientTransform="matrix(0.354101,0.000000,0.000000,0.354101,1.638679,-8.364921e-2)">
-						<stop
-   offset="0"
-   style="stop-color:#FFFFFF"
-   id="stop336" />
-						<stop
-   offset="0.8539"
-   style="stop-color:#FF6200"
-   id="stop338" />
-						<stop
-   offset="1"
-   style="stop-color:#F25D00"
-   id="stop340" />
-						<midPointStop
-   offset="0"
-   style="stop-color:#FFFFFF"
-   id="midPointStop335" />
-						<midPointStop
-   offset="0.5"
-   style="stop-color:#FFFFFF"
-   id="midPointStop337" />
-						<midPointStop
-   offset="0.8539"
-   style="stop-color:#FF6200"
-   id="midPointStop339" />
-						<midPointStop
-   offset="0.5"
-   style="stop-color:#FF6200"
-   id="midPointStop341" />
-						<midPointStop
-   offset="1"
-   style="stop-color:#F25D00"
-   id="midPointStop343" />
-					</linearGradient><radialGradient
-     inkscape:collect="always"
-     xlink:href="#linearGradient2299"
-     id="radialGradient2305"
-     cx="7.5326638"
-     cy="24.202574"
-     fx="7.5326638"
-     fy="24.202574"
-     r="8.2452128"
-     gradientTransform="matrix(4.100086,-1.627292e-17,2.125447e-14,4.201322,-25.41506,-78.53967)"
-     gradientUnits="userSpaceOnUse" /><radialGradient
-     inkscape:collect="always"
-     xlink:href="#linearGradient2307"
-     id="radialGradient2313"
-     cx="19.985598"
-     cy="36.77816"
-     fx="19.985598"
-     fy="36.77816"
-     r="1.0821035"
-     gradientTransform="matrix(1.125263,0.000000,0.000000,0.982744,-3.428678,0.565787)"
-     gradientUnits="userSpaceOnUse" /><radialGradient
-     inkscape:collect="always"
-     xlink:href="#linearGradient2319"
-     id="radialGradient2325"
-     cx="20.443665"
-     cy="37.425829"
-     fx="20.443665"
-     fy="37.425829"
-     r="1.0821035"
-     gradientTransform="matrix(1.125263,0.000000,0.000000,0.982744,-3.428678,0.731106)"
-     gradientUnits="userSpaceOnUse" /><linearGradient
-     inkscape:collect="always"
-     xlink:href="#linearGradient2329"
-     id="linearGradient2335"
-     x1="17.602522"
-     y1="26.057423"
-     x2="17.682528"
-     y2="32.654099"
-     gradientUnits="userSpaceOnUse"
-     gradientTransform="matrix(0.898789,0,0,1.071914,0.478025,-2.080838)" /><radialGradient
-     inkscape:collect="always"
-     xlink:href="#linearGradient2341"
-     id="radialGradient2339"
-     gradientUnits="userSpaceOnUse"
-     gradientTransform="matrix(4.100086,1.627292e-17,2.125447e-14,-4.201322,-5.198109,105.3535)"
-     cx="11.68129"
-     cy="19.554111"
-     fx="11.68129"
-     fy="19.554111"
-     r="8.2452126" /><radialGradient
-     inkscape:collect="always"
-     xlink:href="#linearGradient2349"
-     id="radialGradient2355"
-     cx="24.023088"
-     cy="40.56913"
-     fx="24.023088"
-     fy="40.56913"
-     r="16.28684"
-     gradientTransform="matrix(1.000000,0.000000,0.000000,0.431250,1.157278e-15,23.07369)"
-     gradientUnits="userSpaceOnUse" /><radialGradient
-     inkscape:collect="always"
-     xlink:href="#linearGradient2368"
-     id="radialGradient2374"
-     cx="29.913452"
-     cy="30.442923"
-     fx="29.913452"
-     fy="30.442923"
-     r="4.0018832"
-     gradientTransform="matrix(3.751495,-2.191984e-22,1.723265e-22,3.147818,-82.00907,-65.70704)"
-     gradientUnits="userSpaceOnUse" /><radialGradient
-     inkscape:collect="always"
-     xlink:href="#linearGradient2378"
-     id="radialGradient2384"
-     cx="24.195112"
-     cy="10.577631"
-     fx="24.195112"
-     fy="10.577631"
-     r="15.242914"
-     gradientTransform="matrix(1.125263,-3.585417e-8,4.269819e-8,1.340059,-3.006704,1.355395)"
-     gradientUnits="userSpaceOnUse" /><linearGradient
-     inkscape:collect="always"
-     xlink:href="#linearGradient2390"
-     id="linearGradient2396"
-     x1="30.603519"
-     y1="37.337803"
-     x2="30.603519"
-     y2="36.112415"
-     gradientUnits="userSpaceOnUse"
-     gradientTransform="matrix(1.263867,0,0,0.859794,-6.499556,8.390924)" /><linearGradient
-     inkscape:collect="always"
-     xlink:href="#linearGradient2406"
-     id="linearGradient2412"
-     x1="17.850183"
-     y1="28.939463"
-     x2="19.040216"
-     y2="41.03223"
-     gradientUnits="userSpaceOnUse"
-     gradientTransform="matrix(0.888785,0,0,1.08932,2.41099,-1.524336)" /></defs><sodipodi:namedview
-   inkscape:cy="-2.3755359"
-   inkscape:cx="25.234802"
-   inkscape:zoom="1"
-   inkscape:window-height="691"
-   inkscape:window-width="872"
-   inkscape:pageshadow="2"
-   inkscape:pageopacity="0.0"
-   borderopacity="0.21568627"
-   bordercolor="#666666"
-   pagecolor="#ffffff"
-   id="base"
-   inkscape:showpageshadow="false"
-   inkscape:window-x="466"
-   inkscape:window-y="157"
-   inkscape:current-layer="svg2"
-   fill="#555753"
-   showgrid="false"
-   stroke="#a40000"
-   showguides="true"
-   inkscape:guide-bbox="true" />
-	<g
-   style="display:inline"
-   id="g5022"
-   transform="matrix(2.158196e-2,0,0,1.859457e-2,43.12251,41.63767)"><rect
-     y="-150.69685"
-     x="-1559.2523"
-     height="478.35718"
-     width="1339.6335"
-     id="rect4173"
-     style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
-     sodipodi:nodetypes="cccc"
-     id="path5058"
-     d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
-     style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
-     style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-     d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
-     id="path5018"
-     sodipodi:nodetypes="cccc" /></g><path
-   style="color:#000000;fill:url(#linearGradient1514);fill-opacity:1;fill-rule:nonzero;stroke:#757575;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-   d="M 21.619576,8.1833733 L 27.577035,8.1833733 C 28.416767,8.1833733 41.46351,23.618701 41.46351,24.524032 L 41.019989,43.020777 C 41.019989,43.92611 40.343959,44.654954 39.504227,44.654954 L 8.0469496,44.654954 C 7.2072167,44.654954 6.5311871,43.92611 6.5311871,43.020777 L 6.5876651,24.524032 C 6.5876651,23.618701 20.779844,8.1833733 21.619576,8.1833733 z "
-   id="rect1512"
-   sodipodi:nodetypes="ccccccccc" /><path
-   style="fill:none"
-   id="path5"
-   d="M 46.963575,45.735573 L 1.6386762,45.735573 L 1.6386762,0.41067554 L 46.963575,0.41067554 L 46.963575,45.735573 z " /><path
-   style="fill:url(#linearGradient2335);fill-opacity:1;fill-rule:evenodd"
-   id="path2327"
-   d="M 23,29 L 22.954256,44.090942 L 11.111465,44.090942 L 11,29 L 23,29 z "
-   clip-rule="evenodd"
-   sodipodi:nodetypes="ccccc" /><path
-   sodipodi:nodetypes="ccccccccc"
-   id="path2357"
-   d="M 21.780459,9.405584 L 27.339556,9.405584 C 28.123138,9.405584 40.340425,23.805172 40.340425,24.649756 L 39.993267,42.862067 C 39.993267,43.321326 39.84953,43.515532 39.480892,43.515532 L 8.0936894,43.529812 C 7.7250517,43.529812 7.5097258,43.449894 7.5097258,43.076262 L 7.7250676,24.649756 C 7.7250676,23.805172 20.99688,9.405584 21.780459,9.405584 z "
-   style="opacity:0.3125;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
-   clip-rule="evenodd"
-   d="M 7.2075295,27.943053 L 7.1532728,30.538247 L 25.521437,17.358993 L 40.807832,28.513421 L 40.879142,28.201707 L 24.508686,12.297576 L 7.2075295,27.943053 z "
-   id="path23"
-   style="opacity:0.2;fill:url(#radialGradient2384);fill-opacity:1;fill-rule:evenodd"
-   sodipodi:nodetypes="ccccccc" /><path
-   clip-rule="evenodd"
-   d="M 22,30 L 22,44.090942 L 12.188971,44.090942 L 12,30 L 22,30 z "
-   id="path188"
-   style="fill:url(#linearGradient2412);fill-opacity:1;fill-rule:evenodd"
-   sodipodi:nodetypes="ccccc" /><path
-   style="opacity:0.40909089;fill:url(#radialGradient2325);fill-opacity:1;fill-rule:evenodd"
-   id="path2315"
-   d="M 19.576856,36.44767 C 20.249646,36.44767 20.793472,36.922275 20.793472,37.506177 C 20.793472,38.095988 20.249646,38.574532 19.576856,38.574532 C 18.904584,38.574532 18.35817,38.095988 18.35817,37.506177 C 18.358685,36.922275 18.904584,36.44767 19.576856,36.44767 z "
-   clip-rule="evenodd" /><path
-   clip-rule="evenodd"
-   d="M 19.462314,35.932229 C 20.135103,35.932229 20.678929,36.406834 20.678929,36.990736 C 20.678929,37.580545 20.135103,38.059089 19.462314,38.059089 C 18.790041,38.059089 18.243627,37.580545 18.243627,36.990736 C 18.244142,36.406834 18.790041,35.932229 19.462314,35.932229 z "
-   id="path217"
-   style="fill:url(#radialGradient2313);fill-opacity:1;fill-rule:evenodd" /><path
-   d="M 24.447748,11.559337 L 43.374808,28.729205 L 43.869487,29.121196 L 44.273163,28.949811 L 43.900293,28.188138 L 43.622679,27.964702 L 24.447748,12.392396 L 5.0582327,28.135731 L 4.8206309,28.279851 L 4.603921,28.986637 L 5.0373408,29.115885 L 5.4218948,28.807462 L 24.447748,11.559337 z "
-   id="path342"
-   style="fill:url(#XMLID_39_)"
-   sodipodi:nodetypes="ccccccccccccc" /><path
-   style="fill:#ef2929;stroke:#a40000"
-   id="path362"
-   d="M 24.330168,2.2713382 L 2.4484294,20.372675 L 1.8237005,27.538603 L 3.8236367,29.602926 C 3.8236367,29.602926 24.231018,12.445641 24.44773,12.274963 L 44.08027,29.818223 L 45.978694,27.494226 L 44.362903,20.382852 L 24.44773,2.1668788 L 24.330168,2.2713382 z "
-   sodipodi:nodetypes="cccccccccc" />
-<path
-   style="opacity:0.40909089;color:#000000;fill:url(#radialGradient2305);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-   d="M 2.8413446,20.613129 L 2.5497894,27.236494 L 24.369219,8.980075 L 24.298891,3.0867443 L 2.8413446,20.613129 z "
-   id="path1536"
-   sodipodi:nodetypes="ccccc" /><path
-   sodipodi:nodetypes="ccccc"
-   id="path2337"
-   d="M 24.483763,8.7509884 L 24.583223,2.9098867 L 43.912186,20.56184 L 45.403998,27.062652 L 24.483763,8.7509884 z "
-   style="opacity:0.13636367;color:#000000;fill:url(#radialGradient2339);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
-   style="opacity:0.31818183;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99999934;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-   d="M 27.102228,27.719824 L 36.142223,27.719824 C 36.912818,27.719824 37.53319,28.340194 37.53319,29.110791 L 37.525229,38.190012 C 37.525229,38.960608 36.928907,39.455981 36.158311,39.455981 L 27.102228,39.455981 C 26.331631,39.455981 25.711261,38.835608 25.711261,38.065012 L 25.711261,29.110791 C 25.711261,28.340194 26.331631,27.719824 27.102228,27.719824 z "
-   id="rect2361"
-   sodipodi:nodetypes="ccccccccc" /><rect
-   style="opacity:1;color:#000000;fill:#3465a4;fill-opacity:1;fill-rule:nonzero;stroke:#757575;stroke-width:0.9999994;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-   id="rect3263"
-   width="10.001333"
-   height="9.9624557"
-   x="26.507767"
-   y="28.514256"
-   rx="0.38128215"
-   ry="0.38128215" /><path
-   style="opacity:0.39772728;color:#000000;fill:url(#radialGradient2374);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-   d="M 27.107118,34.408261 C 30.725101,34.739438 32.634842,32.962557 35.97527,32.855521 L 36,29.00603 L 27.088388,29 L 27.107118,34.408261 z "
-   id="rect2363"
-   sodipodi:nodetypes="ccccc" /></svg>
\ No newline at end of file
diff --git a/examples/declarative/modelviews/parallax/pics/shadow.png b/examples/declarative/modelviews/parallax/pics/shadow.png
deleted file mode 100644
index 8270565..0000000
Binary files a/examples/declarative/modelviews/parallax/pics/shadow.png and /dev/null differ
diff --git a/examples/declarative/modelviews/parallax/pics/yast-joystick.png b/examples/declarative/modelviews/parallax/pics/yast-joystick.png
deleted file mode 100644
index 858cea0..0000000
Binary files a/examples/declarative/modelviews/parallax/pics/yast-joystick.png and /dev/null differ
diff --git a/examples/declarative/modelviews/parallax/pics/yast-wol.png b/examples/declarative/modelviews/parallax/pics/yast-wol.png
deleted file mode 100644
index 7712180..0000000
Binary files a/examples/declarative/modelviews/parallax/pics/yast-wol.png and /dev/null differ
diff --git a/examples/declarative/modelviews/parallax/qml/ParallaxView.qml b/examples/declarative/modelviews/parallax/qml/ParallaxView.qml
deleted file mode 100644
index 9ad636f..0000000
--- a/examples/declarative/modelviews/parallax/qml/ParallaxView.qml
+++ /dev/null
@@ -1,123 +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
-
-Item {
-    id: root
-
-    property alias background: background.source
-    property int currentIndex: 0
-    default property alias content: visualModel.children
-
-    Image {
-        id: background
-        fillMode: Image.TileHorizontally
-        x: -list.contentX / 2
-        width: Math.max(list.contentWidth, parent.width)
-    }
-
-    ListView {
-        id: list
-        anchors.fill: parent
-
-        currentIndex: root.currentIndex
-        onCurrentIndexChanged: root.currentIndex = currentIndex
-
-        orientation: Qt.Horizontal
-        boundsBehavior: Flickable.DragOverBounds
-        model: VisualItemModel { id: visualModel }
-
-        highlightRangeMode: ListView.StrictlyEnforceRange
-        snapMode: ListView.SnapOneItem
-    }
-
-    ListView {
-        id: selector
-
-        height: 50
-        anchors.bottom: parent.bottom
-        anchors.horizontalCenter: parent.horizontalCenter
-        width: Math.min(count * 50, parent.width - 20)
-        interactive: width == parent.width - 20
-        orientation: Qt.Horizontal
-
-        currentIndex: root.currentIndex
-        onCurrentIndexChanged: root.currentIndex = currentIndex
-
-        model: visualModel.children
-        delegate: Item {
-            width: 50; height: 50
-            id: delegateRoot
-
-            Image {
-                id: image
-                source: modelData.icon
-                smooth: true
-                scale: 0.8
-            }
-
-            MouseArea {
-                anchors.fill: parent
-                onClicked: { root.currentIndex = index }
-            }
-
-            states: State {
-                name: "Selected"
-                when: delegateRoot.ListView.isCurrentItem == true
-                PropertyChanges {
-                    target: image
-                    scale: 1
-                    y: -5
-                }
-            }
-            transitions: Transition {
-                NumberAnimation { properties: "scale,y" }
-            }
-        }
-
-        Rectangle {
-            color: "#60FFFFFF"
-            x: -10; y: -10; z: -1
-            width: parent.width + 20; height: parent.height + 20
-            radius: 10
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/parallax/qml/Smiley.qml b/examples/declarative/modelviews/parallax/qml/Smiley.qml
deleted file mode 100644
index c964f50..0000000
--- a/examples/declarative/modelviews/parallax/qml/Smiley.qml
+++ /dev/null
@@ -1,84 +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 taken from the declarative animation/basics/property-animation.qml
-// example
-
-Item {
-    id: window
-    width: 320; height: 480
-
-    Image {
-        anchors.horizontalCenter: parent.horizontalCenter
-        y: smiley.minHeight + 58
-        source: "../pics/shadow.png"
-
-        scale: smiley.y * 0.5 / (smiley.minHeight - smiley.maxHeight)
-    }
-
-    Image {
-        id: smiley
-        property int maxHeight: window.height / 3
-        property int minHeight: 2 * window.height / 3
-
-        anchors.horizontalCenter: parent.horizontalCenter
-        y: minHeight
-        source: "../pics/face-smile.png"
-
-        SequentialAnimation on y {
-            loops: Animation.Infinite
-
-            NumberAnimation {
-                from: smiley.minHeight; to: smiley.maxHeight
-                easing.type: Easing.OutExpo; duration: 300
-            }
-
-            NumberAnimation {
-                from: smiley.maxHeight; to: smiley.minHeight
-                easing.type: Easing.OutBounce; duration: 1000
-            }
-
-            PauseAnimation { duration: 500 }
-        }
-    }
-}
-
diff --git a/examples/declarative/modelviews/parallax/qml/parallax/ParallaxView.qml b/examples/declarative/modelviews/parallax/qml/parallax/ParallaxView.qml
new file mode 100644
index 0000000..9ad636f
--- /dev/null
+++ b/examples/declarative/modelviews/parallax/qml/parallax/ParallaxView.qml
@@ -0,0 +1,123 @@
+/****************************************************************************
+**
+** 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
+
+Item {
+    id: root
+
+    property alias background: background.source
+    property int currentIndex: 0
+    default property alias content: visualModel.children
+
+    Image {
+        id: background
+        fillMode: Image.TileHorizontally
+        x: -list.contentX / 2
+        width: Math.max(list.contentWidth, parent.width)
+    }
+
+    ListView {
+        id: list
+        anchors.fill: parent
+
+        currentIndex: root.currentIndex
+        onCurrentIndexChanged: root.currentIndex = currentIndex
+
+        orientation: Qt.Horizontal
+        boundsBehavior: Flickable.DragOverBounds
+        model: VisualItemModel { id: visualModel }
+
+        highlightRangeMode: ListView.StrictlyEnforceRange
+        snapMode: ListView.SnapOneItem
+    }
+
+    ListView {
+        id: selector
+
+        height: 50
+        anchors.bottom: parent.bottom
+        anchors.horizontalCenter: parent.horizontalCenter
+        width: Math.min(count * 50, parent.width - 20)
+        interactive: width == parent.width - 20
+        orientation: Qt.Horizontal
+
+        currentIndex: root.currentIndex
+        onCurrentIndexChanged: root.currentIndex = currentIndex
+
+        model: visualModel.children
+        delegate: Item {
+            width: 50; height: 50
+            id: delegateRoot
+
+            Image {
+                id: image
+                source: modelData.icon
+                smooth: true
+                scale: 0.8
+            }
+
+            MouseArea {
+                anchors.fill: parent
+                onClicked: { root.currentIndex = index }
+            }
+
+            states: State {
+                name: "Selected"
+                when: delegateRoot.ListView.isCurrentItem == true
+                PropertyChanges {
+                    target: image
+                    scale: 1
+                    y: -5
+                }
+            }
+            transitions: Transition {
+                NumberAnimation { properties: "scale,y" }
+            }
+        }
+
+        Rectangle {
+            color: "#60FFFFFF"
+            x: -10; y: -10; z: -1
+            width: parent.width + 20; height: parent.height + 20
+            radius: 10
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/parallax/qml/parallax/Smiley.qml b/examples/declarative/modelviews/parallax/qml/parallax/Smiley.qml
new file mode 100644
index 0000000..d866ea9
--- /dev/null
+++ b/examples/declarative/modelviews/parallax/qml/parallax/Smiley.qml
@@ -0,0 +1,84 @@
+/****************************************************************************
+**
+** 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 taken from the declarative animation/basics/property-animation.qml
+// example
+
+Item {
+    id: window
+    width: 320; height: 480
+
+    Image {
+        anchors.horizontalCenter: parent.horizontalCenter
+        y: smiley.minHeight + 58
+        source: "pics/shadow.png"
+
+        scale: smiley.y * 0.5 / (smiley.minHeight - smiley.maxHeight)
+    }
+
+    Image {
+        id: smiley
+        property int maxHeight: window.height / 3
+        property int minHeight: 2 * window.height / 3
+
+        anchors.horizontalCenter: parent.horizontalCenter
+        y: minHeight
+        source: "pics/face-smile.png"
+
+        SequentialAnimation on y {
+            loops: Animation.Infinite
+
+            NumberAnimation {
+                from: smiley.minHeight; to: smiley.maxHeight
+                easing.type: Easing.OutExpo; duration: 300
+            }
+
+            NumberAnimation {
+                from: smiley.maxHeight; to: smiley.minHeight
+                easing.type: Easing.OutBounce; duration: 1000
+            }
+
+            PauseAnimation { duration: 500 }
+        }
+    }
+}
+
diff --git a/examples/declarative/modelviews/parallax/qml/parallax/parallax.qml b/examples/declarative/modelviews/parallax/qml/parallax/parallax.qml
new file mode 100644
index 0000000..c518910
--- /dev/null
+++ b/examples/declarative/modelviews/parallax/qml/parallax/parallax.qml
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** 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
+import "../../../../toys/clocks/content"  // for loading the Clock element
+//import "qml"
+
+Rectangle {
+    width: 320; height: 480
+
+    ParallaxView {
+        id: parallax
+        anchors.fill: parent
+        background: "pics/background.jpg"
+
+        Item {
+            property url icon: "pics/yast-wol.png"
+            width: 320; height: 480
+            Clock { anchors.centerIn: parent }
+        }
+
+        Item {
+            property url icon: "pics/home-page.svg"
+            width: 320; height: 480
+            Smiley { }
+        }
+
+        Item {
+            property url icon: "pics/yast-joystick.png"
+            width: 320; height: 480
+
+            Loader {
+                anchors { top: parent.top; topMargin: 10; horizontalCenter: parent.horizontalCenter }
+                width: 300; height: 400
+                clip: true; 
+                source: "../../../../../../demos/declarative/samegame/samegame.qml"
+                Component.onCompleted: item.inAnotherDemo = true;
+            }
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/parallax/qml/parallax/pics/background.jpg b/examples/declarative/modelviews/parallax/qml/parallax/pics/background.jpg
new file mode 100644
index 0000000..61cca2f
Binary files /dev/null and b/examples/declarative/modelviews/parallax/qml/parallax/pics/background.jpg differ
diff --git a/examples/declarative/modelviews/parallax/qml/parallax/pics/face-smile.png b/examples/declarative/modelviews/parallax/qml/parallax/pics/face-smile.png
new file mode 100644
index 0000000..3d66d72
Binary files /dev/null and b/examples/declarative/modelviews/parallax/qml/parallax/pics/face-smile.png differ
diff --git a/examples/declarative/modelviews/parallax/qml/parallax/pics/home-page.svg b/examples/declarative/modelviews/parallax/qml/parallax/pics/home-page.svg
new file mode 100644
index 0000000..4f16958
--- /dev/null
+++ b/examples/declarative/modelviews/parallax/qml/parallax/pics/home-page.svg
@@ -0,0 +1,445 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="48"
+   height="48"
+   overflow="visible"
+   enable-background="new 0 0 128 129.396"
+   xml:space="preserve"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="go-home.svg"
+   sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
+   version="1.0"
+   inkscape:export-filename="/home/tigert/My Downloads/go-home.png"
+   inkscape:export-xdpi="90.000000"
+   inkscape:export-ydpi="90.000000"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata367"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><cc:license
+         rdf:resource="http://creativecommons.org/licenses/publicdomain/" /><dc:title>Go Home</dc:title><dc:creator><cc:Agent><dc:title>Jakub Steiner</dc:title></cc:Agent></dc:creator><dc:source>http://jimmac.musichall.cz</dc:source><dc:subject><rdf:Bag><rdf:li>home</rdf:li><rdf:li>return</rdf:li><rdf:li>go</rdf:li><rdf:li>default</rdf:li><rdf:li>user</rdf:li><rdf:li>directory</rdf:li></rdf:Bag></dc:subject><dc:contributor><cc:Agent><dc:title>Tuomas Kuosmanen</dc:title></cc:Agent></dc:contributor></cc:Work><cc:License
+       rdf:about="http://creativecommons.org/licenses/publicdomain/"><cc:permits
+         rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
+         rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:permits
+         rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /></cc:License></rdf:RDF></metadata><defs
+   id="defs365"><inkscape:perspective
+     sodipodi:type="inkscape:persp3d"
+     inkscape:vp_x="0 : 24 : 1"
+     inkscape:vp_y="0 : 1000 : 0"
+     inkscape:vp_z="48 : 24 : 1"
+     inkscape:persp3d-origin="24 : 16 : 1"
+     id="perspective92" /><radialGradient
+     inkscape:collect="always"
+     xlink:href="#linearGradient5060"
+     id="radialGradient5031"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+     cx="605.71429"
+     cy="486.64789"
+     fx="605.71429"
+     fy="486.64789"
+     r="117.14286" /><linearGradient
+     inkscape:collect="always"
+     id="linearGradient5060"><stop
+       style="stop-color:black;stop-opacity:1;"
+       offset="0"
+       id="stop5062" /><stop
+       style="stop-color:black;stop-opacity:0;"
+       offset="1"
+       id="stop5064" /></linearGradient><radialGradient
+     inkscape:collect="always"
+     xlink:href="#linearGradient5060"
+     id="radialGradient5029"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+     cx="605.71429"
+     cy="486.64789"
+     fx="605.71429"
+     fy="486.64789"
+     r="117.14286" /><linearGradient
+     id="linearGradient5048"><stop
+       style="stop-color:black;stop-opacity:0;"
+       offset="0"
+       id="stop5050" /><stop
+       id="stop5056"
+       offset="0.5"
+       style="stop-color:black;stop-opacity:1;" /><stop
+       style="stop-color:black;stop-opacity:0;"
+       offset="1"
+       id="stop5052" /></linearGradient><linearGradient
+     inkscape:collect="always"
+     xlink:href="#linearGradient5048"
+     id="linearGradient5027"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+     x1="302.85715"
+     y1="366.64789"
+     x2="302.85715"
+     y2="609.50507" /><linearGradient
+     id="linearGradient2406"><stop
+       style="stop-color:#7c7e79;stop-opacity:1;"
+       offset="0"
+       id="stop2408" /><stop
+       id="stop2414"
+       offset="0.1724138"
+       style="stop-color:#848681;stop-opacity:1;" /><stop
+       style="stop-color:#898c86;stop-opacity:1;"
+       offset="1"
+       id="stop2410" /></linearGradient><linearGradient
+     inkscape:collect="always"
+     id="linearGradient2390"><stop
+       style="stop-color:#919191;stop-opacity:1;"
+       offset="0"
+       id="stop2392" /><stop
+       style="stop-color:#919191;stop-opacity:0;"
+       offset="1"
+       id="stop2394" /></linearGradient><linearGradient
+     inkscape:collect="always"
+     id="linearGradient2378"><stop
+       style="stop-color:#575757;stop-opacity:1;"
+       offset="0"
+       id="stop2380" /><stop
+       style="stop-color:#575757;stop-opacity:0;"
+       offset="1"
+       id="stop2382" /></linearGradient><linearGradient
+     inkscape:collect="always"
+     id="linearGradient2368"><stop
+       style="stop-color:#ffffff;stop-opacity:1;"
+       offset="0"
+       id="stop2370" /><stop
+       style="stop-color:#ffffff;stop-opacity:0;"
+       offset="1"
+       id="stop2372" /></linearGradient><linearGradient
+     inkscape:collect="always"
+     id="linearGradient2349"><stop
+       style="stop-color:#000000;stop-opacity:1;"
+       offset="0"
+       id="stop2351" /><stop
+       style="stop-color:#000000;stop-opacity:0;"
+       offset="1"
+       id="stop2353" /></linearGradient><linearGradient
+     id="linearGradient2341"><stop
+       id="stop2343"
+       offset="0"
+       style="stop-color:#000000;stop-opacity:1;" /><stop
+       id="stop2345"
+       offset="1"
+       style="stop-color:#000000;stop-opacity:0;" /></linearGradient><linearGradient
+     id="linearGradient2329"><stop
+       style="stop-color:#000000;stop-opacity:0.18556701;"
+       offset="0"
+       id="stop2331" /><stop
+       style="stop-color:#ffffff;stop-opacity:1;"
+       offset="1"
+       id="stop2333" /></linearGradient><linearGradient
+     inkscape:collect="always"
+     id="linearGradient2319"><stop
+       style="stop-color:#000000;stop-opacity:1;"
+       offset="0"
+       id="stop2321" /><stop
+       style="stop-color:#000000;stop-opacity:0;"
+       offset="1"
+       id="stop2323" /></linearGradient><linearGradient
+     id="linearGradient2307"><stop
+       style="stop-color:#edd400;stop-opacity:1;"
+       offset="0"
+       id="stop2309" /><stop
+       style="stop-color:#998800;stop-opacity:1;"
+       offset="1"
+       id="stop2311" /></linearGradient><linearGradient
+     inkscape:collect="always"
+     id="linearGradient2299"><stop
+       style="stop-color:#ffffff;stop-opacity:1;"
+       offset="0"
+       id="stop2301" /><stop
+       style="stop-color:#ffffff;stop-opacity:0;"
+       offset="1"
+       id="stop2303" /></linearGradient><linearGradient
+     id="XMLID_2_"
+     gradientUnits="userSpaceOnUse"
+     x1="80.223602"
+     y1="117.5205"
+     x2="48.046001"
+     y2="59.7995"
+     gradientTransform="matrix(0.314683,0.000000,0.000000,0.314683,4.128264,3.742874)">
+				<stop
+   offset="0"
+   style="stop-color:#CCCCCC"
+   id="stop17" />
+				<stop
+   offset="0.9831"
+   style="stop-color:#FFFFFF"
+   id="stop19" />
+				<midPointStop
+   offset="0"
+   style="stop-color:#CCCCCC"
+   id="midPointStop48" />
+				<midPointStop
+   offset="0.5"
+   style="stop-color:#CCCCCC"
+   id="midPointStop50" />
+				<midPointStop
+   offset="0.9831"
+   style="stop-color:#FFFFFF"
+   id="midPointStop52" />
+			</linearGradient><linearGradient
+     inkscape:collect="always"
+     xlink:href="#XMLID_2_"
+     id="linearGradient1514"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(0.336922,0.000000,0.000000,0.166888,17.98288,15.46151)"
+     x1="52.006104"
+     y1="166.1331"
+     x2="14.049017"
+     y2="-42.218513" /><linearGradient
+     id="XMLID_39_"
+     gradientUnits="userSpaceOnUse"
+     x1="64.387703"
+     y1="65.124001"
+     x2="64.387703"
+     y2="35.569"
+     gradientTransform="matrix(0.354101,0.000000,0.000000,0.354101,1.638679,-8.364921e-2)">
+						<stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop336" />
+						<stop
+   offset="0.8539"
+   style="stop-color:#FF6200"
+   id="stop338" />
+						<stop
+   offset="1"
+   style="stop-color:#F25D00"
+   id="stop340" />
+						<midPointStop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="midPointStop335" />
+						<midPointStop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="midPointStop337" />
+						<midPointStop
+   offset="0.8539"
+   style="stop-color:#FF6200"
+   id="midPointStop339" />
+						<midPointStop
+   offset="0.5"
+   style="stop-color:#FF6200"
+   id="midPointStop341" />
+						<midPointStop
+   offset="1"
+   style="stop-color:#F25D00"
+   id="midPointStop343" />
+					</linearGradient><radialGradient
+     inkscape:collect="always"
+     xlink:href="#linearGradient2299"
+     id="radialGradient2305"
+     cx="7.5326638"
+     cy="24.202574"
+     fx="7.5326638"
+     fy="24.202574"
+     r="8.2452128"
+     gradientTransform="matrix(4.100086,-1.627292e-17,2.125447e-14,4.201322,-25.41506,-78.53967)"
+     gradientUnits="userSpaceOnUse" /><radialGradient
+     inkscape:collect="always"
+     xlink:href="#linearGradient2307"
+     id="radialGradient2313"
+     cx="19.985598"
+     cy="36.77816"
+     fx="19.985598"
+     fy="36.77816"
+     r="1.0821035"
+     gradientTransform="matrix(1.125263,0.000000,0.000000,0.982744,-3.428678,0.565787)"
+     gradientUnits="userSpaceOnUse" /><radialGradient
+     inkscape:collect="always"
+     xlink:href="#linearGradient2319"
+     id="radialGradient2325"
+     cx="20.443665"
+     cy="37.425829"
+     fx="20.443665"
+     fy="37.425829"
+     r="1.0821035"
+     gradientTransform="matrix(1.125263,0.000000,0.000000,0.982744,-3.428678,0.731106)"
+     gradientUnits="userSpaceOnUse" /><linearGradient
+     inkscape:collect="always"
+     xlink:href="#linearGradient2329"
+     id="linearGradient2335"
+     x1="17.602522"
+     y1="26.057423"
+     x2="17.682528"
+     y2="32.654099"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(0.898789,0,0,1.071914,0.478025,-2.080838)" /><radialGradient
+     inkscape:collect="always"
+     xlink:href="#linearGradient2341"
+     id="radialGradient2339"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(4.100086,1.627292e-17,2.125447e-14,-4.201322,-5.198109,105.3535)"
+     cx="11.68129"
+     cy="19.554111"
+     fx="11.68129"
+     fy="19.554111"
+     r="8.2452126" /><radialGradient
+     inkscape:collect="always"
+     xlink:href="#linearGradient2349"
+     id="radialGradient2355"
+     cx="24.023088"
+     cy="40.56913"
+     fx="24.023088"
+     fy="40.56913"
+     r="16.28684"
+     gradientTransform="matrix(1.000000,0.000000,0.000000,0.431250,1.157278e-15,23.07369)"
+     gradientUnits="userSpaceOnUse" /><radialGradient
+     inkscape:collect="always"
+     xlink:href="#linearGradient2368"
+     id="radialGradient2374"
+     cx="29.913452"
+     cy="30.442923"
+     fx="29.913452"
+     fy="30.442923"
+     r="4.0018832"
+     gradientTransform="matrix(3.751495,-2.191984e-22,1.723265e-22,3.147818,-82.00907,-65.70704)"
+     gradientUnits="userSpaceOnUse" /><radialGradient
+     inkscape:collect="always"
+     xlink:href="#linearGradient2378"
+     id="radialGradient2384"
+     cx="24.195112"
+     cy="10.577631"
+     fx="24.195112"
+     fy="10.577631"
+     r="15.242914"
+     gradientTransform="matrix(1.125263,-3.585417e-8,4.269819e-8,1.340059,-3.006704,1.355395)"
+     gradientUnits="userSpaceOnUse" /><linearGradient
+     inkscape:collect="always"
+     xlink:href="#linearGradient2390"
+     id="linearGradient2396"
+     x1="30.603519"
+     y1="37.337803"
+     x2="30.603519"
+     y2="36.112415"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(1.263867,0,0,0.859794,-6.499556,8.390924)" /><linearGradient
+     inkscape:collect="always"
+     xlink:href="#linearGradient2406"
+     id="linearGradient2412"
+     x1="17.850183"
+     y1="28.939463"
+     x2="19.040216"
+     y2="41.03223"
+     gradientUnits="userSpaceOnUse"
+     gradientTransform="matrix(0.888785,0,0,1.08932,2.41099,-1.524336)" /></defs><sodipodi:namedview
+   inkscape:cy="-2.3755359"
+   inkscape:cx="25.234802"
+   inkscape:zoom="1"
+   inkscape:window-height="691"
+   inkscape:window-width="872"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   borderopacity="0.21568627"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   inkscape:showpageshadow="false"
+   inkscape:window-x="466"
+   inkscape:window-y="157"
+   inkscape:current-layer="svg2"
+   fill="#555753"
+   showgrid="false"
+   stroke="#a40000"
+   showguides="true"
+   inkscape:guide-bbox="true" />
+	<g
+   style="display:inline"
+   id="g5022"
+   transform="matrix(2.158196e-2,0,0,1.859457e-2,43.12251,41.63767)"><rect
+     y="-150.69685"
+     x="-1559.2523"
+     height="478.35718"
+     width="1339.6335"
+     id="rect4173"
+     style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
+     sodipodi:nodetypes="cccc"
+     id="path5058"
+     d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+     style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
+     style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+     d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+     id="path5018"
+     sodipodi:nodetypes="cccc" /></g><path
+   style="color:#000000;fill:url(#linearGradient1514);fill-opacity:1;fill-rule:nonzero;stroke:#757575;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+   d="M 21.619576,8.1833733 L 27.577035,8.1833733 C 28.416767,8.1833733 41.46351,23.618701 41.46351,24.524032 L 41.019989,43.020777 C 41.019989,43.92611 40.343959,44.654954 39.504227,44.654954 L 8.0469496,44.654954 C 7.2072167,44.654954 6.5311871,43.92611 6.5311871,43.020777 L 6.5876651,24.524032 C 6.5876651,23.618701 20.779844,8.1833733 21.619576,8.1833733 z "
+   id="rect1512"
+   sodipodi:nodetypes="ccccccccc" /><path
+   style="fill:none"
+   id="path5"
+   d="M 46.963575,45.735573 L 1.6386762,45.735573 L 1.6386762,0.41067554 L 46.963575,0.41067554 L 46.963575,45.735573 z " /><path
+   style="fill:url(#linearGradient2335);fill-opacity:1;fill-rule:evenodd"
+   id="path2327"
+   d="M 23,29 L 22.954256,44.090942 L 11.111465,44.090942 L 11,29 L 23,29 z "
+   clip-rule="evenodd"
+   sodipodi:nodetypes="ccccc" /><path
+   sodipodi:nodetypes="ccccccccc"
+   id="path2357"
+   d="M 21.780459,9.405584 L 27.339556,9.405584 C 28.123138,9.405584 40.340425,23.805172 40.340425,24.649756 L 39.993267,42.862067 C 39.993267,43.321326 39.84953,43.515532 39.480892,43.515532 L 8.0936894,43.529812 C 7.7250517,43.529812 7.5097258,43.449894 7.5097258,43.076262 L 7.7250676,24.649756 C 7.7250676,23.805172 20.99688,9.405584 21.780459,9.405584 z "
+   style="opacity:0.3125;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
+   clip-rule="evenodd"
+   d="M 7.2075295,27.943053 L 7.1532728,30.538247 L 25.521437,17.358993 L 40.807832,28.513421 L 40.879142,28.201707 L 24.508686,12.297576 L 7.2075295,27.943053 z "
+   id="path23"
+   style="opacity:0.2;fill:url(#radialGradient2384);fill-opacity:1;fill-rule:evenodd"
+   sodipodi:nodetypes="ccccccc" /><path
+   clip-rule="evenodd"
+   d="M 22,30 L 22,44.090942 L 12.188971,44.090942 L 12,30 L 22,30 z "
+   id="path188"
+   style="fill:url(#linearGradient2412);fill-opacity:1;fill-rule:evenodd"
+   sodipodi:nodetypes="ccccc" /><path
+   style="opacity:0.40909089;fill:url(#radialGradient2325);fill-opacity:1;fill-rule:evenodd"
+   id="path2315"
+   d="M 19.576856,36.44767 C 20.249646,36.44767 20.793472,36.922275 20.793472,37.506177 C 20.793472,38.095988 20.249646,38.574532 19.576856,38.574532 C 18.904584,38.574532 18.35817,38.095988 18.35817,37.506177 C 18.358685,36.922275 18.904584,36.44767 19.576856,36.44767 z "
+   clip-rule="evenodd" /><path
+   clip-rule="evenodd"
+   d="M 19.462314,35.932229 C 20.135103,35.932229 20.678929,36.406834 20.678929,36.990736 C 20.678929,37.580545 20.135103,38.059089 19.462314,38.059089 C 18.790041,38.059089 18.243627,37.580545 18.243627,36.990736 C 18.244142,36.406834 18.790041,35.932229 19.462314,35.932229 z "
+   id="path217"
+   style="fill:url(#radialGradient2313);fill-opacity:1;fill-rule:evenodd" /><path
+   d="M 24.447748,11.559337 L 43.374808,28.729205 L 43.869487,29.121196 L 44.273163,28.949811 L 43.900293,28.188138 L 43.622679,27.964702 L 24.447748,12.392396 L 5.0582327,28.135731 L 4.8206309,28.279851 L 4.603921,28.986637 L 5.0373408,29.115885 L 5.4218948,28.807462 L 24.447748,11.559337 z "
+   id="path342"
+   style="fill:url(#XMLID_39_)"
+   sodipodi:nodetypes="ccccccccccccc" /><path
+   style="fill:#ef2929;stroke:#a40000"
+   id="path362"
+   d="M 24.330168,2.2713382 L 2.4484294,20.372675 L 1.8237005,27.538603 L 3.8236367,29.602926 C 3.8236367,29.602926 24.231018,12.445641 24.44773,12.274963 L 44.08027,29.818223 L 45.978694,27.494226 L 44.362903,20.382852 L 24.44773,2.1668788 L 24.330168,2.2713382 z "
+   sodipodi:nodetypes="cccccccccc" />
+<path
+   style="opacity:0.40909089;color:#000000;fill:url(#radialGradient2305);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+   d="M 2.8413446,20.613129 L 2.5497894,27.236494 L 24.369219,8.980075 L 24.298891,3.0867443 L 2.8413446,20.613129 z "
+   id="path1536"
+   sodipodi:nodetypes="ccccc" /><path
+   sodipodi:nodetypes="ccccc"
+   id="path2337"
+   d="M 24.483763,8.7509884 L 24.583223,2.9098867 L 43.912186,20.56184 L 45.403998,27.062652 L 24.483763,8.7509884 z "
+   style="opacity:0.13636367;color:#000000;fill:url(#radialGradient2339);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
+   style="opacity:0.31818183;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99999934;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+   d="M 27.102228,27.719824 L 36.142223,27.719824 C 36.912818,27.719824 37.53319,28.340194 37.53319,29.110791 L 37.525229,38.190012 C 37.525229,38.960608 36.928907,39.455981 36.158311,39.455981 L 27.102228,39.455981 C 26.331631,39.455981 25.711261,38.835608 25.711261,38.065012 L 25.711261,29.110791 C 25.711261,28.340194 26.331631,27.719824 27.102228,27.719824 z "
+   id="rect2361"
+   sodipodi:nodetypes="ccccccccc" /><rect
+   style="opacity:1;color:#000000;fill:#3465a4;fill-opacity:1;fill-rule:nonzero;stroke:#757575;stroke-width:0.9999994;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+   id="rect3263"
+   width="10.001333"
+   height="9.9624557"
+   x="26.507767"
+   y="28.514256"
+   rx="0.38128215"
+   ry="0.38128215" /><path
+   style="opacity:0.39772728;color:#000000;fill:url(#radialGradient2374);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+   d="M 27.107118,34.408261 C 30.725101,34.739438 32.634842,32.962557 35.97527,32.855521 L 36,29.00603 L 27.088388,29 L 27.107118,34.408261 z "
+   id="rect2363"
+   sodipodi:nodetypes="ccccc" /></svg>
\ No newline at end of file
diff --git a/examples/declarative/modelviews/parallax/qml/parallax/pics/shadow.png b/examples/declarative/modelviews/parallax/qml/parallax/pics/shadow.png
new file mode 100644
index 0000000..8270565
Binary files /dev/null and b/examples/declarative/modelviews/parallax/qml/parallax/pics/shadow.png differ
diff --git a/examples/declarative/modelviews/parallax/qml/parallax/pics/yast-joystick.png b/examples/declarative/modelviews/parallax/qml/parallax/pics/yast-joystick.png
new file mode 100644
index 0000000..858cea0
Binary files /dev/null and b/examples/declarative/modelviews/parallax/qml/parallax/pics/yast-joystick.png differ
diff --git a/examples/declarative/modelviews/parallax/qml/parallax/pics/yast-wol.png b/examples/declarative/modelviews/parallax/qml/parallax/pics/yast-wol.png
new file mode 100644
index 0000000..7712180
Binary files /dev/null and b/examples/declarative/modelviews/parallax/qml/parallax/pics/yast-wol.png differ
-- 
cgit v0.12


From db1f439f1760abe1df85834d5d5adb3575c90c93 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:52 +0100
Subject: modelviews/pathview example modifications

Modified the example 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>
---
 .../modelviews/pathview-example/main.cpp           |   2 +-
 .../pathview-example/pathview.qmlproject           |  16 ++
 .../pathview-example/pathviewexample.pro           |   4 +-
 .../pathview-example/qml/pathview-example.qml      | 109 ------------
 .../qml/pathview-example/pathview-example.qml      | 109 ++++++++++++
 .../qml/pathview-example/pics/AddressBook_48.png   | Bin 0 -> 3350 bytes
 .../qml/pathview-example/pics/AudioPlayer_48.png   | Bin 0 -> 3806 bytes
 .../qml/pathview-example/pics/Camera_48.png        | Bin 0 -> 3540 bytes
 .../qml/pathview-example/pics/DateBook_48.png      | Bin 0 -> 2610 bytes
 .../qml/pathview-example/pics/EMail_48.png         | Bin 0 -> 3655 bytes
 .../qml/pathview-example/pics/TodoList_48.png      | Bin 0 -> 3429 bytes
 .../qml/pathview-example/pics/VideoPlayer_48.png   | Bin 0 -> 4151 bytes
 .../pathview-example/qml/pathview.qmlproject       |  16 --
 .../pathview-example/qml/pics/AddressBook_48.png   | Bin 3350 -> 0 bytes
 .../pathview-example/qml/pics/AudioPlayer_48.png   | Bin 3806 -> 0 bytes
 .../pathview-example/qml/pics/Camera_48.png        | Bin 3540 -> 0 bytes
 .../pathview-example/qml/pics/DateBook_48.png      | Bin 2610 -> 0 bytes
 .../pathview-example/qml/pics/EMail_48.png         | Bin 3655 -> 0 bytes
 .../pathview-example/qml/pics/TodoList_48.png      | Bin 3429 -> 0 bytes
 .../pathview-example/qml/pics/VideoPlayer_48.png   | Bin 4151 -> 0 bytes
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 23 files changed, 128 insertions(+), 558 deletions(-)
 create mode 100644 examples/declarative/modelviews/pathview-example/pathview.qmlproject
 delete mode 100644 examples/declarative/modelviews/pathview-example/qml/pathview-example.qml
 create mode 100644 examples/declarative/modelviews/pathview-example/qml/pathview-example/pathview-example.qml
 create mode 100644 examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/AddressBook_48.png
 create mode 100644 examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/AudioPlayer_48.png
 create mode 100644 examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/Camera_48.png
 create mode 100644 examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/DateBook_48.png
 create mode 100644 examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/EMail_48.png
 create mode 100644 examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/TodoList_48.png
 create mode 100644 examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/VideoPlayer_48.png
 delete mode 100644 examples/declarative/modelviews/pathview-example/qml/pathview.qmlproject
 delete mode 100644 examples/declarative/modelviews/pathview-example/qml/pics/AddressBook_48.png
 delete mode 100644 examples/declarative/modelviews/pathview-example/qml/pics/AudioPlayer_48.png
 delete mode 100644 examples/declarative/modelviews/pathview-example/qml/pics/Camera_48.png
 delete mode 100644 examples/declarative/modelviews/pathview-example/qml/pics/DateBook_48.png
 delete mode 100644 examples/declarative/modelviews/pathview-example/qml/pics/EMail_48.png
 delete mode 100644 examples/declarative/modelviews/pathview-example/qml/pics/TodoList_48.png
 delete mode 100644 examples/declarative/modelviews/pathview-example/qml/pics/VideoPlayer_48.png
 delete mode 100644 examples/declarative/modelviews/pathview-example/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/modelviews/pathview-example/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/modelviews/pathview-example/qmlapplicationviewer/qmlapplicationviewer.pri

diff --git a/examples/declarative/modelviews/pathview-example/main.cpp b/examples/declarative/modelviews/pathview-example/main.cpp
index 85d682d..80cd88b 100644
--- a/examples/declarative/modelviews/pathview-example/main.cpp
+++ b/examples/declarative/modelviews/pathview-example/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/pathview-example.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/pathview-example/pathview-example.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/modelviews/pathview-example/pathview.qmlproject b/examples/declarative/modelviews/pathview-example/pathview.qmlproject
new file mode 100644
index 0000000..71c8cb3
--- /dev/null
+++ b/examples/declarative/modelviews/pathview-example/pathview.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/pathview-example"
+    }
+    JavaScriptFiles {
+        directory: "qml/pathview-example"
+    }
+    ImageFiles {
+        directory: "qml/pathview-example"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/modelviews/pathview-example/pathviewexample.pro b/examples/declarative/modelviews/pathview-example/pathviewexample.pro
index 60a62ad..9b1d360 100644
--- a/examples/declarative/modelviews/pathview-example/pathviewexample.pro
+++ b/examples/declarative/modelviews/pathview-example/pathviewexample.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/pathview-example
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE51EA833
 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/modelviews/pathview-example/qml/pathview-example.qml b/examples/declarative/modelviews/pathview-example/qml/pathview-example.qml
deleted file mode 100644
index 267c57c..0000000
--- a/examples/declarative/modelviews/pathview-example/qml/pathview-example.qml
+++ /dev/null
@@ -1,109 +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 {
-    width: 400; height: 240
-    color: "white"
-
-    ListModel {
-        id: appModel
-        ListElement { name: "Music"; icon: "pics/AudioPlayer_48.png" }
-        ListElement { name: "Movies"; icon: "pics/VideoPlayer_48.png" }
-        ListElement { name: "Camera"; icon: "pics/Camera_48.png" }
-        ListElement { name: "Calendar"; icon: "pics/DateBook_48.png" }
-        ListElement { name: "Messaging"; icon: "pics/EMail_48.png" }
-        ListElement { name: "Todo List"; icon: "pics/TodoList_48.png" }
-        ListElement { name: "Contacts"; icon: "pics/AddressBook_48.png" }
-    }
-
-    Component {
-        id: appDelegate
-        Item {
-            width: 100; height: 100
-            scale: PathView.iconScale
-
-            Image {
-                id: myIcon
-                y: 20; anchors.horizontalCenter: parent.horizontalCenter
-                source: icon
-                smooth: true
-            }
-            Text {
-                anchors { top: myIcon.bottom; horizontalCenter: parent.horizontalCenter }
-                text: name
-                smooth: true
-            }
-
-            MouseArea {
-                anchors.fill: parent
-                onClicked: view.currentIndex = index
-            }
-        }
-    }
-
-    Component {
-        id: appHighlight
-        Rectangle { width: 80; height: 80; color: "lightsteelblue" }
-    }
-
-    PathView {
-        Keys.onRightPressed: if (!moving) { incrementCurrentIndex(); console.log(moving) }
-        Keys.onLeftPressed: if (!moving) decrementCurrentIndex()
-        id: view
-        anchors.fill: parent
-        highlight: appHighlight
-        preferredHighlightBegin: 0.5
-        preferredHighlightEnd: 0.5
-        focus: true
-        model: appModel
-        delegate: appDelegate
-        path: Path {
-            startX: 10
-            startY: 50
-            PathAttribute { name: "iconScale"; value: 0.5 }
-            PathQuad { x: 200; y: 150; controlX: 50; controlY: 200 }
-            PathAttribute { name: "iconScale"; value: 1.0 }
-            PathQuad { x: 390; y: 50; controlX: 350; controlY: 200 }
-            PathAttribute { name: "iconScale"; value: 0.5 }
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/pathview-example/qml/pathview-example/pathview-example.qml b/examples/declarative/modelviews/pathview-example/qml/pathview-example/pathview-example.qml
new file mode 100644
index 0000000..267c57c
--- /dev/null
+++ b/examples/declarative/modelviews/pathview-example/qml/pathview-example/pathview-example.qml
@@ -0,0 +1,109 @@
+/****************************************************************************
+**
+** 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 {
+    width: 400; height: 240
+    color: "white"
+
+    ListModel {
+        id: appModel
+        ListElement { name: "Music"; icon: "pics/AudioPlayer_48.png" }
+        ListElement { name: "Movies"; icon: "pics/VideoPlayer_48.png" }
+        ListElement { name: "Camera"; icon: "pics/Camera_48.png" }
+        ListElement { name: "Calendar"; icon: "pics/DateBook_48.png" }
+        ListElement { name: "Messaging"; icon: "pics/EMail_48.png" }
+        ListElement { name: "Todo List"; icon: "pics/TodoList_48.png" }
+        ListElement { name: "Contacts"; icon: "pics/AddressBook_48.png" }
+    }
+
+    Component {
+        id: appDelegate
+        Item {
+            width: 100; height: 100
+            scale: PathView.iconScale
+
+            Image {
+                id: myIcon
+                y: 20; anchors.horizontalCenter: parent.horizontalCenter
+                source: icon
+                smooth: true
+            }
+            Text {
+                anchors { top: myIcon.bottom; horizontalCenter: parent.horizontalCenter }
+                text: name
+                smooth: true
+            }
+
+            MouseArea {
+                anchors.fill: parent
+                onClicked: view.currentIndex = index
+            }
+        }
+    }
+
+    Component {
+        id: appHighlight
+        Rectangle { width: 80; height: 80; color: "lightsteelblue" }
+    }
+
+    PathView {
+        Keys.onRightPressed: if (!moving) { incrementCurrentIndex(); console.log(moving) }
+        Keys.onLeftPressed: if (!moving) decrementCurrentIndex()
+        id: view
+        anchors.fill: parent
+        highlight: appHighlight
+        preferredHighlightBegin: 0.5
+        preferredHighlightEnd: 0.5
+        focus: true
+        model: appModel
+        delegate: appDelegate
+        path: Path {
+            startX: 10
+            startY: 50
+            PathAttribute { name: "iconScale"; value: 0.5 }
+            PathQuad { x: 200; y: 150; controlX: 50; controlY: 200 }
+            PathAttribute { name: "iconScale"; value: 1.0 }
+            PathQuad { x: 390; y: 50; controlX: 350; controlY: 200 }
+            PathAttribute { name: "iconScale"; value: 0.5 }
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/AddressBook_48.png b/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/AddressBook_48.png
new file mode 100644
index 0000000..1ab7c8e
Binary files /dev/null and b/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/AddressBook_48.png differ
diff --git a/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/AudioPlayer_48.png b/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/AudioPlayer_48.png
new file mode 100644
index 0000000..f4b8689
Binary files /dev/null and b/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/AudioPlayer_48.png differ
diff --git a/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/Camera_48.png b/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/Camera_48.png
new file mode 100644
index 0000000..c76b524
Binary files /dev/null and b/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/Camera_48.png differ
diff --git a/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/DateBook_48.png b/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/DateBook_48.png
new file mode 100644
index 0000000..58f5787
Binary files /dev/null and b/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/DateBook_48.png differ
diff --git a/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/EMail_48.png b/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/EMail_48.png
new file mode 100644
index 0000000..d6d84a6
Binary files /dev/null and b/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/EMail_48.png differ
diff --git a/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/TodoList_48.png b/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/TodoList_48.png
new file mode 100644
index 0000000..0988448
Binary files /dev/null and b/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/TodoList_48.png differ
diff --git a/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/VideoPlayer_48.png b/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/VideoPlayer_48.png
new file mode 100644
index 0000000..52638c5
Binary files /dev/null and b/examples/declarative/modelviews/pathview-example/qml/pathview-example/pics/VideoPlayer_48.png differ
diff --git a/examples/declarative/modelviews/pathview-example/qml/pathview.qmlproject b/examples/declarative/modelviews/pathview-example/qml/pathview.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/modelviews/pathview-example/qml/pathview.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/modelviews/pathview-example/qml/pics/AddressBook_48.png b/examples/declarative/modelviews/pathview-example/qml/pics/AddressBook_48.png
deleted file mode 100644
index 1ab7c8e..0000000
Binary files a/examples/declarative/modelviews/pathview-example/qml/pics/AddressBook_48.png and /dev/null differ
diff --git a/examples/declarative/modelviews/pathview-example/qml/pics/AudioPlayer_48.png b/examples/declarative/modelviews/pathview-example/qml/pics/AudioPlayer_48.png
deleted file mode 100644
index f4b8689..0000000
Binary files a/examples/declarative/modelviews/pathview-example/qml/pics/AudioPlayer_48.png and /dev/null differ
diff --git a/examples/declarative/modelviews/pathview-example/qml/pics/Camera_48.png b/examples/declarative/modelviews/pathview-example/qml/pics/Camera_48.png
deleted file mode 100644
index c76b524..0000000
Binary files a/examples/declarative/modelviews/pathview-example/qml/pics/Camera_48.png and /dev/null differ
diff --git a/examples/declarative/modelviews/pathview-example/qml/pics/DateBook_48.png b/examples/declarative/modelviews/pathview-example/qml/pics/DateBook_48.png
deleted file mode 100644
index 58f5787..0000000
Binary files a/examples/declarative/modelviews/pathview-example/qml/pics/DateBook_48.png and /dev/null differ
diff --git a/examples/declarative/modelviews/pathview-example/qml/pics/EMail_48.png b/examples/declarative/modelviews/pathview-example/qml/pics/EMail_48.png
deleted file mode 100644
index d6d84a6..0000000
Binary files a/examples/declarative/modelviews/pathview-example/qml/pics/EMail_48.png and /dev/null differ
diff --git a/examples/declarative/modelviews/pathview-example/qml/pics/TodoList_48.png b/examples/declarative/modelviews/pathview-example/qml/pics/TodoList_48.png
deleted file mode 100644
index 0988448..0000000
Binary files a/examples/declarative/modelviews/pathview-example/qml/pics/TodoList_48.png and /dev/null differ
diff --git a/examples/declarative/modelviews/pathview-example/qml/pics/VideoPlayer_48.png b/examples/declarative/modelviews/pathview-example/qml/pics/VideoPlayer_48.png
deleted file mode 100644
index 52638c5..0000000
Binary files a/examples/declarative/modelviews/pathview-example/qml/pics/VideoPlayer_48.png and /dev/null differ
diff --git a/examples/declarative/modelviews/pathview-example/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/modelviews/pathview-example/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/modelviews/pathview-example/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/modelviews/pathview-example/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/modelviews/pathview-example/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/modelviews/pathview-example/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/modelviews/pathview-example/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/modelviews/pathview-example/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/modelviews/pathview-example/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)
-}
-- 
cgit v0.12


From f65bf7667c8ac651f54c81e78a3122acd649ffdd Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:53 +0100
Subject: modelviews/stringlistmodel example modifications

Modified the example 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>
---
 .../modelviews/stringlistmodel/main.cpp            | 16 +++----
 .../stringlistmodel/qml/stringlistmodel/view.qml   | 55 ++++++++++++++++++++++
 .../modelviews/stringlistmodel/stringlistmodel.pro | 46 ++++++++++++++----
 .../modelviews/stringlistmodel/view.qml            | 55 ----------------------
 4 files changed, 98 insertions(+), 74 deletions(-)
 create mode 100644 examples/declarative/modelviews/stringlistmodel/qml/stringlistmodel/view.qml
 delete mode 100644 examples/declarative/modelviews/stringlistmodel/view.qml

diff --git a/examples/declarative/modelviews/stringlistmodel/main.cpp b/examples/declarative/modelviews/stringlistmodel/main.cpp
index b3452ba..4d6c4d1 100644
--- a/examples/declarative/modelviews/stringlistmodel/main.cpp
+++ b/examples/declarative/modelviews/stringlistmodel/main.cpp
@@ -38,14 +38,9 @@
 **
 ****************************************************************************/
 
+#include "qmlapplicationviewer.h"
 #include <QApplication>
-
-#include <qdeclarativeengine.h>
 #include <qdeclarativecontext.h>
-#include <qdeclarative.h>
-#include <qdeclarativeitem.h>
-#include <qdeclarativeview.h>
-
 
 /*
    This example illustrates exposing a QStringList as a
@@ -55,6 +50,7 @@
 int main(int argc, char ** argv)
 {
     QApplication app(argc, argv);
+    QmlApplicationViewer viewer;
 
 //![0]
     QStringList dataList;
@@ -63,13 +59,13 @@ int main(int argc, char ** argv)
     dataList.append("Item 3");
     dataList.append("Item 4");
 
-    QDeclarativeView view;
-    QDeclarativeContext *ctxt = view.rootContext();
+    QDeclarativeContext *ctxt = viewer.rootContext();
     ctxt->setContextProperty("myModel", QVariant::fromValue(dataList));
 //![0]
 
-    view.setSource(QUrl("qrc:view.qml"));
-    view.show();
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
+    viewer.setMainQmlFile(QLatin1String("qml/stringlistmodel/view.qml"));
+    viewer.showExpanded();
 
     return app.exec();
 }
diff --git a/examples/declarative/modelviews/stringlistmodel/qml/stringlistmodel/view.qml b/examples/declarative/modelviews/stringlistmodel/qml/stringlistmodel/view.qml
new file mode 100644
index 0000000..9c65d80
--- /dev/null
+++ b/examples/declarative/modelviews/stringlistmodel/qml/stringlistmodel/view.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** 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
+//![0]
+
+ListView {
+    width: 100; height: 100
+    anchors.fill: parent
+
+    model: myModel
+    delegate: Rectangle {
+        height: 25
+        width: 100
+        Text { text: modelData }
+    }
+}
+//![0]
diff --git a/examples/declarative/modelviews/stringlistmodel/stringlistmodel.pro b/examples/declarative/modelviews/stringlistmodel/stringlistmodel.pro
index 23dc481..463e870 100644
--- a/examples/declarative/modelviews/stringlistmodel/stringlistmodel.pro
+++ b/examples/declarative/modelviews/stringlistmodel/stringlistmodel.pro
@@ -1,9 +1,37 @@
-TEMPLATE = app
-TARGET = stringlistmodel
-DEPENDPATH += .
-INCLUDEPATH += .
-QT += declarative
-
-# Input
-SOURCES += main.cpp 
-RESOURCES += stringlistmodel.qrc
+# Add more folders to ship with the application, here
+folder_01.source = qml/stringlistmodel
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE1CB8EBB
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/modelviews/stringlistmodel/view.qml b/examples/declarative/modelviews/stringlistmodel/view.qml
deleted file mode 100644
index 9c65d80..0000000
--- a/examples/declarative/modelviews/stringlistmodel/view.qml
+++ /dev/null
@@ -1,55 +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
-//![0]
-
-ListView {
-    width: 100; height: 100
-    anchors.fill: parent
-
-    model: myModel
-    delegate: Rectangle {
-        height: 25
-        width: 100
-        Text { text: modelData }
-    }
-}
-//![0]
-- 
cgit v0.12


From 0cf48a31c5d67229d18ddab872c9a58daa021943 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:54 +0100
Subject: Modelviews Examples Modifications

modelviews/webview/ alerts, autosize, googlemaps, inlinehtml and
newwindows example modifications

Modified examples 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/modelviews/webview/alerts.qml | 101 -----------
 .../modelviews/webview/alerts/alerts.pro           |   4 +-
 .../modelviews/webview/alerts/alerts.qmlproject    |  16 ++
 .../declarative/modelviews/webview/alerts/main.cpp |   2 +-
 .../modelviews/webview/alerts/qml/alerts.html      |   5 -
 .../modelviews/webview/alerts/qml/alerts.qml       | 101 -----------
 .../webview/alerts/qml/alerts/alerts.html          |   5 +
 .../webview/alerts/qml/alerts/alerts.qml           | 101 +++++++++++
 .../webview/alerts/qml/alerts/autosize.qml         | 106 +++++++++++
 .../alerts/qml/alerts/content/Mapping/Map.qml      |  73 ++++++++
 .../alerts/qml/alerts/content/Mapping/map.html     |  60 +++++++
 .../alerts/qml/alerts/content/pics/cancel.png      | Bin 0 -> 1038 bytes
 .../webview/alerts/qml/alerts/content/pics/ok.png  | Bin 0 -> 655 bytes
 .../webview/alerts/qml/alerts/googlemaps.qml       |  83 +++++++++
 .../webview/alerts/qml/alerts/inlinehtml.qml       |  55 ++++++
 .../webview/alerts/qml/alerts/newwindows.html      |   3 +
 .../webview/alerts/qml/alerts/newwindows.qml       |  71 ++++++++
 .../modelviews/webview/alerts/qml/autosize.qml     | 106 -----------
 .../webview/alerts/qml/content/Mapping/Map.qml     |  73 --------
 .../webview/alerts/qml/content/Mapping/map.html    |  60 -------
 .../webview/alerts/qml/content/pics/cancel.png     | Bin 1038 -> 0 bytes
 .../webview/alerts/qml/content/pics/ok.png         | Bin 655 -> 0 bytes
 .../modelviews/webview/alerts/qml/googlemaps.qml   |  83 ---------
 .../modelviews/webview/alerts/qml/inlinehtml.qml   |  55 ------
 .../modelviews/webview/alerts/qml/newwindows.html  |   3 -
 .../modelviews/webview/alerts/qml/newwindows.qml   |  71 --------
 .../webview/alerts/qml/webview.qmlproject          |  16 --
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../declarative/modelviews/webview/autosize.qml    | 106 -----------
 .../modelviews/webview/autosize/autosize.pro       |   4 +-
 .../webview/autosize/autosize.qmlproject           |  16 ++
 .../modelviews/webview/autosize/main.cpp           |   2 +-
 .../modelviews/webview/autosize/qml/alerts.html    |   5 -
 .../modelviews/webview/autosize/qml/alerts.qml     | 101 -----------
 .../modelviews/webview/autosize/qml/autosize.qml   | 106 -----------
 .../webview/autosize/qml/autosize/alerts.html      |   5 +
 .../webview/autosize/qml/autosize/alerts.qml       | 101 +++++++++++
 .../webview/autosize/qml/autosize/autosize.qml     | 106 +++++++++++
 .../autosize/qml/autosize/content/Mapping/Map.qml  |  73 ++++++++
 .../autosize/qml/autosize/content/Mapping/map.html |  60 +++++++
 .../autosize/qml/autosize/content/pics/cancel.png  | Bin 0 -> 1038 bytes
 .../autosize/qml/autosize/content/pics/ok.png      | Bin 0 -> 655 bytes
 .../webview/autosize/qml/autosize/googlemaps.qml   |  83 +++++++++
 .../webview/autosize/qml/autosize/inlinehtml.qml   |  55 ++++++
 .../webview/autosize/qml/autosize/newwindows.html  |   3 +
 .../webview/autosize/qml/autosize/newwindows.qml   |  71 ++++++++
 .../webview/autosize/qml/content/Mapping/Map.qml   |  73 --------
 .../webview/autosize/qml/content/Mapping/map.html  |  60 -------
 .../webview/autosize/qml/content/pics/cancel.png   | Bin 1038 -> 0 bytes
 .../webview/autosize/qml/content/pics/ok.png       | Bin 655 -> 0 bytes
 .../modelviews/webview/autosize/qml/googlemaps.qml |  83 ---------
 .../modelviews/webview/autosize/qml/inlinehtml.qml |  55 ------
 .../webview/autosize/qml/newwindows.html           |   3 -
 .../modelviews/webview/autosize/qml/newwindows.qml |  71 --------
 .../webview/autosize/qml/webview.qmlproject        |  16 --
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../declarative/modelviews/webview/googlemaps.qml  |  83 ---------
 .../modelviews/webview/googlemaps/googlemaps.pro   |   4 +-
 .../webview/googlemaps/googlemaps.qmlproject       |  16 ++
 .../modelviews/webview/googlemaps/main.cpp         |   2 +-
 .../modelviews/webview/googlemaps/qml/alerts.html  |   5 -
 .../modelviews/webview/googlemaps/qml/alerts.qml   | 101 -----------
 .../modelviews/webview/googlemaps/qml/autosize.qml | 106 -----------
 .../webview/googlemaps/qml/content/Mapping/Map.qml |  73 --------
 .../googlemaps/qml/content/Mapping/map.html        |  60 -------
 .../webview/googlemaps/qml/content/pics/cancel.png | Bin 1038 -> 0 bytes
 .../webview/googlemaps/qml/content/pics/ok.png     | Bin 655 -> 0 bytes
 .../webview/googlemaps/qml/googlemaps.qml          |  83 ---------
 .../webview/googlemaps/qml/googlemaps/alerts.html  |   5 +
 .../webview/googlemaps/qml/googlemaps/alerts.qml   | 101 +++++++++++
 .../webview/googlemaps/qml/googlemaps/autosize.qml | 106 +++++++++++
 .../qml/googlemaps/content/Mapping/Map.qml         |  73 ++++++++
 .../qml/googlemaps/content/Mapping/map.html        |  60 +++++++
 .../qml/googlemaps/content/pics/cancel.png         | Bin 0 -> 1038 bytes
 .../googlemaps/qml/googlemaps/content/pics/ok.png  | Bin 0 -> 655 bytes
 .../googlemaps/qml/googlemaps/googlemaps.qml       |  83 +++++++++
 .../googlemaps/qml/googlemaps/inlinehtml.qml       |  55 ++++++
 .../googlemaps/qml/googlemaps/newwindows.html      |   3 +
 .../googlemaps/qml/googlemaps/newwindows.qml       |  71 ++++++++
 .../webview/googlemaps/qml/inlinehtml.qml          |  55 ------
 .../webview/googlemaps/qml/newwindows.html         |   3 -
 .../webview/googlemaps/qml/newwindows.qml          |  71 --------
 .../webview/googlemaps/qml/webview.qmlproject      |  16 --
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../declarative/modelviews/webview/inlinehtml.qml  |  55 ------
 .../modelviews/webview/inlinehtml/inlinehtml.pro   |   4 +-
 .../webview/inlinehtml/inlinehtml.qmlproject       |  16 ++
 .../modelviews/webview/inlinehtml/main.cpp         |   2 +-
 .../modelviews/webview/inlinehtml/qml/alerts.html  |   5 -
 .../modelviews/webview/inlinehtml/qml/alerts.qml   | 101 -----------
 .../modelviews/webview/inlinehtml/qml/autosize.qml | 106 -----------
 .../webview/inlinehtml/qml/content/Mapping/Map.qml |  73 --------
 .../inlinehtml/qml/content/Mapping/map.html        |  60 -------
 .../webview/inlinehtml/qml/content/pics/cancel.png | Bin 1038 -> 0 bytes
 .../webview/inlinehtml/qml/content/pics/ok.png     | Bin 655 -> 0 bytes
 .../webview/inlinehtml/qml/googlemaps.qml          |  83 ---------
 .../webview/inlinehtml/qml/inlinehtml.qml          |  55 ------
 .../webview/inlinehtml/qml/inlinehtml/alerts.html  |   5 +
 .../webview/inlinehtml/qml/inlinehtml/alerts.qml   | 101 +++++++++++
 .../webview/inlinehtml/qml/inlinehtml/autosize.qml | 106 +++++++++++
 .../qml/inlinehtml/content/Mapping/Map.qml         |  73 ++++++++
 .../qml/inlinehtml/content/Mapping/map.html        |  60 +++++++
 .../qml/inlinehtml/content/pics/cancel.png         | Bin 0 -> 1038 bytes
 .../inlinehtml/qml/inlinehtml/content/pics/ok.png  | Bin 0 -> 655 bytes
 .../inlinehtml/qml/inlinehtml/googlemaps.qml       |  83 +++++++++
 .../inlinehtml/qml/inlinehtml/inlinehtml.qml       |  55 ++++++
 .../inlinehtml/qml/inlinehtml/newwindows.html      |   3 +
 .../inlinehtml/qml/inlinehtml/newwindows.qml       |  71 ++++++++
 .../webview/inlinehtml/qml/newwindows.html         |   3 -
 .../webview/inlinehtml/qml/newwindows.qml          |  71 --------
 .../webview/inlinehtml/qml/webview.qmlproject      |  16 --
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../declarative/modelviews/webview/newwindows.qml  |  71 --------
 .../modelviews/webview/newwindows/main.cpp         |   2 +-
 .../modelviews/webview/newwindows/newwindows.pro   |   4 +-
 .../webview/newwindows/newwindows.qmlproject       |  16 ++
 .../modelviews/webview/newwindows/qml/alerts.html  |   5 -
 .../modelviews/webview/newwindows/qml/alerts.qml   | 101 -----------
 .../modelviews/webview/newwindows/qml/autosize.qml | 106 -----------
 .../webview/newwindows/qml/content/Mapping/Map.qml |  73 --------
 .../newwindows/qml/content/Mapping/map.html        |  60 -------
 .../webview/newwindows/qml/content/pics/cancel.png | Bin 1038 -> 0 bytes
 .../webview/newwindows/qml/content/pics/ok.png     | Bin 655 -> 0 bytes
 .../webview/newwindows/qml/googlemaps.qml          |  83 ---------
 .../webview/newwindows/qml/inlinehtml.qml          |  55 ------
 .../webview/newwindows/qml/newwindows.html         |   3 -
 .../webview/newwindows/qml/newwindows.qml          |  71 --------
 .../webview/newwindows/qml/newwindows/alerts.html  |   5 +
 .../webview/newwindows/qml/newwindows/alerts.qml   | 101 +++++++++++
 .../webview/newwindows/qml/newwindows/autosize.qml | 106 +++++++++++
 .../qml/newwindows/content/Mapping/Map.qml         |  73 ++++++++
 .../qml/newwindows/content/Mapping/map.html        |  60 +++++++
 .../qml/newwindows/content/pics/cancel.png         | Bin 0 -> 1038 bytes
 .../newwindows/qml/newwindows/content/pics/ok.png  | Bin 0 -> 655 bytes
 .../newwindows/qml/newwindows/googlemaps.qml       |  83 +++++++++
 .../newwindows/qml/newwindows/inlinehtml.qml       |  55 ++++++
 .../newwindows/qml/newwindows/newwindows.html      |   3 +
 .../newwindows/qml/newwindows/newwindows.qml       |  71 ++++++++
 .../webview/newwindows/qml/webview.qmlproject      |  16 --
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../modelviews/webview/webview.qmlproject          |  16 --
 151 files changed, 2880 insertions(+), 5462 deletions(-)
 delete mode 100644 examples/declarative/modelviews/webview/alerts.qml
 create mode 100644 examples/declarative/modelviews/webview/alerts/alerts.qmlproject
 delete mode 100644 examples/declarative/modelviews/webview/alerts/qml/alerts.html
 delete mode 100644 examples/declarative/modelviews/webview/alerts/qml/alerts.qml
 create mode 100644 examples/declarative/modelviews/webview/alerts/qml/alerts/alerts.html
 create mode 100644 examples/declarative/modelviews/webview/alerts/qml/alerts/alerts.qml
 create mode 100644 examples/declarative/modelviews/webview/alerts/qml/alerts/autosize.qml
 create mode 100644 examples/declarative/modelviews/webview/alerts/qml/alerts/content/Mapping/Map.qml
 create mode 100644 examples/declarative/modelviews/webview/alerts/qml/alerts/content/Mapping/map.html
 create mode 100644 examples/declarative/modelviews/webview/alerts/qml/alerts/content/pics/cancel.png
 create mode 100644 examples/declarative/modelviews/webview/alerts/qml/alerts/content/pics/ok.png
 create mode 100644 examples/declarative/modelviews/webview/alerts/qml/alerts/googlemaps.qml
 create mode 100644 examples/declarative/modelviews/webview/alerts/qml/alerts/inlinehtml.qml
 create mode 100644 examples/declarative/modelviews/webview/alerts/qml/alerts/newwindows.html
 create mode 100644 examples/declarative/modelviews/webview/alerts/qml/alerts/newwindows.qml
 delete mode 100644 examples/declarative/modelviews/webview/alerts/qml/autosize.qml
 delete mode 100644 examples/declarative/modelviews/webview/alerts/qml/content/Mapping/Map.qml
 delete mode 100644 examples/declarative/modelviews/webview/alerts/qml/content/Mapping/map.html
 delete mode 100644 examples/declarative/modelviews/webview/alerts/qml/content/pics/cancel.png
 delete mode 100644 examples/declarative/modelviews/webview/alerts/qml/content/pics/ok.png
 delete mode 100644 examples/declarative/modelviews/webview/alerts/qml/googlemaps.qml
 delete mode 100644 examples/declarative/modelviews/webview/alerts/qml/inlinehtml.qml
 delete mode 100644 examples/declarative/modelviews/webview/alerts/qml/newwindows.html
 delete mode 100644 examples/declarative/modelviews/webview/alerts/qml/newwindows.qml
 delete mode 100644 examples/declarative/modelviews/webview/alerts/qml/webview.qmlproject
 delete mode 100644 examples/declarative/modelviews/webview/alerts/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/modelviews/webview/alerts/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/modelviews/webview/alerts/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/modelviews/webview/autosize.qml
 create mode 100644 examples/declarative/modelviews/webview/autosize/autosize.qmlproject
 delete mode 100644 examples/declarative/modelviews/webview/autosize/qml/alerts.html
 delete mode 100644 examples/declarative/modelviews/webview/autosize/qml/alerts.qml
 delete mode 100644 examples/declarative/modelviews/webview/autosize/qml/autosize.qml
 create mode 100644 examples/declarative/modelviews/webview/autosize/qml/autosize/alerts.html
 create mode 100644 examples/declarative/modelviews/webview/autosize/qml/autosize/alerts.qml
 create mode 100644 examples/declarative/modelviews/webview/autosize/qml/autosize/autosize.qml
 create mode 100644 examples/declarative/modelviews/webview/autosize/qml/autosize/content/Mapping/Map.qml
 create mode 100644 examples/declarative/modelviews/webview/autosize/qml/autosize/content/Mapping/map.html
 create mode 100644 examples/declarative/modelviews/webview/autosize/qml/autosize/content/pics/cancel.png
 create mode 100644 examples/declarative/modelviews/webview/autosize/qml/autosize/content/pics/ok.png
 create mode 100644 examples/declarative/modelviews/webview/autosize/qml/autosize/googlemaps.qml
 create mode 100644 examples/declarative/modelviews/webview/autosize/qml/autosize/inlinehtml.qml
 create mode 100644 examples/declarative/modelviews/webview/autosize/qml/autosize/newwindows.html
 create mode 100644 examples/declarative/modelviews/webview/autosize/qml/autosize/newwindows.qml
 delete mode 100644 examples/declarative/modelviews/webview/autosize/qml/content/Mapping/Map.qml
 delete mode 100644 examples/declarative/modelviews/webview/autosize/qml/content/Mapping/map.html
 delete mode 100644 examples/declarative/modelviews/webview/autosize/qml/content/pics/cancel.png
 delete mode 100644 examples/declarative/modelviews/webview/autosize/qml/content/pics/ok.png
 delete mode 100644 examples/declarative/modelviews/webview/autosize/qml/googlemaps.qml
 delete mode 100644 examples/declarative/modelviews/webview/autosize/qml/inlinehtml.qml
 delete mode 100644 examples/declarative/modelviews/webview/autosize/qml/newwindows.html
 delete mode 100644 examples/declarative/modelviews/webview/autosize/qml/newwindows.qml
 delete mode 100644 examples/declarative/modelviews/webview/autosize/qml/webview.qmlproject
 delete mode 100644 examples/declarative/modelviews/webview/autosize/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/modelviews/webview/autosize/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/modelviews/webview/autosize/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/modelviews/webview/googlemaps.qml
 create mode 100644 examples/declarative/modelviews/webview/googlemaps/googlemaps.qmlproject
 delete mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/alerts.html
 delete mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/alerts.qml
 delete mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/autosize.qml
 delete mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/content/Mapping/Map.qml
 delete mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/content/Mapping/map.html
 delete mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/content/pics/cancel.png
 delete mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/content/pics/ok.png
 delete mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/googlemaps.qml
 create mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/alerts.html
 create mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/alerts.qml
 create mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/autosize.qml
 create mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/content/Mapping/Map.qml
 create mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/content/Mapping/map.html
 create mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/content/pics/cancel.png
 create mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/content/pics/ok.png
 create mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/googlemaps.qml
 create mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/inlinehtml.qml
 create mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/newwindows.html
 create mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/newwindows.qml
 delete mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/inlinehtml.qml
 delete mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/newwindows.html
 delete mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/newwindows.qml
 delete mode 100644 examples/declarative/modelviews/webview/googlemaps/qml/webview.qmlproject
 delete mode 100644 examples/declarative/modelviews/webview/googlemaps/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/modelviews/webview/googlemaps/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/modelviews/webview/googlemaps/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/modelviews/webview/inlinehtml.qml
 create mode 100644 examples/declarative/modelviews/webview/inlinehtml/inlinehtml.qmlproject
 delete mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/alerts.html
 delete mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/alerts.qml
 delete mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/autosize.qml
 delete mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/content/Mapping/Map.qml
 delete mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/content/Mapping/map.html
 delete mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/content/pics/cancel.png
 delete mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/content/pics/ok.png
 delete mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/googlemaps.qml
 delete mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml.qml
 create mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/alerts.html
 create mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/alerts.qml
 create mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/autosize.qml
 create mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/content/Mapping/Map.qml
 create mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/content/Mapping/map.html
 create mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/content/pics/cancel.png
 create mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/content/pics/ok.png
 create mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/googlemaps.qml
 create mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/inlinehtml.qml
 create mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/newwindows.html
 create mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/newwindows.qml
 delete mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/newwindows.html
 delete mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/newwindows.qml
 delete mode 100644 examples/declarative/modelviews/webview/inlinehtml/qml/webview.qmlproject
 delete mode 100644 examples/declarative/modelviews/webview/inlinehtml/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/modelviews/webview/inlinehtml/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/modelviews/webview/inlinehtml/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/modelviews/webview/newwindows.qml
 create mode 100644 examples/declarative/modelviews/webview/newwindows/newwindows.qmlproject
 delete mode 100644 examples/declarative/modelviews/webview/newwindows/qml/alerts.html
 delete mode 100644 examples/declarative/modelviews/webview/newwindows/qml/alerts.qml
 delete mode 100644 examples/declarative/modelviews/webview/newwindows/qml/autosize.qml
 delete mode 100644 examples/declarative/modelviews/webview/newwindows/qml/content/Mapping/Map.qml
 delete mode 100644 examples/declarative/modelviews/webview/newwindows/qml/content/Mapping/map.html
 delete mode 100644 examples/declarative/modelviews/webview/newwindows/qml/content/pics/cancel.png
 delete mode 100644 examples/declarative/modelviews/webview/newwindows/qml/content/pics/ok.png
 delete mode 100644 examples/declarative/modelviews/webview/newwindows/qml/googlemaps.qml
 delete mode 100644 examples/declarative/modelviews/webview/newwindows/qml/inlinehtml.qml
 delete mode 100644 examples/declarative/modelviews/webview/newwindows/qml/newwindows.html
 delete mode 100644 examples/declarative/modelviews/webview/newwindows/qml/newwindows.qml
 create mode 100644 examples/declarative/modelviews/webview/newwindows/qml/newwindows/alerts.html
 create mode 100644 examples/declarative/modelviews/webview/newwindows/qml/newwindows/alerts.qml
 create mode 100644 examples/declarative/modelviews/webview/newwindows/qml/newwindows/autosize.qml
 create mode 100644 examples/declarative/modelviews/webview/newwindows/qml/newwindows/content/Mapping/Map.qml
 create mode 100644 examples/declarative/modelviews/webview/newwindows/qml/newwindows/content/Mapping/map.html
 create mode 100644 examples/declarative/modelviews/webview/newwindows/qml/newwindows/content/pics/cancel.png
 create mode 100644 examples/declarative/modelviews/webview/newwindows/qml/newwindows/content/pics/ok.png
 create mode 100644 examples/declarative/modelviews/webview/newwindows/qml/newwindows/googlemaps.qml
 create mode 100644 examples/declarative/modelviews/webview/newwindows/qml/newwindows/inlinehtml.qml
 create mode 100644 examples/declarative/modelviews/webview/newwindows/qml/newwindows/newwindows.html
 create mode 100644 examples/declarative/modelviews/webview/newwindows/qml/newwindows/newwindows.qml
 delete mode 100644 examples/declarative/modelviews/webview/newwindows/qml/webview.qmlproject
 delete mode 100644 examples/declarative/modelviews/webview/newwindows/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/modelviews/webview/newwindows/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/modelviews/webview/newwindows/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/modelviews/webview/webview.qmlproject

diff --git a/examples/declarative/modelviews/webview/alerts.qml b/examples/declarative/modelviews/webview/alerts.qml
deleted file mode 100644
index 5acf0e0..0000000
--- a/examples/declarative/modelviews/webview/alerts.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
-import QtWebKit 1.0
-
-WebView {
-    id: webView
-    width: 200
-    height: 150
-    url: "alerts.html"
-
-    onAlert: popup.show(message)
-
-    Rectangle {
-        id: popup
-
-        color: "red"
-        border.color: "black"; border.width: 2
-        radius: 4
-
-        y: parent.height // off "screen"
-        anchors.horizontalCenter: parent.horizontalCenter
-        width: label.width + 5
-        height: label.height + 5
-
-        opacity: 0
-
-        function show(text) {
-            label.text = text
-            popup.state = "visible"
-            timer.start()
-        }
-        states: State {
-            name: "visible"
-            PropertyChanges { target: popup; opacity: 1 }
-            PropertyChanges { target: popup; y: (webView.height-popup.height)/2 }
-        }
-
-        transitions: [
-            Transition { from: ""; PropertyAnimation { properties: "opacity,y"; duration: 65 } },
-            Transition { from: "visible"; PropertyAnimation { properties: "opacity,y"; duration: 500 } }
-        ]
-
-        Timer {
-            id: timer
-            interval: 1000
-
-            onTriggered: popup.state = ""
-        }
-
-        Text {
-            id: label
-            anchors.centerIn: parent
-            width: webView.width  *0.75
-
-            color: "white"
-            font.pixelSize: 20
-            wrapMode: Text.WordWrap
-            horizontalAlignment: Text.AlignHCenter
-            smooth: true
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/alerts/alerts.pro b/examples/declarative/modelviews/webview/alerts/alerts.pro
index 335c3a3..1de3858 100644
--- a/examples/declarative/modelviews/webview/alerts/alerts.pro
+++ b/examples/declarative/modelviews/webview/alerts/alerts.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/alerts
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE14997C0
 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/modelviews/webview/alerts/alerts.qmlproject b/examples/declarative/modelviews/webview/alerts/alerts.qmlproject
new file mode 100644
index 0000000..f186840
--- /dev/null
+++ b/examples/declarative/modelviews/webview/alerts/alerts.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/alerts"
+    }
+    JavaScriptFiles {
+        directory: "qml/alerts"
+    }
+    ImageFiles {
+        directory: "qml/alerts"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/modelviews/webview/alerts/main.cpp b/examples/declarative/modelviews/webview/alerts/main.cpp
index e57f541..8fbc0e5 100644
--- a/examples/declarative/modelviews/webview/alerts/main.cpp
+++ b/examples/declarative/modelviews/webview/alerts/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/alerts.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/alerts/alerts.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/modelviews/webview/alerts/qml/alerts.html b/examples/declarative/modelviews/webview/alerts/qml/alerts.html
deleted file mode 100644
index 82caddf..0000000
--- a/examples/declarative/modelviews/webview/alerts/qml/alerts.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html>
-<body onclick="alert('This is an alert')">
-<p>This is a web page. It fires an alert when clicked.
-</body>
-</html>
diff --git a/examples/declarative/modelviews/webview/alerts/qml/alerts.qml b/examples/declarative/modelviews/webview/alerts/qml/alerts.qml
deleted file mode 100644
index 4aa4a3b..0000000
--- a/examples/declarative/modelviews/webview/alerts/qml/alerts.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
-import QtWebKit 1.0
-
-WebView {
-    id: webView
-    width: 200
-    height: 150
-    url: "alerts.html"
-
-    onAlert: popup.show(message)
-
-    Rectangle {
-        id: popup
-
-        color: "red"
-        border.color: "black"; border.width: 2
-        radius: 4
-
-        y: parent.height // off "screen"
-        anchors.horizontalCenter: parent.horizontalCenter
-        width: label.width + 5
-        height: label.height + 5
-
-        opacity: 0
-
-        function show(text) {
-            label.text = text
-            popup.state = "visible"
-            timer.start()
-        }
-        states: State {
-            name: "visible"
-            PropertyChanges { target: popup; opacity: 1 }
-            PropertyChanges { target: popup; y: (webView.height-popup.height)/2 }
-        }
-
-        transitions: [
-            Transition { from: ""; PropertyAnimation { properties: "opacity,y"; duration: 65 } },
-            Transition { from: "visible"; PropertyAnimation { properties: "opacity,y"; duration: 500 } }
-        ]
-
-        Timer {
-            id: timer
-            interval: 1000
-
-            onTriggered: popup.state = ""
-        }
-
-        Text {
-            id: label
-            anchors.centerIn: parent
-            width: webView.width  *0.75
-
-            color: "white"
-            font.pixelSize: 20
-            wrapMode: Text.WordWrap
-            horizontalAlignment: Text.AlignHCenter
-            smooth: true
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/alerts/qml/alerts/alerts.html b/examples/declarative/modelviews/webview/alerts/qml/alerts/alerts.html
new file mode 100644
index 0000000..82caddf
--- /dev/null
+++ b/examples/declarative/modelviews/webview/alerts/qml/alerts/alerts.html
@@ -0,0 +1,5 @@
+<html>
+<body onclick="alert('This is an alert')">
+<p>This is a web page. It fires an alert when clicked.
+</body>
+</html>
diff --git a/examples/declarative/modelviews/webview/alerts/qml/alerts/alerts.qml b/examples/declarative/modelviews/webview/alerts/qml/alerts/alerts.qml
new file mode 100644
index 0000000..4aa4a3b
--- /dev/null
+++ b/examples/declarative/modelviews/webview/alerts/qml/alerts/alerts.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
+import QtWebKit 1.0
+
+WebView {
+    id: webView
+    width: 200
+    height: 150
+    url: "alerts.html"
+
+    onAlert: popup.show(message)
+
+    Rectangle {
+        id: popup
+
+        color: "red"
+        border.color: "black"; border.width: 2
+        radius: 4
+
+        y: parent.height // off "screen"
+        anchors.horizontalCenter: parent.horizontalCenter
+        width: label.width + 5
+        height: label.height + 5
+
+        opacity: 0
+
+        function show(text) {
+            label.text = text
+            popup.state = "visible"
+            timer.start()
+        }
+        states: State {
+            name: "visible"
+            PropertyChanges { target: popup; opacity: 1 }
+            PropertyChanges { target: popup; y: (webView.height-popup.height)/2 }
+        }
+
+        transitions: [
+            Transition { from: ""; PropertyAnimation { properties: "opacity,y"; duration: 65 } },
+            Transition { from: "visible"; PropertyAnimation { properties: "opacity,y"; duration: 500 } }
+        ]
+
+        Timer {
+            id: timer
+            interval: 1000
+
+            onTriggered: popup.state = ""
+        }
+
+        Text {
+            id: label
+            anchors.centerIn: parent
+            width: webView.width  *0.75
+
+            color: "white"
+            font.pixelSize: 20
+            wrapMode: Text.WordWrap
+            horizontalAlignment: Text.AlignHCenter
+            smooth: true
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/alerts/qml/alerts/autosize.qml b/examples/declarative/modelviews/webview/alerts/qml/alerts/autosize.qml
new file mode 100644
index 0000000..7e10403
--- /dev/null
+++ b/examples/declarative/modelviews/webview/alerts/qml/alerts/autosize.qml
@@ -0,0 +1,106 @@
+/****************************************************************************
+**
+** 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
+import QtWebKit 1.0
+
+// The WebView size is determined by the width, height,
+// preferredWidth, and preferredHeight properties.
+Rectangle {
+    id: rect
+    width: 200
+    height: layout.height
+
+    Column {
+        id: layout
+        spacing: 2
+
+        WebView {
+            html: "No width defined."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+
+        WebView {
+            width: rect.width
+            html: "The width is full."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+
+        WebView {
+            width: rect.width/2
+            html: "The width is half."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+        WebView {
+            width: rect.width/2
+            html: "The_width_is_half."  // not wrapped
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+
+        WebView {
+            preferredWidth: rect.width/2
+            html: "The preferredWidth is half."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+        WebView {
+            preferredWidth: rect.width/2
+            html: "The_preferredWidth_is_half." // not wrapped
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/alerts/qml/alerts/content/Mapping/Map.qml b/examples/declarative/modelviews/webview/alerts/qml/alerts/content/Mapping/Map.qml
new file mode 100644
index 0000000..9a86579
--- /dev/null
+++ b/examples/declarative/modelviews/webview/alerts/qml/alerts/content/Mapping/Map.qml
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** 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
+import QtWebKit 1.0
+
+Item {
+    id: page
+
+    property real latitude: -34.397
+    property real longitude: 150.644
+    property string address: ""
+    property alias status: js.status
+
+    WebView {
+        id: map
+        anchors.fill: parent
+        url: "map.html"
+        pressGrabTime: 0
+        javaScriptWindowObjects: QtObject {
+            id: js
+            WebView.windowObjectName: "qml"
+            property real lat: page.latitude
+            property real lng: page.longitude
+            property string address: page.address
+            property string status: "Loading"
+
+            onAddressChanged: { 
+                if (map.url != "" && map.progress == 1) 
+                    map.evaluateJavaScript("goToAddress()") 
+            }
+        }
+
+        onLoadFinished: { evaluateJavaScript("goToAddress()"); }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/alerts/qml/alerts/content/Mapping/map.html b/examples/declarative/modelviews/webview/alerts/qml/alerts/content/Mapping/map.html
new file mode 100644
index 0000000..a98da54
--- /dev/null
+++ b/examples/declarative/modelviews/webview/alerts/qml/alerts/content/Mapping/map.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
+<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
+<script type="text/javascript">
+  var geocoder
+  var map
+  function goToLatLng(latlng,bounds) {
+    if (map) {
+        map.setCenter(latlng)
+        map.fitBounds(bounds)
+    } else {
+        var myOptions = {
+          zoom: 8,
+          center: latlng,
+          mapTypeId: google.maps.MapTypeId.ROADMAP
+        };
+        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
+    }
+  }
+  function initialize() {
+    geocoder = new google.maps.Geocoder();
+    if (window.qml.address) {
+        goToAddress()
+    } else {
+        goToLatLng(new google.maps.LatLng(window.qml.lat,window.qml.lng));
+    }
+    if (navigator.geolocation) {
+      navigator.geolocation.getCurrentPosition(function(position) {
+        initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
+        window.qml.lat = initialLocation.lat;
+        window.qml.lng = initialLocation.lng;
+        goToLatLng(initialLocation);
+      });
+    }
+  }
+  function goToAddress() {
+      if (geocoder) {
+        var req = {
+            address: window.qml.address,
+        }
+        if (map)
+            req.bounds = map.getBounds()
+        window.qml.status = "Loading";
+        geocoder.geocode(req, function(results, status) {
+          if (status == google.maps.GeocoderStatus.OK) {
+            window.qml.status = "Ready";
+            goToLatLng(results[0].geometry.location,results[0].geometry.bounds);
+          } else {
+            window.qml.status = "Error";
+          }
+        });
+      }
+  }
+</script>
+</head>
+<body onload="initialize()" leftmargin="0px" topmargin="0px" marginwidth="0px" marginheight="0px">
+  <div id="map_canvas" style="width:100%; height:100%"></div>
+</body>
+</html>
diff --git a/examples/declarative/modelviews/webview/alerts/qml/alerts/content/pics/cancel.png b/examples/declarative/modelviews/webview/alerts/qml/alerts/content/pics/cancel.png
new file mode 100644
index 0000000..ecc9533
Binary files /dev/null and b/examples/declarative/modelviews/webview/alerts/qml/alerts/content/pics/cancel.png differ
diff --git a/examples/declarative/modelviews/webview/alerts/qml/alerts/content/pics/ok.png b/examples/declarative/modelviews/webview/alerts/qml/alerts/content/pics/ok.png
new file mode 100644
index 0000000..5795f04
Binary files /dev/null and b/examples/declarative/modelviews/webview/alerts/qml/alerts/content/pics/ok.png differ
diff --git a/examples/declarative/modelviews/webview/alerts/qml/alerts/googlemaps.qml b/examples/declarative/modelviews/webview/alerts/qml/alerts/googlemaps.qml
new file mode 100644
index 0000000..aed0ddd
--- /dev/null
+++ b/examples/declarative/modelviews/webview/alerts/qml/alerts/googlemaps.qml
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// This example demonstrates how Web services such as Google Maps can be
+// abstracted as QML types. Here we have a "Mapping" module with a "Map"
+// type. The Map type has an address property. Setting that property moves
+// the map. The underlying implementation uses WebView and the Google Maps
+// API, but users from QML don't need to understand the implementation in
+// order to create a Map.
+
+import QtQuick 1.0
+import QtWebKit 1.0
+import "content/Mapping"
+
+Map {
+    id: map
+    width: 300
+    height: 300
+    address: "Paris"
+
+    Rectangle {
+        x: 70
+        width: input.width + 20
+        height: input.height + 4
+        anchors.bottom: parent.bottom; anchors.bottomMargin: 5
+        radius: 5
+        opacity: map.status == "Ready" ? 1 : 0
+
+        TextInput {
+            id: input
+            text: map.address
+            anchors.centerIn: parent
+            Keys.onReturnPressed: map.address = input.text
+        }
+    }
+
+    Text {
+        id: loading
+        anchors.centerIn: parent
+        text: map.status == "Error" ? "Error" : "Loading"
+        opacity: map.status == "Ready" ? 0 : 1
+        font.pixelSize: 30
+
+        Behavior on opacity { NumberAnimation{} }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/alerts/qml/alerts/inlinehtml.qml b/examples/declarative/modelviews/webview/alerts/qml/alerts/inlinehtml.qml
new file mode 100644
index 0000000..afc1fa9
--- /dev/null
+++ b/examples/declarative/modelviews/webview/alerts/qml/alerts/inlinehtml.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** 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
+import QtWebKit 1.0
+
+// Inline HTML with loose formatting can be
+// set on the html property.
+WebView {
+    html:"\
+        <body>
+        <table border=1>
+            <tr><th><th>One<th>Two<th>Three
+            <tr><th>1<td>X<td>1<td>X
+            <tr><th>2<td>0<td>X<td>0
+            <tr><th>3<td>X<td>1<td>X
+        </table>"
+}
diff --git a/examples/declarative/modelviews/webview/alerts/qml/alerts/newwindows.html b/examples/declarative/modelviews/webview/alerts/qml/alerts/newwindows.html
new file mode 100644
index 0000000..f169599
--- /dev/null
+++ b/examples/declarative/modelviews/webview/alerts/qml/alerts/newwindows.html
@@ -0,0 +1,3 @@
+<h1>Multiple windows...</h1>
+
+<a target="_blank" href="newwindows.html">Popup!</a>
diff --git a/examples/declarative/modelviews/webview/alerts/qml/alerts/newwindows.qml b/examples/declarative/modelviews/webview/alerts/qml/alerts/newwindows.qml
new file mode 100644
index 0000000..52f7a0b
--- /dev/null
+++ b/examples/declarative/modelviews/webview/alerts/qml/alerts/newwindows.qml
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// Demonstrates opening new WebViews from HTML
+//
+// Note that to open windows from JavaScript, you will need to
+// allow it on WebView with settings.javascriptCanOpenWindows: true
+
+import QtQuick 1.0
+import QtWebKit 1.0
+
+Grid {
+    columns: 3
+    id: pages
+    height: 300; width: 600
+
+    Component {
+        id: webViewPage
+        Rectangle {
+            width: webView.width
+            height: webView.height
+            border.color: "gray"
+
+            WebView {
+                id: webView
+                newWindowComponent: webViewPage
+                newWindowParent: pages
+                url: "newwindows.html"
+            }
+        }
+    }
+
+    Loader { sourceComponent: webViewPage }
+}
diff --git a/examples/declarative/modelviews/webview/alerts/qml/autosize.qml b/examples/declarative/modelviews/webview/alerts/qml/autosize.qml
deleted file mode 100644
index 7e10403..0000000
--- a/examples/declarative/modelviews/webview/alerts/qml/autosize.qml
+++ /dev/null
@@ -1,106 +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
-import QtWebKit 1.0
-
-// The WebView size is determined by the width, height,
-// preferredWidth, and preferredHeight properties.
-Rectangle {
-    id: rect
-    width: 200
-    height: layout.height
-
-    Column {
-        id: layout
-        spacing: 2
-
-        WebView {
-            html: "No width defined."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            width: rect.width
-            html: "The width is full."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            width: rect.width/2
-            html: "The width is half."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-        WebView {
-            width: rect.width/2
-            html: "The_width_is_half."  // not wrapped
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            preferredWidth: rect.width/2
-            html: "The preferredWidth is half."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-        WebView {
-            preferredWidth: rect.width/2
-            html: "The_preferredWidth_is_half." // not wrapped
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/alerts/qml/content/Mapping/Map.qml b/examples/declarative/modelviews/webview/alerts/qml/content/Mapping/Map.qml
deleted file mode 100644
index 9a86579..0000000
--- a/examples/declarative/modelviews/webview/alerts/qml/content/Mapping/Map.qml
+++ /dev/null
@@ -1,73 +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
-import QtWebKit 1.0
-
-Item {
-    id: page
-
-    property real latitude: -34.397
-    property real longitude: 150.644
-    property string address: ""
-    property alias status: js.status
-
-    WebView {
-        id: map
-        anchors.fill: parent
-        url: "map.html"
-        pressGrabTime: 0
-        javaScriptWindowObjects: QtObject {
-            id: js
-            WebView.windowObjectName: "qml"
-            property real lat: page.latitude
-            property real lng: page.longitude
-            property string address: page.address
-            property string status: "Loading"
-
-            onAddressChanged: { 
-                if (map.url != "" && map.progress == 1) 
-                    map.evaluateJavaScript("goToAddress()") 
-            }
-        }
-
-        onLoadFinished: { evaluateJavaScript("goToAddress()"); }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/alerts/qml/content/Mapping/map.html b/examples/declarative/modelviews/webview/alerts/qml/content/Mapping/map.html
deleted file mode 100644
index a98da54..0000000
--- a/examples/declarative/modelviews/webview/alerts/qml/content/Mapping/map.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<html>
-<head>
-<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
-<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
-<script type="text/javascript">
-  var geocoder
-  var map
-  function goToLatLng(latlng,bounds) {
-    if (map) {
-        map.setCenter(latlng)
-        map.fitBounds(bounds)
-    } else {
-        var myOptions = {
-          zoom: 8,
-          center: latlng,
-          mapTypeId: google.maps.MapTypeId.ROADMAP
-        };
-        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
-    }
-  }
-  function initialize() {
-    geocoder = new google.maps.Geocoder();
-    if (window.qml.address) {
-        goToAddress()
-    } else {
-        goToLatLng(new google.maps.LatLng(window.qml.lat,window.qml.lng));
-    }
-    if (navigator.geolocation) {
-      navigator.geolocation.getCurrentPosition(function(position) {
-        initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
-        window.qml.lat = initialLocation.lat;
-        window.qml.lng = initialLocation.lng;
-        goToLatLng(initialLocation);
-      });
-    }
-  }
-  function goToAddress() {
-      if (geocoder) {
-        var req = {
-            address: window.qml.address,
-        }
-        if (map)
-            req.bounds = map.getBounds()
-        window.qml.status = "Loading";
-        geocoder.geocode(req, function(results, status) {
-          if (status == google.maps.GeocoderStatus.OK) {
-            window.qml.status = "Ready";
-            goToLatLng(results[0].geometry.location,results[0].geometry.bounds);
-          } else {
-            window.qml.status = "Error";
-          }
-        });
-      }
-  }
-</script>
-</head>
-<body onload="initialize()" leftmargin="0px" topmargin="0px" marginwidth="0px" marginheight="0px">
-  <div id="map_canvas" style="width:100%; height:100%"></div>
-</body>
-</html>
diff --git a/examples/declarative/modelviews/webview/alerts/qml/content/pics/cancel.png b/examples/declarative/modelviews/webview/alerts/qml/content/pics/cancel.png
deleted file mode 100644
index ecc9533..0000000
Binary files a/examples/declarative/modelviews/webview/alerts/qml/content/pics/cancel.png and /dev/null differ
diff --git a/examples/declarative/modelviews/webview/alerts/qml/content/pics/ok.png b/examples/declarative/modelviews/webview/alerts/qml/content/pics/ok.png
deleted file mode 100644
index 5795f04..0000000
Binary files a/examples/declarative/modelviews/webview/alerts/qml/content/pics/ok.png and /dev/null differ
diff --git a/examples/declarative/modelviews/webview/alerts/qml/googlemaps.qml b/examples/declarative/modelviews/webview/alerts/qml/googlemaps.qml
deleted file mode 100644
index aed0ddd..0000000
--- a/examples/declarative/modelviews/webview/alerts/qml/googlemaps.qml
+++ /dev/null
@@ -1,83 +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$
-**
-****************************************************************************/
-
-// This example demonstrates how Web services such as Google Maps can be
-// abstracted as QML types. Here we have a "Mapping" module with a "Map"
-// type. The Map type has an address property. Setting that property moves
-// the map. The underlying implementation uses WebView and the Google Maps
-// API, but users from QML don't need to understand the implementation in
-// order to create a Map.
-
-import QtQuick 1.0
-import QtWebKit 1.0
-import "content/Mapping"
-
-Map {
-    id: map
-    width: 300
-    height: 300
-    address: "Paris"
-
-    Rectangle {
-        x: 70
-        width: input.width + 20
-        height: input.height + 4
-        anchors.bottom: parent.bottom; anchors.bottomMargin: 5
-        radius: 5
-        opacity: map.status == "Ready" ? 1 : 0
-
-        TextInput {
-            id: input
-            text: map.address
-            anchors.centerIn: parent
-            Keys.onReturnPressed: map.address = input.text
-        }
-    }
-
-    Text {
-        id: loading
-        anchors.centerIn: parent
-        text: map.status == "Error" ? "Error" : "Loading"
-        opacity: map.status == "Ready" ? 0 : 1
-        font.pixelSize: 30
-
-        Behavior on opacity { NumberAnimation{} }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/alerts/qml/inlinehtml.qml b/examples/declarative/modelviews/webview/alerts/qml/inlinehtml.qml
deleted file mode 100644
index afc1fa9..0000000
--- a/examples/declarative/modelviews/webview/alerts/qml/inlinehtml.qml
+++ /dev/null
@@ -1,55 +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
-import QtWebKit 1.0
-
-// Inline HTML with loose formatting can be
-// set on the html property.
-WebView {
-    html:"\
-        <body>
-        <table border=1>
-            <tr><th><th>One<th>Two<th>Three
-            <tr><th>1<td>X<td>1<td>X
-            <tr><th>2<td>0<td>X<td>0
-            <tr><th>3<td>X<td>1<td>X
-        </table>"
-}
diff --git a/examples/declarative/modelviews/webview/alerts/qml/newwindows.html b/examples/declarative/modelviews/webview/alerts/qml/newwindows.html
deleted file mode 100644
index f169599..0000000
--- a/examples/declarative/modelviews/webview/alerts/qml/newwindows.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<h1>Multiple windows...</h1>
-
-<a target="_blank" href="newwindows.html">Popup!</a>
diff --git a/examples/declarative/modelviews/webview/alerts/qml/newwindows.qml b/examples/declarative/modelviews/webview/alerts/qml/newwindows.qml
deleted file mode 100644
index 52f7a0b..0000000
--- a/examples/declarative/modelviews/webview/alerts/qml/newwindows.qml
+++ /dev/null
@@ -1,71 +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$
-**
-****************************************************************************/
-
-// Demonstrates opening new WebViews from HTML
-//
-// Note that to open windows from JavaScript, you will need to
-// allow it on WebView with settings.javascriptCanOpenWindows: true
-
-import QtQuick 1.0
-import QtWebKit 1.0
-
-Grid {
-    columns: 3
-    id: pages
-    height: 300; width: 600
-
-    Component {
-        id: webViewPage
-        Rectangle {
-            width: webView.width
-            height: webView.height
-            border.color: "gray"
-
-            WebView {
-                id: webView
-                newWindowComponent: webViewPage
-                newWindowParent: pages
-                url: "newwindows.html"
-            }
-        }
-    }
-
-    Loader { sourceComponent: webViewPage }
-}
diff --git a/examples/declarative/modelviews/webview/alerts/qml/webview.qmlproject b/examples/declarative/modelviews/webview/alerts/qml/webview.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/modelviews/webview/alerts/qml/webview.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/modelviews/webview/alerts/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/modelviews/webview/alerts/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/modelviews/webview/alerts/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/modelviews/webview/alerts/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/modelviews/webview/alerts/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/modelviews/webview/alerts/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/modelviews/webview/alerts/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/modelviews/webview/alerts/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/modelviews/webview/alerts/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/modelviews/webview/autosize.qml b/examples/declarative/modelviews/webview/autosize.qml
deleted file mode 100644
index d7d6764..0000000
--- a/examples/declarative/modelviews/webview/autosize.qml
+++ /dev/null
@@ -1,106 +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
-import QtWebKit 1.0
-
-// The WebView size is determined by the width, height,
-// preferredWidth, and preferredHeight properties.
-Rectangle {
-    id: rect
-    width: 200
-    height: layout.height
-
-    Column {
-        id: layout
-        spacing: 2
-
-        WebView {
-            html: "No width defined."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            width: rect.width
-            html: "The width is full."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            width: rect.width/2
-            html: "The width is half."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-        WebView {
-            width: rect.width/2
-            html: "The_width_is_half."  // not wrapped
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            preferredWidth: rect.width/2
-            html: "The preferredWidth is half."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-        WebView {
-            preferredWidth: rect.width/2
-            html: "The_preferredWidth_is_half." // not wrapped
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/autosize/autosize.pro b/examples/declarative/modelviews/webview/autosize/autosize.pro
index a17f822..13913c6 100644
--- a/examples/declarative/modelviews/webview/autosize/autosize.pro
+++ b/examples/declarative/modelviews/webview/autosize/autosize.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/autosize
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEE6AB317
 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/modelviews/webview/autosize/autosize.qmlproject b/examples/declarative/modelviews/webview/autosize/autosize.qmlproject
new file mode 100644
index 0000000..f1bf807
--- /dev/null
+++ b/examples/declarative/modelviews/webview/autosize/autosize.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/autosize"
+    }
+    JavaScriptFiles {
+        directory: "qml/autosize"
+    }
+    ImageFiles {
+        directory: "qml/autosize"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/modelviews/webview/autosize/main.cpp b/examples/declarative/modelviews/webview/autosize/main.cpp
index 9a7f6ec..86fdd6c 100644
--- a/examples/declarative/modelviews/webview/autosize/main.cpp
+++ b/examples/declarative/modelviews/webview/autosize/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockPortrait);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/autosize.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/autosize/autosize.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/modelviews/webview/autosize/qml/alerts.html b/examples/declarative/modelviews/webview/autosize/qml/alerts.html
deleted file mode 100644
index 82caddf..0000000
--- a/examples/declarative/modelviews/webview/autosize/qml/alerts.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html>
-<body onclick="alert('This is an alert')">
-<p>This is a web page. It fires an alert when clicked.
-</body>
-</html>
diff --git a/examples/declarative/modelviews/webview/autosize/qml/alerts.qml b/examples/declarative/modelviews/webview/autosize/qml/alerts.qml
deleted file mode 100644
index 4aa4a3b..0000000
--- a/examples/declarative/modelviews/webview/autosize/qml/alerts.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
-import QtWebKit 1.0
-
-WebView {
-    id: webView
-    width: 200
-    height: 150
-    url: "alerts.html"
-
-    onAlert: popup.show(message)
-
-    Rectangle {
-        id: popup
-
-        color: "red"
-        border.color: "black"; border.width: 2
-        radius: 4
-
-        y: parent.height // off "screen"
-        anchors.horizontalCenter: parent.horizontalCenter
-        width: label.width + 5
-        height: label.height + 5
-
-        opacity: 0
-
-        function show(text) {
-            label.text = text
-            popup.state = "visible"
-            timer.start()
-        }
-        states: State {
-            name: "visible"
-            PropertyChanges { target: popup; opacity: 1 }
-            PropertyChanges { target: popup; y: (webView.height-popup.height)/2 }
-        }
-
-        transitions: [
-            Transition { from: ""; PropertyAnimation { properties: "opacity,y"; duration: 65 } },
-            Transition { from: "visible"; PropertyAnimation { properties: "opacity,y"; duration: 500 } }
-        ]
-
-        Timer {
-            id: timer
-            interval: 1000
-
-            onTriggered: popup.state = ""
-        }
-
-        Text {
-            id: label
-            anchors.centerIn: parent
-            width: webView.width  *0.75
-
-            color: "white"
-            font.pixelSize: 20
-            wrapMode: Text.WordWrap
-            horizontalAlignment: Text.AlignHCenter
-            smooth: true
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/autosize/qml/autosize.qml b/examples/declarative/modelviews/webview/autosize/qml/autosize.qml
deleted file mode 100644
index 7e10403..0000000
--- a/examples/declarative/modelviews/webview/autosize/qml/autosize.qml
+++ /dev/null
@@ -1,106 +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
-import QtWebKit 1.0
-
-// The WebView size is determined by the width, height,
-// preferredWidth, and preferredHeight properties.
-Rectangle {
-    id: rect
-    width: 200
-    height: layout.height
-
-    Column {
-        id: layout
-        spacing: 2
-
-        WebView {
-            html: "No width defined."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            width: rect.width
-            html: "The width is full."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            width: rect.width/2
-            html: "The width is half."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-        WebView {
-            width: rect.width/2
-            html: "The_width_is_half."  // not wrapped
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            preferredWidth: rect.width/2
-            html: "The preferredWidth is half."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-        WebView {
-            preferredWidth: rect.width/2
-            html: "The_preferredWidth_is_half." // not wrapped
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/autosize/qml/autosize/alerts.html b/examples/declarative/modelviews/webview/autosize/qml/autosize/alerts.html
new file mode 100644
index 0000000..82caddf
--- /dev/null
+++ b/examples/declarative/modelviews/webview/autosize/qml/autosize/alerts.html
@@ -0,0 +1,5 @@
+<html>
+<body onclick="alert('This is an alert')">
+<p>This is a web page. It fires an alert when clicked.
+</body>
+</html>
diff --git a/examples/declarative/modelviews/webview/autosize/qml/autosize/alerts.qml b/examples/declarative/modelviews/webview/autosize/qml/autosize/alerts.qml
new file mode 100644
index 0000000..4aa4a3b
--- /dev/null
+++ b/examples/declarative/modelviews/webview/autosize/qml/autosize/alerts.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
+import QtWebKit 1.0
+
+WebView {
+    id: webView
+    width: 200
+    height: 150
+    url: "alerts.html"
+
+    onAlert: popup.show(message)
+
+    Rectangle {
+        id: popup
+
+        color: "red"
+        border.color: "black"; border.width: 2
+        radius: 4
+
+        y: parent.height // off "screen"
+        anchors.horizontalCenter: parent.horizontalCenter
+        width: label.width + 5
+        height: label.height + 5
+
+        opacity: 0
+
+        function show(text) {
+            label.text = text
+            popup.state = "visible"
+            timer.start()
+        }
+        states: State {
+            name: "visible"
+            PropertyChanges { target: popup; opacity: 1 }
+            PropertyChanges { target: popup; y: (webView.height-popup.height)/2 }
+        }
+
+        transitions: [
+            Transition { from: ""; PropertyAnimation { properties: "opacity,y"; duration: 65 } },
+            Transition { from: "visible"; PropertyAnimation { properties: "opacity,y"; duration: 500 } }
+        ]
+
+        Timer {
+            id: timer
+            interval: 1000
+
+            onTriggered: popup.state = ""
+        }
+
+        Text {
+            id: label
+            anchors.centerIn: parent
+            width: webView.width  *0.75
+
+            color: "white"
+            font.pixelSize: 20
+            wrapMode: Text.WordWrap
+            horizontalAlignment: Text.AlignHCenter
+            smooth: true
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/autosize/qml/autosize/autosize.qml b/examples/declarative/modelviews/webview/autosize/qml/autosize/autosize.qml
new file mode 100644
index 0000000..7e10403
--- /dev/null
+++ b/examples/declarative/modelviews/webview/autosize/qml/autosize/autosize.qml
@@ -0,0 +1,106 @@
+/****************************************************************************
+**
+** 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
+import QtWebKit 1.0
+
+// The WebView size is determined by the width, height,
+// preferredWidth, and preferredHeight properties.
+Rectangle {
+    id: rect
+    width: 200
+    height: layout.height
+
+    Column {
+        id: layout
+        spacing: 2
+
+        WebView {
+            html: "No width defined."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+
+        WebView {
+            width: rect.width
+            html: "The width is full."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+
+        WebView {
+            width: rect.width/2
+            html: "The width is half."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+        WebView {
+            width: rect.width/2
+            html: "The_width_is_half."  // not wrapped
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+
+        WebView {
+            preferredWidth: rect.width/2
+            html: "The preferredWidth is half."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+        WebView {
+            preferredWidth: rect.width/2
+            html: "The_preferredWidth_is_half." // not wrapped
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/autosize/qml/autosize/content/Mapping/Map.qml b/examples/declarative/modelviews/webview/autosize/qml/autosize/content/Mapping/Map.qml
new file mode 100644
index 0000000..9a86579
--- /dev/null
+++ b/examples/declarative/modelviews/webview/autosize/qml/autosize/content/Mapping/Map.qml
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** 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
+import QtWebKit 1.0
+
+Item {
+    id: page
+
+    property real latitude: -34.397
+    property real longitude: 150.644
+    property string address: ""
+    property alias status: js.status
+
+    WebView {
+        id: map
+        anchors.fill: parent
+        url: "map.html"
+        pressGrabTime: 0
+        javaScriptWindowObjects: QtObject {
+            id: js
+            WebView.windowObjectName: "qml"
+            property real lat: page.latitude
+            property real lng: page.longitude
+            property string address: page.address
+            property string status: "Loading"
+
+            onAddressChanged: { 
+                if (map.url != "" && map.progress == 1) 
+                    map.evaluateJavaScript("goToAddress()") 
+            }
+        }
+
+        onLoadFinished: { evaluateJavaScript("goToAddress()"); }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/autosize/qml/autosize/content/Mapping/map.html b/examples/declarative/modelviews/webview/autosize/qml/autosize/content/Mapping/map.html
new file mode 100644
index 0000000..a98da54
--- /dev/null
+++ b/examples/declarative/modelviews/webview/autosize/qml/autosize/content/Mapping/map.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
+<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
+<script type="text/javascript">
+  var geocoder
+  var map
+  function goToLatLng(latlng,bounds) {
+    if (map) {
+        map.setCenter(latlng)
+        map.fitBounds(bounds)
+    } else {
+        var myOptions = {
+          zoom: 8,
+          center: latlng,
+          mapTypeId: google.maps.MapTypeId.ROADMAP
+        };
+        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
+    }
+  }
+  function initialize() {
+    geocoder = new google.maps.Geocoder();
+    if (window.qml.address) {
+        goToAddress()
+    } else {
+        goToLatLng(new google.maps.LatLng(window.qml.lat,window.qml.lng));
+    }
+    if (navigator.geolocation) {
+      navigator.geolocation.getCurrentPosition(function(position) {
+        initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
+        window.qml.lat = initialLocation.lat;
+        window.qml.lng = initialLocation.lng;
+        goToLatLng(initialLocation);
+      });
+    }
+  }
+  function goToAddress() {
+      if (geocoder) {
+        var req = {
+            address: window.qml.address,
+        }
+        if (map)
+            req.bounds = map.getBounds()
+        window.qml.status = "Loading";
+        geocoder.geocode(req, function(results, status) {
+          if (status == google.maps.GeocoderStatus.OK) {
+            window.qml.status = "Ready";
+            goToLatLng(results[0].geometry.location,results[0].geometry.bounds);
+          } else {
+            window.qml.status = "Error";
+          }
+        });
+      }
+  }
+</script>
+</head>
+<body onload="initialize()" leftmargin="0px" topmargin="0px" marginwidth="0px" marginheight="0px">
+  <div id="map_canvas" style="width:100%; height:100%"></div>
+</body>
+</html>
diff --git a/examples/declarative/modelviews/webview/autosize/qml/autosize/content/pics/cancel.png b/examples/declarative/modelviews/webview/autosize/qml/autosize/content/pics/cancel.png
new file mode 100644
index 0000000..ecc9533
Binary files /dev/null and b/examples/declarative/modelviews/webview/autosize/qml/autosize/content/pics/cancel.png differ
diff --git a/examples/declarative/modelviews/webview/autosize/qml/autosize/content/pics/ok.png b/examples/declarative/modelviews/webview/autosize/qml/autosize/content/pics/ok.png
new file mode 100644
index 0000000..5795f04
Binary files /dev/null and b/examples/declarative/modelviews/webview/autosize/qml/autosize/content/pics/ok.png differ
diff --git a/examples/declarative/modelviews/webview/autosize/qml/autosize/googlemaps.qml b/examples/declarative/modelviews/webview/autosize/qml/autosize/googlemaps.qml
new file mode 100644
index 0000000..aed0ddd
--- /dev/null
+++ b/examples/declarative/modelviews/webview/autosize/qml/autosize/googlemaps.qml
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// This example demonstrates how Web services such as Google Maps can be
+// abstracted as QML types. Here we have a "Mapping" module with a "Map"
+// type. The Map type has an address property. Setting that property moves
+// the map. The underlying implementation uses WebView and the Google Maps
+// API, but users from QML don't need to understand the implementation in
+// order to create a Map.
+
+import QtQuick 1.0
+import QtWebKit 1.0
+import "content/Mapping"
+
+Map {
+    id: map
+    width: 300
+    height: 300
+    address: "Paris"
+
+    Rectangle {
+        x: 70
+        width: input.width + 20
+        height: input.height + 4
+        anchors.bottom: parent.bottom; anchors.bottomMargin: 5
+        radius: 5
+        opacity: map.status == "Ready" ? 1 : 0
+
+        TextInput {
+            id: input
+            text: map.address
+            anchors.centerIn: parent
+            Keys.onReturnPressed: map.address = input.text
+        }
+    }
+
+    Text {
+        id: loading
+        anchors.centerIn: parent
+        text: map.status == "Error" ? "Error" : "Loading"
+        opacity: map.status == "Ready" ? 0 : 1
+        font.pixelSize: 30
+
+        Behavior on opacity { NumberAnimation{} }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/autosize/qml/autosize/inlinehtml.qml b/examples/declarative/modelviews/webview/autosize/qml/autosize/inlinehtml.qml
new file mode 100644
index 0000000..afc1fa9
--- /dev/null
+++ b/examples/declarative/modelviews/webview/autosize/qml/autosize/inlinehtml.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** 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
+import QtWebKit 1.0
+
+// Inline HTML with loose formatting can be
+// set on the html property.
+WebView {
+    html:"\
+        <body>
+        <table border=1>
+            <tr><th><th>One<th>Two<th>Three
+            <tr><th>1<td>X<td>1<td>X
+            <tr><th>2<td>0<td>X<td>0
+            <tr><th>3<td>X<td>1<td>X
+        </table>"
+}
diff --git a/examples/declarative/modelviews/webview/autosize/qml/autosize/newwindows.html b/examples/declarative/modelviews/webview/autosize/qml/autosize/newwindows.html
new file mode 100644
index 0000000..f169599
--- /dev/null
+++ b/examples/declarative/modelviews/webview/autosize/qml/autosize/newwindows.html
@@ -0,0 +1,3 @@
+<h1>Multiple windows...</h1>
+
+<a target="_blank" href="newwindows.html">Popup!</a>
diff --git a/examples/declarative/modelviews/webview/autosize/qml/autosize/newwindows.qml b/examples/declarative/modelviews/webview/autosize/qml/autosize/newwindows.qml
new file mode 100644
index 0000000..52f7a0b
--- /dev/null
+++ b/examples/declarative/modelviews/webview/autosize/qml/autosize/newwindows.qml
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// Demonstrates opening new WebViews from HTML
+//
+// Note that to open windows from JavaScript, you will need to
+// allow it on WebView with settings.javascriptCanOpenWindows: true
+
+import QtQuick 1.0
+import QtWebKit 1.0
+
+Grid {
+    columns: 3
+    id: pages
+    height: 300; width: 600
+
+    Component {
+        id: webViewPage
+        Rectangle {
+            width: webView.width
+            height: webView.height
+            border.color: "gray"
+
+            WebView {
+                id: webView
+                newWindowComponent: webViewPage
+                newWindowParent: pages
+                url: "newwindows.html"
+            }
+        }
+    }
+
+    Loader { sourceComponent: webViewPage }
+}
diff --git a/examples/declarative/modelviews/webview/autosize/qml/content/Mapping/Map.qml b/examples/declarative/modelviews/webview/autosize/qml/content/Mapping/Map.qml
deleted file mode 100644
index 9a86579..0000000
--- a/examples/declarative/modelviews/webview/autosize/qml/content/Mapping/Map.qml
+++ /dev/null
@@ -1,73 +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
-import QtWebKit 1.0
-
-Item {
-    id: page
-
-    property real latitude: -34.397
-    property real longitude: 150.644
-    property string address: ""
-    property alias status: js.status
-
-    WebView {
-        id: map
-        anchors.fill: parent
-        url: "map.html"
-        pressGrabTime: 0
-        javaScriptWindowObjects: QtObject {
-            id: js
-            WebView.windowObjectName: "qml"
-            property real lat: page.latitude
-            property real lng: page.longitude
-            property string address: page.address
-            property string status: "Loading"
-
-            onAddressChanged: { 
-                if (map.url != "" && map.progress == 1) 
-                    map.evaluateJavaScript("goToAddress()") 
-            }
-        }
-
-        onLoadFinished: { evaluateJavaScript("goToAddress()"); }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/autosize/qml/content/Mapping/map.html b/examples/declarative/modelviews/webview/autosize/qml/content/Mapping/map.html
deleted file mode 100644
index a98da54..0000000
--- a/examples/declarative/modelviews/webview/autosize/qml/content/Mapping/map.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<html>
-<head>
-<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
-<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
-<script type="text/javascript">
-  var geocoder
-  var map
-  function goToLatLng(latlng,bounds) {
-    if (map) {
-        map.setCenter(latlng)
-        map.fitBounds(bounds)
-    } else {
-        var myOptions = {
-          zoom: 8,
-          center: latlng,
-          mapTypeId: google.maps.MapTypeId.ROADMAP
-        };
-        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
-    }
-  }
-  function initialize() {
-    geocoder = new google.maps.Geocoder();
-    if (window.qml.address) {
-        goToAddress()
-    } else {
-        goToLatLng(new google.maps.LatLng(window.qml.lat,window.qml.lng));
-    }
-    if (navigator.geolocation) {
-      navigator.geolocation.getCurrentPosition(function(position) {
-        initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
-        window.qml.lat = initialLocation.lat;
-        window.qml.lng = initialLocation.lng;
-        goToLatLng(initialLocation);
-      });
-    }
-  }
-  function goToAddress() {
-      if (geocoder) {
-        var req = {
-            address: window.qml.address,
-        }
-        if (map)
-            req.bounds = map.getBounds()
-        window.qml.status = "Loading";
-        geocoder.geocode(req, function(results, status) {
-          if (status == google.maps.GeocoderStatus.OK) {
-            window.qml.status = "Ready";
-            goToLatLng(results[0].geometry.location,results[0].geometry.bounds);
-          } else {
-            window.qml.status = "Error";
-          }
-        });
-      }
-  }
-</script>
-</head>
-<body onload="initialize()" leftmargin="0px" topmargin="0px" marginwidth="0px" marginheight="0px">
-  <div id="map_canvas" style="width:100%; height:100%"></div>
-</body>
-</html>
diff --git a/examples/declarative/modelviews/webview/autosize/qml/content/pics/cancel.png b/examples/declarative/modelviews/webview/autosize/qml/content/pics/cancel.png
deleted file mode 100644
index ecc9533..0000000
Binary files a/examples/declarative/modelviews/webview/autosize/qml/content/pics/cancel.png and /dev/null differ
diff --git a/examples/declarative/modelviews/webview/autosize/qml/content/pics/ok.png b/examples/declarative/modelviews/webview/autosize/qml/content/pics/ok.png
deleted file mode 100644
index 5795f04..0000000
Binary files a/examples/declarative/modelviews/webview/autosize/qml/content/pics/ok.png and /dev/null differ
diff --git a/examples/declarative/modelviews/webview/autosize/qml/googlemaps.qml b/examples/declarative/modelviews/webview/autosize/qml/googlemaps.qml
deleted file mode 100644
index aed0ddd..0000000
--- a/examples/declarative/modelviews/webview/autosize/qml/googlemaps.qml
+++ /dev/null
@@ -1,83 +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$
-**
-****************************************************************************/
-
-// This example demonstrates how Web services such as Google Maps can be
-// abstracted as QML types. Here we have a "Mapping" module with a "Map"
-// type. The Map type has an address property. Setting that property moves
-// the map. The underlying implementation uses WebView and the Google Maps
-// API, but users from QML don't need to understand the implementation in
-// order to create a Map.
-
-import QtQuick 1.0
-import QtWebKit 1.0
-import "content/Mapping"
-
-Map {
-    id: map
-    width: 300
-    height: 300
-    address: "Paris"
-
-    Rectangle {
-        x: 70
-        width: input.width + 20
-        height: input.height + 4
-        anchors.bottom: parent.bottom; anchors.bottomMargin: 5
-        radius: 5
-        opacity: map.status == "Ready" ? 1 : 0
-
-        TextInput {
-            id: input
-            text: map.address
-            anchors.centerIn: parent
-            Keys.onReturnPressed: map.address = input.text
-        }
-    }
-
-    Text {
-        id: loading
-        anchors.centerIn: parent
-        text: map.status == "Error" ? "Error" : "Loading"
-        opacity: map.status == "Ready" ? 0 : 1
-        font.pixelSize: 30
-
-        Behavior on opacity { NumberAnimation{} }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/autosize/qml/inlinehtml.qml b/examples/declarative/modelviews/webview/autosize/qml/inlinehtml.qml
deleted file mode 100644
index afc1fa9..0000000
--- a/examples/declarative/modelviews/webview/autosize/qml/inlinehtml.qml
+++ /dev/null
@@ -1,55 +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
-import QtWebKit 1.0
-
-// Inline HTML with loose formatting can be
-// set on the html property.
-WebView {
-    html:"\
-        <body>
-        <table border=1>
-            <tr><th><th>One<th>Two<th>Three
-            <tr><th>1<td>X<td>1<td>X
-            <tr><th>2<td>0<td>X<td>0
-            <tr><th>3<td>X<td>1<td>X
-        </table>"
-}
diff --git a/examples/declarative/modelviews/webview/autosize/qml/newwindows.html b/examples/declarative/modelviews/webview/autosize/qml/newwindows.html
deleted file mode 100644
index f169599..0000000
--- a/examples/declarative/modelviews/webview/autosize/qml/newwindows.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<h1>Multiple windows...</h1>
-
-<a target="_blank" href="newwindows.html">Popup!</a>
diff --git a/examples/declarative/modelviews/webview/autosize/qml/newwindows.qml b/examples/declarative/modelviews/webview/autosize/qml/newwindows.qml
deleted file mode 100644
index 52f7a0b..0000000
--- a/examples/declarative/modelviews/webview/autosize/qml/newwindows.qml
+++ /dev/null
@@ -1,71 +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$
-**
-****************************************************************************/
-
-// Demonstrates opening new WebViews from HTML
-//
-// Note that to open windows from JavaScript, you will need to
-// allow it on WebView with settings.javascriptCanOpenWindows: true
-
-import QtQuick 1.0
-import QtWebKit 1.0
-
-Grid {
-    columns: 3
-    id: pages
-    height: 300; width: 600
-
-    Component {
-        id: webViewPage
-        Rectangle {
-            width: webView.width
-            height: webView.height
-            border.color: "gray"
-
-            WebView {
-                id: webView
-                newWindowComponent: webViewPage
-                newWindowParent: pages
-                url: "newwindows.html"
-            }
-        }
-    }
-
-    Loader { sourceComponent: webViewPage }
-}
diff --git a/examples/declarative/modelviews/webview/autosize/qml/webview.qmlproject b/examples/declarative/modelviews/webview/autosize/qml/webview.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/modelviews/webview/autosize/qml/webview.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/modelviews/webview/autosize/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/modelviews/webview/autosize/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/modelviews/webview/autosize/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/modelviews/webview/autosize/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/modelviews/webview/autosize/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/modelviews/webview/autosize/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/modelviews/webview/autosize/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/modelviews/webview/autosize/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/modelviews/webview/autosize/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/modelviews/webview/googlemaps.qml b/examples/declarative/modelviews/webview/googlemaps.qml
deleted file mode 100644
index 85641f4..0000000
--- a/examples/declarative/modelviews/webview/googlemaps.qml
+++ /dev/null
@@ -1,83 +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$
-**
-****************************************************************************/
-
-// This example demonstrates how Web services such as Google Maps can be
-// abstracted as QML types. Here we have a "Mapping" module with a "Map"
-// type. The Map type has an address property. Setting that property moves
-// the map. The underlying implementation uses WebView and the Google Maps
-// API, but users from QML don't need to understand the implementation in
-// order to create a Map.
-
-import QtQuick 1.0
-import QtWebKit 1.0
-import "content/Mapping"
-
-Map {
-    id: map
-    width: 300
-    height: 300
-    address: "Paris"
-
-    Rectangle {
-        x: 70
-        width: input.width + 20
-        height: input.height + 4
-        anchors.bottom: parent.bottom; anchors.bottomMargin: 5
-        radius: 5
-        opacity: map.status == "Ready" ? 1 : 0
-
-        TextInput {
-            id: input
-            text: map.address
-            anchors.centerIn: parent
-            Keys.onReturnPressed: map.address = input.text
-        }
-    }
-
-    Text {
-        id: loading
-        anchors.centerIn: parent
-        text: map.status == "Error" ? "Error" : "Loading"
-        opacity: map.status == "Ready" ? 0 : 1
-        font.pixelSize: 30
-
-        Behavior on opacity { NumberAnimation{} }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/googlemaps/googlemaps.pro b/examples/declarative/modelviews/webview/googlemaps/googlemaps.pro
index 2a4c5f2..2bbfbf5 100644
--- a/examples/declarative/modelviews/webview/googlemaps/googlemaps.pro
+++ b/examples/declarative/modelviews/webview/googlemaps/googlemaps.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/googlemaps
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEF02570C
 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/modelviews/webview/googlemaps/googlemaps.qmlproject b/examples/declarative/modelviews/webview/googlemaps/googlemaps.qmlproject
new file mode 100644
index 0000000..23a41e5
--- /dev/null
+++ b/examples/declarative/modelviews/webview/googlemaps/googlemaps.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/googlemaps"
+    }
+    JavaScriptFiles {
+        directory: "qml/googlemaps"
+    }
+    ImageFiles {
+        directory: "qml/googlemaps"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/modelviews/webview/googlemaps/main.cpp b/examples/declarative/modelviews/webview/googlemaps/main.cpp
index 9e4da07..0aaf017 100644
--- a/examples/declarative/modelviews/webview/googlemaps/main.cpp
+++ b/examples/declarative/modelviews/webview/googlemaps/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/googlemaps.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/googlemaps/googlemaps.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/alerts.html b/examples/declarative/modelviews/webview/googlemaps/qml/alerts.html
deleted file mode 100644
index 82caddf..0000000
--- a/examples/declarative/modelviews/webview/googlemaps/qml/alerts.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html>
-<body onclick="alert('This is an alert')">
-<p>This is a web page. It fires an alert when clicked.
-</body>
-</html>
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/alerts.qml b/examples/declarative/modelviews/webview/googlemaps/qml/alerts.qml
deleted file mode 100644
index 4aa4a3b..0000000
--- a/examples/declarative/modelviews/webview/googlemaps/qml/alerts.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
-import QtWebKit 1.0
-
-WebView {
-    id: webView
-    width: 200
-    height: 150
-    url: "alerts.html"
-
-    onAlert: popup.show(message)
-
-    Rectangle {
-        id: popup
-
-        color: "red"
-        border.color: "black"; border.width: 2
-        radius: 4
-
-        y: parent.height // off "screen"
-        anchors.horizontalCenter: parent.horizontalCenter
-        width: label.width + 5
-        height: label.height + 5
-
-        opacity: 0
-
-        function show(text) {
-            label.text = text
-            popup.state = "visible"
-            timer.start()
-        }
-        states: State {
-            name: "visible"
-            PropertyChanges { target: popup; opacity: 1 }
-            PropertyChanges { target: popup; y: (webView.height-popup.height)/2 }
-        }
-
-        transitions: [
-            Transition { from: ""; PropertyAnimation { properties: "opacity,y"; duration: 65 } },
-            Transition { from: "visible"; PropertyAnimation { properties: "opacity,y"; duration: 500 } }
-        ]
-
-        Timer {
-            id: timer
-            interval: 1000
-
-            onTriggered: popup.state = ""
-        }
-
-        Text {
-            id: label
-            anchors.centerIn: parent
-            width: webView.width  *0.75
-
-            color: "white"
-            font.pixelSize: 20
-            wrapMode: Text.WordWrap
-            horizontalAlignment: Text.AlignHCenter
-            smooth: true
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/autosize.qml b/examples/declarative/modelviews/webview/googlemaps/qml/autosize.qml
deleted file mode 100644
index 7e10403..0000000
--- a/examples/declarative/modelviews/webview/googlemaps/qml/autosize.qml
+++ /dev/null
@@ -1,106 +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
-import QtWebKit 1.0
-
-// The WebView size is determined by the width, height,
-// preferredWidth, and preferredHeight properties.
-Rectangle {
-    id: rect
-    width: 200
-    height: layout.height
-
-    Column {
-        id: layout
-        spacing: 2
-
-        WebView {
-            html: "No width defined."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            width: rect.width
-            html: "The width is full."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            width: rect.width/2
-            html: "The width is half."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-        WebView {
-            width: rect.width/2
-            html: "The_width_is_half."  // not wrapped
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            preferredWidth: rect.width/2
-            html: "The preferredWidth is half."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-        WebView {
-            preferredWidth: rect.width/2
-            html: "The_preferredWidth_is_half." // not wrapped
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/content/Mapping/Map.qml b/examples/declarative/modelviews/webview/googlemaps/qml/content/Mapping/Map.qml
deleted file mode 100644
index 9a86579..0000000
--- a/examples/declarative/modelviews/webview/googlemaps/qml/content/Mapping/Map.qml
+++ /dev/null
@@ -1,73 +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
-import QtWebKit 1.0
-
-Item {
-    id: page
-
-    property real latitude: -34.397
-    property real longitude: 150.644
-    property string address: ""
-    property alias status: js.status
-
-    WebView {
-        id: map
-        anchors.fill: parent
-        url: "map.html"
-        pressGrabTime: 0
-        javaScriptWindowObjects: QtObject {
-            id: js
-            WebView.windowObjectName: "qml"
-            property real lat: page.latitude
-            property real lng: page.longitude
-            property string address: page.address
-            property string status: "Loading"
-
-            onAddressChanged: { 
-                if (map.url != "" && map.progress == 1) 
-                    map.evaluateJavaScript("goToAddress()") 
-            }
-        }
-
-        onLoadFinished: { evaluateJavaScript("goToAddress()"); }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/content/Mapping/map.html b/examples/declarative/modelviews/webview/googlemaps/qml/content/Mapping/map.html
deleted file mode 100644
index a98da54..0000000
--- a/examples/declarative/modelviews/webview/googlemaps/qml/content/Mapping/map.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<html>
-<head>
-<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
-<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
-<script type="text/javascript">
-  var geocoder
-  var map
-  function goToLatLng(latlng,bounds) {
-    if (map) {
-        map.setCenter(latlng)
-        map.fitBounds(bounds)
-    } else {
-        var myOptions = {
-          zoom: 8,
-          center: latlng,
-          mapTypeId: google.maps.MapTypeId.ROADMAP
-        };
-        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
-    }
-  }
-  function initialize() {
-    geocoder = new google.maps.Geocoder();
-    if (window.qml.address) {
-        goToAddress()
-    } else {
-        goToLatLng(new google.maps.LatLng(window.qml.lat,window.qml.lng));
-    }
-    if (navigator.geolocation) {
-      navigator.geolocation.getCurrentPosition(function(position) {
-        initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
-        window.qml.lat = initialLocation.lat;
-        window.qml.lng = initialLocation.lng;
-        goToLatLng(initialLocation);
-      });
-    }
-  }
-  function goToAddress() {
-      if (geocoder) {
-        var req = {
-            address: window.qml.address,
-        }
-        if (map)
-            req.bounds = map.getBounds()
-        window.qml.status = "Loading";
-        geocoder.geocode(req, function(results, status) {
-          if (status == google.maps.GeocoderStatus.OK) {
-            window.qml.status = "Ready";
-            goToLatLng(results[0].geometry.location,results[0].geometry.bounds);
-          } else {
-            window.qml.status = "Error";
-          }
-        });
-      }
-  }
-</script>
-</head>
-<body onload="initialize()" leftmargin="0px" topmargin="0px" marginwidth="0px" marginheight="0px">
-  <div id="map_canvas" style="width:100%; height:100%"></div>
-</body>
-</html>
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/content/pics/cancel.png b/examples/declarative/modelviews/webview/googlemaps/qml/content/pics/cancel.png
deleted file mode 100644
index ecc9533..0000000
Binary files a/examples/declarative/modelviews/webview/googlemaps/qml/content/pics/cancel.png and /dev/null differ
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/content/pics/ok.png b/examples/declarative/modelviews/webview/googlemaps/qml/content/pics/ok.png
deleted file mode 100644
index 5795f04..0000000
Binary files a/examples/declarative/modelviews/webview/googlemaps/qml/content/pics/ok.png and /dev/null differ
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps.qml b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps.qml
deleted file mode 100644
index aed0ddd..0000000
--- a/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps.qml
+++ /dev/null
@@ -1,83 +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$
-**
-****************************************************************************/
-
-// This example demonstrates how Web services such as Google Maps can be
-// abstracted as QML types. Here we have a "Mapping" module with a "Map"
-// type. The Map type has an address property. Setting that property moves
-// the map. The underlying implementation uses WebView and the Google Maps
-// API, but users from QML don't need to understand the implementation in
-// order to create a Map.
-
-import QtQuick 1.0
-import QtWebKit 1.0
-import "content/Mapping"
-
-Map {
-    id: map
-    width: 300
-    height: 300
-    address: "Paris"
-
-    Rectangle {
-        x: 70
-        width: input.width + 20
-        height: input.height + 4
-        anchors.bottom: parent.bottom; anchors.bottomMargin: 5
-        radius: 5
-        opacity: map.status == "Ready" ? 1 : 0
-
-        TextInput {
-            id: input
-            text: map.address
-            anchors.centerIn: parent
-            Keys.onReturnPressed: map.address = input.text
-        }
-    }
-
-    Text {
-        id: loading
-        anchors.centerIn: parent
-        text: map.status == "Error" ? "Error" : "Loading"
-        opacity: map.status == "Ready" ? 0 : 1
-        font.pixelSize: 30
-
-        Behavior on opacity { NumberAnimation{} }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/alerts.html b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/alerts.html
new file mode 100644
index 0000000..82caddf
--- /dev/null
+++ b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/alerts.html
@@ -0,0 +1,5 @@
+<html>
+<body onclick="alert('This is an alert')">
+<p>This is a web page. It fires an alert when clicked.
+</body>
+</html>
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/alerts.qml b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/alerts.qml
new file mode 100644
index 0000000..4aa4a3b
--- /dev/null
+++ b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/alerts.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
+import QtWebKit 1.0
+
+WebView {
+    id: webView
+    width: 200
+    height: 150
+    url: "alerts.html"
+
+    onAlert: popup.show(message)
+
+    Rectangle {
+        id: popup
+
+        color: "red"
+        border.color: "black"; border.width: 2
+        radius: 4
+
+        y: parent.height // off "screen"
+        anchors.horizontalCenter: parent.horizontalCenter
+        width: label.width + 5
+        height: label.height + 5
+
+        opacity: 0
+
+        function show(text) {
+            label.text = text
+            popup.state = "visible"
+            timer.start()
+        }
+        states: State {
+            name: "visible"
+            PropertyChanges { target: popup; opacity: 1 }
+            PropertyChanges { target: popup; y: (webView.height-popup.height)/2 }
+        }
+
+        transitions: [
+            Transition { from: ""; PropertyAnimation { properties: "opacity,y"; duration: 65 } },
+            Transition { from: "visible"; PropertyAnimation { properties: "opacity,y"; duration: 500 } }
+        ]
+
+        Timer {
+            id: timer
+            interval: 1000
+
+            onTriggered: popup.state = ""
+        }
+
+        Text {
+            id: label
+            anchors.centerIn: parent
+            width: webView.width  *0.75
+
+            color: "white"
+            font.pixelSize: 20
+            wrapMode: Text.WordWrap
+            horizontalAlignment: Text.AlignHCenter
+            smooth: true
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/autosize.qml b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/autosize.qml
new file mode 100644
index 0000000..7e10403
--- /dev/null
+++ b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/autosize.qml
@@ -0,0 +1,106 @@
+/****************************************************************************
+**
+** 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
+import QtWebKit 1.0
+
+// The WebView size is determined by the width, height,
+// preferredWidth, and preferredHeight properties.
+Rectangle {
+    id: rect
+    width: 200
+    height: layout.height
+
+    Column {
+        id: layout
+        spacing: 2
+
+        WebView {
+            html: "No width defined."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+
+        WebView {
+            width: rect.width
+            html: "The width is full."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+
+        WebView {
+            width: rect.width/2
+            html: "The width is half."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+        WebView {
+            width: rect.width/2
+            html: "The_width_is_half."  // not wrapped
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+
+        WebView {
+            preferredWidth: rect.width/2
+            html: "The preferredWidth is half."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+        WebView {
+            preferredWidth: rect.width/2
+            html: "The_preferredWidth_is_half." // not wrapped
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/content/Mapping/Map.qml b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/content/Mapping/Map.qml
new file mode 100644
index 0000000..9a86579
--- /dev/null
+++ b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/content/Mapping/Map.qml
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** 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
+import QtWebKit 1.0
+
+Item {
+    id: page
+
+    property real latitude: -34.397
+    property real longitude: 150.644
+    property string address: ""
+    property alias status: js.status
+
+    WebView {
+        id: map
+        anchors.fill: parent
+        url: "map.html"
+        pressGrabTime: 0
+        javaScriptWindowObjects: QtObject {
+            id: js
+            WebView.windowObjectName: "qml"
+            property real lat: page.latitude
+            property real lng: page.longitude
+            property string address: page.address
+            property string status: "Loading"
+
+            onAddressChanged: { 
+                if (map.url != "" && map.progress == 1) 
+                    map.evaluateJavaScript("goToAddress()") 
+            }
+        }
+
+        onLoadFinished: { evaluateJavaScript("goToAddress()"); }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/content/Mapping/map.html b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/content/Mapping/map.html
new file mode 100644
index 0000000..a98da54
--- /dev/null
+++ b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/content/Mapping/map.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
+<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
+<script type="text/javascript">
+  var geocoder
+  var map
+  function goToLatLng(latlng,bounds) {
+    if (map) {
+        map.setCenter(latlng)
+        map.fitBounds(bounds)
+    } else {
+        var myOptions = {
+          zoom: 8,
+          center: latlng,
+          mapTypeId: google.maps.MapTypeId.ROADMAP
+        };
+        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
+    }
+  }
+  function initialize() {
+    geocoder = new google.maps.Geocoder();
+    if (window.qml.address) {
+        goToAddress()
+    } else {
+        goToLatLng(new google.maps.LatLng(window.qml.lat,window.qml.lng));
+    }
+    if (navigator.geolocation) {
+      navigator.geolocation.getCurrentPosition(function(position) {
+        initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
+        window.qml.lat = initialLocation.lat;
+        window.qml.lng = initialLocation.lng;
+        goToLatLng(initialLocation);
+      });
+    }
+  }
+  function goToAddress() {
+      if (geocoder) {
+        var req = {
+            address: window.qml.address,
+        }
+        if (map)
+            req.bounds = map.getBounds()
+        window.qml.status = "Loading";
+        geocoder.geocode(req, function(results, status) {
+          if (status == google.maps.GeocoderStatus.OK) {
+            window.qml.status = "Ready";
+            goToLatLng(results[0].geometry.location,results[0].geometry.bounds);
+          } else {
+            window.qml.status = "Error";
+          }
+        });
+      }
+  }
+</script>
+</head>
+<body onload="initialize()" leftmargin="0px" topmargin="0px" marginwidth="0px" marginheight="0px">
+  <div id="map_canvas" style="width:100%; height:100%"></div>
+</body>
+</html>
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/content/pics/cancel.png b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/content/pics/cancel.png
new file mode 100644
index 0000000..ecc9533
Binary files /dev/null and b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/content/pics/cancel.png differ
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/content/pics/ok.png b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/content/pics/ok.png
new file mode 100644
index 0000000..5795f04
Binary files /dev/null and b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/content/pics/ok.png differ
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/googlemaps.qml b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/googlemaps.qml
new file mode 100644
index 0000000..aed0ddd
--- /dev/null
+++ b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/googlemaps.qml
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// This example demonstrates how Web services such as Google Maps can be
+// abstracted as QML types. Here we have a "Mapping" module with a "Map"
+// type. The Map type has an address property. Setting that property moves
+// the map. The underlying implementation uses WebView and the Google Maps
+// API, but users from QML don't need to understand the implementation in
+// order to create a Map.
+
+import QtQuick 1.0
+import QtWebKit 1.0
+import "content/Mapping"
+
+Map {
+    id: map
+    width: 300
+    height: 300
+    address: "Paris"
+
+    Rectangle {
+        x: 70
+        width: input.width + 20
+        height: input.height + 4
+        anchors.bottom: parent.bottom; anchors.bottomMargin: 5
+        radius: 5
+        opacity: map.status == "Ready" ? 1 : 0
+
+        TextInput {
+            id: input
+            text: map.address
+            anchors.centerIn: parent
+            Keys.onReturnPressed: map.address = input.text
+        }
+    }
+
+    Text {
+        id: loading
+        anchors.centerIn: parent
+        text: map.status == "Error" ? "Error" : "Loading"
+        opacity: map.status == "Ready" ? 0 : 1
+        font.pixelSize: 30
+
+        Behavior on opacity { NumberAnimation{} }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/inlinehtml.qml b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/inlinehtml.qml
new file mode 100644
index 0000000..afc1fa9
--- /dev/null
+++ b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/inlinehtml.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** 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
+import QtWebKit 1.0
+
+// Inline HTML with loose formatting can be
+// set on the html property.
+WebView {
+    html:"\
+        <body>
+        <table border=1>
+            <tr><th><th>One<th>Two<th>Three
+            <tr><th>1<td>X<td>1<td>X
+            <tr><th>2<td>0<td>X<td>0
+            <tr><th>3<td>X<td>1<td>X
+        </table>"
+}
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/newwindows.html b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/newwindows.html
new file mode 100644
index 0000000..f169599
--- /dev/null
+++ b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/newwindows.html
@@ -0,0 +1,3 @@
+<h1>Multiple windows...</h1>
+
+<a target="_blank" href="newwindows.html">Popup!</a>
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/newwindows.qml b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/newwindows.qml
new file mode 100644
index 0000000..52f7a0b
--- /dev/null
+++ b/examples/declarative/modelviews/webview/googlemaps/qml/googlemaps/newwindows.qml
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// Demonstrates opening new WebViews from HTML
+//
+// Note that to open windows from JavaScript, you will need to
+// allow it on WebView with settings.javascriptCanOpenWindows: true
+
+import QtQuick 1.0
+import QtWebKit 1.0
+
+Grid {
+    columns: 3
+    id: pages
+    height: 300; width: 600
+
+    Component {
+        id: webViewPage
+        Rectangle {
+            width: webView.width
+            height: webView.height
+            border.color: "gray"
+
+            WebView {
+                id: webView
+                newWindowComponent: webViewPage
+                newWindowParent: pages
+                url: "newwindows.html"
+            }
+        }
+    }
+
+    Loader { sourceComponent: webViewPage }
+}
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/inlinehtml.qml b/examples/declarative/modelviews/webview/googlemaps/qml/inlinehtml.qml
deleted file mode 100644
index afc1fa9..0000000
--- a/examples/declarative/modelviews/webview/googlemaps/qml/inlinehtml.qml
+++ /dev/null
@@ -1,55 +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
-import QtWebKit 1.0
-
-// Inline HTML with loose formatting can be
-// set on the html property.
-WebView {
-    html:"\
-        <body>
-        <table border=1>
-            <tr><th><th>One<th>Two<th>Three
-            <tr><th>1<td>X<td>1<td>X
-            <tr><th>2<td>0<td>X<td>0
-            <tr><th>3<td>X<td>1<td>X
-        </table>"
-}
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/newwindows.html b/examples/declarative/modelviews/webview/googlemaps/qml/newwindows.html
deleted file mode 100644
index f169599..0000000
--- a/examples/declarative/modelviews/webview/googlemaps/qml/newwindows.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<h1>Multiple windows...</h1>
-
-<a target="_blank" href="newwindows.html">Popup!</a>
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/newwindows.qml b/examples/declarative/modelviews/webview/googlemaps/qml/newwindows.qml
deleted file mode 100644
index 52f7a0b..0000000
--- a/examples/declarative/modelviews/webview/googlemaps/qml/newwindows.qml
+++ /dev/null
@@ -1,71 +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$
-**
-****************************************************************************/
-
-// Demonstrates opening new WebViews from HTML
-//
-// Note that to open windows from JavaScript, you will need to
-// allow it on WebView with settings.javascriptCanOpenWindows: true
-
-import QtQuick 1.0
-import QtWebKit 1.0
-
-Grid {
-    columns: 3
-    id: pages
-    height: 300; width: 600
-
-    Component {
-        id: webViewPage
-        Rectangle {
-            width: webView.width
-            height: webView.height
-            border.color: "gray"
-
-            WebView {
-                id: webView
-                newWindowComponent: webViewPage
-                newWindowParent: pages
-                url: "newwindows.html"
-            }
-        }
-    }
-
-    Loader { sourceComponent: webViewPage }
-}
diff --git a/examples/declarative/modelviews/webview/googlemaps/qml/webview.qmlproject b/examples/declarative/modelviews/webview/googlemaps/qml/webview.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/modelviews/webview/googlemaps/qml/webview.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/modelviews/webview/googlemaps/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/modelviews/webview/googlemaps/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/modelviews/webview/googlemaps/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/modelviews/webview/googlemaps/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/modelviews/webview/googlemaps/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/modelviews/webview/googlemaps/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/modelviews/webview/googlemaps/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/modelviews/webview/googlemaps/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/modelviews/webview/googlemaps/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/modelviews/webview/inlinehtml.qml b/examples/declarative/modelviews/webview/inlinehtml.qml
deleted file mode 100644
index 1b0c15e..0000000
--- a/examples/declarative/modelviews/webview/inlinehtml.qml
+++ /dev/null
@@ -1,55 +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
-import QtWebKit 1.0
-
-// Inline HTML with loose formatting can be
-// set on the html property.
-WebView {
-    html:"\
-        <body>
-        <table border=1>
-            <tr><th><th>One<th>Two<th>Three
-            <tr><th>1<td>X<td>1<td>X
-            <tr><th>2<td>0<td>X<td>0
-            <tr><th>3<td>X<td>1<td>X
-        </table>"
-}
diff --git a/examples/declarative/modelviews/webview/inlinehtml/inlinehtml.pro b/examples/declarative/modelviews/webview/inlinehtml/inlinehtml.pro
index 86cdd1e..7accabe 100644
--- a/examples/declarative/modelviews/webview/inlinehtml/inlinehtml.pro
+++ b/examples/declarative/modelviews/webview/inlinehtml/inlinehtml.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/inlinehtml
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEF18EEF4
 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/modelviews/webview/inlinehtml/inlinehtml.qmlproject b/examples/declarative/modelviews/webview/inlinehtml/inlinehtml.qmlproject
new file mode 100644
index 0000000..046124b
--- /dev/null
+++ b/examples/declarative/modelviews/webview/inlinehtml/inlinehtml.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/inlinehtml"
+    }
+    JavaScriptFiles {
+        directory: "qml/inlinehtml"
+    }
+    ImageFiles {
+        directory: "qml/inlinehtml"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/modelviews/webview/inlinehtml/main.cpp b/examples/declarative/modelviews/webview/inlinehtml/main.cpp
index bb57ec6..cb324e6 100644
--- a/examples/declarative/modelviews/webview/inlinehtml/main.cpp
+++ b/examples/declarative/modelviews/webview/inlinehtml/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/inlinehtml.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/inlinehtml/inlinehtml.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/alerts.html b/examples/declarative/modelviews/webview/inlinehtml/qml/alerts.html
deleted file mode 100644
index 82caddf..0000000
--- a/examples/declarative/modelviews/webview/inlinehtml/qml/alerts.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html>
-<body onclick="alert('This is an alert')">
-<p>This is a web page. It fires an alert when clicked.
-</body>
-</html>
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/alerts.qml b/examples/declarative/modelviews/webview/inlinehtml/qml/alerts.qml
deleted file mode 100644
index 4aa4a3b..0000000
--- a/examples/declarative/modelviews/webview/inlinehtml/qml/alerts.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
-import QtWebKit 1.0
-
-WebView {
-    id: webView
-    width: 200
-    height: 150
-    url: "alerts.html"
-
-    onAlert: popup.show(message)
-
-    Rectangle {
-        id: popup
-
-        color: "red"
-        border.color: "black"; border.width: 2
-        radius: 4
-
-        y: parent.height // off "screen"
-        anchors.horizontalCenter: parent.horizontalCenter
-        width: label.width + 5
-        height: label.height + 5
-
-        opacity: 0
-
-        function show(text) {
-            label.text = text
-            popup.state = "visible"
-            timer.start()
-        }
-        states: State {
-            name: "visible"
-            PropertyChanges { target: popup; opacity: 1 }
-            PropertyChanges { target: popup; y: (webView.height-popup.height)/2 }
-        }
-
-        transitions: [
-            Transition { from: ""; PropertyAnimation { properties: "opacity,y"; duration: 65 } },
-            Transition { from: "visible"; PropertyAnimation { properties: "opacity,y"; duration: 500 } }
-        ]
-
-        Timer {
-            id: timer
-            interval: 1000
-
-            onTriggered: popup.state = ""
-        }
-
-        Text {
-            id: label
-            anchors.centerIn: parent
-            width: webView.width  *0.75
-
-            color: "white"
-            font.pixelSize: 20
-            wrapMode: Text.WordWrap
-            horizontalAlignment: Text.AlignHCenter
-            smooth: true
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/autosize.qml b/examples/declarative/modelviews/webview/inlinehtml/qml/autosize.qml
deleted file mode 100644
index 7e10403..0000000
--- a/examples/declarative/modelviews/webview/inlinehtml/qml/autosize.qml
+++ /dev/null
@@ -1,106 +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
-import QtWebKit 1.0
-
-// The WebView size is determined by the width, height,
-// preferredWidth, and preferredHeight properties.
-Rectangle {
-    id: rect
-    width: 200
-    height: layout.height
-
-    Column {
-        id: layout
-        spacing: 2
-
-        WebView {
-            html: "No width defined."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            width: rect.width
-            html: "The width is full."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            width: rect.width/2
-            html: "The width is half."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-        WebView {
-            width: rect.width/2
-            html: "The_width_is_half."  // not wrapped
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            preferredWidth: rect.width/2
-            html: "The preferredWidth is half."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-        WebView {
-            preferredWidth: rect.width/2
-            html: "The_preferredWidth_is_half." // not wrapped
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/content/Mapping/Map.qml b/examples/declarative/modelviews/webview/inlinehtml/qml/content/Mapping/Map.qml
deleted file mode 100644
index 9a86579..0000000
--- a/examples/declarative/modelviews/webview/inlinehtml/qml/content/Mapping/Map.qml
+++ /dev/null
@@ -1,73 +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
-import QtWebKit 1.0
-
-Item {
-    id: page
-
-    property real latitude: -34.397
-    property real longitude: 150.644
-    property string address: ""
-    property alias status: js.status
-
-    WebView {
-        id: map
-        anchors.fill: parent
-        url: "map.html"
-        pressGrabTime: 0
-        javaScriptWindowObjects: QtObject {
-            id: js
-            WebView.windowObjectName: "qml"
-            property real lat: page.latitude
-            property real lng: page.longitude
-            property string address: page.address
-            property string status: "Loading"
-
-            onAddressChanged: { 
-                if (map.url != "" && map.progress == 1) 
-                    map.evaluateJavaScript("goToAddress()") 
-            }
-        }
-
-        onLoadFinished: { evaluateJavaScript("goToAddress()"); }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/content/Mapping/map.html b/examples/declarative/modelviews/webview/inlinehtml/qml/content/Mapping/map.html
deleted file mode 100644
index a98da54..0000000
--- a/examples/declarative/modelviews/webview/inlinehtml/qml/content/Mapping/map.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<html>
-<head>
-<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
-<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
-<script type="text/javascript">
-  var geocoder
-  var map
-  function goToLatLng(latlng,bounds) {
-    if (map) {
-        map.setCenter(latlng)
-        map.fitBounds(bounds)
-    } else {
-        var myOptions = {
-          zoom: 8,
-          center: latlng,
-          mapTypeId: google.maps.MapTypeId.ROADMAP
-        };
-        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
-    }
-  }
-  function initialize() {
-    geocoder = new google.maps.Geocoder();
-    if (window.qml.address) {
-        goToAddress()
-    } else {
-        goToLatLng(new google.maps.LatLng(window.qml.lat,window.qml.lng));
-    }
-    if (navigator.geolocation) {
-      navigator.geolocation.getCurrentPosition(function(position) {
-        initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
-        window.qml.lat = initialLocation.lat;
-        window.qml.lng = initialLocation.lng;
-        goToLatLng(initialLocation);
-      });
-    }
-  }
-  function goToAddress() {
-      if (geocoder) {
-        var req = {
-            address: window.qml.address,
-        }
-        if (map)
-            req.bounds = map.getBounds()
-        window.qml.status = "Loading";
-        geocoder.geocode(req, function(results, status) {
-          if (status == google.maps.GeocoderStatus.OK) {
-            window.qml.status = "Ready";
-            goToLatLng(results[0].geometry.location,results[0].geometry.bounds);
-          } else {
-            window.qml.status = "Error";
-          }
-        });
-      }
-  }
-</script>
-</head>
-<body onload="initialize()" leftmargin="0px" topmargin="0px" marginwidth="0px" marginheight="0px">
-  <div id="map_canvas" style="width:100%; height:100%"></div>
-</body>
-</html>
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/content/pics/cancel.png b/examples/declarative/modelviews/webview/inlinehtml/qml/content/pics/cancel.png
deleted file mode 100644
index ecc9533..0000000
Binary files a/examples/declarative/modelviews/webview/inlinehtml/qml/content/pics/cancel.png and /dev/null differ
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/content/pics/ok.png b/examples/declarative/modelviews/webview/inlinehtml/qml/content/pics/ok.png
deleted file mode 100644
index 5795f04..0000000
Binary files a/examples/declarative/modelviews/webview/inlinehtml/qml/content/pics/ok.png and /dev/null differ
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/googlemaps.qml b/examples/declarative/modelviews/webview/inlinehtml/qml/googlemaps.qml
deleted file mode 100644
index aed0ddd..0000000
--- a/examples/declarative/modelviews/webview/inlinehtml/qml/googlemaps.qml
+++ /dev/null
@@ -1,83 +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$
-**
-****************************************************************************/
-
-// This example demonstrates how Web services such as Google Maps can be
-// abstracted as QML types. Here we have a "Mapping" module with a "Map"
-// type. The Map type has an address property. Setting that property moves
-// the map. The underlying implementation uses WebView and the Google Maps
-// API, but users from QML don't need to understand the implementation in
-// order to create a Map.
-
-import QtQuick 1.0
-import QtWebKit 1.0
-import "content/Mapping"
-
-Map {
-    id: map
-    width: 300
-    height: 300
-    address: "Paris"
-
-    Rectangle {
-        x: 70
-        width: input.width + 20
-        height: input.height + 4
-        anchors.bottom: parent.bottom; anchors.bottomMargin: 5
-        radius: 5
-        opacity: map.status == "Ready" ? 1 : 0
-
-        TextInput {
-            id: input
-            text: map.address
-            anchors.centerIn: parent
-            Keys.onReturnPressed: map.address = input.text
-        }
-    }
-
-    Text {
-        id: loading
-        anchors.centerIn: parent
-        text: map.status == "Error" ? "Error" : "Loading"
-        opacity: map.status == "Ready" ? 0 : 1
-        font.pixelSize: 30
-
-        Behavior on opacity { NumberAnimation{} }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml.qml b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml.qml
deleted file mode 100644
index afc1fa9..0000000
--- a/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml.qml
+++ /dev/null
@@ -1,55 +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
-import QtWebKit 1.0
-
-// Inline HTML with loose formatting can be
-// set on the html property.
-WebView {
-    html:"\
-        <body>
-        <table border=1>
-            <tr><th><th>One<th>Two<th>Three
-            <tr><th>1<td>X<td>1<td>X
-            <tr><th>2<td>0<td>X<td>0
-            <tr><th>3<td>X<td>1<td>X
-        </table>"
-}
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/alerts.html b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/alerts.html
new file mode 100644
index 0000000..82caddf
--- /dev/null
+++ b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/alerts.html
@@ -0,0 +1,5 @@
+<html>
+<body onclick="alert('This is an alert')">
+<p>This is a web page. It fires an alert when clicked.
+</body>
+</html>
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/alerts.qml b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/alerts.qml
new file mode 100644
index 0000000..4aa4a3b
--- /dev/null
+++ b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/alerts.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
+import QtWebKit 1.0
+
+WebView {
+    id: webView
+    width: 200
+    height: 150
+    url: "alerts.html"
+
+    onAlert: popup.show(message)
+
+    Rectangle {
+        id: popup
+
+        color: "red"
+        border.color: "black"; border.width: 2
+        radius: 4
+
+        y: parent.height // off "screen"
+        anchors.horizontalCenter: parent.horizontalCenter
+        width: label.width + 5
+        height: label.height + 5
+
+        opacity: 0
+
+        function show(text) {
+            label.text = text
+            popup.state = "visible"
+            timer.start()
+        }
+        states: State {
+            name: "visible"
+            PropertyChanges { target: popup; opacity: 1 }
+            PropertyChanges { target: popup; y: (webView.height-popup.height)/2 }
+        }
+
+        transitions: [
+            Transition { from: ""; PropertyAnimation { properties: "opacity,y"; duration: 65 } },
+            Transition { from: "visible"; PropertyAnimation { properties: "opacity,y"; duration: 500 } }
+        ]
+
+        Timer {
+            id: timer
+            interval: 1000
+
+            onTriggered: popup.state = ""
+        }
+
+        Text {
+            id: label
+            anchors.centerIn: parent
+            width: webView.width  *0.75
+
+            color: "white"
+            font.pixelSize: 20
+            wrapMode: Text.WordWrap
+            horizontalAlignment: Text.AlignHCenter
+            smooth: true
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/autosize.qml b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/autosize.qml
new file mode 100644
index 0000000..7e10403
--- /dev/null
+++ b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/autosize.qml
@@ -0,0 +1,106 @@
+/****************************************************************************
+**
+** 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
+import QtWebKit 1.0
+
+// The WebView size is determined by the width, height,
+// preferredWidth, and preferredHeight properties.
+Rectangle {
+    id: rect
+    width: 200
+    height: layout.height
+
+    Column {
+        id: layout
+        spacing: 2
+
+        WebView {
+            html: "No width defined."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+
+        WebView {
+            width: rect.width
+            html: "The width is full."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+
+        WebView {
+            width: rect.width/2
+            html: "The width is half."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+        WebView {
+            width: rect.width/2
+            html: "The_width_is_half."  // not wrapped
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+
+        WebView {
+            preferredWidth: rect.width/2
+            html: "The preferredWidth is half."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+        WebView {
+            preferredWidth: rect.width/2
+            html: "The_preferredWidth_is_half." // not wrapped
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/content/Mapping/Map.qml b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/content/Mapping/Map.qml
new file mode 100644
index 0000000..9a86579
--- /dev/null
+++ b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/content/Mapping/Map.qml
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** 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
+import QtWebKit 1.0
+
+Item {
+    id: page
+
+    property real latitude: -34.397
+    property real longitude: 150.644
+    property string address: ""
+    property alias status: js.status
+
+    WebView {
+        id: map
+        anchors.fill: parent
+        url: "map.html"
+        pressGrabTime: 0
+        javaScriptWindowObjects: QtObject {
+            id: js
+            WebView.windowObjectName: "qml"
+            property real lat: page.latitude
+            property real lng: page.longitude
+            property string address: page.address
+            property string status: "Loading"
+
+            onAddressChanged: { 
+                if (map.url != "" && map.progress == 1) 
+                    map.evaluateJavaScript("goToAddress()") 
+            }
+        }
+
+        onLoadFinished: { evaluateJavaScript("goToAddress()"); }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/content/Mapping/map.html b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/content/Mapping/map.html
new file mode 100644
index 0000000..a98da54
--- /dev/null
+++ b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/content/Mapping/map.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
+<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
+<script type="text/javascript">
+  var geocoder
+  var map
+  function goToLatLng(latlng,bounds) {
+    if (map) {
+        map.setCenter(latlng)
+        map.fitBounds(bounds)
+    } else {
+        var myOptions = {
+          zoom: 8,
+          center: latlng,
+          mapTypeId: google.maps.MapTypeId.ROADMAP
+        };
+        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
+    }
+  }
+  function initialize() {
+    geocoder = new google.maps.Geocoder();
+    if (window.qml.address) {
+        goToAddress()
+    } else {
+        goToLatLng(new google.maps.LatLng(window.qml.lat,window.qml.lng));
+    }
+    if (navigator.geolocation) {
+      navigator.geolocation.getCurrentPosition(function(position) {
+        initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
+        window.qml.lat = initialLocation.lat;
+        window.qml.lng = initialLocation.lng;
+        goToLatLng(initialLocation);
+      });
+    }
+  }
+  function goToAddress() {
+      if (geocoder) {
+        var req = {
+            address: window.qml.address,
+        }
+        if (map)
+            req.bounds = map.getBounds()
+        window.qml.status = "Loading";
+        geocoder.geocode(req, function(results, status) {
+          if (status == google.maps.GeocoderStatus.OK) {
+            window.qml.status = "Ready";
+            goToLatLng(results[0].geometry.location,results[0].geometry.bounds);
+          } else {
+            window.qml.status = "Error";
+          }
+        });
+      }
+  }
+</script>
+</head>
+<body onload="initialize()" leftmargin="0px" topmargin="0px" marginwidth="0px" marginheight="0px">
+  <div id="map_canvas" style="width:100%; height:100%"></div>
+</body>
+</html>
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/content/pics/cancel.png b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/content/pics/cancel.png
new file mode 100644
index 0000000..ecc9533
Binary files /dev/null and b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/content/pics/cancel.png differ
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/content/pics/ok.png b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/content/pics/ok.png
new file mode 100644
index 0000000..5795f04
Binary files /dev/null and b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/content/pics/ok.png differ
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/googlemaps.qml b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/googlemaps.qml
new file mode 100644
index 0000000..aed0ddd
--- /dev/null
+++ b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/googlemaps.qml
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// This example demonstrates how Web services such as Google Maps can be
+// abstracted as QML types. Here we have a "Mapping" module with a "Map"
+// type. The Map type has an address property. Setting that property moves
+// the map. The underlying implementation uses WebView and the Google Maps
+// API, but users from QML don't need to understand the implementation in
+// order to create a Map.
+
+import QtQuick 1.0
+import QtWebKit 1.0
+import "content/Mapping"
+
+Map {
+    id: map
+    width: 300
+    height: 300
+    address: "Paris"
+
+    Rectangle {
+        x: 70
+        width: input.width + 20
+        height: input.height + 4
+        anchors.bottom: parent.bottom; anchors.bottomMargin: 5
+        radius: 5
+        opacity: map.status == "Ready" ? 1 : 0
+
+        TextInput {
+            id: input
+            text: map.address
+            anchors.centerIn: parent
+            Keys.onReturnPressed: map.address = input.text
+        }
+    }
+
+    Text {
+        id: loading
+        anchors.centerIn: parent
+        text: map.status == "Error" ? "Error" : "Loading"
+        opacity: map.status == "Ready" ? 0 : 1
+        font.pixelSize: 30
+
+        Behavior on opacity { NumberAnimation{} }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/inlinehtml.qml b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/inlinehtml.qml
new file mode 100644
index 0000000..afc1fa9
--- /dev/null
+++ b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/inlinehtml.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** 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
+import QtWebKit 1.0
+
+// Inline HTML with loose formatting can be
+// set on the html property.
+WebView {
+    html:"\
+        <body>
+        <table border=1>
+            <tr><th><th>One<th>Two<th>Three
+            <tr><th>1<td>X<td>1<td>X
+            <tr><th>2<td>0<td>X<td>0
+            <tr><th>3<td>X<td>1<td>X
+        </table>"
+}
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/newwindows.html b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/newwindows.html
new file mode 100644
index 0000000..f169599
--- /dev/null
+++ b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/newwindows.html
@@ -0,0 +1,3 @@
+<h1>Multiple windows...</h1>
+
+<a target="_blank" href="newwindows.html">Popup!</a>
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/newwindows.qml b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/newwindows.qml
new file mode 100644
index 0000000..52f7a0b
--- /dev/null
+++ b/examples/declarative/modelviews/webview/inlinehtml/qml/inlinehtml/newwindows.qml
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// Demonstrates opening new WebViews from HTML
+//
+// Note that to open windows from JavaScript, you will need to
+// allow it on WebView with settings.javascriptCanOpenWindows: true
+
+import QtQuick 1.0
+import QtWebKit 1.0
+
+Grid {
+    columns: 3
+    id: pages
+    height: 300; width: 600
+
+    Component {
+        id: webViewPage
+        Rectangle {
+            width: webView.width
+            height: webView.height
+            border.color: "gray"
+
+            WebView {
+                id: webView
+                newWindowComponent: webViewPage
+                newWindowParent: pages
+                url: "newwindows.html"
+            }
+        }
+    }
+
+    Loader { sourceComponent: webViewPage }
+}
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/newwindows.html b/examples/declarative/modelviews/webview/inlinehtml/qml/newwindows.html
deleted file mode 100644
index f169599..0000000
--- a/examples/declarative/modelviews/webview/inlinehtml/qml/newwindows.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<h1>Multiple windows...</h1>
-
-<a target="_blank" href="newwindows.html">Popup!</a>
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/newwindows.qml b/examples/declarative/modelviews/webview/inlinehtml/qml/newwindows.qml
deleted file mode 100644
index 52f7a0b..0000000
--- a/examples/declarative/modelviews/webview/inlinehtml/qml/newwindows.qml
+++ /dev/null
@@ -1,71 +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$
-**
-****************************************************************************/
-
-// Demonstrates opening new WebViews from HTML
-//
-// Note that to open windows from JavaScript, you will need to
-// allow it on WebView with settings.javascriptCanOpenWindows: true
-
-import QtQuick 1.0
-import QtWebKit 1.0
-
-Grid {
-    columns: 3
-    id: pages
-    height: 300; width: 600
-
-    Component {
-        id: webViewPage
-        Rectangle {
-            width: webView.width
-            height: webView.height
-            border.color: "gray"
-
-            WebView {
-                id: webView
-                newWindowComponent: webViewPage
-                newWindowParent: pages
-                url: "newwindows.html"
-            }
-        }
-    }
-
-    Loader { sourceComponent: webViewPage }
-}
diff --git a/examples/declarative/modelviews/webview/inlinehtml/qml/webview.qmlproject b/examples/declarative/modelviews/webview/inlinehtml/qml/webview.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/modelviews/webview/inlinehtml/qml/webview.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/modelviews/webview/inlinehtml/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/modelviews/webview/inlinehtml/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/modelviews/webview/inlinehtml/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/modelviews/webview/inlinehtml/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/modelviews/webview/inlinehtml/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/modelviews/webview/inlinehtml/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/modelviews/webview/inlinehtml/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/modelviews/webview/inlinehtml/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/modelviews/webview/inlinehtml/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/modelviews/webview/newwindows.qml b/examples/declarative/modelviews/webview/newwindows.qml
deleted file mode 100644
index 07954f4..0000000
--- a/examples/declarative/modelviews/webview/newwindows.qml
+++ /dev/null
@@ -1,71 +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$
-**
-****************************************************************************/
-
-// Demonstrates opening new WebViews from HTML
-//
-// Note that to open windows from JavaScript, you will need to
-// allow it on WebView with settings.javascriptCanOpenWindows: true
-
-import QtQuick 1.0
-import QtWebKit 1.0
-
-Grid {
-    columns: 3
-    id: pages
-    height: 300; width: 600
-
-    Component {
-        id: webViewPage
-        Rectangle {
-            width: webView.width
-            height: webView.height
-            border.color: "gray"
-
-            WebView {
-                id: webView
-                newWindowComponent: webViewPage
-                newWindowParent: pages
-                url: "newwindows.html"
-            }
-        }
-    }
-
-    Loader { sourceComponent: webViewPage }
-}
diff --git a/examples/declarative/modelviews/webview/newwindows/main.cpp b/examples/declarative/modelviews/webview/newwindows/main.cpp
index 6be8235..92a6e94 100644
--- a/examples/declarative/modelviews/webview/newwindows/main.cpp
+++ b/examples/declarative/modelviews/webview/newwindows/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/newwindows.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/newwindows/newwindows.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/modelviews/webview/newwindows/newwindows.pro b/examples/declarative/modelviews/webview/newwindows/newwindows.pro
index 0ade74b..d153561 100644
--- a/examples/declarative/modelviews/webview/newwindows/newwindows.pro
+++ b/examples/declarative/modelviews/webview/newwindows/newwindows.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/newwindows
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEE16E439
 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/modelviews/webview/newwindows/newwindows.qmlproject b/examples/declarative/modelviews/webview/newwindows/newwindows.qmlproject
new file mode 100644
index 0000000..dd58cbf
--- /dev/null
+++ b/examples/declarative/modelviews/webview/newwindows/newwindows.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/newwindows"
+    }
+    JavaScriptFiles {
+        directory: "qml/newwindows"
+    }
+    ImageFiles {
+        directory: "qml/newwindows"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/alerts.html b/examples/declarative/modelviews/webview/newwindows/qml/alerts.html
deleted file mode 100644
index 82caddf..0000000
--- a/examples/declarative/modelviews/webview/newwindows/qml/alerts.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html>
-<body onclick="alert('This is an alert')">
-<p>This is a web page. It fires an alert when clicked.
-</body>
-</html>
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/alerts.qml b/examples/declarative/modelviews/webview/newwindows/qml/alerts.qml
deleted file mode 100644
index 4aa4a3b..0000000
--- a/examples/declarative/modelviews/webview/newwindows/qml/alerts.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
-import QtWebKit 1.0
-
-WebView {
-    id: webView
-    width: 200
-    height: 150
-    url: "alerts.html"
-
-    onAlert: popup.show(message)
-
-    Rectangle {
-        id: popup
-
-        color: "red"
-        border.color: "black"; border.width: 2
-        radius: 4
-
-        y: parent.height // off "screen"
-        anchors.horizontalCenter: parent.horizontalCenter
-        width: label.width + 5
-        height: label.height + 5
-
-        opacity: 0
-
-        function show(text) {
-            label.text = text
-            popup.state = "visible"
-            timer.start()
-        }
-        states: State {
-            name: "visible"
-            PropertyChanges { target: popup; opacity: 1 }
-            PropertyChanges { target: popup; y: (webView.height-popup.height)/2 }
-        }
-
-        transitions: [
-            Transition { from: ""; PropertyAnimation { properties: "opacity,y"; duration: 65 } },
-            Transition { from: "visible"; PropertyAnimation { properties: "opacity,y"; duration: 500 } }
-        ]
-
-        Timer {
-            id: timer
-            interval: 1000
-
-            onTriggered: popup.state = ""
-        }
-
-        Text {
-            id: label
-            anchors.centerIn: parent
-            width: webView.width  *0.75
-
-            color: "white"
-            font.pixelSize: 20
-            wrapMode: Text.WordWrap
-            horizontalAlignment: Text.AlignHCenter
-            smooth: true
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/autosize.qml b/examples/declarative/modelviews/webview/newwindows/qml/autosize.qml
deleted file mode 100644
index 7e10403..0000000
--- a/examples/declarative/modelviews/webview/newwindows/qml/autosize.qml
+++ /dev/null
@@ -1,106 +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
-import QtWebKit 1.0
-
-// The WebView size is determined by the width, height,
-// preferredWidth, and preferredHeight properties.
-Rectangle {
-    id: rect
-    width: 200
-    height: layout.height
-
-    Column {
-        id: layout
-        spacing: 2
-
-        WebView {
-            html: "No width defined."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            width: rect.width
-            html: "The width is full."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            width: rect.width/2
-            html: "The width is half."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-        WebView {
-            width: rect.width/2
-            html: "The_width_is_half."  // not wrapped
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-
-        WebView {
-            preferredWidth: rect.width/2
-            html: "The preferredWidth is half."
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-        WebView {
-            preferredWidth: rect.width/2
-            html: "The_preferredWidth_is_half." // not wrapped
-            Rectangle {
-                color: "#10000000"
-                anchors.fill: parent
-            }
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/content/Mapping/Map.qml b/examples/declarative/modelviews/webview/newwindows/qml/content/Mapping/Map.qml
deleted file mode 100644
index 9a86579..0000000
--- a/examples/declarative/modelviews/webview/newwindows/qml/content/Mapping/Map.qml
+++ /dev/null
@@ -1,73 +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
-import QtWebKit 1.0
-
-Item {
-    id: page
-
-    property real latitude: -34.397
-    property real longitude: 150.644
-    property string address: ""
-    property alias status: js.status
-
-    WebView {
-        id: map
-        anchors.fill: parent
-        url: "map.html"
-        pressGrabTime: 0
-        javaScriptWindowObjects: QtObject {
-            id: js
-            WebView.windowObjectName: "qml"
-            property real lat: page.latitude
-            property real lng: page.longitude
-            property string address: page.address
-            property string status: "Loading"
-
-            onAddressChanged: { 
-                if (map.url != "" && map.progress == 1) 
-                    map.evaluateJavaScript("goToAddress()") 
-            }
-        }
-
-        onLoadFinished: { evaluateJavaScript("goToAddress()"); }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/content/Mapping/map.html b/examples/declarative/modelviews/webview/newwindows/qml/content/Mapping/map.html
deleted file mode 100644
index a98da54..0000000
--- a/examples/declarative/modelviews/webview/newwindows/qml/content/Mapping/map.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<html>
-<head>
-<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
-<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
-<script type="text/javascript">
-  var geocoder
-  var map
-  function goToLatLng(latlng,bounds) {
-    if (map) {
-        map.setCenter(latlng)
-        map.fitBounds(bounds)
-    } else {
-        var myOptions = {
-          zoom: 8,
-          center: latlng,
-          mapTypeId: google.maps.MapTypeId.ROADMAP
-        };
-        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
-    }
-  }
-  function initialize() {
-    geocoder = new google.maps.Geocoder();
-    if (window.qml.address) {
-        goToAddress()
-    } else {
-        goToLatLng(new google.maps.LatLng(window.qml.lat,window.qml.lng));
-    }
-    if (navigator.geolocation) {
-      navigator.geolocation.getCurrentPosition(function(position) {
-        initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
-        window.qml.lat = initialLocation.lat;
-        window.qml.lng = initialLocation.lng;
-        goToLatLng(initialLocation);
-      });
-    }
-  }
-  function goToAddress() {
-      if (geocoder) {
-        var req = {
-            address: window.qml.address,
-        }
-        if (map)
-            req.bounds = map.getBounds()
-        window.qml.status = "Loading";
-        geocoder.geocode(req, function(results, status) {
-          if (status == google.maps.GeocoderStatus.OK) {
-            window.qml.status = "Ready";
-            goToLatLng(results[0].geometry.location,results[0].geometry.bounds);
-          } else {
-            window.qml.status = "Error";
-          }
-        });
-      }
-  }
-</script>
-</head>
-<body onload="initialize()" leftmargin="0px" topmargin="0px" marginwidth="0px" marginheight="0px">
-  <div id="map_canvas" style="width:100%; height:100%"></div>
-</body>
-</html>
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/content/pics/cancel.png b/examples/declarative/modelviews/webview/newwindows/qml/content/pics/cancel.png
deleted file mode 100644
index ecc9533..0000000
Binary files a/examples/declarative/modelviews/webview/newwindows/qml/content/pics/cancel.png and /dev/null differ
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/content/pics/ok.png b/examples/declarative/modelviews/webview/newwindows/qml/content/pics/ok.png
deleted file mode 100644
index 5795f04..0000000
Binary files a/examples/declarative/modelviews/webview/newwindows/qml/content/pics/ok.png and /dev/null differ
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/googlemaps.qml b/examples/declarative/modelviews/webview/newwindows/qml/googlemaps.qml
deleted file mode 100644
index aed0ddd..0000000
--- a/examples/declarative/modelviews/webview/newwindows/qml/googlemaps.qml
+++ /dev/null
@@ -1,83 +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$
-**
-****************************************************************************/
-
-// This example demonstrates how Web services such as Google Maps can be
-// abstracted as QML types. Here we have a "Mapping" module with a "Map"
-// type. The Map type has an address property. Setting that property moves
-// the map. The underlying implementation uses WebView and the Google Maps
-// API, but users from QML don't need to understand the implementation in
-// order to create a Map.
-
-import QtQuick 1.0
-import QtWebKit 1.0
-import "content/Mapping"
-
-Map {
-    id: map
-    width: 300
-    height: 300
-    address: "Paris"
-
-    Rectangle {
-        x: 70
-        width: input.width + 20
-        height: input.height + 4
-        anchors.bottom: parent.bottom; anchors.bottomMargin: 5
-        radius: 5
-        opacity: map.status == "Ready" ? 1 : 0
-
-        TextInput {
-            id: input
-            text: map.address
-            anchors.centerIn: parent
-            Keys.onReturnPressed: map.address = input.text
-        }
-    }
-
-    Text {
-        id: loading
-        anchors.centerIn: parent
-        text: map.status == "Error" ? "Error" : "Loading"
-        opacity: map.status == "Ready" ? 0 : 1
-        font.pixelSize: 30
-
-        Behavior on opacity { NumberAnimation{} }
-    }
-}
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/inlinehtml.qml b/examples/declarative/modelviews/webview/newwindows/qml/inlinehtml.qml
deleted file mode 100644
index afc1fa9..0000000
--- a/examples/declarative/modelviews/webview/newwindows/qml/inlinehtml.qml
+++ /dev/null
@@ -1,55 +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
-import QtWebKit 1.0
-
-// Inline HTML with loose formatting can be
-// set on the html property.
-WebView {
-    html:"\
-        <body>
-        <table border=1>
-            <tr><th><th>One<th>Two<th>Three
-            <tr><th>1<td>X<td>1<td>X
-            <tr><th>2<td>0<td>X<td>0
-            <tr><th>3<td>X<td>1<td>X
-        </table>"
-}
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/newwindows.html b/examples/declarative/modelviews/webview/newwindows/qml/newwindows.html
deleted file mode 100644
index f169599..0000000
--- a/examples/declarative/modelviews/webview/newwindows/qml/newwindows.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<h1>Multiple windows...</h1>
-
-<a target="_blank" href="newwindows.html">Popup!</a>
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/newwindows.qml b/examples/declarative/modelviews/webview/newwindows/qml/newwindows.qml
deleted file mode 100644
index 52f7a0b..0000000
--- a/examples/declarative/modelviews/webview/newwindows/qml/newwindows.qml
+++ /dev/null
@@ -1,71 +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$
-**
-****************************************************************************/
-
-// Demonstrates opening new WebViews from HTML
-//
-// Note that to open windows from JavaScript, you will need to
-// allow it on WebView with settings.javascriptCanOpenWindows: true
-
-import QtQuick 1.0
-import QtWebKit 1.0
-
-Grid {
-    columns: 3
-    id: pages
-    height: 300; width: 600
-
-    Component {
-        id: webViewPage
-        Rectangle {
-            width: webView.width
-            height: webView.height
-            border.color: "gray"
-
-            WebView {
-                id: webView
-                newWindowComponent: webViewPage
-                newWindowParent: pages
-                url: "newwindows.html"
-            }
-        }
-    }
-
-    Loader { sourceComponent: webViewPage }
-}
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/newwindows/alerts.html b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/alerts.html
new file mode 100644
index 0000000..82caddf
--- /dev/null
+++ b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/alerts.html
@@ -0,0 +1,5 @@
+<html>
+<body onclick="alert('This is an alert')">
+<p>This is a web page. It fires an alert when clicked.
+</body>
+</html>
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/newwindows/alerts.qml b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/alerts.qml
new file mode 100644
index 0000000..4aa4a3b
--- /dev/null
+++ b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/alerts.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
+import QtWebKit 1.0
+
+WebView {
+    id: webView
+    width: 200
+    height: 150
+    url: "alerts.html"
+
+    onAlert: popup.show(message)
+
+    Rectangle {
+        id: popup
+
+        color: "red"
+        border.color: "black"; border.width: 2
+        radius: 4
+
+        y: parent.height // off "screen"
+        anchors.horizontalCenter: parent.horizontalCenter
+        width: label.width + 5
+        height: label.height + 5
+
+        opacity: 0
+
+        function show(text) {
+            label.text = text
+            popup.state = "visible"
+            timer.start()
+        }
+        states: State {
+            name: "visible"
+            PropertyChanges { target: popup; opacity: 1 }
+            PropertyChanges { target: popup; y: (webView.height-popup.height)/2 }
+        }
+
+        transitions: [
+            Transition { from: ""; PropertyAnimation { properties: "opacity,y"; duration: 65 } },
+            Transition { from: "visible"; PropertyAnimation { properties: "opacity,y"; duration: 500 } }
+        ]
+
+        Timer {
+            id: timer
+            interval: 1000
+
+            onTriggered: popup.state = ""
+        }
+
+        Text {
+            id: label
+            anchors.centerIn: parent
+            width: webView.width  *0.75
+
+            color: "white"
+            font.pixelSize: 20
+            wrapMode: Text.WordWrap
+            horizontalAlignment: Text.AlignHCenter
+            smooth: true
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/newwindows/autosize.qml b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/autosize.qml
new file mode 100644
index 0000000..7e10403
--- /dev/null
+++ b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/autosize.qml
@@ -0,0 +1,106 @@
+/****************************************************************************
+**
+** 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
+import QtWebKit 1.0
+
+// The WebView size is determined by the width, height,
+// preferredWidth, and preferredHeight properties.
+Rectangle {
+    id: rect
+    width: 200
+    height: layout.height
+
+    Column {
+        id: layout
+        spacing: 2
+
+        WebView {
+            html: "No width defined."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+
+        WebView {
+            width: rect.width
+            html: "The width is full."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+
+        WebView {
+            width: rect.width/2
+            html: "The width is half."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+        WebView {
+            width: rect.width/2
+            html: "The_width_is_half."  // not wrapped
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+
+        WebView {
+            preferredWidth: rect.width/2
+            html: "The preferredWidth is half."
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+        WebView {
+            preferredWidth: rect.width/2
+            html: "The_preferredWidth_is_half." // not wrapped
+            Rectangle {
+                color: "#10000000"
+                anchors.fill: parent
+            }
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/newwindows/content/Mapping/Map.qml b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/content/Mapping/Map.qml
new file mode 100644
index 0000000..9a86579
--- /dev/null
+++ b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/content/Mapping/Map.qml
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** 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
+import QtWebKit 1.0
+
+Item {
+    id: page
+
+    property real latitude: -34.397
+    property real longitude: 150.644
+    property string address: ""
+    property alias status: js.status
+
+    WebView {
+        id: map
+        anchors.fill: parent
+        url: "map.html"
+        pressGrabTime: 0
+        javaScriptWindowObjects: QtObject {
+            id: js
+            WebView.windowObjectName: "qml"
+            property real lat: page.latitude
+            property real lng: page.longitude
+            property string address: page.address
+            property string status: "Loading"
+
+            onAddressChanged: { 
+                if (map.url != "" && map.progress == 1) 
+                    map.evaluateJavaScript("goToAddress()") 
+            }
+        }
+
+        onLoadFinished: { evaluateJavaScript("goToAddress()"); }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/newwindows/content/Mapping/map.html b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/content/Mapping/map.html
new file mode 100644
index 0000000..a98da54
--- /dev/null
+++ b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/content/Mapping/map.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
+<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
+<script type="text/javascript">
+  var geocoder
+  var map
+  function goToLatLng(latlng,bounds) {
+    if (map) {
+        map.setCenter(latlng)
+        map.fitBounds(bounds)
+    } else {
+        var myOptions = {
+          zoom: 8,
+          center: latlng,
+          mapTypeId: google.maps.MapTypeId.ROADMAP
+        };
+        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
+    }
+  }
+  function initialize() {
+    geocoder = new google.maps.Geocoder();
+    if (window.qml.address) {
+        goToAddress()
+    } else {
+        goToLatLng(new google.maps.LatLng(window.qml.lat,window.qml.lng));
+    }
+    if (navigator.geolocation) {
+      navigator.geolocation.getCurrentPosition(function(position) {
+        initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
+        window.qml.lat = initialLocation.lat;
+        window.qml.lng = initialLocation.lng;
+        goToLatLng(initialLocation);
+      });
+    }
+  }
+  function goToAddress() {
+      if (geocoder) {
+        var req = {
+            address: window.qml.address,
+        }
+        if (map)
+            req.bounds = map.getBounds()
+        window.qml.status = "Loading";
+        geocoder.geocode(req, function(results, status) {
+          if (status == google.maps.GeocoderStatus.OK) {
+            window.qml.status = "Ready";
+            goToLatLng(results[0].geometry.location,results[0].geometry.bounds);
+          } else {
+            window.qml.status = "Error";
+          }
+        });
+      }
+  }
+</script>
+</head>
+<body onload="initialize()" leftmargin="0px" topmargin="0px" marginwidth="0px" marginheight="0px">
+  <div id="map_canvas" style="width:100%; height:100%"></div>
+</body>
+</html>
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/newwindows/content/pics/cancel.png b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/content/pics/cancel.png
new file mode 100644
index 0000000..ecc9533
Binary files /dev/null and b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/content/pics/cancel.png differ
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/newwindows/content/pics/ok.png b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/content/pics/ok.png
new file mode 100644
index 0000000..5795f04
Binary files /dev/null and b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/content/pics/ok.png differ
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/newwindows/googlemaps.qml b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/googlemaps.qml
new file mode 100644
index 0000000..aed0ddd
--- /dev/null
+++ b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/googlemaps.qml
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// This example demonstrates how Web services such as Google Maps can be
+// abstracted as QML types. Here we have a "Mapping" module with a "Map"
+// type. The Map type has an address property. Setting that property moves
+// the map. The underlying implementation uses WebView and the Google Maps
+// API, but users from QML don't need to understand the implementation in
+// order to create a Map.
+
+import QtQuick 1.0
+import QtWebKit 1.0
+import "content/Mapping"
+
+Map {
+    id: map
+    width: 300
+    height: 300
+    address: "Paris"
+
+    Rectangle {
+        x: 70
+        width: input.width + 20
+        height: input.height + 4
+        anchors.bottom: parent.bottom; anchors.bottomMargin: 5
+        radius: 5
+        opacity: map.status == "Ready" ? 1 : 0
+
+        TextInput {
+            id: input
+            text: map.address
+            anchors.centerIn: parent
+            Keys.onReturnPressed: map.address = input.text
+        }
+    }
+
+    Text {
+        id: loading
+        anchors.centerIn: parent
+        text: map.status == "Error" ? "Error" : "Loading"
+        opacity: map.status == "Ready" ? 0 : 1
+        font.pixelSize: 30
+
+        Behavior on opacity { NumberAnimation{} }
+    }
+}
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/newwindows/inlinehtml.qml b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/inlinehtml.qml
new file mode 100644
index 0000000..afc1fa9
--- /dev/null
+++ b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/inlinehtml.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** 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
+import QtWebKit 1.0
+
+// Inline HTML with loose formatting can be
+// set on the html property.
+WebView {
+    html:"\
+        <body>
+        <table border=1>
+            <tr><th><th>One<th>Two<th>Three
+            <tr><th>1<td>X<td>1<td>X
+            <tr><th>2<td>0<td>X<td>0
+            <tr><th>3<td>X<td>1<td>X
+        </table>"
+}
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/newwindows/newwindows.html b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/newwindows.html
new file mode 100644
index 0000000..f169599
--- /dev/null
+++ b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/newwindows.html
@@ -0,0 +1,3 @@
+<h1>Multiple windows...</h1>
+
+<a target="_blank" href="newwindows.html">Popup!</a>
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/newwindows/newwindows.qml b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/newwindows.qml
new file mode 100644
index 0000000..52f7a0b
--- /dev/null
+++ b/examples/declarative/modelviews/webview/newwindows/qml/newwindows/newwindows.qml
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// Demonstrates opening new WebViews from HTML
+//
+// Note that to open windows from JavaScript, you will need to
+// allow it on WebView with settings.javascriptCanOpenWindows: true
+
+import QtQuick 1.0
+import QtWebKit 1.0
+
+Grid {
+    columns: 3
+    id: pages
+    height: 300; width: 600
+
+    Component {
+        id: webViewPage
+        Rectangle {
+            width: webView.width
+            height: webView.height
+            border.color: "gray"
+
+            WebView {
+                id: webView
+                newWindowComponent: webViewPage
+                newWindowParent: pages
+                url: "newwindows.html"
+            }
+        }
+    }
+
+    Loader { sourceComponent: webViewPage }
+}
diff --git a/examples/declarative/modelviews/webview/newwindows/qml/webview.qmlproject b/examples/declarative/modelviews/webview/newwindows/qml/webview.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/modelviews/webview/newwindows/qml/webview.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/modelviews/webview/newwindows/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/modelviews/webview/newwindows/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/modelviews/webview/newwindows/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/modelviews/webview/newwindows/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/modelviews/webview/newwindows/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/modelviews/webview/newwindows/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/modelviews/webview/newwindows/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/modelviews/webview/newwindows/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/modelviews/webview/newwindows/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/modelviews/webview/webview.qmlproject b/examples/declarative/modelviews/webview/webview.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/modelviews/webview/webview.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 " ]
-}
-- 
cgit v0.12


From f69029f44ef3bdd07c3adaa011333c307a7ed48b Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:55 +0100
Subject: modelviews/visualitemmodel example changes

Modified the example 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>
---
 .../modelviews/visualitemmodel/main.cpp            |   2 +-
 .../visualitemmodel/qml/visualitemmodel.qml        | 107 -----------
 .../visualitemmodel/qml/visualitemmodel.qmlproject |  16 --
 .../qml/visualitemmodel/visualitemmodel.qml        | 107 +++++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../modelviews/visualitemmodel/visualitemmodel.pro |   4 +-
 .../modelviews/visualitemmodel/visualitemmodel.qml | 114 ------------
 .../visualitemmodel/visualitemmodel.qmlproject     |  16 ++
 10 files changed, 126 insertions(+), 670 deletions(-)
 delete mode 100644 examples/declarative/modelviews/visualitemmodel/qml/visualitemmodel.qml
 delete mode 100644 examples/declarative/modelviews/visualitemmodel/qml/visualitemmodel.qmlproject
 create mode 100644 examples/declarative/modelviews/visualitemmodel/qml/visualitemmodel/visualitemmodel.qml
 delete mode 100644 examples/declarative/modelviews/visualitemmodel/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/modelviews/visualitemmodel/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/modelviews/visualitemmodel/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/modelviews/visualitemmodel/visualitemmodel.qml
 create mode 100644 examples/declarative/modelviews/visualitemmodel/visualitemmodel.qmlproject

diff --git a/examples/declarative/modelviews/visualitemmodel/main.cpp b/examples/declarative/modelviews/visualitemmodel/main.cpp
index 1b26502..73f5317 100644
--- a/examples/declarative/modelviews/visualitemmodel/main.cpp
+++ b/examples/declarative/modelviews/visualitemmodel/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/visualitemmodel.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/visualitemmodel/visualitemmodel.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/modelviews/visualitemmodel/qml/visualitemmodel.qml b/examples/declarative/modelviews/visualitemmodel/qml/visualitemmodel.qml
deleted file mode 100644
index 15f2f11..0000000
--- a/examples/declarative/modelviews/visualitemmodel/qml/visualitemmodel.qml
+++ /dev/null
@@ -1,107 +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$
-**
-****************************************************************************/
-
-// This example demonstrates placing items in a view using
-// a VisualItemModel
-
-import QtQuick 1.0
-
-Rectangle {
-    color: "lightgray"
-    width: 240
-    height: 320
-
-    VisualItemModel {
-        id: itemModel
-
-        Rectangle {
-            width: view.width; height: view.height
-            color: "#FFFEF0"
-            Text { text: "Page 1"; font.bold: true; anchors.centerIn: parent }
-        }
-        Rectangle {
-            width: view.width; height: view.height
-            color: "#F0FFF7"
-            Text { text: "Page 2"; font.bold: true; anchors.centerIn: parent }
-        }
-        Rectangle {
-            width: view.width; height: view.height
-            color: "#F4F0FF"
-            Text { text: "Page 3"; font.bold: true; anchors.centerIn: parent }
-        }
-    }
-
-    ListView {
-        id: view
-        anchors { fill: parent; bottomMargin: 30 }
-        model: itemModel
-        preferredHighlightBegin: 0; preferredHighlightEnd: 0
-        highlightRangeMode: ListView.StrictlyEnforceRange
-        orientation: ListView.Horizontal
-        snapMode: ListView.SnapOneItem; flickDeceleration: 2000
-    }
-
-    Rectangle {
-        width: 240; height: 30
-        anchors { top: view.bottom; bottom: parent.bottom }
-        color: "gray"
-
-        Row {
-            anchors.centerIn: parent
-            spacing: 20
-
-            Repeater {
-                model: itemModel.count
-
-                Rectangle {
-                    width: 5; height: 5
-                    radius: 3
-                    color: view.currentIndex == index ? "blue" : "white"
-
-                    MouseArea {
-                        width: 20; height: 20
-                        anchors.centerIn: parent
-                        onClicked: view.currentIndex = index
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/visualitemmodel/qml/visualitemmodel.qmlproject b/examples/declarative/modelviews/visualitemmodel/qml/visualitemmodel.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/modelviews/visualitemmodel/qml/visualitemmodel.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/modelviews/visualitemmodel/qml/visualitemmodel/visualitemmodel.qml b/examples/declarative/modelviews/visualitemmodel/qml/visualitemmodel/visualitemmodel.qml
new file mode 100644
index 0000000..15f2f11
--- /dev/null
+++ b/examples/declarative/modelviews/visualitemmodel/qml/visualitemmodel/visualitemmodel.qml
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// This example demonstrates placing items in a view using
+// a VisualItemModel
+
+import QtQuick 1.0
+
+Rectangle {
+    color: "lightgray"
+    width: 240
+    height: 320
+
+    VisualItemModel {
+        id: itemModel
+
+        Rectangle {
+            width: view.width; height: view.height
+            color: "#FFFEF0"
+            Text { text: "Page 1"; font.bold: true; anchors.centerIn: parent }
+        }
+        Rectangle {
+            width: view.width; height: view.height
+            color: "#F0FFF7"
+            Text { text: "Page 2"; font.bold: true; anchors.centerIn: parent }
+        }
+        Rectangle {
+            width: view.width; height: view.height
+            color: "#F4F0FF"
+            Text { text: "Page 3"; font.bold: true; anchors.centerIn: parent }
+        }
+    }
+
+    ListView {
+        id: view
+        anchors { fill: parent; bottomMargin: 30 }
+        model: itemModel
+        preferredHighlightBegin: 0; preferredHighlightEnd: 0
+        highlightRangeMode: ListView.StrictlyEnforceRange
+        orientation: ListView.Horizontal
+        snapMode: ListView.SnapOneItem; flickDeceleration: 2000
+    }
+
+    Rectangle {
+        width: 240; height: 30
+        anchors { top: view.bottom; bottom: parent.bottom }
+        color: "gray"
+
+        Row {
+            anchors.centerIn: parent
+            spacing: 20
+
+            Repeater {
+                model: itemModel.count
+
+                Rectangle {
+                    width: 5; height: 5
+                    radius: 3
+                    color: view.currentIndex == index ? "blue" : "white"
+
+                    MouseArea {
+                        width: 20; height: 20
+                        anchors.centerIn: parent
+                        onClicked: view.currentIndex = index
+                    }
+                }
+            }
+        }
+    }
+}
diff --git a/examples/declarative/modelviews/visualitemmodel/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/modelviews/visualitemmodel/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/modelviews/visualitemmodel/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/modelviews/visualitemmodel/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/modelviews/visualitemmodel/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/modelviews/visualitemmodel/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/modelviews/visualitemmodel/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/modelviews/visualitemmodel/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/modelviews/visualitemmodel/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/modelviews/visualitemmodel/visualitemmodel.pro b/examples/declarative/modelviews/visualitemmodel/visualitemmodel.pro
index cf61323..8a75ca0 100644
--- a/examples/declarative/modelviews/visualitemmodel/visualitemmodel.pro
+++ b/examples/declarative/modelviews/visualitemmodel/visualitemmodel.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/visualitemmodel
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE722A922
 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/modelviews/visualitemmodel/visualitemmodel.qml b/examples/declarative/modelviews/visualitemmodel/visualitemmodel.qml
deleted file mode 100644
index 4ea7e5b..0000000
--- a/examples/declarative/modelviews/visualitemmodel/visualitemmodel.qml
+++ /dev/null
@@ -1,114 +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$
-**
-****************************************************************************/
-
-// This example demonstrates placing items in a view using
-// a VisualItemModel
-
-import QtQuick 1.0
-
-Rectangle {
-    color: "lightgray"
-    width: 240
-    height: 320
-
-    VisualItemModel {
-        id: itemModel
-
-        Rectangle {
-            width: view.width; height: view.height
-            color: "#FFFEF0"
-            Text { text: "Page 1"; font.bold: true; anchors.centerIn: parent }
-
-            Component.onDestruction: print("destroyed 1")
-        }
-        Rectangle {
-            width: view.width; height: view.height
-            color: "#F0FFF7"
-            Text { text: "Page 2"; font.bold: true; anchors.centerIn: parent }
-
-            Component.onDestruction: print("destroyed 2")
-        }
-        Rectangle {
-            width: view.width; height: view.height
-            color: "#F4F0FF"
-            Text { text: "Page 3"; font.bold: true; anchors.centerIn: parent }
-
-            Component.onDestruction: print("destroyed 3")
-        }
-    }
-
-    ListView {
-        id: view
-        anchors { fill: parent; bottomMargin: 30 }
-        model: itemModel
-        preferredHighlightBegin: 0; preferredHighlightEnd: 0
-        highlightRangeMode: ListView.StrictlyEnforceRange
-        orientation: ListView.Horizontal
-        snapMode: ListView.SnapOneItem; flickDeceleration: 2000
-        cacheBuffer: 200
-    }
-
-    Rectangle {
-        width: 240; height: 30
-        anchors { top: view.bottom; bottom: parent.bottom }
-        color: "gray"
-
-        Row {
-            anchors.centerIn: parent
-            spacing: 20
-
-            Repeater {
-                model: itemModel.count
-
-                Rectangle {
-                    width: 5; height: 5
-                    radius: 3
-                    color: view.currentIndex == index ? "blue" : "white"
-
-                    MouseArea {
-                        width: 20; height: 20
-                        anchors.centerIn: parent
-                        onClicked: view.currentIndex = index
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/examples/declarative/modelviews/visualitemmodel/visualitemmodel.qmlproject b/examples/declarative/modelviews/visualitemmodel/visualitemmodel.qmlproject
new file mode 100644
index 0000000..e422561
--- /dev/null
+++ b/examples/declarative/modelviews/visualitemmodel/visualitemmodel.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/visualitemmodel"
+    }
+    JavaScriptFiles {
+        directory: "qml/visualitemmodel"
+    }
+    ImageFiles {
+        directory: "qml/visualitemmodel"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
-- 
cgit v0.12


From 6be109dc4c08c5274d7ebf905e0148118ee28e89 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:55 +0100
Subject: positioners example modifications

Modified the example 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/positioners/Button.qml        |  78 -------
 examples/declarative/positioners/main.cpp          |   2 +-
 examples/declarative/positioners/positioners.pro   |   4 +-
 examples/declarative/positioners/positioners.qml   | 253 ---------------------
 .../declarative/positioners/positioners.qmlproject |  18 ++
 examples/declarative/positioners/qml/Button.qml    |  78 -------
 examples/declarative/positioners/qml/add.png       | Bin 810 -> 0 bytes
 examples/declarative/positioners/qml/del.png       | Bin 488 -> 0 bytes
 .../declarative/positioners/qml/positioners.qml    | 253 ---------------------
 .../positioners/qml/positioners.qmlproject         |  18 --
 .../positioners/qml/positioners/Button.qml         |  78 +++++++
 .../positioners/qml/positioners/add.png            | Bin 0 -> 810 bytes
 .../positioners/qml/positioners/del.png            | Bin 0 -> 488 bytes
 .../positioners/qml/positioners/positioners.qml    | 253 +++++++++++++++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ----------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 -------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 -------------
 17 files changed, 352 insertions(+), 1113 deletions(-)
 delete mode 100644 examples/declarative/positioners/Button.qml
 delete mode 100644 examples/declarative/positioners/positioners.qml
 create mode 100644 examples/declarative/positioners/positioners.qmlproject
 delete mode 100644 examples/declarative/positioners/qml/Button.qml
 delete mode 100644 examples/declarative/positioners/qml/add.png
 delete mode 100644 examples/declarative/positioners/qml/del.png
 delete mode 100644 examples/declarative/positioners/qml/positioners.qml
 delete mode 100644 examples/declarative/positioners/qml/positioners.qmlproject
 create mode 100644 examples/declarative/positioners/qml/positioners/Button.qml
 create mode 100644 examples/declarative/positioners/qml/positioners/add.png
 create mode 100644 examples/declarative/positioners/qml/positioners/del.png
 create mode 100644 examples/declarative/positioners/qml/positioners/positioners.qml
 delete mode 100644 examples/declarative/positioners/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/positioners/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/positioners/qmlapplicationviewer/qmlapplicationviewer.pri

diff --git a/examples/declarative/positioners/Button.qml b/examples/declarative/positioners/Button.qml
deleted file mode 100644
index 25907c0..0000000
--- a/examples/declarative/positioners/Button.qml
+++ /dev/null
@@ -1,78 +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
-
-    property string text
-    property string icon
-    signal clicked
-
-    border.color: "black"; color: "steelblue"; radius: 5
-    width: pix.width + textelement.width + 13
-    height: pix.height + 10
-
-    Image { id: pix; x: 5; y:5; source: parent.icon }
-
-    Text {
-        id: textelement
-        text: page.text; color: "white"
-        x: pix.width + pix.x + 3
-        anchors.verticalCenter: pix.verticalCenter
-    }
-
-    MouseArea {
-        id: mr
-        anchors.fill: parent
-        onClicked: { parent.focus = true; page.clicked() }
-    }
-
-    states: State {
-        name: "pressed"; when: mr.pressed
-        PropertyChanges { target: textelement; x: 5 }
-        PropertyChanges { target: pix; x: textelement.x + textelement.width + 3 }
-    }
-
-    transitions: Transition {
-        NumberAnimation { properties: "x,left"; easing.type: Easing.InOutQuad; duration: 200 }
-    }
-}
diff --git a/examples/declarative/positioners/main.cpp b/examples/declarative/positioners/main.cpp
index fe93a52..c31462b 100644
--- a/examples/declarative/positioners/main.cpp
+++ b/examples/declarative/positioners/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/positioners.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/positioners/positioners.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/positioners/positioners.pro b/examples/declarative/positioners/positioners.pro
index 38daa89..3bf888f 100644
--- a/examples/declarative/positioners/positioners.pro
+++ b/examples/declarative/positioners/positioners.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/positioners
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE6D726D3
 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/positioners/positioners.qml b/examples/declarative/positioners/positioners.qml
deleted file mode 100644
index 7d6d8fe..0000000
--- a/examples/declarative/positioners/positioners.qml
+++ /dev/null
@@ -1,253 +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: 420; height: 420
-
-    Column {
-        id: layout1
-        y: 0
-        move: Transition {
-            NumberAnimation { properties: "y"; easing.type: Easing.OutBounce }
-        }
-        add: Transition {
-            NumberAnimation { properties: "y"; easing.type: Easing.OutQuad }
-        }
-
-        Rectangle { color: "red"; width: 100; height: 50; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueV1
-            width: 100; height: 50
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "green"; width: 100; height: 50; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueV2
-            width: 100; height: 50
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "orange"; width: 100; height: 50; border.color: "black"; radius: 15 }
-    }
-
-    Row {
-        id: layout2
-        y: 300 
-        move: Transition {
-            NumberAnimation { properties: "x"; easing.type: Easing.OutBounce }
-        }
-        add: Transition {
-            NumberAnimation { properties: "x"; easing.type: Easing.OutQuad }
-        }
-
-        Rectangle { color: "red"; width: 50; height: 100; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueH1
-            width: 50; height: 100
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "green"; width: 50; height: 100; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueH2
-            width: 50; height: 100
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "orange"; width: 50; height: 100; border.color: "black"; radius: 15 }
-    }
-
-    Button {
-        x: 135; y: 90
-        text: "Remove"
-        icon: "del.png"
-
-        onClicked: {
-            blueH2.opacity = 0
-            blueH1.opacity = 0
-            blueV1.opacity = 0
-            blueV2.opacity = 0
-            blueG1.opacity = 0
-            blueG2.opacity = 0
-            blueG3.opacity = 0
-            blueF1.opacity = 0
-            blueF2.opacity = 0
-            blueF3.opacity = 0
-        }
-    }
-
-    Button {
-        x: 145; y: 140
-        text: "Add"
-        icon: "add.png"
-
-        onClicked: {
-            blueH2.opacity = 1
-            blueH1.opacity = 1
-            blueV1.opacity = 1
-            blueV2.opacity = 1
-            blueG1.opacity = 1
-            blueG2.opacity = 1
-            blueG3.opacity = 1
-            blueF1.opacity = 1
-            blueF2.opacity = 1
-            blueF3.opacity = 1
-        }
-    }
-
-    Grid {
-        x: 260; y: 0
-        columns: 3
-
-        move: Transition {
-            NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
-        }
-
-        add: Transition {
-            NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
-        }
-
-        Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueG1
-            width: 50; height: 50
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "green"; width: 50; height: 50; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueG2
-            width: 50; height: 50
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueG3
-            width: 50; height: 50
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
-        Rectangle { color: "green"; width: 50; height: 50; border.color: "black"; radius: 15 }
-        Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
-    }
-
-    Flow {
-        id: layout4
-        x: 260; y: 250; width: 150
-
-        move: Transition {
-            NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
-        }
-
-        add: Transition {
-            NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
-        }
-
-        Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueF1
-            width: 60; height: 50
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "green"; width: 30; height: 50; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueF2
-            width: 60; height: 50
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
-
-        Rectangle { 
-            id: blueF3
-            width: 40; height: 50
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "red"; width: 80; height: 50; border.color: "black"; radius: 15 }
-    }
-
-}
diff --git a/examples/declarative/positioners/positioners.qmlproject b/examples/declarative/positioners/positioners.qmlproject
new file mode 100644
index 0000000..fa2812d
--- /dev/null
+++ b/examples/declarative/positioners/positioners.qmlproject
@@ -0,0 +1,18 @@
+/* File generated by QtCreator */
+
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/positioners"
+    }
+    JavaScriptFiles {
+        directory: "qml/positioners"
+    }
+    ImageFiles {
+        directory: "qml/positioners"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/positioners/qml/Button.qml b/examples/declarative/positioners/qml/Button.qml
deleted file mode 100644
index 32e5993..0000000
--- a/examples/declarative/positioners/qml/Button.qml
+++ /dev/null
@@ -1,78 +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
-
-    property string text
-    property string icon
-    signal clicked
-
-    border.color: "black"; color: "steelblue"; radius: 5
-    width: pix.width + textelement.width + 13
-    height: pix.height + 10
-
-    Image { id: pix; x: 5; y:5; source: parent.icon }
-
-    Text {
-        id: textelement
-        text: page.text; color: "white"
-        x: pix.width + pix.x + 3
-        anchors.verticalCenter: pix.verticalCenter
-    }
-
-    MouseArea {
-        id: mr
-        anchors.fill: parent
-        onClicked: { parent.focus = true; page.clicked() }
-    }
-
-    states: State {
-        name: "pressed"; when: mr.pressed
-        PropertyChanges { target: textelement; x: 5 }
-        PropertyChanges { target: pix; x: textelement.x + textelement.width + 3 }
-    }
-
-    transitions: Transition {
-        NumberAnimation { properties: "x,left"; easing.type: Easing.InOutQuad; duration: 200 }
-    }
-}
diff --git a/examples/declarative/positioners/qml/add.png b/examples/declarative/positioners/qml/add.png
deleted file mode 100644
index 1ee4542..0000000
Binary files a/examples/declarative/positioners/qml/add.png and /dev/null differ
diff --git a/examples/declarative/positioners/qml/del.png b/examples/declarative/positioners/qml/del.png
deleted file mode 100644
index 8d2eaed..0000000
Binary files a/examples/declarative/positioners/qml/del.png and /dev/null differ
diff --git a/examples/declarative/positioners/qml/positioners.qml b/examples/declarative/positioners/qml/positioners.qml
deleted file mode 100644
index 6ae265e..0000000
--- a/examples/declarative/positioners/qml/positioners.qml
+++ /dev/null
@@ -1,253 +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: 420; height: 420
-
-    Column {
-        id: layout1
-        y: 0
-        move: Transition {
-            NumberAnimation { properties: "y"; easing.type: Easing.OutBounce }
-        }
-        add: Transition {
-            NumberAnimation { properties: "y"; easing.type: Easing.OutQuad }
-        }
-
-        Rectangle { color: "red"; width: 100; height: 50; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueV1
-            width: 100; height: 50
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "green"; width: 100; height: 50; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueV2
-            width: 100; height: 50
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "orange"; width: 100; height: 50; border.color: "black"; radius: 15 }
-    }
-
-    Row {
-        id: layout2
-        y: 300 
-        move: Transition {
-            NumberAnimation { properties: "x"; easing.type: Easing.OutBounce }
-        }
-        add: Transition {
-            NumberAnimation { properties: "x"; easing.type: Easing.OutQuad }
-        }
-
-        Rectangle { color: "red"; width: 50; height: 100; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueH1
-            width: 50; height: 100
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "green"; width: 50; height: 100; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueH2
-            width: 50; height: 100
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "orange"; width: 50; height: 100; border.color: "black"; radius: 15 }
-    }
-
-    Button {
-        x: 135; y: 90
-        text: "Remove"
-        icon: "del.png"
-
-        onClicked: {
-            blueH2.opacity = 0
-            blueH1.opacity = 0
-            blueV1.opacity = 0
-            blueV2.opacity = 0
-            blueG1.opacity = 0
-            blueG2.opacity = 0
-            blueG3.opacity = 0
-            blueF1.opacity = 0
-            blueF2.opacity = 0
-            blueF3.opacity = 0
-        }
-    }
-
-    Button {
-        x: 145; y: 140
-        text: "Add"
-        icon: "add.png"
-
-        onClicked: {
-            blueH2.opacity = 1
-            blueH1.opacity = 1
-            blueV1.opacity = 1
-            blueV2.opacity = 1
-            blueG1.opacity = 1
-            blueG2.opacity = 1
-            blueG3.opacity = 1
-            blueF1.opacity = 1
-            blueF2.opacity = 1
-            blueF3.opacity = 1
-        }
-    }
-
-    Grid {
-        x: 260; y: 0
-        columns: 3
-
-        move: Transition {
-            NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
-        }
-
-        add: Transition {
-            NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
-        }
-
-        Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueG1
-            width: 50; height: 50
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "green"; width: 50; height: 50; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueG2
-            width: 50; height: 50
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueG3
-            width: 50; height: 50
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
-        Rectangle { color: "green"; width: 50; height: 50; border.color: "black"; radius: 15 }
-        Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
-    }
-
-    Flow {
-        id: layout4
-        x: 260; y: 250; width: 150
-
-        move: Transition {
-            NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
-        }
-
-        add: Transition {
-            NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
-        }
-
-        Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueF1
-            width: 60; height: 50
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "green"; width: 30; height: 50; border.color: "black"; radius: 15 }
-
-        Rectangle {
-            id: blueF2
-            width: 60; height: 50
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
-
-        Rectangle { 
-            id: blueF3
-            width: 40; height: 50
-            color: "lightsteelblue"
-            border.color: "black"
-            radius: 15 
-            Behavior on opacity { NumberAnimation {} }
-        }
-
-        Rectangle { color: "red"; width: 80; height: 50; border.color: "black"; radius: 15 }
-    }
-
-}
diff --git a/examples/declarative/positioners/qml/positioners.qmlproject b/examples/declarative/positioners/qml/positioners.qmlproject
deleted file mode 100644
index e526217..0000000
--- a/examples/declarative/positioners/qml/positioners.qmlproject
+++ /dev/null
@@ -1,18 +0,0 @@
-/* File generated by QtCreator */
-
-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/positioners/qml/positioners/Button.qml b/examples/declarative/positioners/qml/positioners/Button.qml
new file mode 100644
index 0000000..32e5993
--- /dev/null
+++ b/examples/declarative/positioners/qml/positioners/Button.qml
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** 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
+
+    property string text
+    property string icon
+    signal clicked
+
+    border.color: "black"; color: "steelblue"; radius: 5
+    width: pix.width + textelement.width + 13
+    height: pix.height + 10
+
+    Image { id: pix; x: 5; y:5; source: parent.icon }
+
+    Text {
+        id: textelement
+        text: page.text; color: "white"
+        x: pix.width + pix.x + 3
+        anchors.verticalCenter: pix.verticalCenter
+    }
+
+    MouseArea {
+        id: mr
+        anchors.fill: parent
+        onClicked: { parent.focus = true; page.clicked() }
+    }
+
+    states: State {
+        name: "pressed"; when: mr.pressed
+        PropertyChanges { target: textelement; x: 5 }
+        PropertyChanges { target: pix; x: textelement.x + textelement.width + 3 }
+    }
+
+    transitions: Transition {
+        NumberAnimation { properties: "x,left"; easing.type: Easing.InOutQuad; duration: 200 }
+    }
+}
diff --git a/examples/declarative/positioners/qml/positioners/add.png b/examples/declarative/positioners/qml/positioners/add.png
new file mode 100644
index 0000000..1ee4542
Binary files /dev/null and b/examples/declarative/positioners/qml/positioners/add.png differ
diff --git a/examples/declarative/positioners/qml/positioners/del.png b/examples/declarative/positioners/qml/positioners/del.png
new file mode 100644
index 0000000..8d2eaed
Binary files /dev/null and b/examples/declarative/positioners/qml/positioners/del.png differ
diff --git a/examples/declarative/positioners/qml/positioners/positioners.qml b/examples/declarative/positioners/qml/positioners/positioners.qml
new file mode 100644
index 0000000..6ae265e
--- /dev/null
+++ b/examples/declarative/positioners/qml/positioners/positioners.qml
@@ -0,0 +1,253 @@
+/****************************************************************************
+**
+** 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: 420; height: 420
+
+    Column {
+        id: layout1
+        y: 0
+        move: Transition {
+            NumberAnimation { properties: "y"; easing.type: Easing.OutBounce }
+        }
+        add: Transition {
+            NumberAnimation { properties: "y"; easing.type: Easing.OutQuad }
+        }
+
+        Rectangle { color: "red"; width: 100; height: 50; border.color: "black"; radius: 15 }
+
+        Rectangle {
+            id: blueV1
+            width: 100; height: 50
+            color: "lightsteelblue"
+            border.color: "black"
+            radius: 15 
+            Behavior on opacity { NumberAnimation {} }
+        }
+
+        Rectangle { color: "green"; width: 100; height: 50; border.color: "black"; radius: 15 }
+
+        Rectangle {
+            id: blueV2
+            width: 100; height: 50
+            color: "lightsteelblue"
+            border.color: "black"
+            radius: 15 
+            Behavior on opacity { NumberAnimation {} }
+        }
+
+        Rectangle { color: "orange"; width: 100; height: 50; border.color: "black"; radius: 15 }
+    }
+
+    Row {
+        id: layout2
+        y: 300 
+        move: Transition {
+            NumberAnimation { properties: "x"; easing.type: Easing.OutBounce }
+        }
+        add: Transition {
+            NumberAnimation { properties: "x"; easing.type: Easing.OutQuad }
+        }
+
+        Rectangle { color: "red"; width: 50; height: 100; border.color: "black"; radius: 15 }
+
+        Rectangle {
+            id: blueH1
+            width: 50; height: 100
+            color: "lightsteelblue"
+            border.color: "black"
+            radius: 15
+            Behavior on opacity { NumberAnimation {} }
+        }
+
+        Rectangle { color: "green"; width: 50; height: 100; border.color: "black"; radius: 15 }
+
+        Rectangle {
+            id: blueH2
+            width: 50; height: 100
+            color: "lightsteelblue"
+            border.color: "black"
+            radius: 15 
+            Behavior on opacity { NumberAnimation {} }
+        }
+
+        Rectangle { color: "orange"; width: 50; height: 100; border.color: "black"; radius: 15 }
+    }
+
+    Button {
+        x: 135; y: 90
+        text: "Remove"
+        icon: "del.png"
+
+        onClicked: {
+            blueH2.opacity = 0
+            blueH1.opacity = 0
+            blueV1.opacity = 0
+            blueV2.opacity = 0
+            blueG1.opacity = 0
+            blueG2.opacity = 0
+            blueG3.opacity = 0
+            blueF1.opacity = 0
+            blueF2.opacity = 0
+            blueF3.opacity = 0
+        }
+    }
+
+    Button {
+        x: 145; y: 140
+        text: "Add"
+        icon: "add.png"
+
+        onClicked: {
+            blueH2.opacity = 1
+            blueH1.opacity = 1
+            blueV1.opacity = 1
+            blueV2.opacity = 1
+            blueG1.opacity = 1
+            blueG2.opacity = 1
+            blueG3.opacity = 1
+            blueF1.opacity = 1
+            blueF2.opacity = 1
+            blueF3.opacity = 1
+        }
+    }
+
+    Grid {
+        x: 260; y: 0
+        columns: 3
+
+        move: Transition {
+            NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
+        }
+
+        add: Transition {
+            NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
+        }
+
+        Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
+
+        Rectangle {
+            id: blueG1
+            width: 50; height: 50
+            color: "lightsteelblue"
+            border.color: "black"
+            radius: 15 
+            Behavior on opacity { NumberAnimation {} }
+        }
+
+        Rectangle { color: "green"; width: 50; height: 50; border.color: "black"; radius: 15 }
+
+        Rectangle {
+            id: blueG2
+            width: 50; height: 50
+            color: "lightsteelblue"
+            border.color: "black"
+            radius: 15 
+            Behavior on opacity { NumberAnimation {} }
+        }
+
+        Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
+
+        Rectangle {
+            id: blueG3
+            width: 50; height: 50
+            color: "lightsteelblue"
+            border.color: "black"
+            radius: 15 
+            Behavior on opacity { NumberAnimation {} }
+        }
+
+        Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
+        Rectangle { color: "green"; width: 50; height: 50; border.color: "black"; radius: 15 }
+        Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
+    }
+
+    Flow {
+        id: layout4
+        x: 260; y: 250; width: 150
+
+        move: Transition {
+            NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
+        }
+
+        add: Transition {
+            NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
+        }
+
+        Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
+
+        Rectangle {
+            id: blueF1
+            width: 60; height: 50
+            color: "lightsteelblue"
+            border.color: "black"
+            radius: 15 
+            Behavior on opacity { NumberAnimation {} }
+        }
+
+        Rectangle { color: "green"; width: 30; height: 50; border.color: "black"; radius: 15 }
+
+        Rectangle {
+            id: blueF2
+            width: 60; height: 50
+            color: "lightsteelblue"
+            border.color: "black"
+            radius: 15 
+            Behavior on opacity { NumberAnimation {} }
+        }
+
+        Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
+
+        Rectangle { 
+            id: blueF3
+            width: 40; height: 50
+            color: "lightsteelblue"
+            border.color: "black"
+            radius: 15 
+            Behavior on opacity { NumberAnimation {} }
+        }
+
+        Rectangle { color: "red"; width: 80; height: 50; border.color: "black"; radius: 15 }
+    }
+
+}
diff --git a/examples/declarative/positioners/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/positioners/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/positioners/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/positioners/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/positioners/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/positioners/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/positioners/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/positioners/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/positioners/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)
-}
-- 
cgit v0.12


From 63ff83ae514b57258d27f3b401093328cf10fbb0 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:56 +0100
Subject: RightToLeft Examples Modifications

righttoleft/ layoutdirection, layoutmirroring and textalignment
example modifications

Modified examples 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>
---
 .../layoutdirection/layoutdirection.desktop        |  11 +
 .../layoutdirection/layoutdirection.pro            |  37 ++
 .../layoutdirection/layoutdirection.qml            | 256 -------------
 .../layoutdirection/layoutdirection.qmlproject     |   6 +-
 .../layoutdirection/layoutdirection.svg            |  93 +++++
 .../layoutdirection/layoutdirection64.png          | Bin 0 -> 3400 bytes
 .../layoutdirection/layoutdirection80.png          | Bin 0 -> 4945 bytes
 .../layoutdirection_harmattan.desktop              |  11 +
 .../righttoleft/layoutdirection/main.cpp           |  54 +++
 .../qml/layoutdirection/layoutdirection.qml        | 256 +++++++++++++
 .../layoutmirroring/layoutmirroring.desktop        |  11 +
 .../layoutmirroring/layoutmirroring.pro            |  37 ++
 .../layoutmirroring/layoutmirroring.qml            | 313 ---------------
 .../layoutmirroring/layoutmirroring.qmlproject     |   6 +-
 .../layoutmirroring/layoutmirroring.svg            |  93 +++++
 .../layoutmirroring/layoutmirroring64.png          | Bin 0 -> 3400 bytes
 .../layoutmirroring/layoutmirroring80.png          | Bin 0 -> 4945 bytes
 .../layoutmirroring_harmattan.desktop              |  11 +
 .../righttoleft/layoutmirroring/main.cpp           |  54 +++
 .../qml/layoutmirroring/layoutmirroring.qml        | 313 +++++++++++++++
 .../declarative/righttoleft/textalignment/main.cpp |  54 +++
 .../qml/textalignment/textalignment.qml            | 426 +++++++++++++++++++++
 .../textalignment/textalignment.desktop            |  11 +
 .../righttoleft/textalignment/textalignment.pro    |  37 ++
 .../righttoleft/textalignment/textalignment.qml    | 426 ---------------------
 .../textalignment/textalignment.qmlproject         |   6 +-
 .../righttoleft/textalignment/textalignment.svg    |  93 +++++
 .../righttoleft/textalignment/textalignment64.png  | Bin 0 -> 3400 bytes
 .../righttoleft/textalignment/textalignment80.png  | Bin 0 -> 4945 bytes
 .../textalignment/textalignment_harmattan.desktop  |  11 +
 30 files changed, 1622 insertions(+), 1004 deletions(-)
 create mode 100644 examples/declarative/righttoleft/layoutdirection/layoutdirection.desktop
 create mode 100644 examples/declarative/righttoleft/layoutdirection/layoutdirection.pro
 delete mode 100644 examples/declarative/righttoleft/layoutdirection/layoutdirection.qml
 create mode 100644 examples/declarative/righttoleft/layoutdirection/layoutdirection.svg
 create mode 100644 examples/declarative/righttoleft/layoutdirection/layoutdirection64.png
 create mode 100644 examples/declarative/righttoleft/layoutdirection/layoutdirection80.png
 create mode 100644 examples/declarative/righttoleft/layoutdirection/layoutdirection_harmattan.desktop
 create mode 100644 examples/declarative/righttoleft/layoutdirection/main.cpp
 create mode 100644 examples/declarative/righttoleft/layoutdirection/qml/layoutdirection/layoutdirection.qml
 create mode 100644 examples/declarative/righttoleft/layoutmirroring/layoutmirroring.desktop
 create mode 100644 examples/declarative/righttoleft/layoutmirroring/layoutmirroring.pro
 delete mode 100644 examples/declarative/righttoleft/layoutmirroring/layoutmirroring.qml
 create mode 100644 examples/declarative/righttoleft/layoutmirroring/layoutmirroring.svg
 create mode 100644 examples/declarative/righttoleft/layoutmirroring/layoutmirroring64.png
 create mode 100644 examples/declarative/righttoleft/layoutmirroring/layoutmirroring80.png
 create mode 100644 examples/declarative/righttoleft/layoutmirroring/layoutmirroring_harmattan.desktop
 create mode 100644 examples/declarative/righttoleft/layoutmirroring/main.cpp
 create mode 100644 examples/declarative/righttoleft/layoutmirroring/qml/layoutmirroring/layoutmirroring.qml
 create mode 100644 examples/declarative/righttoleft/textalignment/main.cpp
 create mode 100644 examples/declarative/righttoleft/textalignment/qml/textalignment/textalignment.qml
 create mode 100644 examples/declarative/righttoleft/textalignment/textalignment.desktop
 create mode 100644 examples/declarative/righttoleft/textalignment/textalignment.pro
 delete mode 100644 examples/declarative/righttoleft/textalignment/textalignment.qml
 create mode 100644 examples/declarative/righttoleft/textalignment/textalignment.svg
 create mode 100644 examples/declarative/righttoleft/textalignment/textalignment64.png
 create mode 100644 examples/declarative/righttoleft/textalignment/textalignment80.png
 create mode 100644 examples/declarative/righttoleft/textalignment/textalignment_harmattan.desktop

diff --git a/examples/declarative/righttoleft/layoutdirection/layoutdirection.desktop b/examples/declarative/righttoleft/layoutdirection/layoutdirection.desktop
new file mode 100644
index 0000000..36ca6ea
--- /dev/null
+++ b/examples/declarative/righttoleft/layoutdirection/layoutdirection.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=layoutdirection
+Exec=/opt/layoutdirection/bin/layoutdirection
+Icon=layoutdirection64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/righttoleft/layoutdirection/layoutdirection.pro b/examples/declarative/righttoleft/layoutdirection/layoutdirection.pro
new file mode 100644
index 0000000..a7f11d8
--- /dev/null
+++ b/examples/declarative/righttoleft/layoutdirection/layoutdirection.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/layoutdirection
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE12C9D9E
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/righttoleft/layoutdirection/layoutdirection.qml b/examples/declarative/righttoleft/layoutdirection/layoutdirection.qml
deleted file mode 100644
index fa343b9..0000000
--- a/examples/declarative/righttoleft/layoutdirection/layoutdirection.qml
+++ /dev/null
@@ -1,256 +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.1
-
-Rectangle {
-    id: root
-    property bool mirror
-    property int direction: Qt.application.layoutDirection
-    LayoutMirroring.enabled: mirror
-    LayoutMirroring.childrenInherit: true
-    width: column.width + 80
-    height: column.height + 40
-    Column {
-        id: column
-        width: 190
-        spacing: 10
-        anchors.centerIn: parent
-
-        Text {
-            text: "Row"
-            anchors.horizontalCenter: parent.horizontalCenter
-        }
-
-        Row {
-            layoutDirection: root.direction
-            spacing: 10
-            move: Transition {
-                NumberAnimation {
-                    properties: "x"
-                }
-            }
-            Repeater {
-                model: 4
-                Loader {
-                    property int value: index
-                    sourceComponent: positionerDelegate
-                }
-            }
-        }
-
-        Text {
-            text: "Grid"
-            anchors.horizontalCenter: parent.horizontalCenter
-        }
-
-        Grid {
-            layoutDirection: root.direction
-            spacing: 10; columns: 4
-            move: Transition {
-                NumberAnimation {
-                    properties: "x"
-                }
-            }
-            Repeater {
-                model: 11
-                Loader {
-                    property int value: index
-                    sourceComponent: positionerDelegate
-                }
-            }
-        }
-
-        Text {
-            text: "Flow"
-            anchors.horizontalCenter: parent.horizontalCenter
-        }
-
-        Flow {
-            layoutDirection: root.direction
-            spacing: 10; width: parent.width
-            move: Transition {
-                NumberAnimation {
-                    properties: "x"
-                }
-            }
-            Repeater {
-                model: 10
-                Loader {
-                    property int value: index
-                    sourceComponent: positionerDelegate
-                }
-            }
-        }
-
-        Text {
-            text: "ListView"
-            anchors.horizontalCenter: parent.horizontalCenter
-        }
-
-        ListView {
-            id: listView
-            clip: true
-            width: parent.width; height: 40
-            layoutDirection: root.direction
-            orientation: Qt.Horizontal
-            model: 48
-            delegate: viewDelegate
-        }
-
-        Text {
-            text: "GridView"
-            anchors.horizontalCenter: parent.horizontalCenter
-        }
-
-        GridView {
-            clip: true
-            width: 200; height: 160
-            cellWidth: 50; cellHeight: 50
-            layoutDirection: root.direction
-            model: 48
-            delegate: viewDelegate
-        }
-
-        Rectangle {
-            height: 50; width: parent.width
-            color: mouseArea.pressed ? "black" : "gray"
-            Column {
-                anchors.centerIn: parent
-                Text {
-                    text: root.direction ? "Right to left" : "Left to right"
-                    color: "white"
-                    font.pixelSize: 16
-                    anchors.horizontalCenter: parent.horizontalCenter
-                }
-                Text {
-                    text: "(click here to toggle)"
-                    color: "white"
-                    font.pixelSize: 10
-                    font.italic: true
-                    anchors.horizontalCenter: parent.horizontalCenter
-                }
-            }
-            MouseArea {
-                id: mouseArea
-                anchors.fill: parent
-                onClicked: {
-                    if (root.direction == Qt.LeftToRight) {
-                        root.direction = Qt.RightToLeft;
-                    } else {
-                        root.direction = Qt.LeftToRight;
-                    }
-                }
-            }
-        }
-
-        Rectangle {
-            height: 50; width: parent.width
-            color: mouseArea2.pressed ? "black" : "gray"
-            Column {
-                anchors.centerIn: parent
-                Text {
-                    text: root.mirror ? "Mirrored" : "Not mirrored"
-                    color: "white"
-                    font.pixelSize: 16
-                    anchors.horizontalCenter: parent.horizontalCenter
-                }
-                Text {
-                    text: "(click here to toggle)"
-                    color: "white"
-                    font.pixelSize: 10
-                    font.italic: true
-                    anchors.horizontalCenter: parent.horizontalCenter
-                }
-            }
-            MouseArea {
-                id: mouseArea2
-                anchors.fill: parent
-                onClicked: {
-                    root.mirror = !root.mirror;
-                }
-            }
-        }
-    }
-
-    Component {
-        id: positionerDelegate
-        Rectangle {
-            width: 40; height: 40
-            color: Qt.rgba(0.8/(parent.value+1),0.8/(parent.value+1),0.8/(parent.value+1),1.0)
-            Text {
-                text: parent.parent.value+1
-                color: "white"
-                font.pixelSize: 18
-                anchors.centerIn: parent
-            }
-        }
-    }
-    Component {
-        id: viewDelegate
-        Item {
-            function effectiveLayoutDirection() {
-                if (LayoutMirroring.enabled)
-                    if (listView.layoutDirection == Qt.LeftToRight)
-                        return Qt.RightToLeft;
-                    else
-                        return Qt.LeftToRight;
-                else
-                    return listView.layoutDirection;
-            }
-
-            width: (effectiveLayoutDirection() == Qt.LeftToRight ? (index == 48 - 1) : (index == 0)) ? 40 : 50
-            Rectangle {
-                width: 40; height: 40
-                color: Qt.rgba(0.5+(48 - index)*Math.random()/48,
-                               0.3+index*Math.random()/48,
-                               0.3*Math.random(),
-                               1.0)
-                Text {
-                    text: index+1
-                    color: "white"
-                    font.pixelSize: 18
-                    anchors.centerIn: parent
-                }
-            }
-        }
-    }
-}
-
diff --git a/examples/declarative/righttoleft/layoutdirection/layoutdirection.qmlproject b/examples/declarative/righttoleft/layoutdirection/layoutdirection.qmlproject
index e526217..59456b0 100644
--- a/examples/declarative/righttoleft/layoutdirection/layoutdirection.qmlproject
+++ b/examples/declarative/righttoleft/layoutdirection/layoutdirection.qmlproject
@@ -5,13 +5,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/layoutdirection"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/layoutdirection"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/layoutdirection"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/examples/declarative/righttoleft/layoutdirection/layoutdirection.svg b/examples/declarative/righttoleft/layoutdirection/layoutdirection.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/examples/declarative/righttoleft/layoutdirection/layoutdirection.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/examples/declarative/righttoleft/layoutdirection/layoutdirection64.png b/examples/declarative/righttoleft/layoutdirection/layoutdirection64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/examples/declarative/righttoleft/layoutdirection/layoutdirection64.png differ
diff --git a/examples/declarative/righttoleft/layoutdirection/layoutdirection80.png b/examples/declarative/righttoleft/layoutdirection/layoutdirection80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/examples/declarative/righttoleft/layoutdirection/layoutdirection80.png differ
diff --git a/examples/declarative/righttoleft/layoutdirection/layoutdirection_harmattan.desktop b/examples/declarative/righttoleft/layoutdirection/layoutdirection_harmattan.desktop
new file mode 100644
index 0000000..ef5691e
--- /dev/null
+++ b/examples/declarative/righttoleft/layoutdirection/layoutdirection_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=layoutdirection
+Exec=/usr/bin/single-instance /opt/layoutdirection/bin/layoutdirection
+Icon=/usr/share/icons/hicolor/80x80/apps/layoutdirection80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/righttoleft/layoutdirection/main.cpp b/examples/declarative/righttoleft/layoutdirection/main.cpp
new file mode 100644
index 0000000..79d1457
--- /dev/null
+++ b/examples/declarative/righttoleft/layoutdirection/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include <QtGui/QApplication>
+#include "qmlapplicationviewer.h"
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/layoutdirection/layoutdirection.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/examples/declarative/righttoleft/layoutdirection/qml/layoutdirection/layoutdirection.qml b/examples/declarative/righttoleft/layoutdirection/qml/layoutdirection/layoutdirection.qml
new file mode 100644
index 0000000..fa343b9
--- /dev/null
+++ b/examples/declarative/righttoleft/layoutdirection/qml/layoutdirection/layoutdirection.qml
@@ -0,0 +1,256 @@
+/****************************************************************************
+**
+** 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.1
+
+Rectangle {
+    id: root
+    property bool mirror
+    property int direction: Qt.application.layoutDirection
+    LayoutMirroring.enabled: mirror
+    LayoutMirroring.childrenInherit: true
+    width: column.width + 80
+    height: column.height + 40
+    Column {
+        id: column
+        width: 190
+        spacing: 10
+        anchors.centerIn: parent
+
+        Text {
+            text: "Row"
+            anchors.horizontalCenter: parent.horizontalCenter
+        }
+
+        Row {
+            layoutDirection: root.direction
+            spacing: 10
+            move: Transition {
+                NumberAnimation {
+                    properties: "x"
+                }
+            }
+            Repeater {
+                model: 4
+                Loader {
+                    property int value: index
+                    sourceComponent: positionerDelegate
+                }
+            }
+        }
+
+        Text {
+            text: "Grid"
+            anchors.horizontalCenter: parent.horizontalCenter
+        }
+
+        Grid {
+            layoutDirection: root.direction
+            spacing: 10; columns: 4
+            move: Transition {
+                NumberAnimation {
+                    properties: "x"
+                }
+            }
+            Repeater {
+                model: 11
+                Loader {
+                    property int value: index
+                    sourceComponent: positionerDelegate
+                }
+            }
+        }
+
+        Text {
+            text: "Flow"
+            anchors.horizontalCenter: parent.horizontalCenter
+        }
+
+        Flow {
+            layoutDirection: root.direction
+            spacing: 10; width: parent.width
+            move: Transition {
+                NumberAnimation {
+                    properties: "x"
+                }
+            }
+            Repeater {
+                model: 10
+                Loader {
+                    property int value: index
+                    sourceComponent: positionerDelegate
+                }
+            }
+        }
+
+        Text {
+            text: "ListView"
+            anchors.horizontalCenter: parent.horizontalCenter
+        }
+
+        ListView {
+            id: listView
+            clip: true
+            width: parent.width; height: 40
+            layoutDirection: root.direction
+            orientation: Qt.Horizontal
+            model: 48
+            delegate: viewDelegate
+        }
+
+        Text {
+            text: "GridView"
+            anchors.horizontalCenter: parent.horizontalCenter
+        }
+
+        GridView {
+            clip: true
+            width: 200; height: 160
+            cellWidth: 50; cellHeight: 50
+            layoutDirection: root.direction
+            model: 48
+            delegate: viewDelegate
+        }
+
+        Rectangle {
+            height: 50; width: parent.width
+            color: mouseArea.pressed ? "black" : "gray"
+            Column {
+                anchors.centerIn: parent
+                Text {
+                    text: root.direction ? "Right to left" : "Left to right"
+                    color: "white"
+                    font.pixelSize: 16
+                    anchors.horizontalCenter: parent.horizontalCenter
+                }
+                Text {
+                    text: "(click here to toggle)"
+                    color: "white"
+                    font.pixelSize: 10
+                    font.italic: true
+                    anchors.horizontalCenter: parent.horizontalCenter
+                }
+            }
+            MouseArea {
+                id: mouseArea
+                anchors.fill: parent
+                onClicked: {
+                    if (root.direction == Qt.LeftToRight) {
+                        root.direction = Qt.RightToLeft;
+                    } else {
+                        root.direction = Qt.LeftToRight;
+                    }
+                }
+            }
+        }
+
+        Rectangle {
+            height: 50; width: parent.width
+            color: mouseArea2.pressed ? "black" : "gray"
+            Column {
+                anchors.centerIn: parent
+                Text {
+                    text: root.mirror ? "Mirrored" : "Not mirrored"
+                    color: "white"
+                    font.pixelSize: 16
+                    anchors.horizontalCenter: parent.horizontalCenter
+                }
+                Text {
+                    text: "(click here to toggle)"
+                    color: "white"
+                    font.pixelSize: 10
+                    font.italic: true
+                    anchors.horizontalCenter: parent.horizontalCenter
+                }
+            }
+            MouseArea {
+                id: mouseArea2
+                anchors.fill: parent
+                onClicked: {
+                    root.mirror = !root.mirror;
+                }
+            }
+        }
+    }
+
+    Component {
+        id: positionerDelegate
+        Rectangle {
+            width: 40; height: 40
+            color: Qt.rgba(0.8/(parent.value+1),0.8/(parent.value+1),0.8/(parent.value+1),1.0)
+            Text {
+                text: parent.parent.value+1
+                color: "white"
+                font.pixelSize: 18
+                anchors.centerIn: parent
+            }
+        }
+    }
+    Component {
+        id: viewDelegate
+        Item {
+            function effectiveLayoutDirection() {
+                if (LayoutMirroring.enabled)
+                    if (listView.layoutDirection == Qt.LeftToRight)
+                        return Qt.RightToLeft;
+                    else
+                        return Qt.LeftToRight;
+                else
+                    return listView.layoutDirection;
+            }
+
+            width: (effectiveLayoutDirection() == Qt.LeftToRight ? (index == 48 - 1) : (index == 0)) ? 40 : 50
+            Rectangle {
+                width: 40; height: 40
+                color: Qt.rgba(0.5+(48 - index)*Math.random()/48,
+                               0.3+index*Math.random()/48,
+                               0.3*Math.random(),
+                               1.0)
+                Text {
+                    text: index+1
+                    color: "white"
+                    font.pixelSize: 18
+                    anchors.centerIn: parent
+                }
+            }
+        }
+    }
+}
+
diff --git a/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.desktop b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.desktop
new file mode 100644
index 0000000..974bd80
--- /dev/null
+++ b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=layoutmirroring
+Exec=/opt/layoutmirroring/bin/layoutmirroring
+Icon=layoutmirroring64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.pro b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.pro
new file mode 100644
index 0000000..ab52726
--- /dev/null
+++ b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/layoutmirroring
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE2EC19CA
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.qml b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.qml
deleted file mode 100644
index b4065ba..0000000
--- a/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.qml
+++ /dev/null
@@ -1,313 +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.1
-
-Rectangle {
-    id: root
-    property bool mirror: Qt.application.layoutDirection == Qt.RightToLeft
-    LayoutMirroring.enabled: mirror
-    LayoutMirroring.childrenInherit: true
-    width: 400
-    height: 875
-    color: "lightsteelblue"
-
-    Column {
-        spacing: 10
-        anchors { left: parent.left; right: parent.right; top: parent.top; margins: 10 }
-
-        Text {
-            text: "Positioners"
-            anchors.left: parent.left
-        }
-
-        Column {
-            id: positioners
-            spacing: 5
-            anchors.left: parent.left
-            Row {
-                id: row
-                spacing: 4
-                property string text: "THISISROW"
-                anchors.left: parent.left
-                Repeater {
-                    model: parent.text.length
-                    delegate: positionerDelegate
-                }
-            }
-            Flow {
-                id: flow
-                spacing: 4
-                width: 90
-                property string text: "THISISFLOW"
-                anchors.left: parent.left
-                Repeater {
-                    model: parent.text.length
-                    delegate: positionerDelegate
-                }
-            }
-            Grid {
-                id: grid
-                spacing: 4
-                columns: 6
-                property string text: "THISISGRID"
-                anchors.left: parent.left
-                Repeater {
-                    model: parent.text.length
-                    delegate: positionerDelegate
-                }
-            }
-            Component {
-                id: positionerDelegate
-                Text {
-                    color: "white"
-                    font.pixelSize: 20
-                    text: parent.text[index]
-                    Rectangle {
-                        z: -1
-                        opacity: 0.7
-                        color: "black"
-                        anchors.fill: parent
-                    }
-                }
-            }
-        }
-
-        Text {
-            text: "Text alignment"
-            anchors.left: parent.left
-        }
-
-        Rectangle {
-            id: textStrings
-            width: 148
-            height: 85
-            color: "white"
-            anchors.left: parent.left
-            Column {
-                spacing: 5
-                width: parent.width
-                anchors { fill: parent; margins: 5 }
-                Text {
-                    id: englishText
-                    width: parent.width
-                    text: "English text"
-                }
-                Text {
-                    id: arabicText
-                    width: parent.width
-                    text: "النص العربي"
-                }
-                Text {
-                    id: leftAlignedText
-                    width: parent.width
-                    text: "Text aligned to left"
-                    horizontalAlignment: Text.AlignLeft
-                }
-                Text {
-                    id: rightAlignedText
-                    width: parent.width
-                    text: "Text aligned to right"
-                    horizontalAlignment: Text.AlignRight
-                }
-            }
-        }
-
-        Text {
-            text: "Model views"
-            anchors.left: parent.left
-        }
-
-        Column {
-            id: views
-            spacing: 10
-            anchors.left: parent.left
-            ListView {
-                id: listView
-                z: -1
-                clip: true
-                model: text.length
-                width: 360; height: 45
-                orientation: Qt.Horizontal
-                property string text: "LISTVIEWLISTVIEWLISTVIEWLISTVIEWLISTVIEWLISTVIEW"
-                delegate: Rectangle {
-                    color: "black"
-                    width: 45; height: 45
-                    Rectangle {
-                        anchors { fill: parent; margins: 1 }
-                        color: "red"
-                    }
-                    Text {
-                        text: listView.text[index]
-                        font.pixelSize: 30
-                        anchors.centerIn: parent
-                    }
-                }
-            }
-            GridView {
-                id: gridView
-                z: -1
-                clip: true
-                model: text.length
-                width: 180; height: 90
-                cellWidth: 45; cellHeight: 45
-                property string text: "GRIDVIEWGRIDVIEWGRIDVIEWGRIDVIEWGRIDVIEWGRIDVIEW"
-                anchors.left: parent.left
-                delegate: Rectangle {
-                    color: "black"
-                    width: 45; height: 45
-                    Rectangle {
-                        anchors { fill: parent; margins: 1 }
-                        color: "red"
-                    }
-                    Text {
-                        anchors.centerIn: parent
-                        font.pixelSize: 30
-                        text: gridView.text[index]
-                    }
-                }
-            }
-        }
-
-        Text {
-            text: "Item x"
-            anchors.left: parent.left
-        }
-        Rectangle {
-            id: items
-            color: Qt.rgba(0.2, 0.2, 0.2, 0.6)
-            width: 275; height: 95
-            anchors.left: parent.left
-            Rectangle {
-                y: 5; x: 5
-                width: 130; height: 40
-                Text {
-                    text: "Item with x: 5\n(not mirrored)"
-                    anchors.centerIn: parent
-                }
-            }
-            Rectangle {
-                color:  Qt.rgba(0.7, 0.7, 0.7)
-                y: 50; x: mirror(5)
-                width: 130; height: 40
-                function mirror(value) {
-                    return LayoutMirroring.enabled ? (parent.width - width - value) : value;
-                }
-                Text {
-                    text: "Item with x: " + parent.x + "\n(manually mirrored)"
-                    anchors.centerIn: parent
-                }
-            }
-        }
-        Text {
-            text: "Item anchors"
-            anchors.left: parent.left
-        }
-
-        Rectangle {
-            id: anchoredItems
-            color: Qt.rgba(0.2, 0.2, 0.2, 0.6)
-            width: 270; height: 170
-            anchors.left: parent.left
-            Rectangle {
-                id: blackRectangle
-                color: "black"
-                width: 180; height: 90
-                anchors { horizontalCenter: parent.horizontalCenter; horizontalCenterOffset: 30 }
-                Text {
-                    text: "Horizontal center anchored\nwith offset 30\nto the horizontal center\nof the parent."
-                    color: "white"
-                    anchors.centerIn: parent
-                }
-            }
-            Rectangle {
-                id: whiteRectangle
-                color: "white"
-                width: 120; height: 70
-                anchors { left: parent.left; bottom: parent.bottom }
-                Text {
-                    text: "Left side anchored\nto the left side\nof the parent."
-                    color: "black"
-                    anchors.centerIn: parent
-                }
-            }
-            Rectangle {
-                id: grayRectangle
-                color: Qt.rgba(0.7, 0.7, 0.7)
-                width: 140; height: 90
-                anchors { right: parent.right; bottom: parent.bottom }
-                Text {
-                    text: "Right side anchored\nto the right side\nof the parent."
-                    anchors.centerIn: parent
-                }
-            }
-        }
-        Rectangle {
-            id: mirrorButton
-            color: mouseArea2.pressed ? "black" : "gray"
-            height: 50; width: parent.width
-            anchors.left: parent.left
-            Column {
-                anchors.centerIn: parent
-                Text {
-                    text: root.mirror ? "Mirrored" : "Not mirrored"
-                    color: "white"
-                    font.pixelSize: 16
-                    anchors.horizontalCenter: parent.horizontalCenter
-                }
-                Text {
-                    text: "(click here to toggle)"
-                    color: "white"
-                    font.pixelSize: 10
-                    font.italic: true
-                    anchors.horizontalCenter: parent.horizontalCenter
-                }
-            }
-            MouseArea {
-                id: mouseArea2
-                anchors.fill: parent
-                onClicked: {
-                    root.mirror = !root.mirror;
-                }
-            }
-        }
-    }
-}
-
diff --git a/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.qmlproject b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.qmlproject
index e526217..53bc7f7 100644
--- a/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.qmlproject
+++ b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.qmlproject
@@ -5,13 +5,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/layoutmirroring"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/layoutmirroring"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/layoutmirroring"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.svg b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/examples/declarative/righttoleft/layoutmirroring/layoutmirroring64.png b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring64.png differ
diff --git a/examples/declarative/righttoleft/layoutmirroring/layoutmirroring80.png b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring80.png differ
diff --git a/examples/declarative/righttoleft/layoutmirroring/layoutmirroring_harmattan.desktop b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring_harmattan.desktop
new file mode 100644
index 0000000..384ef0f
--- /dev/null
+++ b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=layoutmirroring
+Exec=/usr/bin/single-instance /opt/layoutmirroring/bin/layoutmirroring
+Icon=/usr/share/icons/hicolor/80x80/apps/layoutmirroring80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/righttoleft/layoutmirroring/main.cpp b/examples/declarative/righttoleft/layoutmirroring/main.cpp
new file mode 100644
index 0000000..2c0639e
--- /dev/null
+++ b/examples/declarative/righttoleft/layoutmirroring/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include <QtGui/QApplication>
+#include "qmlapplicationviewer.h"
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/layoutmirroring/layoutmirroring.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/examples/declarative/righttoleft/layoutmirroring/qml/layoutmirroring/layoutmirroring.qml b/examples/declarative/righttoleft/layoutmirroring/qml/layoutmirroring/layoutmirroring.qml
new file mode 100644
index 0000000..b4065ba
--- /dev/null
+++ b/examples/declarative/righttoleft/layoutmirroring/qml/layoutmirroring/layoutmirroring.qml
@@ -0,0 +1,313 @@
+/****************************************************************************
+**
+** 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.1
+
+Rectangle {
+    id: root
+    property bool mirror: Qt.application.layoutDirection == Qt.RightToLeft
+    LayoutMirroring.enabled: mirror
+    LayoutMirroring.childrenInherit: true
+    width: 400
+    height: 875
+    color: "lightsteelblue"
+
+    Column {
+        spacing: 10
+        anchors { left: parent.left; right: parent.right; top: parent.top; margins: 10 }
+
+        Text {
+            text: "Positioners"
+            anchors.left: parent.left
+        }
+
+        Column {
+            id: positioners
+            spacing: 5
+            anchors.left: parent.left
+            Row {
+                id: row
+                spacing: 4
+                property string text: "THISISROW"
+                anchors.left: parent.left
+                Repeater {
+                    model: parent.text.length
+                    delegate: positionerDelegate
+                }
+            }
+            Flow {
+                id: flow
+                spacing: 4
+                width: 90
+                property string text: "THISISFLOW"
+                anchors.left: parent.left
+                Repeater {
+                    model: parent.text.length
+                    delegate: positionerDelegate
+                }
+            }
+            Grid {
+                id: grid
+                spacing: 4
+                columns: 6
+                property string text: "THISISGRID"
+                anchors.left: parent.left
+                Repeater {
+                    model: parent.text.length
+                    delegate: positionerDelegate
+                }
+            }
+            Component {
+                id: positionerDelegate
+                Text {
+                    color: "white"
+                    font.pixelSize: 20
+                    text: parent.text[index]
+                    Rectangle {
+                        z: -1
+                        opacity: 0.7
+                        color: "black"
+                        anchors.fill: parent
+                    }
+                }
+            }
+        }
+
+        Text {
+            text: "Text alignment"
+            anchors.left: parent.left
+        }
+
+        Rectangle {
+            id: textStrings
+            width: 148
+            height: 85
+            color: "white"
+            anchors.left: parent.left
+            Column {
+                spacing: 5
+                width: parent.width
+                anchors { fill: parent; margins: 5 }
+                Text {
+                    id: englishText
+                    width: parent.width
+                    text: "English text"
+                }
+                Text {
+                    id: arabicText
+                    width: parent.width
+                    text: "النص العربي"
+                }
+                Text {
+                    id: leftAlignedText
+                    width: parent.width
+                    text: "Text aligned to left"
+                    horizontalAlignment: Text.AlignLeft
+                }
+                Text {
+                    id: rightAlignedText
+                    width: parent.width
+                    text: "Text aligned to right"
+                    horizontalAlignment: Text.AlignRight
+                }
+            }
+        }
+
+        Text {
+            text: "Model views"
+            anchors.left: parent.left
+        }
+
+        Column {
+            id: views
+            spacing: 10
+            anchors.left: parent.left
+            ListView {
+                id: listView
+                z: -1
+                clip: true
+                model: text.length
+                width: 360; height: 45
+                orientation: Qt.Horizontal
+                property string text: "LISTVIEWLISTVIEWLISTVIEWLISTVIEWLISTVIEWLISTVIEW"
+                delegate: Rectangle {
+                    color: "black"
+                    width: 45; height: 45
+                    Rectangle {
+                        anchors { fill: parent; margins: 1 }
+                        color: "red"
+                    }
+                    Text {
+                        text: listView.text[index]
+                        font.pixelSize: 30
+                        anchors.centerIn: parent
+                    }
+                }
+            }
+            GridView {
+                id: gridView
+                z: -1
+                clip: true
+                model: text.length
+                width: 180; height: 90
+                cellWidth: 45; cellHeight: 45
+                property string text: "GRIDVIEWGRIDVIEWGRIDVIEWGRIDVIEWGRIDVIEWGRIDVIEW"
+                anchors.left: parent.left
+                delegate: Rectangle {
+                    color: "black"
+                    width: 45; height: 45
+                    Rectangle {
+                        anchors { fill: parent; margins: 1 }
+                        color: "red"
+                    }
+                    Text {
+                        anchors.centerIn: parent
+                        font.pixelSize: 30
+                        text: gridView.text[index]
+                    }
+                }
+            }
+        }
+
+        Text {
+            text: "Item x"
+            anchors.left: parent.left
+        }
+        Rectangle {
+            id: items
+            color: Qt.rgba(0.2, 0.2, 0.2, 0.6)
+            width: 275; height: 95
+            anchors.left: parent.left
+            Rectangle {
+                y: 5; x: 5
+                width: 130; height: 40
+                Text {
+                    text: "Item with x: 5\n(not mirrored)"
+                    anchors.centerIn: parent
+                }
+            }
+            Rectangle {
+                color:  Qt.rgba(0.7, 0.7, 0.7)
+                y: 50; x: mirror(5)
+                width: 130; height: 40
+                function mirror(value) {
+                    return LayoutMirroring.enabled ? (parent.width - width - value) : value;
+                }
+                Text {
+                    text: "Item with x: " + parent.x + "\n(manually mirrored)"
+                    anchors.centerIn: parent
+                }
+            }
+        }
+        Text {
+            text: "Item anchors"
+            anchors.left: parent.left
+        }
+
+        Rectangle {
+            id: anchoredItems
+            color: Qt.rgba(0.2, 0.2, 0.2, 0.6)
+            width: 270; height: 170
+            anchors.left: parent.left
+            Rectangle {
+                id: blackRectangle
+                color: "black"
+                width: 180; height: 90
+                anchors { horizontalCenter: parent.horizontalCenter; horizontalCenterOffset: 30 }
+                Text {
+                    text: "Horizontal center anchored\nwith offset 30\nto the horizontal center\nof the parent."
+                    color: "white"
+                    anchors.centerIn: parent
+                }
+            }
+            Rectangle {
+                id: whiteRectangle
+                color: "white"
+                width: 120; height: 70
+                anchors { left: parent.left; bottom: parent.bottom }
+                Text {
+                    text: "Left side anchored\nto the left side\nof the parent."
+                    color: "black"
+                    anchors.centerIn: parent
+                }
+            }
+            Rectangle {
+                id: grayRectangle
+                color: Qt.rgba(0.7, 0.7, 0.7)
+                width: 140; height: 90
+                anchors { right: parent.right; bottom: parent.bottom }
+                Text {
+                    text: "Right side anchored\nto the right side\nof the parent."
+                    anchors.centerIn: parent
+                }
+            }
+        }
+        Rectangle {
+            id: mirrorButton
+            color: mouseArea2.pressed ? "black" : "gray"
+            height: 50; width: parent.width
+            anchors.left: parent.left
+            Column {
+                anchors.centerIn: parent
+                Text {
+                    text: root.mirror ? "Mirrored" : "Not mirrored"
+                    color: "white"
+                    font.pixelSize: 16
+                    anchors.horizontalCenter: parent.horizontalCenter
+                }
+                Text {
+                    text: "(click here to toggle)"
+                    color: "white"
+                    font.pixelSize: 10
+                    font.italic: true
+                    anchors.horizontalCenter: parent.horizontalCenter
+                }
+            }
+            MouseArea {
+                id: mouseArea2
+                anchors.fill: parent
+                onClicked: {
+                    root.mirror = !root.mirror;
+                }
+            }
+        }
+    }
+}
+
diff --git a/examples/declarative/righttoleft/textalignment/main.cpp b/examples/declarative/righttoleft/textalignment/main.cpp
new file mode 100644
index 0000000..d7a6def
--- /dev/null
+++ b/examples/declarative/righttoleft/textalignment/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include <QtGui/QApplication>
+#include "qmlapplicationviewer.h"
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/textalignment/textalignment.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/examples/declarative/righttoleft/textalignment/qml/textalignment/textalignment.qml b/examples/declarative/righttoleft/textalignment/qml/textalignment/textalignment.qml
new file mode 100644
index 0000000..afd2d68
--- /dev/null
+++ b/examples/declarative/righttoleft/textalignment/qml/textalignment/textalignment.qml
@@ -0,0 +1,426 @@
+/****************************************************************************
+**
+** 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.1
+
+Rectangle {
+    id: root
+    color: "white"
+    width: containerColumn.width
+    height: containerColumn.height + containerColumn.anchors.topMargin
+
+    property bool mirror: false
+    property variant horizontalAlignment: undefined
+
+    property variant editorType: ["Plain Text", "Styled Text", "Plain Rich Text", "Italic Rich Text", "Plain TextEdit", "Italic TextEdit", "TextInput"]
+    property variant text: ["", " ", "Hello world!", "مرحبا العالم!", "Hello world! Hello!\nHello world! Hello!", "مرحبا العالم! مرحبا! مرحبا العالم! مرحبا!" ,"مرحبا العالم! مرحبا! مرحبا Hello world!\nالعالم! مرحبا!"]
+    property variant description: ["empty text", "white-space-only text", "left-to-right text", "right-to-left text", "multi-line left-to-right text", "multi-line right-to-left text", "multi-line bidi text"]
+    property variant textComponents: [plainTextComponent, styledTextComponent, richTextComponent, italicRichTextComponent, plainTextEdit, italicTextEdit, textInput]
+
+    function shortText(horizontalAlignment) {
+
+        // all the different QML editors have
+        // the same alignment values
+        switch (horizontalAlignment) {
+        case Text.AlignLeft:
+            return "L";
+        case Text.AlignRight:
+            return "R";
+        case Text.AlignHCenter:
+            return "C";
+        case Text.AlignJustify:
+            return "J";
+        default:
+            return "Error";
+        }
+    }
+    Column {
+        id: containerColumn
+        spacing: 10
+        width: editorTypeRow.width
+        anchors { top: parent.top; topMargin: 5 }
+        Row {
+            id: editorTypeRow
+            Repeater {
+                model: editorType.length
+                Item {
+                    width: editorColumn.width
+                    height: editorColumn.height
+                    Column {
+                        id: editorColumn
+                        spacing: 5
+                        width: textColumn.width+10
+                        Text {
+                            text: root.editorType[index]
+                            font.pixelSize: 16
+                            anchors.horizontalCenter: parent.horizontalCenter
+                        }
+                        Column {
+                            id: textColumn
+                            spacing: 5
+                            anchors.horizontalCenter: parent.horizontalCenter
+                            Repeater {
+                                model: textComponents.length
+                                delegate: textComponents[index]
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        Column {
+            spacing: 2
+            width: parent.width
+            Rectangle {
+                // button
+                height: 50; width: parent.width
+                color: mouseArea.pressed ? "black" : "lightgray"
+                Column {
+                    anchors.centerIn: parent
+                    Text {
+                        text: root.mirror ? "Mirrored" : "Not mirrored"
+                        color: "white"
+                        font.pixelSize: 16
+                        anchors.horizontalCenter: parent.horizontalCenter
+                    }
+                    Text {
+                        text: "(click here to toggle)"
+                        color: "white"
+                        font.pixelSize: 10
+                        font.italic: true
+                        anchors.horizontalCenter: parent.horizontalCenter
+                    }
+                }
+                MouseArea {
+                    id: mouseArea
+                    property int index: 0
+                    anchors.fill: parent
+                    onClicked: root.mirror = !root.mirror
+                }
+            }
+            Rectangle {
+                // button
+                height: 50; width: parent.width
+                color: mouseArea2.pressed ? "black" : "gray"
+                Column {
+                    anchors.centerIn: parent
+                    Text {
+                        text: {
+                            if (root.horizontalAlignment == undefined)
+                                return "Implict alignment";
+                            switch (root.horizontalAlignment) {
+                            case Text.AlignLeft:
+                                return "Left alignment";
+                            case Text.AlignRight:
+                                return "Right alignment";
+                            case Text.AlignHCenter:
+                                return "Center alignment";
+                            case Text.AlignJustify:
+                                return "Justify alignment";
+                            }
+                        }
+                        color: "white"
+                        font.pixelSize: 16
+                        anchors.horizontalCenter: parent.horizontalCenter
+                    }
+                    Text {
+                        text: "(click here to toggle)"
+                        color: "white"
+                        font.pixelSize: 10
+                        font.italic: true
+                        anchors.horizontalCenter: parent.horizontalCenter
+                    }
+                }
+                MouseArea {
+                    id: mouseArea2
+                    property int index: 0
+                    anchors.fill: parent
+                    onClicked: {
+                        if (index < 0) {
+                            root.horizontalAlignment = undefined;
+                        } else {
+                            root.horizontalAlignment = Math.pow(2, index);
+                        }
+                        index = (index + 2) % 5 - 1;
+                    }
+                }
+            }
+        }
+    }
+
+    Component {
+        id: plainTextComponent
+        Text {
+            width: 180
+            text: root.text[index]
+            font.pixelSize: 24
+            wrapMode: Text.WordWrap
+            horizontalAlignment: root.horizontalAlignment
+            LayoutMirroring.enabled: root.mirror
+            textFormat: Text.RichText
+            Rectangle {
+                z: -1
+                color: Qt.rgba(0.8, 0.2, 0.2, 0.3)
+                anchors.fill: parent
+            }
+            Text {
+                text: root.description[index]
+                color: Qt.rgba(1,1,1,1.0)
+                anchors.centerIn: parent
+                Rectangle {
+                    z: -1
+                    color: Qt.rgba(0.3, 0, 0, 0.3)
+                    anchors { fill: parent; margins: -3 }
+                }
+            }
+            Text {
+                color: "white"
+                text: shortText(parent.horizontalAlignment)
+                anchors { top: parent.top; right: parent.right; margins: 2 }
+            }
+        }
+    }
+
+    Component {
+        id: styledTextComponent
+        Text {
+            width: 180
+            text: root.text[index]
+            font.pixelSize: 24
+            wrapMode: Text.WordWrap
+            horizontalAlignment: root.horizontalAlignment
+            LayoutMirroring.enabled: root.mirror
+            textFormat: Text.RichText
+            style: Text.Sunken
+            styleColor: "white"
+            Rectangle {
+                z: -1
+                color: Qt.rgba(0.8, 0.2, 0.2, 0.3)
+                anchors.fill: parent
+            }
+            Text {
+                text: root.description[index]
+                color: Qt.rgba(1,1,1,1.0)
+                anchors.centerIn: parent
+                Rectangle {
+                    z: -1
+                    color: Qt.rgba(0.3, 0, 0, 0.3)
+                    anchors { fill: parent; margins: -3 }
+                }
+            }
+            Text {
+                color: "white"
+                text: shortText(parent.horizontalAlignment)
+                anchors { top: parent.top; right: parent.right; margins: 2 }
+            }
+        }
+    }
+
+    Component {
+        id: richTextComponent
+        Text {
+            width: 180
+            text: root.text[index]
+            font.pixelSize: 24
+            wrapMode: Text.WordWrap
+            horizontalAlignment: root.horizontalAlignment
+            LayoutMirroring.enabled: root.mirror
+            textFormat: Text.RichText
+            Rectangle {
+                z: -1
+                color: Qt.rgba(0.8, 0.2, 0.2, 0.3)
+                anchors.fill: parent
+            }
+            Text {
+                text: root.description[index]
+                color: Qt.rgba(1,1,1,1.0)
+                anchors.centerIn: parent
+                Rectangle {
+                    z: -1
+                    color: Qt.rgba(0.3, 0, 0, 0.3)
+                    anchors { fill: parent; margins: -3 }
+                }
+            }
+            Text {
+                color: "white"
+                text: shortText(parent.horizontalAlignment)
+                anchors { top: parent.top; right: parent.right; margins: 2 }
+            }
+        }
+    }
+
+    Component {
+        id: italicRichTextComponent
+        Text {
+            width: 180
+            text: "<i>" + root.text[index] + "</i>"
+            font.pixelSize: 24
+            wrapMode: Text.WordWrap
+            horizontalAlignment: root.horizontalAlignment
+            LayoutMirroring.enabled: root.mirror
+            textFormat: Text.RichText
+            property variant backgroundColor: Qt.rgba(0.8, 0.2, 0.2, 0.3)
+            Rectangle {
+                z: -1
+                color: parent.backgroundColor
+                anchors.fill: parent
+            }
+            Text {
+                text: root.description[index]
+                color: Qt.rgba(1,1,1,1.0)
+                anchors.centerIn: parent
+                Rectangle {
+                    z: -1
+                    color: Qt.rgba(0.3, 0, 0, 0.3)
+                    anchors { fill: parent; margins: -3 }
+                }
+            }
+            Text {
+                color: "white"
+                text: shortText(parent.horizontalAlignment)
+                anchors { top: parent.top; right: parent.right; margins: 2 }
+            }
+        }
+    }
+
+    Component {
+        id: plainTextEdit
+        TextEdit {
+            width: 180
+            text: root.text[index]
+            font.pixelSize: 24
+            cursorVisible: true
+            wrapMode: TextEdit.WordWrap
+            horizontalAlignment: root.horizontalAlignment
+            LayoutMirroring.enabled: root.mirror
+            Rectangle {
+                z: -1
+                color: Qt.rgba(0.5, 0.5, 0.2, 0.3)
+                anchors.fill: parent
+            }
+            Text {
+                text: root.description[index]
+                color: Qt.rgba(1,1,1,1.0)
+                anchors.centerIn: parent
+                Rectangle {
+                    z: -1
+                    color: Qt.rgba(0.3, 0, 0, 0.3)
+                    anchors { fill: parent; margins: -3 }
+                }
+            }
+            Text {
+                color: "white"
+                text: shortText(parent.horizontalAlignment)
+                anchors { top: parent.top; right: parent.right; margins: 2 }
+            }
+        }
+    }
+
+    Component {
+        id: italicTextEdit
+        TextEdit {
+            width: 180
+            text: "<i>" + root.text[index] + "<i>"
+            font.pixelSize: 24
+            cursorVisible: true
+            wrapMode: TextEdit.WordWrap
+            horizontalAlignment: root.horizontalAlignment
+            LayoutMirroring.enabled: root.mirror
+            Rectangle {
+                z: -1
+                color: Qt.rgba(0.5, 0.5, 0.2, 0.3)
+                anchors.fill: parent
+            }
+            Text {
+                text: root.description[index]
+                color: Qt.rgba(1,1,1,1.0)
+                anchors.centerIn: parent
+                Rectangle {
+                    z: -1
+                    color: Qt.rgba(0.3, 0, 0, 0.3)
+                    anchors { fill: parent; margins: -3 }
+                }
+            }
+            Text {
+                color: "white"
+                text: shortText(parent.horizontalAlignment)
+                anchors { top: parent.top; right: parent.right; margins: 2 }
+            }
+        }
+    }
+
+    Component {
+        id: textInput
+        Item {
+            width: 180
+            height: textInput.text.length > 20 ? 3*textInput.height : textInput.height
+            TextInput {
+                id: textInput
+                width: 180
+                text: root.text[index]
+                font.pixelSize: 24
+                cursorVisible: true
+                horizontalAlignment: root.horizontalAlignment
+                LayoutMirroring.enabled: root.mirror
+                Rectangle {
+                    z: -1
+                    color: Qt.rgba(0.6, 0.4, 0.2, 0.3)
+                    anchors.fill: parent
+                }
+                Text {
+                    text: root.description[index]
+                    color: Qt.rgba(1,1,1,1.0)
+                    anchors.centerIn: parent
+                    Rectangle {
+                        z: -1
+                        color: Qt.rgba(0.3, 0, 0, 0.3)
+                        anchors { fill: parent; margins: -3 }
+                    }
+                }
+                Text {
+                    color: "white"
+                    text: shortText(parent.horizontalAlignment)
+                    anchors { top: parent.top; right: parent.right; margins: 2 }
+                }
+            }
+        }
+    }
+}
+
diff --git a/examples/declarative/righttoleft/textalignment/textalignment.desktop b/examples/declarative/righttoleft/textalignment/textalignment.desktop
new file mode 100644
index 0000000..7e932e7
--- /dev/null
+++ b/examples/declarative/righttoleft/textalignment/textalignment.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=textalignment
+Exec=/opt/textalignment/bin/textalignment
+Icon=textalignment64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/righttoleft/textalignment/textalignment.pro b/examples/declarative/righttoleft/textalignment/textalignment.pro
new file mode 100644
index 0000000..2db41ec
--- /dev/null
+++ b/examples/declarative/righttoleft/textalignment/textalignment.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/textalignment
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE061C700
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/righttoleft/textalignment/textalignment.qml b/examples/declarative/righttoleft/textalignment/textalignment.qml
deleted file mode 100644
index afd2d68..0000000
--- a/examples/declarative/righttoleft/textalignment/textalignment.qml
+++ /dev/null
@@ -1,426 +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.1
-
-Rectangle {
-    id: root
-    color: "white"
-    width: containerColumn.width
-    height: containerColumn.height + containerColumn.anchors.topMargin
-
-    property bool mirror: false
-    property variant horizontalAlignment: undefined
-
-    property variant editorType: ["Plain Text", "Styled Text", "Plain Rich Text", "Italic Rich Text", "Plain TextEdit", "Italic TextEdit", "TextInput"]
-    property variant text: ["", " ", "Hello world!", "مرحبا العالم!", "Hello world! Hello!\nHello world! Hello!", "مرحبا العالم! مرحبا! مرحبا العالم! مرحبا!" ,"مرحبا العالم! مرحبا! مرحبا Hello world!\nالعالم! مرحبا!"]
-    property variant description: ["empty text", "white-space-only text", "left-to-right text", "right-to-left text", "multi-line left-to-right text", "multi-line right-to-left text", "multi-line bidi text"]
-    property variant textComponents: [plainTextComponent, styledTextComponent, richTextComponent, italicRichTextComponent, plainTextEdit, italicTextEdit, textInput]
-
-    function shortText(horizontalAlignment) {
-
-        // all the different QML editors have
-        // the same alignment values
-        switch (horizontalAlignment) {
-        case Text.AlignLeft:
-            return "L";
-        case Text.AlignRight:
-            return "R";
-        case Text.AlignHCenter:
-            return "C";
-        case Text.AlignJustify:
-            return "J";
-        default:
-            return "Error";
-        }
-    }
-    Column {
-        id: containerColumn
-        spacing: 10
-        width: editorTypeRow.width
-        anchors { top: parent.top; topMargin: 5 }
-        Row {
-            id: editorTypeRow
-            Repeater {
-                model: editorType.length
-                Item {
-                    width: editorColumn.width
-                    height: editorColumn.height
-                    Column {
-                        id: editorColumn
-                        spacing: 5
-                        width: textColumn.width+10
-                        Text {
-                            text: root.editorType[index]
-                            font.pixelSize: 16
-                            anchors.horizontalCenter: parent.horizontalCenter
-                        }
-                        Column {
-                            id: textColumn
-                            spacing: 5
-                            anchors.horizontalCenter: parent.horizontalCenter
-                            Repeater {
-                                model: textComponents.length
-                                delegate: textComponents[index]
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        Column {
-            spacing: 2
-            width: parent.width
-            Rectangle {
-                // button
-                height: 50; width: parent.width
-                color: mouseArea.pressed ? "black" : "lightgray"
-                Column {
-                    anchors.centerIn: parent
-                    Text {
-                        text: root.mirror ? "Mirrored" : "Not mirrored"
-                        color: "white"
-                        font.pixelSize: 16
-                        anchors.horizontalCenter: parent.horizontalCenter
-                    }
-                    Text {
-                        text: "(click here to toggle)"
-                        color: "white"
-                        font.pixelSize: 10
-                        font.italic: true
-                        anchors.horizontalCenter: parent.horizontalCenter
-                    }
-                }
-                MouseArea {
-                    id: mouseArea
-                    property int index: 0
-                    anchors.fill: parent
-                    onClicked: root.mirror = !root.mirror
-                }
-            }
-            Rectangle {
-                // button
-                height: 50; width: parent.width
-                color: mouseArea2.pressed ? "black" : "gray"
-                Column {
-                    anchors.centerIn: parent
-                    Text {
-                        text: {
-                            if (root.horizontalAlignment == undefined)
-                                return "Implict alignment";
-                            switch (root.horizontalAlignment) {
-                            case Text.AlignLeft:
-                                return "Left alignment";
-                            case Text.AlignRight:
-                                return "Right alignment";
-                            case Text.AlignHCenter:
-                                return "Center alignment";
-                            case Text.AlignJustify:
-                                return "Justify alignment";
-                            }
-                        }
-                        color: "white"
-                        font.pixelSize: 16
-                        anchors.horizontalCenter: parent.horizontalCenter
-                    }
-                    Text {
-                        text: "(click here to toggle)"
-                        color: "white"
-                        font.pixelSize: 10
-                        font.italic: true
-                        anchors.horizontalCenter: parent.horizontalCenter
-                    }
-                }
-                MouseArea {
-                    id: mouseArea2
-                    property int index: 0
-                    anchors.fill: parent
-                    onClicked: {
-                        if (index < 0) {
-                            root.horizontalAlignment = undefined;
-                        } else {
-                            root.horizontalAlignment = Math.pow(2, index);
-                        }
-                        index = (index + 2) % 5 - 1;
-                    }
-                }
-            }
-        }
-    }
-
-    Component {
-        id: plainTextComponent
-        Text {
-            width: 180
-            text: root.text[index]
-            font.pixelSize: 24
-            wrapMode: Text.WordWrap
-            horizontalAlignment: root.horizontalAlignment
-            LayoutMirroring.enabled: root.mirror
-            textFormat: Text.RichText
-            Rectangle {
-                z: -1
-                color: Qt.rgba(0.8, 0.2, 0.2, 0.3)
-                anchors.fill: parent
-            }
-            Text {
-                text: root.description[index]
-                color: Qt.rgba(1,1,1,1.0)
-                anchors.centerIn: parent
-                Rectangle {
-                    z: -1
-                    color: Qt.rgba(0.3, 0, 0, 0.3)
-                    anchors { fill: parent; margins: -3 }
-                }
-            }
-            Text {
-                color: "white"
-                text: shortText(parent.horizontalAlignment)
-                anchors { top: parent.top; right: parent.right; margins: 2 }
-            }
-        }
-    }
-
-    Component {
-        id: styledTextComponent
-        Text {
-            width: 180
-            text: root.text[index]
-            font.pixelSize: 24
-            wrapMode: Text.WordWrap
-            horizontalAlignment: root.horizontalAlignment
-            LayoutMirroring.enabled: root.mirror
-            textFormat: Text.RichText
-            style: Text.Sunken
-            styleColor: "white"
-            Rectangle {
-                z: -1
-                color: Qt.rgba(0.8, 0.2, 0.2, 0.3)
-                anchors.fill: parent
-            }
-            Text {
-                text: root.description[index]
-                color: Qt.rgba(1,1,1,1.0)
-                anchors.centerIn: parent
-                Rectangle {
-                    z: -1
-                    color: Qt.rgba(0.3, 0, 0, 0.3)
-                    anchors { fill: parent; margins: -3 }
-                }
-            }
-            Text {
-                color: "white"
-                text: shortText(parent.horizontalAlignment)
-                anchors { top: parent.top; right: parent.right; margins: 2 }
-            }
-        }
-    }
-
-    Component {
-        id: richTextComponent
-        Text {
-            width: 180
-            text: root.text[index]
-            font.pixelSize: 24
-            wrapMode: Text.WordWrap
-            horizontalAlignment: root.horizontalAlignment
-            LayoutMirroring.enabled: root.mirror
-            textFormat: Text.RichText
-            Rectangle {
-                z: -1
-                color: Qt.rgba(0.8, 0.2, 0.2, 0.3)
-                anchors.fill: parent
-            }
-            Text {
-                text: root.description[index]
-                color: Qt.rgba(1,1,1,1.0)
-                anchors.centerIn: parent
-                Rectangle {
-                    z: -1
-                    color: Qt.rgba(0.3, 0, 0, 0.3)
-                    anchors { fill: parent; margins: -3 }
-                }
-            }
-            Text {
-                color: "white"
-                text: shortText(parent.horizontalAlignment)
-                anchors { top: parent.top; right: parent.right; margins: 2 }
-            }
-        }
-    }
-
-    Component {
-        id: italicRichTextComponent
-        Text {
-            width: 180
-            text: "<i>" + root.text[index] + "</i>"
-            font.pixelSize: 24
-            wrapMode: Text.WordWrap
-            horizontalAlignment: root.horizontalAlignment
-            LayoutMirroring.enabled: root.mirror
-            textFormat: Text.RichText
-            property variant backgroundColor: Qt.rgba(0.8, 0.2, 0.2, 0.3)
-            Rectangle {
-                z: -1
-                color: parent.backgroundColor
-                anchors.fill: parent
-            }
-            Text {
-                text: root.description[index]
-                color: Qt.rgba(1,1,1,1.0)
-                anchors.centerIn: parent
-                Rectangle {
-                    z: -1
-                    color: Qt.rgba(0.3, 0, 0, 0.3)
-                    anchors { fill: parent; margins: -3 }
-                }
-            }
-            Text {
-                color: "white"
-                text: shortText(parent.horizontalAlignment)
-                anchors { top: parent.top; right: parent.right; margins: 2 }
-            }
-        }
-    }
-
-    Component {
-        id: plainTextEdit
-        TextEdit {
-            width: 180
-            text: root.text[index]
-            font.pixelSize: 24
-            cursorVisible: true
-            wrapMode: TextEdit.WordWrap
-            horizontalAlignment: root.horizontalAlignment
-            LayoutMirroring.enabled: root.mirror
-            Rectangle {
-                z: -1
-                color: Qt.rgba(0.5, 0.5, 0.2, 0.3)
-                anchors.fill: parent
-            }
-            Text {
-                text: root.description[index]
-                color: Qt.rgba(1,1,1,1.0)
-                anchors.centerIn: parent
-                Rectangle {
-                    z: -1
-                    color: Qt.rgba(0.3, 0, 0, 0.3)
-                    anchors { fill: parent; margins: -3 }
-                }
-            }
-            Text {
-                color: "white"
-                text: shortText(parent.horizontalAlignment)
-                anchors { top: parent.top; right: parent.right; margins: 2 }
-            }
-        }
-    }
-
-    Component {
-        id: italicTextEdit
-        TextEdit {
-            width: 180
-            text: "<i>" + root.text[index] + "<i>"
-            font.pixelSize: 24
-            cursorVisible: true
-            wrapMode: TextEdit.WordWrap
-            horizontalAlignment: root.horizontalAlignment
-            LayoutMirroring.enabled: root.mirror
-            Rectangle {
-                z: -1
-                color: Qt.rgba(0.5, 0.5, 0.2, 0.3)
-                anchors.fill: parent
-            }
-            Text {
-                text: root.description[index]
-                color: Qt.rgba(1,1,1,1.0)
-                anchors.centerIn: parent
-                Rectangle {
-                    z: -1
-                    color: Qt.rgba(0.3, 0, 0, 0.3)
-                    anchors { fill: parent; margins: -3 }
-                }
-            }
-            Text {
-                color: "white"
-                text: shortText(parent.horizontalAlignment)
-                anchors { top: parent.top; right: parent.right; margins: 2 }
-            }
-        }
-    }
-
-    Component {
-        id: textInput
-        Item {
-            width: 180
-            height: textInput.text.length > 20 ? 3*textInput.height : textInput.height
-            TextInput {
-                id: textInput
-                width: 180
-                text: root.text[index]
-                font.pixelSize: 24
-                cursorVisible: true
-                horizontalAlignment: root.horizontalAlignment
-                LayoutMirroring.enabled: root.mirror
-                Rectangle {
-                    z: -1
-                    color: Qt.rgba(0.6, 0.4, 0.2, 0.3)
-                    anchors.fill: parent
-                }
-                Text {
-                    text: root.description[index]
-                    color: Qt.rgba(1,1,1,1.0)
-                    anchors.centerIn: parent
-                    Rectangle {
-                        z: -1
-                        color: Qt.rgba(0.3, 0, 0, 0.3)
-                        anchors { fill: parent; margins: -3 }
-                    }
-                }
-                Text {
-                    color: "white"
-                    text: shortText(parent.horizontalAlignment)
-                    anchors { top: parent.top; right: parent.right; margins: 2 }
-                }
-            }
-        }
-    }
-}
-
diff --git a/examples/declarative/righttoleft/textalignment/textalignment.qmlproject b/examples/declarative/righttoleft/textalignment/textalignment.qmlproject
index e526217..498e35c 100644
--- a/examples/declarative/righttoleft/textalignment/textalignment.qmlproject
+++ b/examples/declarative/righttoleft/textalignment/textalignment.qmlproject
@@ -5,13 +5,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/textalignment"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/textalignment"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/textalignment"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/examples/declarative/righttoleft/textalignment/textalignment.svg b/examples/declarative/righttoleft/textalignment/textalignment.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/examples/declarative/righttoleft/textalignment/textalignment.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/examples/declarative/righttoleft/textalignment/textalignment64.png b/examples/declarative/righttoleft/textalignment/textalignment64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/examples/declarative/righttoleft/textalignment/textalignment64.png differ
diff --git a/examples/declarative/righttoleft/textalignment/textalignment80.png b/examples/declarative/righttoleft/textalignment/textalignment80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/examples/declarative/righttoleft/textalignment/textalignment80.png differ
diff --git a/examples/declarative/righttoleft/textalignment/textalignment_harmattan.desktop b/examples/declarative/righttoleft/textalignment/textalignment_harmattan.desktop
new file mode 100644
index 0000000..6efad80
--- /dev/null
+++ b/examples/declarative/righttoleft/textalignment/textalignment_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=textalignment
+Exec=/usr/bin/single-instance /opt/textalignment/bin/textalignment
+Icon=/usr/share/icons/hicolor/80x80/apps/textalignment80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
-- 
cgit v0.12


From 643da502885bb3ad4cd0fd7f0e4d08edba598c96 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:57 +0100
Subject: shadereffects example modifications

Modified the example 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/shadereffects/main.cpp        |  19 +--
 examples/declarative/shadereffects/qml/Curtain.qml | 106 -------------
 .../shadereffects/qml/CurtainEffect.qml            |  97 ------------
 .../declarative/shadereffects/qml/DropShadow.qml   | 117 --------------
 .../shadereffects/qml/DropShadowEffect.qml         | 174 ---------------------
 .../declarative/shadereffects/qml/Grayscale.qml    |  77 ---------
 .../shadereffects/qml/GrayscaleEffect.qml          |  62 --------
 .../declarative/shadereffects/qml/ImageMask.qml    | 143 -----------------
 .../shadereffects/qml/ImageMaskEffect.qml          |  60 -------
 .../declarative/shadereffects/qml/RadialWave.qml   |  85 ----------
 .../shadereffects/qml/RadialWaveEffect.qml         |  81 ----------
 examples/declarative/shadereffects/qml/Water.qml   |  60 -------
 .../declarative/shadereffects/qml/WaterEffect.qml  | 126 ---------------
 .../shadereffects/qml/images/Curtain.jpg           | Bin 16112 -> 0 bytes
 .../shadereffects/qml/images/DropShadow.jpg        | Bin 12975 -> 0 bytes
 .../shadereffects/qml/images/Grayscale.jpg         | Bin 19048 -> 0 bytes
 .../shadereffects/qml/images/ImageMask.jpg         | Bin 18751 -> 0 bytes
 .../shadereffects/qml/images/RadialWave.jpg        | Bin 41406 -> 0 bytes
 .../declarative/shadereffects/qml/images/Water.jpg | Bin 17751 -> 0 bytes
 .../declarative/shadereffects/qml/images/back.png  | Bin 370 -> 0 bytes
 .../declarative/shadereffects/qml/images/bg.jpg    | Bin 10189 -> 0 bytes
 .../shadereffects/qml/images/desaturate.jpg        | Bin 203942 -> 0 bytes
 .../shadereffects/qml/images/drop_shadow.png       | Bin 219220 -> 0 bytes
 .../shadereffects/qml/images/fabric.jpg            | Bin 163431 -> 0 bytes
 .../shadereffects/qml/images/flower.png            | Bin 219220 -> 0 bytes
 .../shadereffects/qml/images/image1.jpg            | Bin 115770 -> 0 bytes
 .../shadereffects/qml/images/image2.jpg            | Bin 45837 -> 0 bytes
 .../shadereffects/qml/images/qt-logo.png           | Bin 22746 -> 0 bytes
 .../shadereffects/qml/images/shader_effects.jpg    | Bin 4906 -> 0 bytes
 .../declarative/shadereffects/qml/images/sky.jpg   | Bin 36734 -> 0 bytes
 .../shadereffects/qml/images/toolbar.png           | Bin 342 -> 0 bytes
 .../declarative/shadereffects/qml/images/wave.jpg  | Bin 176681 -> 0 bytes
 examples/declarative/shadereffects/qml/main.qml    | 160 -------------------
 .../shadereffects/qml/shadereffects/Curtain.qml    | 106 +++++++++++++
 .../qml/shadereffects/CurtainEffect.qml            |  97 ++++++++++++
 .../shadereffects/qml/shadereffects/DropShadow.qml | 117 ++++++++++++++
 .../qml/shadereffects/DropShadowEffect.qml         | 174 +++++++++++++++++++++
 .../shadereffects/qml/shadereffects/Grayscale.qml  |  77 +++++++++
 .../qml/shadereffects/GrayscaleEffect.qml          |  62 ++++++++
 .../shadereffects/qml/shadereffects/ImageMask.qml  | 143 +++++++++++++++++
 .../qml/shadereffects/ImageMaskEffect.qml          |  60 +++++++
 .../shadereffects/qml/shadereffects/RadialWave.qml |  85 ++++++++++
 .../qml/shadereffects/RadialWaveEffect.qml         |  81 ++++++++++
 .../shadereffects/qml/shadereffects/Water.qml      |  60 +++++++
 .../qml/shadereffects/WaterEffect.qml              | 126 +++++++++++++++
 .../qml/shadereffects/images/Curtain.jpg           | Bin 0 -> 16112 bytes
 .../qml/shadereffects/images/DropShadow.jpg        | Bin 0 -> 12975 bytes
 .../qml/shadereffects/images/Grayscale.jpg         | Bin 0 -> 19048 bytes
 .../qml/shadereffects/images/ImageMask.jpg         | Bin 0 -> 18751 bytes
 .../qml/shadereffects/images/RadialWave.jpg        | Bin 0 -> 41406 bytes
 .../qml/shadereffects/images/Water.jpg             | Bin 0 -> 17751 bytes
 .../qml/shadereffects/images/back.png              | Bin 0 -> 370 bytes
 .../shadereffects/qml/shadereffects/images/bg.jpg  | Bin 0 -> 10189 bytes
 .../qml/shadereffects/images/desaturate.jpg        | Bin 0 -> 203942 bytes
 .../qml/shadereffects/images/drop_shadow.png       | Bin 0 -> 219220 bytes
 .../qml/shadereffects/images/fabric.jpg            | Bin 0 -> 163431 bytes
 .../qml/shadereffects/images/flower.png            | Bin 0 -> 219220 bytes
 .../qml/shadereffects/images/image1.jpg            | Bin 0 -> 115770 bytes
 .../qml/shadereffects/images/image2.jpg            | Bin 0 -> 45837 bytes
 .../qml/shadereffects/images/qt-logo.png           | Bin 0 -> 22746 bytes
 .../qml/shadereffects/images/shader_effects.jpg    | Bin 0 -> 4906 bytes
 .../shadereffects/qml/shadereffects/images/sky.jpg | Bin 0 -> 36734 bytes
 .../qml/shadereffects/images/toolbar.png           | Bin 0 -> 342 bytes
 .../qml/shadereffects/images/wave.jpg              | Bin 0 -> 176681 bytes
 .../shadereffects/qml/shadereffects/main.qml       | 160 +++++++++++++++++++
 .../declarative/shadereffects/shadereffects.pro    |  48 ++++--
 .../shadereffects/shadereffects.qmlproject         |  16 ++
 67 files changed, 1409 insertions(+), 1370 deletions(-)
 delete mode 100755 examples/declarative/shadereffects/qml/Curtain.qml
 delete mode 100755 examples/declarative/shadereffects/qml/CurtainEffect.qml
 delete mode 100755 examples/declarative/shadereffects/qml/DropShadow.qml
 delete mode 100755 examples/declarative/shadereffects/qml/DropShadowEffect.qml
 delete mode 100755 examples/declarative/shadereffects/qml/Grayscale.qml
 delete mode 100755 examples/declarative/shadereffects/qml/GrayscaleEffect.qml
 delete mode 100755 examples/declarative/shadereffects/qml/ImageMask.qml
 delete mode 100755 examples/declarative/shadereffects/qml/ImageMaskEffect.qml
 delete mode 100755 examples/declarative/shadereffects/qml/RadialWave.qml
 delete mode 100755 examples/declarative/shadereffects/qml/RadialWaveEffect.qml
 delete mode 100755 examples/declarative/shadereffects/qml/Water.qml
 delete mode 100755 examples/declarative/shadereffects/qml/WaterEffect.qml
 delete mode 100755 examples/declarative/shadereffects/qml/images/Curtain.jpg
 delete mode 100755 examples/declarative/shadereffects/qml/images/DropShadow.jpg
 delete mode 100755 examples/declarative/shadereffects/qml/images/Grayscale.jpg
 delete mode 100755 examples/declarative/shadereffects/qml/images/ImageMask.jpg
 delete mode 100755 examples/declarative/shadereffects/qml/images/RadialWave.jpg
 delete mode 100755 examples/declarative/shadereffects/qml/images/Water.jpg
 delete mode 100755 examples/declarative/shadereffects/qml/images/back.png
 delete mode 100755 examples/declarative/shadereffects/qml/images/bg.jpg
 delete mode 100755 examples/declarative/shadereffects/qml/images/desaturate.jpg
 delete mode 100755 examples/declarative/shadereffects/qml/images/drop_shadow.png
 delete mode 100755 examples/declarative/shadereffects/qml/images/fabric.jpg
 delete mode 100755 examples/declarative/shadereffects/qml/images/flower.png
 delete mode 100755 examples/declarative/shadereffects/qml/images/image1.jpg
 delete mode 100755 examples/declarative/shadereffects/qml/images/image2.jpg
 delete mode 100755 examples/declarative/shadereffects/qml/images/qt-logo.png
 delete mode 100755 examples/declarative/shadereffects/qml/images/shader_effects.jpg
 delete mode 100755 examples/declarative/shadereffects/qml/images/sky.jpg
 delete mode 100755 examples/declarative/shadereffects/qml/images/toolbar.png
 delete mode 100755 examples/declarative/shadereffects/qml/images/wave.jpg
 delete mode 100755 examples/declarative/shadereffects/qml/main.qml
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/Curtain.qml
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/CurtainEffect.qml
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/DropShadow.qml
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/DropShadowEffect.qml
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/Grayscale.qml
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/GrayscaleEffect.qml
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/ImageMask.qml
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/ImageMaskEffect.qml
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/RadialWave.qml
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/RadialWaveEffect.qml
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/Water.qml
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/WaterEffect.qml
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/Curtain.jpg
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/DropShadow.jpg
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/Grayscale.jpg
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/ImageMask.jpg
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/RadialWave.jpg
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/Water.jpg
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/back.png
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/bg.jpg
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/desaturate.jpg
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/drop_shadow.png
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/fabric.jpg
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/flower.png
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/image1.jpg
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/image2.jpg
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/qt-logo.png
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/shader_effects.jpg
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/sky.jpg
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/toolbar.png
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/images/wave.jpg
 create mode 100644 examples/declarative/shadereffects/qml/shadereffects/main.qml
 create mode 100644 examples/declarative/shadereffects/shadereffects.qmlproject

diff --git a/examples/declarative/shadereffects/main.cpp b/examples/declarative/shadereffects/main.cpp
index c284b99..e191bfa 100755
--- a/examples/declarative/shadereffects/main.cpp
+++ b/examples/declarative/shadereffects/main.cpp
@@ -39,6 +39,7 @@
 **
 ****************************************************************************/
 
+#include "qmlapplicationviewer.h"
 #include <QtGui/QApplication>
 #include <QtOpenGL>
 #include <QDeclarativeView>
@@ -53,7 +54,7 @@ int main(int argc, char *argv[])
 #endif
 
     QApplication app(argc, argv);
-    QDeclarativeView view;
+    QmlApplicationViewer viewer;
 
 #ifndef SHADEREFFECTS_USE_OPENGL_GRAPHICSSYSTEM
     QGLFormat format = QGLFormat::defaultFormat();
@@ -61,16 +62,16 @@ int main(int argc, char *argv[])
     format.setSwapInterval(1);
     QGLWidget* glWidget = new QGLWidget(format);
     glWidget->setAutoFillBackground(false);
-    view.setViewport(glWidget);
+    viewer.setViewport(glWidget);
 #endif
 
-    view.setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
-    view.setAttribute(Qt::WA_OpaquePaintEvent);
-    view.setAttribute(Qt::WA_NoSystemBackground);
-    view.setSource(QUrl::fromLocalFile(QLatin1String("qml/main.qml")));
-    QObject::connect(view.engine(), SIGNAL(quit()), &view, SLOT(close()));
-
-    view.show();
+    viewer.setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
+    viewer.setAttribute(Qt::WA_OpaquePaintEvent);
+    viewer.setAttribute(Qt::WA_NoSystemBackground);
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/shadereffects/main.qml"));
+    QObject::connect(viewer.engine(), SIGNAL(quit()), &viewer, SLOT(close()));
+    viewer.showExpanded();
 
     return app.exec();
 }
diff --git a/examples/declarative/shadereffects/qml/Curtain.qml b/examples/declarative/shadereffects/qml/Curtain.qml
deleted file mode 100755
index 03ac0e9..0000000
--- a/examples/declarative/shadereffects/qml/Curtain.qml
+++ /dev/null
@@ -1,106 +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:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import Qt.labs.shaders 1.0
-
-Item {
-    id: main
-    anchors.fill: parent
-
-    Rectangle{
-        id: bg
-        anchors.fill: parent
-        color: "black"
-    }
-
-    Image {
-        source: "images/qt-logo.png"
-        anchors.centerIn: parent
-    }
-
-    Image {
-        id: fabric
-        anchors.fill: parent
-        source: "images/fabric.jpg"
-        fillMode: Image.Tile
-    }
-
-    CurtainEffect {
-        id: curtain
-        anchors.fill: fabric
-        bottomWidth: topWidth
-        source: ShaderEffectSource { sourceItem: fabric; hideSource: true }
-
-        Behavior on bottomWidth {
-            SpringAnimation { easing.type: Easing.OutElastic; velocity: 250; mass: 1.5; spring: 0.5; damping: 0.05}
-        }
-
-        SequentialAnimation on topWidth {
-            id: topWidthAnim
-            loops: Animation.Infinite
-
-            NumberAnimation { to: 360; duration: 1000 }
-            PauseAnimation { duration: 2000 }
-            NumberAnimation { to: 180; duration: 1000 }
-            PauseAnimation { duration: 2000 }
-        }
-    }
-
-    MouseArea {
-        anchors.fill: parent
-
-        onPressed: {
-            topWidthAnim.stop()
-            curtain.topWidth = mouseX;
-        }
-
-        onReleased: {
-            topWidthAnim.restart()
-        }
-
-        onPositionChanged: {
-            if (pressed) {
-                curtain.topWidth = mouseX;
-            }
-        }
-    }
-}
diff --git a/examples/declarative/shadereffects/qml/CurtainEffect.qml b/examples/declarative/shadereffects/qml/CurtainEffect.qml
deleted file mode 100755
index c33cce4..0000000
--- a/examples/declarative/shadereffects/qml/CurtainEffect.qml
+++ /dev/null
@@ -1,97 +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:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import Qt.labs.shaders 1.0
-
-ShaderEffectItem {
-    anchors.fill: parent
-    property variant source
-    meshResolution: Qt.size(50, 50)
-
-    property real topWidth: width / 2
-    property real bottomWidth: width / 2
-    property real originalWidth: width
-    property real originalHeight: height
-    property real amplitude: 0.1
-
-    vertexShader: "
-        attribute highp vec4 qt_Vertex;
-        attribute highp vec2 qt_MultiTexCoord0;
-        uniform highp mat4 qt_ModelViewProjectionMatrix;
-        varying highp vec2 qt_TexCoord0;
-        varying lowp float shade;
-
-        uniform highp float topWidth;
-        uniform highp float bottomWidth;
-        uniform highp float originalWidth;
-        uniform highp float originalHeight;
-        uniform highp float amplitude;
-
-        void main() {
-            qt_TexCoord0 = qt_MultiTexCoord0;
-
-            highp vec4 shift = vec4(0, 0, 0, 0);
-            shift.x = qt_Vertex.x * ((originalWidth - topWidth) + (topWidth - bottomWidth) * (qt_Vertex.y / originalHeight)) / originalWidth;
-
-            shade = sin(21.9911486 * qt_Vertex.x / originalWidth);
-            shift.y = amplitude * (originalWidth - topWidth + (topWidth - bottomWidth) * (qt_Vertex.y / originalHeight)) * shade;
-
-            gl_Position = qt_ModelViewProjectionMatrix * (qt_Vertex - shift);
-
-            shade = 0.2 * (2.0 - shade ) * (1.0 - (bottomWidth + (topWidth  - bottomWidth) * (1.0 - qt_Vertex.y / originalHeight)) / originalWidth);
-        }
-    "
-
-    fragmentShader: "
-        uniform sampler2D source;
-        varying highp vec2 qt_TexCoord0;
-        varying lowp float shade;
-        void main() {
-            highp vec4 color = texture2D(source, qt_TexCoord0);
-            color.rgb *= 1.0 - shade;
-            gl_FragColor = color;
-        }
-    "
-}
-
-
-
diff --git a/examples/declarative/shadereffects/qml/DropShadow.qml b/examples/declarative/shadereffects/qml/DropShadow.qml
deleted file mode 100755
index 442fb38..0000000
--- a/examples/declarative/shadereffects/qml/DropShadow.qml
+++ /dev/null
@@ -1,117 +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:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: main
-    anchors.fill: parent
-
-    Image {
-        id: background
-        anchors.fill: parent
-        source: "images/bg.jpg"
-    }
-
-    DropShadowEffect {
-        id: layer
-
-        property real distance: 0.0
-
-        width: photo.width
-        height: photo.height
-        sourceItem: photo
-        color: "black"
-        blur: distance / 10.0
-        opacity: 1 - distance / 50.0
-
-        Binding {
-            target: layer
-            property: "x"
-            value: -0.4 * layer.distance
-            when: !dragArea.pressed
-        }
-        Binding {
-            target: layer
-            property: "y"
-            value: 0.9 * layer.distance
-            when: !dragArea.pressed
-        }
-
-        SequentialAnimation on distance {
-            id: animation
-            running: true
-            loops:  Animation.Infinite
-
-            NumberAnimation { to: 30; duration: 2000 }
-            PauseAnimation { duration: 500 }
-            NumberAnimation { to: 0; duration: 2000 }
-            PauseAnimation { duration: 500 }
-        }
-    }
-
-    Image {
-        id: photo
-        anchors.fill: parent
-        source: "images/drop_shadow.png"
-        smooth: true
-    }
-
-    MouseArea {
-        id: dragArea
-        anchors.fill: parent
-
-        property int startX
-        property int startY
-
-        onPressed: {
-            startX = mouseX
-            startY = mouseY
-        }
-
-        onPositionChanged: {
-            layer.x += mouseX - startX
-            layer.y += mouseY - startY
-            startX = mouseX
-            startY = mouseY
-        }
-    }
-}
diff --git a/examples/declarative/shadereffects/qml/DropShadowEffect.qml b/examples/declarative/shadereffects/qml/DropShadowEffect.qml
deleted file mode 100755
index 71b6ac9..0000000
--- a/examples/declarative/shadereffects/qml/DropShadowEffect.qml
+++ /dev/null
@@ -1,174 +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:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import Qt.labs.shaders 1.0
-
-Item {
-    id: main
-    property real blur: 0.0
-    property alias color: shadowEffectWithHBlur.color
-    property alias sourceItem: source.sourceItem
-
-    ShaderEffectSource {
-        id: source
-        smooth: true
-        hideSource: false
-    }
-
-    ShaderEffectItem {
-        id: shadowEffectWithHBlur
-        anchors.fill: parent
-
-        property color color: "grey"
-        property variant sourceTexture: source;
-        property real xStep: main.blur / main.width
-
-        vertexShader:"
-            uniform highp mat4 qt_ModelViewProjectionMatrix;
-            attribute highp vec4 qt_Vertex;
-            attribute highp vec2 qt_MultiTexCoord0;
-            uniform highp float xStep;
-            varying highp vec2 qt_TexCoord0;
-            varying highp vec2 qt_TexCoord1;
-            varying highp vec2 qt_TexCoord2;
-            varying highp vec2 qt_TexCoord4;
-            varying highp vec2 qt_TexCoord5;
-            varying highp vec2 qt_TexCoord6;
-
-            void main(void)
-            {
-                highp vec2 shift = vec2(xStep, 0.);
-                qt_TexCoord0 = qt_MultiTexCoord0 - 2.5 * shift;
-                qt_TexCoord1 = qt_MultiTexCoord0 - 1.5 * shift;
-                qt_TexCoord2 = qt_MultiTexCoord0 - 0.5 * shift;
-                qt_TexCoord4 = qt_MultiTexCoord0 + 0.5 * shift;
-                qt_TexCoord5 = qt_MultiTexCoord0 + 1.5 * shift;
-                qt_TexCoord6 = qt_MultiTexCoord0 + 2.5 * shift;
-                gl_Position =  qt_ModelViewProjectionMatrix * qt_Vertex;
-            }
-        "
-
-        fragmentShader:"
-            uniform highp vec4 color;
-            uniform lowp sampler2D sourceTexture;
-            varying highp vec2 qt_TexCoord0;
-            varying highp vec2 qt_TexCoord1;
-            varying highp vec2 qt_TexCoord2;
-            varying highp vec2 qt_TexCoord4;
-            varying highp vec2 qt_TexCoord5;
-            varying highp vec2 qt_TexCoord6;
-
-            void main() {
-                highp vec4 sourceColor = (texture2D(sourceTexture, qt_TexCoord0) * 0.1
-                + texture2D(sourceTexture, qt_TexCoord1) * 0.15
-                + texture2D(sourceTexture, qt_TexCoord2) * 0.25
-                + texture2D(sourceTexture, qt_TexCoord4) * 0.25
-                + texture2D(sourceTexture, qt_TexCoord5) * 0.15
-                + texture2D(sourceTexture, qt_TexCoord6) * 0.1);
-                gl_FragColor = mix(vec4(0), color, sourceColor.a);
-            }
-        "
-    }
-
-    ShaderEffectSource {
-        id: hBlurredShadow
-        smooth: true
-        sourceItem: shadowEffectWithHBlur
-        hideSource: true
-    }
-
-    ShaderEffectItem {
-        id: finalEffect
-        anchors.fill: parent
-
-        property color color: "grey"
-        property variant sourceTexture: hBlurredShadow;
-        property real yStep: main.blur / main.height
-
-        vertexShader:"
-            uniform highp mat4 qt_ModelViewProjectionMatrix;
-            attribute highp vec4 qt_Vertex;
-            attribute highp vec2 qt_MultiTexCoord0;
-            uniform highp float yStep;
-            varying highp vec2 qt_TexCoord0;
-            varying highp vec2 qt_TexCoord1;
-            varying highp vec2 qt_TexCoord2;
-            varying highp vec2 qt_TexCoord4;
-            varying highp vec2 qt_TexCoord5;
-            varying highp vec2 qt_TexCoord6;
-
-            void main(void)
-            {
-                highp vec2 shift = vec2(0., yStep);
-                qt_TexCoord0 = qt_MultiTexCoord0 - 2.5 * shift;
-                qt_TexCoord1 = qt_MultiTexCoord0 - 1.5 * shift;
-                qt_TexCoord2 = qt_MultiTexCoord0 - 0.5 * shift;
-                qt_TexCoord4 = qt_MultiTexCoord0 + 0.5 * shift;
-                qt_TexCoord5 = qt_MultiTexCoord0 + 1.5 * shift;
-                qt_TexCoord6 = qt_MultiTexCoord0 + 2.5 * shift;
-                gl_Position =  qt_ModelViewProjectionMatrix * qt_Vertex;
-            }
-        "
-
-        fragmentShader:"
-            uniform highp vec4 color;
-            uniform lowp sampler2D sourceTexture;
-            uniform highp float qt_Opacity;
-            varying highp vec2 qt_TexCoord0;
-            varying highp vec2 qt_TexCoord1;
-            varying highp vec2 qt_TexCoord2;
-            varying highp vec2 qt_TexCoord4;
-            varying highp vec2 qt_TexCoord5;
-            varying highp vec2 qt_TexCoord6;
-
-            void main() {
-                highp vec4 sourceColor = (texture2D(sourceTexture, qt_TexCoord0) * 0.1
-                + texture2D(sourceTexture, qt_TexCoord1) * 0.15
-                + texture2D(sourceTexture, qt_TexCoord2) * 0.25
-                + texture2D(sourceTexture, qt_TexCoord4) * 0.25
-                + texture2D(sourceTexture, qt_TexCoord5) * 0.15
-                + texture2D(sourceTexture, qt_TexCoord6) * 0.1);
-                gl_FragColor = sourceColor * qt_Opacity;
-            }
-        "
-    }
-}
diff --git a/examples/declarative/shadereffects/qml/Grayscale.qml b/examples/declarative/shadereffects/qml/Grayscale.qml
deleted file mode 100755
index 58c94fc..0000000
--- a/examples/declarative/shadereffects/qml/Grayscale.qml
+++ /dev/null
@@ -1,77 +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:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import Qt.labs.shaders 1.0
-
-Item {
-    id: main
-    anchors.fill: parent
-
-    GrayscaleEffect {
-        id: layer
-        anchors.fill: parent
-
-        source: ShaderEffectSource {
-            sourceItem: Image { source: "images/desaturate.jpg" }
-            live: false
-            hideSource: true
-        }
-
-        SequentialAnimation on ratio {
-            id: ratioAnimation
-            running: true
-            loops: Animation.Infinite
-            NumberAnimation {
-                easing.type: Easing.Linear
-                to: 0.0
-                duration: 1500
-            }
-            PauseAnimation { duration: 1000 }
-            NumberAnimation {
-                easing.type: Easing.Linear
-                to: 1.0
-                duration: 1500
-            }
-            PauseAnimation { duration: 1000 }
-        }
-    }
-}
diff --git a/examples/declarative/shadereffects/qml/GrayscaleEffect.qml b/examples/declarative/shadereffects/qml/GrayscaleEffect.qml
deleted file mode 100755
index 0343893..0000000
--- a/examples/declarative/shadereffects/qml/GrayscaleEffect.qml
+++ /dev/null
@@ -1,62 +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:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import Qt.labs.shaders 1.0
-
-ShaderEffectItem {
-    id: effect
-    property real ratio: 1.0
-    property variant source: 0
-
-    fragmentShader:
-        "
-        varying highp vec2 qt_TexCoord0;
-        uniform sampler2D source;
-        uniform highp float ratio;
-        void main(void)
-        {
-            lowp vec4 textureColor = texture2D(source, qt_TexCoord0.st);
-            lowp float gray = dot(textureColor, vec4(0.299, 0.587, 0.114, 0.0));
-            gl_FragColor = vec4(gray * ratio + textureColor.r * (1.0 - ratio), gray * ratio + textureColor.g * (1.0 - ratio), gray * ratio + textureColor.b * (1.0 - ratio), textureColor.a);
-        }
-        "
-}
diff --git a/examples/declarative/shadereffects/qml/ImageMask.qml b/examples/declarative/shadereffects/qml/ImageMask.qml
deleted file mode 100755
index 068696e..0000000
--- a/examples/declarative/shadereffects/qml/ImageMask.qml
+++ /dev/null
@@ -1,143 +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:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import Qt.labs.shaders 1.0
-
-Item {
-    anchors.fill: parent
-
-    Image {
-        id: bg
-        anchors.fill: parent
-        source: "images/image2.jpg"
-    }
-
-    Item {
-        id: mask
-        anchors.fill: parent
-
-        Text {
-            text: "Mask text"
-            font.pixelSize: 50
-            font.bold: true
-            anchors.horizontalCenter: parent.horizontalCenter
-
-            NumberAnimation on rotation {
-                running: true
-                loops: Animation.Infinite
-                from: 0
-                to: 360
-                duration: 3000
-            }
-
-            SequentialAnimation on y {
-                running: true
-                loops: Animation.Infinite
-                NumberAnimation {
-                    to: main.height
-                    duration: 3000
-                }
-                NumberAnimation {
-                    to: 0
-                    duration: 3000
-                }
-            }
-        }
-
-        Rectangle {
-            id: opaqueBox
-            width: 60
-            height: parent.height
-            SequentialAnimation on x {
-                running: true
-                loops: Animation.Infinite
-                NumberAnimation {
-                    to: main.width
-                    duration: 2000
-                    easing.type: Easing.InOutCubic
-                }
-                NumberAnimation {
-                    to: 0
-                    duration: 2000
-                    easing.type: Easing.InOutCubic
-                }
-            }
-        }
-
-        Rectangle {
-            width: 100
-            opacity: 0.5
-            height: parent.height
-            SequentialAnimation on x {
-                PauseAnimation { duration: 100 }
-
-                SequentialAnimation {
-                    loops: Animation.Infinite
-                    NumberAnimation {
-                        to: main.width
-                        duration: 2000
-                        easing.type: Easing.InOutCubic
-                    }
-                    NumberAnimation {
-                        to: 0
-                        duration: 2000
-                        easing.type: Easing.InOutCubic
-                    }
-                }
-            }
-        }
-    }
-
-    ImageMaskEffect {
-        anchors.fill: parent
-        image: ShaderEffectSource {
-            sourceItem: Image { source: "images/image1.jpg" }
-            live: false
-            hideSource: true
-        }
-        mask: ShaderEffectSource {
-            sourceItem: mask
-            live: true
-            hideSource: true
-        }
-    }
-}
diff --git a/examples/declarative/shadereffects/qml/ImageMaskEffect.qml b/examples/declarative/shadereffects/qml/ImageMaskEffect.qml
deleted file mode 100755
index e4dddf4..0000000
--- a/examples/declarative/shadereffects/qml/ImageMaskEffect.qml
+++ /dev/null
@@ -1,60 +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:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import Qt.labs.shaders 1.0
-
-ShaderEffectItem {
-    id: effect
-    property variant image: 0
-    property variant mask: 0
-
-    fragmentShader:
-        "
-        varying highp vec2 qt_TexCoord0;
-        uniform sampler2D image;
-        uniform sampler2D mask;
-        void main(void)
-        {
-            gl_FragColor = texture2D(image, qt_TexCoord0.st) * (texture2D(mask, qt_TexCoord0.st).a);
-        }
-        "
-}
diff --git a/examples/declarative/shadereffects/qml/RadialWave.qml b/examples/declarative/shadereffects/qml/RadialWave.qml
deleted file mode 100755
index 5aaac9e..0000000
--- a/examples/declarative/shadereffects/qml/RadialWave.qml
+++ /dev/null
@@ -1,85 +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:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import Qt.labs.shaders 1.0
-
-Item {
-    id: main
-    anchors.fill: parent
-
-    ShaderEffectSource {
-        id: thesource
-        sourceItem: Image { source: "images/wave.jpg" }
-        live: false
-        hideSource: true
-    }
-
-    RadialWaveEffect {
-        id: layer
-        anchors.fill: parent;
-        source: thesource
-
-        wave: 0.0
-        waveOriginX: 0.5
-        waveOriginY: 0.5
-        waveWidth: 0.01
-
-        NumberAnimation on wave {
-            id: waveAnim
-            running: true
-            loops: Animation.Infinite
-            easing.type: "Linear"
-            from: 0.0000; to: 2.0000;
-            duration: 2500
-        }
-    }
-
-    MouseArea {
-        anchors.fill: parent
-        onPressed: {
-            waveAnim.stop()
-            layer.waveOriginX = mouseX / main.width
-            layer.waveOriginY = mouseY / main.height
-            waveAnim.start()
-        }
-    }
-}
diff --git a/examples/declarative/shadereffects/qml/RadialWaveEffect.qml b/examples/declarative/shadereffects/qml/RadialWaveEffect.qml
deleted file mode 100755
index 82a15a8..0000000
--- a/examples/declarative/shadereffects/qml/RadialWaveEffect.qml
+++ /dev/null
@@ -1,81 +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:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import Qt.labs.shaders 1.0
-
-ShaderEffectItem {
-    id: effect
-
-    property real wave: 0.3
-    property real waveOriginX: 0.5
-    property real waveOriginY: 0.5
-    property real waveWidth: 0.01
-    property real aspectRatio: width/height
-    property variant source: 0
-
-    fragmentShader:
-        "
-        varying mediump vec2 qt_TexCoord0;
-        uniform sampler2D source;
-        uniform highp float wave;
-        uniform highp float waveWidth;
-        uniform highp float waveOriginX;
-        uniform highp float waveOriginY;
-        uniform highp float aspectRatio;
-
-        void main(void)
-        {
-        mediump vec2 texCoord2 = qt_TexCoord0;
-        mediump vec2 origin = vec2(waveOriginX, (1.0 - waveOriginY) / aspectRatio);
-
-        highp float fragmentDistance = distance(vec2(texCoord2.s, texCoord2.t / aspectRatio), origin);
-        highp float waveLength = waveWidth + fragmentDistance * 0.25;
-
-        if ( fragmentDistance > wave && fragmentDistance < wave + waveLength) {
-            highp float distanceFromWaveEdge = min(abs(wave - fragmentDistance), abs(wave + waveLength - fragmentDistance));
-            texCoord2 += sin(1.57075 * distanceFromWaveEdge / waveLength) * distanceFromWaveEdge * 0.08 / fragmentDistance;
-        }
-
-        gl_FragColor = texture2D(source, texCoord2.st);
-        }
-        "
-}
diff --git a/examples/declarative/shadereffects/qml/Water.qml b/examples/declarative/shadereffects/qml/Water.qml
deleted file mode 100755
index 8810161..0000000
--- a/examples/declarative/shadereffects/qml/Water.qml
+++ /dev/null
@@ -1,60 +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:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import Qt.labs.shaders 1.0
-
-Item {
-    anchors.fill: parent
-
-    Image {
-        id: image
-        width: parent.width
-        height: parent.height * 0.65
-        source: "images/sky.jpg"
-        smooth: true
-    }
-    WaterEffect {
-        sourceItem: image
-        intensity: 5
-        height: parent.height - image.height
-    }
-}
diff --git a/examples/declarative/shadereffects/qml/WaterEffect.qml b/examples/declarative/shadereffects/qml/WaterEffect.qml
deleted file mode 100755
index e2fee5c..0000000
--- a/examples/declarative/shadereffects/qml/WaterEffect.qml
+++ /dev/null
@@ -1,126 +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:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import Qt.labs.shaders 1.0
-
-Item {
-    id: root
-    property alias sourceItem: effectsource.sourceItem
-    property real intensity: 1
-    property bool waving: true
-    anchors.top: sourceItem.bottom
-    width: sourceItem.width
-    height: sourceItem.height
-
-    ShaderEffectItem {
-        anchors.fill: parent
-        property variant source: effectsource
-        property real f: 0
-        property real f2: 0
-        property alias intensity: root.intensity
-        smooth: true
-
-        ShaderEffectSource {
-            id: effectsource
-            hideSource: false
-            smooth: true
-        }
-
-        fragmentShader:
-            "
-            varying highp vec2 qt_TexCoord0;
-            uniform sampler2D source;
-            uniform lowp float qt_Opacity;
-            uniform highp float f;
-            uniform highp float f2;
-            uniform highp float intensity;
-
-            void main() {
-                const highp float twopi = 3.141592653589 * 2.0;
-
-                highp float distanceFactorToPhase = pow(qt_TexCoord0.y + 0.5, 8.0) * 5.0;
-                highp float ofx = sin(f * twopi + distanceFactorToPhase) / 100.0;
-                highp float ofy = sin(f2 * twopi + distanceFactorToPhase * qt_TexCoord0.x) / 60.0;
-
-                highp float intensityDampingFactor = (qt_TexCoord0.x + 0.1) * (qt_TexCoord0.y + 0.2);
-                highp float distanceFactor = (1.0 - qt_TexCoord0.y) * 4.0 * intensity * intensityDampingFactor;
-
-                ofx *= distanceFactor;
-                ofy *= distanceFactor;
-
-                highp float x = qt_TexCoord0.x + ofx;
-                highp float y = 1.0 - qt_TexCoord0.y + ofy;
-
-                highp float fake = (sin((ofy + ofx) * twopi) + 0.5) * 0.05 * (1.2 - qt_TexCoord0.y) * intensity * intensityDampingFactor;
-
-                highp vec4 pix =
-                    texture2D(source, vec2(x, y)) * 0.6 +
-                    texture2D(source, vec2(x-fake, y)) * 0.15 +
-                    texture2D(source, vec2(x, y-fake)) * 0.15 +
-                    texture2D(source, vec2(x+fake, y)) * 0.15 +
-                    texture2D(source, vec2(x, y+fake)) * 0.15;
-
-                highp float darken = 0.6 - (ofx - ofy) / 2.0;
-                pix.b *= 1.2 * darken;
-                pix.r *= 0.9 * darken;
-                pix.g *= darken;
-
-                gl_FragColor = qt_Opacity * vec4(pix.r, pix.g, pix.b, 1.0);
-            }
-            "
-
-        NumberAnimation on f {
-            running: root.waving
-            loops: Animation.Infinite
-            from: 0
-            to: 1
-            duration: 2410
-        }
-        NumberAnimation on f2 {
-            running: root.waving
-            loops: Animation.Infinite
-            from: 0
-            to: 1
-            duration: 1754
-        }
-    }
-}
diff --git a/examples/declarative/shadereffects/qml/images/Curtain.jpg b/examples/declarative/shadereffects/qml/images/Curtain.jpg
deleted file mode 100755
index 40003cb..0000000
Binary files a/examples/declarative/shadereffects/qml/images/Curtain.jpg and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/DropShadow.jpg b/examples/declarative/shadereffects/qml/images/DropShadow.jpg
deleted file mode 100755
index c1e693a..0000000
Binary files a/examples/declarative/shadereffects/qml/images/DropShadow.jpg and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/Grayscale.jpg b/examples/declarative/shadereffects/qml/images/Grayscale.jpg
deleted file mode 100755
index c95cab4..0000000
Binary files a/examples/declarative/shadereffects/qml/images/Grayscale.jpg and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/ImageMask.jpg b/examples/declarative/shadereffects/qml/images/ImageMask.jpg
deleted file mode 100755
index 0da4c0d..0000000
Binary files a/examples/declarative/shadereffects/qml/images/ImageMask.jpg and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/RadialWave.jpg b/examples/declarative/shadereffects/qml/images/RadialWave.jpg
deleted file mode 100755
index fc51efc..0000000
Binary files a/examples/declarative/shadereffects/qml/images/RadialWave.jpg and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/Water.jpg b/examples/declarative/shadereffects/qml/images/Water.jpg
deleted file mode 100755
index 38615c1..0000000
Binary files a/examples/declarative/shadereffects/qml/images/Water.jpg and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/back.png b/examples/declarative/shadereffects/qml/images/back.png
deleted file mode 100755
index 5dd3d22..0000000
Binary files a/examples/declarative/shadereffects/qml/images/back.png and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/bg.jpg b/examples/declarative/shadereffects/qml/images/bg.jpg
deleted file mode 100755
index 4d22143..0000000
Binary files a/examples/declarative/shadereffects/qml/images/bg.jpg and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/desaturate.jpg b/examples/declarative/shadereffects/qml/images/desaturate.jpg
deleted file mode 100755
index e5e99bb..0000000
Binary files a/examples/declarative/shadereffects/qml/images/desaturate.jpg and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/drop_shadow.png b/examples/declarative/shadereffects/qml/images/drop_shadow.png
deleted file mode 100755
index 144c02d..0000000
Binary files a/examples/declarative/shadereffects/qml/images/drop_shadow.png and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/fabric.jpg b/examples/declarative/shadereffects/qml/images/fabric.jpg
deleted file mode 100755
index ab65409..0000000
Binary files a/examples/declarative/shadereffects/qml/images/fabric.jpg and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/flower.png b/examples/declarative/shadereffects/qml/images/flower.png
deleted file mode 100755
index 144c02d..0000000
Binary files a/examples/declarative/shadereffects/qml/images/flower.png and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/image1.jpg b/examples/declarative/shadereffects/qml/images/image1.jpg
deleted file mode 100755
index 3442e77..0000000
Binary files a/examples/declarative/shadereffects/qml/images/image1.jpg and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/image2.jpg b/examples/declarative/shadereffects/qml/images/image2.jpg
deleted file mode 100755
index 23e5c5c..0000000
Binary files a/examples/declarative/shadereffects/qml/images/image2.jpg and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/qt-logo.png b/examples/declarative/shadereffects/qml/images/qt-logo.png
deleted file mode 100755
index 41a304b..0000000
Binary files a/examples/declarative/shadereffects/qml/images/qt-logo.png and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/shader_effects.jpg b/examples/declarative/shadereffects/qml/images/shader_effects.jpg
deleted file mode 100755
index 19e8a39..0000000
Binary files a/examples/declarative/shadereffects/qml/images/shader_effects.jpg and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/sky.jpg b/examples/declarative/shadereffects/qml/images/sky.jpg
deleted file mode 100755
index 8fc19ed..0000000
Binary files a/examples/declarative/shadereffects/qml/images/sky.jpg and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/toolbar.png b/examples/declarative/shadereffects/qml/images/toolbar.png
deleted file mode 100755
index 773e3ea..0000000
Binary files a/examples/declarative/shadereffects/qml/images/toolbar.png and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/images/wave.jpg b/examples/declarative/shadereffects/qml/images/wave.jpg
deleted file mode 100755
index c8083bb..0000000
Binary files a/examples/declarative/shadereffects/qml/images/wave.jpg and /dev/null differ
diff --git a/examples/declarative/shadereffects/qml/main.qml b/examples/declarative/shadereffects/qml/main.qml
deleted file mode 100755
index f38424a..0000000
--- a/examples/declarative/shadereffects/qml/main.qml
+++ /dev/null
@@ -1,160 +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:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import Qt.labs.shaders 1.0
-
-Item {
-    id: main
-    width: 360
-    height: 640
-
-    Rectangle {
-        anchors.fill: parent
-        color: "black"
-    }
-
-    Image {
-        id: header
-        source: "images/shader_effects.jpg"
-    }
-
-    ListModel {
-        id: demoModel
-        ListElement { name: "ImageMask" }
-        ListElement { name: "RadialWave" }
-        ListElement { name: "Water" }
-        ListElement { name: "Grayscale" }
-        ListElement { name: "DropShadow" }
-        ListElement { name: "Curtain" }
-    }
-
-    Grid {
-        id: menuGrid
-        anchors.top: header.bottom
-        anchors.bottom: toolbar.top
-        width: parent.width
-        columns: 2
-        Repeater {
-            model: demoModel
-            Item {
-                width: main.width / 2
-                height: menuGrid.height / 3
-                clip: true
-                Image {
-                    width: parent.width
-                    height: width
-                    source: "images/" + name + ".jpg"
-                    opacity: mouseArea.pressed ? 0.6 : 1.0
-                }
-                MouseArea {
-                    id: mouseArea
-                    anchors.fill: parent
-                    onClicked: {
-                        demoLoader.source = name + ".qml"
-                        main.state = "showDemo"
-                    }
-                }
-            }
-        }
-    }
-
-    Loader {
-        anchors.fill: parent
-        id: demoLoader
-        visible: false
-        Behavior on opacity {
-            NumberAnimation { duration: 300 }
-        }
-    }
-
-    Image {
-        id: toolbar
-        source: "images/toolbar.png"
-        width: parent.width
-        anchors.bottom: parent.bottom
-    }
-
-    Rectangle {
-        id: translucentToolbar
-        color: "black"
-        opacity: 0.3
-        anchors.fill: toolbar
-        visible: !toolbar.visible
-    }
-
-    Item {
-        height: toolbar.height
-        width: height
-        anchors.bottom: parent.bottom
-
-        Image {
-            source: "images/back.png"
-            anchors.centerIn: parent
-        }
-
-        MouseArea {
-            anchors.fill: parent
-            onClicked: {
-                if (main.state == "") Qt.quit(); else {
-                    main.state = ""
-                    demoLoader.source = ""
-                }
-            }
-        }
-    }
-
-    states: State {
-        name: "showDemo"
-        PropertyChanges {
-            target: menuGrid
-            visible: false
-        }
-        PropertyChanges {
-            target: demoLoader
-            visible: true
-        }
-        PropertyChanges {
-            target: toolbar
-            visible: false
-        }
-    }
-}
diff --git a/examples/declarative/shadereffects/qml/shadereffects/Curtain.qml b/examples/declarative/shadereffects/qml/shadereffects/Curtain.qml
new file mode 100644
index 0000000..03ac0e9
--- /dev/null
+++ b/examples/declarative/shadereffects/qml/shadereffects/Curtain.qml
@@ -0,0 +1,106 @@
+/****************************************************************************
+**
+** 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:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.labs.shaders 1.0
+
+Item {
+    id: main
+    anchors.fill: parent
+
+    Rectangle{
+        id: bg
+        anchors.fill: parent
+        color: "black"
+    }
+
+    Image {
+        source: "images/qt-logo.png"
+        anchors.centerIn: parent
+    }
+
+    Image {
+        id: fabric
+        anchors.fill: parent
+        source: "images/fabric.jpg"
+        fillMode: Image.Tile
+    }
+
+    CurtainEffect {
+        id: curtain
+        anchors.fill: fabric
+        bottomWidth: topWidth
+        source: ShaderEffectSource { sourceItem: fabric; hideSource: true }
+
+        Behavior on bottomWidth {
+            SpringAnimation { easing.type: Easing.OutElastic; velocity: 250; mass: 1.5; spring: 0.5; damping: 0.05}
+        }
+
+        SequentialAnimation on topWidth {
+            id: topWidthAnim
+            loops: Animation.Infinite
+
+            NumberAnimation { to: 360; duration: 1000 }
+            PauseAnimation { duration: 2000 }
+            NumberAnimation { to: 180; duration: 1000 }
+            PauseAnimation { duration: 2000 }
+        }
+    }
+
+    MouseArea {
+        anchors.fill: parent
+
+        onPressed: {
+            topWidthAnim.stop()
+            curtain.topWidth = mouseX;
+        }
+
+        onReleased: {
+            topWidthAnim.restart()
+        }
+
+        onPositionChanged: {
+            if (pressed) {
+                curtain.topWidth = mouseX;
+            }
+        }
+    }
+}
diff --git a/examples/declarative/shadereffects/qml/shadereffects/CurtainEffect.qml b/examples/declarative/shadereffects/qml/shadereffects/CurtainEffect.qml
new file mode 100644
index 0000000..c33cce4
--- /dev/null
+++ b/examples/declarative/shadereffects/qml/shadereffects/CurtainEffect.qml
@@ -0,0 +1,97 @@
+/****************************************************************************
+**
+** 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:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.labs.shaders 1.0
+
+ShaderEffectItem {
+    anchors.fill: parent
+    property variant source
+    meshResolution: Qt.size(50, 50)
+
+    property real topWidth: width / 2
+    property real bottomWidth: width / 2
+    property real originalWidth: width
+    property real originalHeight: height
+    property real amplitude: 0.1
+
+    vertexShader: "
+        attribute highp vec4 qt_Vertex;
+        attribute highp vec2 qt_MultiTexCoord0;
+        uniform highp mat4 qt_ModelViewProjectionMatrix;
+        varying highp vec2 qt_TexCoord0;
+        varying lowp float shade;
+
+        uniform highp float topWidth;
+        uniform highp float bottomWidth;
+        uniform highp float originalWidth;
+        uniform highp float originalHeight;
+        uniform highp float amplitude;
+
+        void main() {
+            qt_TexCoord0 = qt_MultiTexCoord0;
+
+            highp vec4 shift = vec4(0, 0, 0, 0);
+            shift.x = qt_Vertex.x * ((originalWidth - topWidth) + (topWidth - bottomWidth) * (qt_Vertex.y / originalHeight)) / originalWidth;
+
+            shade = sin(21.9911486 * qt_Vertex.x / originalWidth);
+            shift.y = amplitude * (originalWidth - topWidth + (topWidth - bottomWidth) * (qt_Vertex.y / originalHeight)) * shade;
+
+            gl_Position = qt_ModelViewProjectionMatrix * (qt_Vertex - shift);
+
+            shade = 0.2 * (2.0 - shade ) * (1.0 - (bottomWidth + (topWidth  - bottomWidth) * (1.0 - qt_Vertex.y / originalHeight)) / originalWidth);
+        }
+    "
+
+    fragmentShader: "
+        uniform sampler2D source;
+        varying highp vec2 qt_TexCoord0;
+        varying lowp float shade;
+        void main() {
+            highp vec4 color = texture2D(source, qt_TexCoord0);
+            color.rgb *= 1.0 - shade;
+            gl_FragColor = color;
+        }
+    "
+}
+
+
+
diff --git a/examples/declarative/shadereffects/qml/shadereffects/DropShadow.qml b/examples/declarative/shadereffects/qml/shadereffects/DropShadow.qml
new file mode 100644
index 0000000..442fb38
--- /dev/null
+++ b/examples/declarative/shadereffects/qml/shadereffects/DropShadow.qml
@@ -0,0 +1,117 @@
+/****************************************************************************
+**
+** 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:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: main
+    anchors.fill: parent
+
+    Image {
+        id: background
+        anchors.fill: parent
+        source: "images/bg.jpg"
+    }
+
+    DropShadowEffect {
+        id: layer
+
+        property real distance: 0.0
+
+        width: photo.width
+        height: photo.height
+        sourceItem: photo
+        color: "black"
+        blur: distance / 10.0
+        opacity: 1 - distance / 50.0
+
+        Binding {
+            target: layer
+            property: "x"
+            value: -0.4 * layer.distance
+            when: !dragArea.pressed
+        }
+        Binding {
+            target: layer
+            property: "y"
+            value: 0.9 * layer.distance
+            when: !dragArea.pressed
+        }
+
+        SequentialAnimation on distance {
+            id: animation
+            running: true
+            loops:  Animation.Infinite
+
+            NumberAnimation { to: 30; duration: 2000 }
+            PauseAnimation { duration: 500 }
+            NumberAnimation { to: 0; duration: 2000 }
+            PauseAnimation { duration: 500 }
+        }
+    }
+
+    Image {
+        id: photo
+        anchors.fill: parent
+        source: "images/drop_shadow.png"
+        smooth: true
+    }
+
+    MouseArea {
+        id: dragArea
+        anchors.fill: parent
+
+        property int startX
+        property int startY
+
+        onPressed: {
+            startX = mouseX
+            startY = mouseY
+        }
+
+        onPositionChanged: {
+            layer.x += mouseX - startX
+            layer.y += mouseY - startY
+            startX = mouseX
+            startY = mouseY
+        }
+    }
+}
diff --git a/examples/declarative/shadereffects/qml/shadereffects/DropShadowEffect.qml b/examples/declarative/shadereffects/qml/shadereffects/DropShadowEffect.qml
new file mode 100644
index 0000000..71b6ac9
--- /dev/null
+++ b/examples/declarative/shadereffects/qml/shadereffects/DropShadowEffect.qml
@@ -0,0 +1,174 @@
+/****************************************************************************
+**
+** 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:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.labs.shaders 1.0
+
+Item {
+    id: main
+    property real blur: 0.0
+    property alias color: shadowEffectWithHBlur.color
+    property alias sourceItem: source.sourceItem
+
+    ShaderEffectSource {
+        id: source
+        smooth: true
+        hideSource: false
+    }
+
+    ShaderEffectItem {
+        id: shadowEffectWithHBlur
+        anchors.fill: parent
+
+        property color color: "grey"
+        property variant sourceTexture: source;
+        property real xStep: main.blur / main.width
+
+        vertexShader:"
+            uniform highp mat4 qt_ModelViewProjectionMatrix;
+            attribute highp vec4 qt_Vertex;
+            attribute highp vec2 qt_MultiTexCoord0;
+            uniform highp float xStep;
+            varying highp vec2 qt_TexCoord0;
+            varying highp vec2 qt_TexCoord1;
+            varying highp vec2 qt_TexCoord2;
+            varying highp vec2 qt_TexCoord4;
+            varying highp vec2 qt_TexCoord5;
+            varying highp vec2 qt_TexCoord6;
+
+            void main(void)
+            {
+                highp vec2 shift = vec2(xStep, 0.);
+                qt_TexCoord0 = qt_MultiTexCoord0 - 2.5 * shift;
+                qt_TexCoord1 = qt_MultiTexCoord0 - 1.5 * shift;
+                qt_TexCoord2 = qt_MultiTexCoord0 - 0.5 * shift;
+                qt_TexCoord4 = qt_MultiTexCoord0 + 0.5 * shift;
+                qt_TexCoord5 = qt_MultiTexCoord0 + 1.5 * shift;
+                qt_TexCoord6 = qt_MultiTexCoord0 + 2.5 * shift;
+                gl_Position =  qt_ModelViewProjectionMatrix * qt_Vertex;
+            }
+        "
+
+        fragmentShader:"
+            uniform highp vec4 color;
+            uniform lowp sampler2D sourceTexture;
+            varying highp vec2 qt_TexCoord0;
+            varying highp vec2 qt_TexCoord1;
+            varying highp vec2 qt_TexCoord2;
+            varying highp vec2 qt_TexCoord4;
+            varying highp vec2 qt_TexCoord5;
+            varying highp vec2 qt_TexCoord6;
+
+            void main() {
+                highp vec4 sourceColor = (texture2D(sourceTexture, qt_TexCoord0) * 0.1
+                + texture2D(sourceTexture, qt_TexCoord1) * 0.15
+                + texture2D(sourceTexture, qt_TexCoord2) * 0.25
+                + texture2D(sourceTexture, qt_TexCoord4) * 0.25
+                + texture2D(sourceTexture, qt_TexCoord5) * 0.15
+                + texture2D(sourceTexture, qt_TexCoord6) * 0.1);
+                gl_FragColor = mix(vec4(0), color, sourceColor.a);
+            }
+        "
+    }
+
+    ShaderEffectSource {
+        id: hBlurredShadow
+        smooth: true
+        sourceItem: shadowEffectWithHBlur
+        hideSource: true
+    }
+
+    ShaderEffectItem {
+        id: finalEffect
+        anchors.fill: parent
+
+        property color color: "grey"
+        property variant sourceTexture: hBlurredShadow;
+        property real yStep: main.blur / main.height
+
+        vertexShader:"
+            uniform highp mat4 qt_ModelViewProjectionMatrix;
+            attribute highp vec4 qt_Vertex;
+            attribute highp vec2 qt_MultiTexCoord0;
+            uniform highp float yStep;
+            varying highp vec2 qt_TexCoord0;
+            varying highp vec2 qt_TexCoord1;
+            varying highp vec2 qt_TexCoord2;
+            varying highp vec2 qt_TexCoord4;
+            varying highp vec2 qt_TexCoord5;
+            varying highp vec2 qt_TexCoord6;
+
+            void main(void)
+            {
+                highp vec2 shift = vec2(0., yStep);
+                qt_TexCoord0 = qt_MultiTexCoord0 - 2.5 * shift;
+                qt_TexCoord1 = qt_MultiTexCoord0 - 1.5 * shift;
+                qt_TexCoord2 = qt_MultiTexCoord0 - 0.5 * shift;
+                qt_TexCoord4 = qt_MultiTexCoord0 + 0.5 * shift;
+                qt_TexCoord5 = qt_MultiTexCoord0 + 1.5 * shift;
+                qt_TexCoord6 = qt_MultiTexCoord0 + 2.5 * shift;
+                gl_Position =  qt_ModelViewProjectionMatrix * qt_Vertex;
+            }
+        "
+
+        fragmentShader:"
+            uniform highp vec4 color;
+            uniform lowp sampler2D sourceTexture;
+            uniform highp float qt_Opacity;
+            varying highp vec2 qt_TexCoord0;
+            varying highp vec2 qt_TexCoord1;
+            varying highp vec2 qt_TexCoord2;
+            varying highp vec2 qt_TexCoord4;
+            varying highp vec2 qt_TexCoord5;
+            varying highp vec2 qt_TexCoord6;
+
+            void main() {
+                highp vec4 sourceColor = (texture2D(sourceTexture, qt_TexCoord0) * 0.1
+                + texture2D(sourceTexture, qt_TexCoord1) * 0.15
+                + texture2D(sourceTexture, qt_TexCoord2) * 0.25
+                + texture2D(sourceTexture, qt_TexCoord4) * 0.25
+                + texture2D(sourceTexture, qt_TexCoord5) * 0.15
+                + texture2D(sourceTexture, qt_TexCoord6) * 0.1);
+                gl_FragColor = sourceColor * qt_Opacity;
+            }
+        "
+    }
+}
diff --git a/examples/declarative/shadereffects/qml/shadereffects/Grayscale.qml b/examples/declarative/shadereffects/qml/shadereffects/Grayscale.qml
new file mode 100644
index 0000000..58c94fc
--- /dev/null
+++ b/examples/declarative/shadereffects/qml/shadereffects/Grayscale.qml
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** 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:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.labs.shaders 1.0
+
+Item {
+    id: main
+    anchors.fill: parent
+
+    GrayscaleEffect {
+        id: layer
+        anchors.fill: parent
+
+        source: ShaderEffectSource {
+            sourceItem: Image { source: "images/desaturate.jpg" }
+            live: false
+            hideSource: true
+        }
+
+        SequentialAnimation on ratio {
+            id: ratioAnimation
+            running: true
+            loops: Animation.Infinite
+            NumberAnimation {
+                easing.type: Easing.Linear
+                to: 0.0
+                duration: 1500
+            }
+            PauseAnimation { duration: 1000 }
+            NumberAnimation {
+                easing.type: Easing.Linear
+                to: 1.0
+                duration: 1500
+            }
+            PauseAnimation { duration: 1000 }
+        }
+    }
+}
diff --git a/examples/declarative/shadereffects/qml/shadereffects/GrayscaleEffect.qml b/examples/declarative/shadereffects/qml/shadereffects/GrayscaleEffect.qml
new file mode 100644
index 0000000..0343893
--- /dev/null
+++ b/examples/declarative/shadereffects/qml/shadereffects/GrayscaleEffect.qml
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** 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:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.labs.shaders 1.0
+
+ShaderEffectItem {
+    id: effect
+    property real ratio: 1.0
+    property variant source: 0
+
+    fragmentShader:
+        "
+        varying highp vec2 qt_TexCoord0;
+        uniform sampler2D source;
+        uniform highp float ratio;
+        void main(void)
+        {
+            lowp vec4 textureColor = texture2D(source, qt_TexCoord0.st);
+            lowp float gray = dot(textureColor, vec4(0.299, 0.587, 0.114, 0.0));
+            gl_FragColor = vec4(gray * ratio + textureColor.r * (1.0 - ratio), gray * ratio + textureColor.g * (1.0 - ratio), gray * ratio + textureColor.b * (1.0 - ratio), textureColor.a);
+        }
+        "
+}
diff --git a/examples/declarative/shadereffects/qml/shadereffects/ImageMask.qml b/examples/declarative/shadereffects/qml/shadereffects/ImageMask.qml
new file mode 100644
index 0000000..068696e
--- /dev/null
+++ b/examples/declarative/shadereffects/qml/shadereffects/ImageMask.qml
@@ -0,0 +1,143 @@
+/****************************************************************************
+**
+** 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:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.labs.shaders 1.0
+
+Item {
+    anchors.fill: parent
+
+    Image {
+        id: bg
+        anchors.fill: parent
+        source: "images/image2.jpg"
+    }
+
+    Item {
+        id: mask
+        anchors.fill: parent
+
+        Text {
+            text: "Mask text"
+            font.pixelSize: 50
+            font.bold: true
+            anchors.horizontalCenter: parent.horizontalCenter
+
+            NumberAnimation on rotation {
+                running: true
+                loops: Animation.Infinite
+                from: 0
+                to: 360
+                duration: 3000
+            }
+
+            SequentialAnimation on y {
+                running: true
+                loops: Animation.Infinite
+                NumberAnimation {
+                    to: main.height
+                    duration: 3000
+                }
+                NumberAnimation {
+                    to: 0
+                    duration: 3000
+                }
+            }
+        }
+
+        Rectangle {
+            id: opaqueBox
+            width: 60
+            height: parent.height
+            SequentialAnimation on x {
+                running: true
+                loops: Animation.Infinite
+                NumberAnimation {
+                    to: main.width
+                    duration: 2000
+                    easing.type: Easing.InOutCubic
+                }
+                NumberAnimation {
+                    to: 0
+                    duration: 2000
+                    easing.type: Easing.InOutCubic
+                }
+            }
+        }
+
+        Rectangle {
+            width: 100
+            opacity: 0.5
+            height: parent.height
+            SequentialAnimation on x {
+                PauseAnimation { duration: 100 }
+
+                SequentialAnimation {
+                    loops: Animation.Infinite
+                    NumberAnimation {
+                        to: main.width
+                        duration: 2000
+                        easing.type: Easing.InOutCubic
+                    }
+                    NumberAnimation {
+                        to: 0
+                        duration: 2000
+                        easing.type: Easing.InOutCubic
+                    }
+                }
+            }
+        }
+    }
+
+    ImageMaskEffect {
+        anchors.fill: parent
+        image: ShaderEffectSource {
+            sourceItem: Image { source: "images/image1.jpg" }
+            live: false
+            hideSource: true
+        }
+        mask: ShaderEffectSource {
+            sourceItem: mask
+            live: true
+            hideSource: true
+        }
+    }
+}
diff --git a/examples/declarative/shadereffects/qml/shadereffects/ImageMaskEffect.qml b/examples/declarative/shadereffects/qml/shadereffects/ImageMaskEffect.qml
new file mode 100644
index 0000000..e4dddf4
--- /dev/null
+++ b/examples/declarative/shadereffects/qml/shadereffects/ImageMaskEffect.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** 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:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.labs.shaders 1.0
+
+ShaderEffectItem {
+    id: effect
+    property variant image: 0
+    property variant mask: 0
+
+    fragmentShader:
+        "
+        varying highp vec2 qt_TexCoord0;
+        uniform sampler2D image;
+        uniform sampler2D mask;
+        void main(void)
+        {
+            gl_FragColor = texture2D(image, qt_TexCoord0.st) * (texture2D(mask, qt_TexCoord0.st).a);
+        }
+        "
+}
diff --git a/examples/declarative/shadereffects/qml/shadereffects/RadialWave.qml b/examples/declarative/shadereffects/qml/shadereffects/RadialWave.qml
new file mode 100644
index 0000000..5aaac9e
--- /dev/null
+++ b/examples/declarative/shadereffects/qml/shadereffects/RadialWave.qml
@@ -0,0 +1,85 @@
+/****************************************************************************
+**
+** 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:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.labs.shaders 1.0
+
+Item {
+    id: main
+    anchors.fill: parent
+
+    ShaderEffectSource {
+        id: thesource
+        sourceItem: Image { source: "images/wave.jpg" }
+        live: false
+        hideSource: true
+    }
+
+    RadialWaveEffect {
+        id: layer
+        anchors.fill: parent;
+        source: thesource
+
+        wave: 0.0
+        waveOriginX: 0.5
+        waveOriginY: 0.5
+        waveWidth: 0.01
+
+        NumberAnimation on wave {
+            id: waveAnim
+            running: true
+            loops: Animation.Infinite
+            easing.type: "Linear"
+            from: 0.0000; to: 2.0000;
+            duration: 2500
+        }
+    }
+
+    MouseArea {
+        anchors.fill: parent
+        onPressed: {
+            waveAnim.stop()
+            layer.waveOriginX = mouseX / main.width
+            layer.waveOriginY = mouseY / main.height
+            waveAnim.start()
+        }
+    }
+}
diff --git a/examples/declarative/shadereffects/qml/shadereffects/RadialWaveEffect.qml b/examples/declarative/shadereffects/qml/shadereffects/RadialWaveEffect.qml
new file mode 100644
index 0000000..82a15a8
--- /dev/null
+++ b/examples/declarative/shadereffects/qml/shadereffects/RadialWaveEffect.qml
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** 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:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.labs.shaders 1.0
+
+ShaderEffectItem {
+    id: effect
+
+    property real wave: 0.3
+    property real waveOriginX: 0.5
+    property real waveOriginY: 0.5
+    property real waveWidth: 0.01
+    property real aspectRatio: width/height
+    property variant source: 0
+
+    fragmentShader:
+        "
+        varying mediump vec2 qt_TexCoord0;
+        uniform sampler2D source;
+        uniform highp float wave;
+        uniform highp float waveWidth;
+        uniform highp float waveOriginX;
+        uniform highp float waveOriginY;
+        uniform highp float aspectRatio;
+
+        void main(void)
+        {
+        mediump vec2 texCoord2 = qt_TexCoord0;
+        mediump vec2 origin = vec2(waveOriginX, (1.0 - waveOriginY) / aspectRatio);
+
+        highp float fragmentDistance = distance(vec2(texCoord2.s, texCoord2.t / aspectRatio), origin);
+        highp float waveLength = waveWidth + fragmentDistance * 0.25;
+
+        if ( fragmentDistance > wave && fragmentDistance < wave + waveLength) {
+            highp float distanceFromWaveEdge = min(abs(wave - fragmentDistance), abs(wave + waveLength - fragmentDistance));
+            texCoord2 += sin(1.57075 * distanceFromWaveEdge / waveLength) * distanceFromWaveEdge * 0.08 / fragmentDistance;
+        }
+
+        gl_FragColor = texture2D(source, texCoord2.st);
+        }
+        "
+}
diff --git a/examples/declarative/shadereffects/qml/shadereffects/Water.qml b/examples/declarative/shadereffects/qml/shadereffects/Water.qml
new file mode 100644
index 0000000..8810161
--- /dev/null
+++ b/examples/declarative/shadereffects/qml/shadereffects/Water.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** 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:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.labs.shaders 1.0
+
+Item {
+    anchors.fill: parent
+
+    Image {
+        id: image
+        width: parent.width
+        height: parent.height * 0.65
+        source: "images/sky.jpg"
+        smooth: true
+    }
+    WaterEffect {
+        sourceItem: image
+        intensity: 5
+        height: parent.height - image.height
+    }
+}
diff --git a/examples/declarative/shadereffects/qml/shadereffects/WaterEffect.qml b/examples/declarative/shadereffects/qml/shadereffects/WaterEffect.qml
new file mode 100644
index 0000000..e2fee5c
--- /dev/null
+++ b/examples/declarative/shadereffects/qml/shadereffects/WaterEffect.qml
@@ -0,0 +1,126 @@
+/****************************************************************************
+**
+** 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:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.labs.shaders 1.0
+
+Item {
+    id: root
+    property alias sourceItem: effectsource.sourceItem
+    property real intensity: 1
+    property bool waving: true
+    anchors.top: sourceItem.bottom
+    width: sourceItem.width
+    height: sourceItem.height
+
+    ShaderEffectItem {
+        anchors.fill: parent
+        property variant source: effectsource
+        property real f: 0
+        property real f2: 0
+        property alias intensity: root.intensity
+        smooth: true
+
+        ShaderEffectSource {
+            id: effectsource
+            hideSource: false
+            smooth: true
+        }
+
+        fragmentShader:
+            "
+            varying highp vec2 qt_TexCoord0;
+            uniform sampler2D source;
+            uniform lowp float qt_Opacity;
+            uniform highp float f;
+            uniform highp float f2;
+            uniform highp float intensity;
+
+            void main() {
+                const highp float twopi = 3.141592653589 * 2.0;
+
+                highp float distanceFactorToPhase = pow(qt_TexCoord0.y + 0.5, 8.0) * 5.0;
+                highp float ofx = sin(f * twopi + distanceFactorToPhase) / 100.0;
+                highp float ofy = sin(f2 * twopi + distanceFactorToPhase * qt_TexCoord0.x) / 60.0;
+
+                highp float intensityDampingFactor = (qt_TexCoord0.x + 0.1) * (qt_TexCoord0.y + 0.2);
+                highp float distanceFactor = (1.0 - qt_TexCoord0.y) * 4.0 * intensity * intensityDampingFactor;
+
+                ofx *= distanceFactor;
+                ofy *= distanceFactor;
+
+                highp float x = qt_TexCoord0.x + ofx;
+                highp float y = 1.0 - qt_TexCoord0.y + ofy;
+
+                highp float fake = (sin((ofy + ofx) * twopi) + 0.5) * 0.05 * (1.2 - qt_TexCoord0.y) * intensity * intensityDampingFactor;
+
+                highp vec4 pix =
+                    texture2D(source, vec2(x, y)) * 0.6 +
+                    texture2D(source, vec2(x-fake, y)) * 0.15 +
+                    texture2D(source, vec2(x, y-fake)) * 0.15 +
+                    texture2D(source, vec2(x+fake, y)) * 0.15 +
+                    texture2D(source, vec2(x, y+fake)) * 0.15;
+
+                highp float darken = 0.6 - (ofx - ofy) / 2.0;
+                pix.b *= 1.2 * darken;
+                pix.r *= 0.9 * darken;
+                pix.g *= darken;
+
+                gl_FragColor = qt_Opacity * vec4(pix.r, pix.g, pix.b, 1.0);
+            }
+            "
+
+        NumberAnimation on f {
+            running: root.waving
+            loops: Animation.Infinite
+            from: 0
+            to: 1
+            duration: 2410
+        }
+        NumberAnimation on f2 {
+            running: root.waving
+            loops: Animation.Infinite
+            from: 0
+            to: 1
+            duration: 1754
+        }
+    }
+}
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/Curtain.jpg b/examples/declarative/shadereffects/qml/shadereffects/images/Curtain.jpg
new file mode 100644
index 0000000..40003cb
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/Curtain.jpg differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/DropShadow.jpg b/examples/declarative/shadereffects/qml/shadereffects/images/DropShadow.jpg
new file mode 100644
index 0000000..c1e693a
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/DropShadow.jpg differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/Grayscale.jpg b/examples/declarative/shadereffects/qml/shadereffects/images/Grayscale.jpg
new file mode 100644
index 0000000..c95cab4
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/Grayscale.jpg differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/ImageMask.jpg b/examples/declarative/shadereffects/qml/shadereffects/images/ImageMask.jpg
new file mode 100644
index 0000000..0da4c0d
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/ImageMask.jpg differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/RadialWave.jpg b/examples/declarative/shadereffects/qml/shadereffects/images/RadialWave.jpg
new file mode 100644
index 0000000..fc51efc
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/RadialWave.jpg differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/Water.jpg b/examples/declarative/shadereffects/qml/shadereffects/images/Water.jpg
new file mode 100644
index 0000000..38615c1
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/Water.jpg differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/back.png b/examples/declarative/shadereffects/qml/shadereffects/images/back.png
new file mode 100644
index 0000000..5dd3d22
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/back.png differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/bg.jpg b/examples/declarative/shadereffects/qml/shadereffects/images/bg.jpg
new file mode 100644
index 0000000..4d22143
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/bg.jpg differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/desaturate.jpg b/examples/declarative/shadereffects/qml/shadereffects/images/desaturate.jpg
new file mode 100644
index 0000000..e5e99bb
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/desaturate.jpg differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/drop_shadow.png b/examples/declarative/shadereffects/qml/shadereffects/images/drop_shadow.png
new file mode 100644
index 0000000..144c02d
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/drop_shadow.png differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/fabric.jpg b/examples/declarative/shadereffects/qml/shadereffects/images/fabric.jpg
new file mode 100644
index 0000000..ab65409
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/fabric.jpg differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/flower.png b/examples/declarative/shadereffects/qml/shadereffects/images/flower.png
new file mode 100644
index 0000000..144c02d
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/flower.png differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/image1.jpg b/examples/declarative/shadereffects/qml/shadereffects/images/image1.jpg
new file mode 100644
index 0000000..3442e77
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/image1.jpg differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/image2.jpg b/examples/declarative/shadereffects/qml/shadereffects/images/image2.jpg
new file mode 100644
index 0000000..23e5c5c
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/image2.jpg differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/qt-logo.png b/examples/declarative/shadereffects/qml/shadereffects/images/qt-logo.png
new file mode 100644
index 0000000..41a304b
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/qt-logo.png differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/shader_effects.jpg b/examples/declarative/shadereffects/qml/shadereffects/images/shader_effects.jpg
new file mode 100644
index 0000000..19e8a39
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/shader_effects.jpg differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/sky.jpg b/examples/declarative/shadereffects/qml/shadereffects/images/sky.jpg
new file mode 100644
index 0000000..8fc19ed
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/sky.jpg differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/toolbar.png b/examples/declarative/shadereffects/qml/shadereffects/images/toolbar.png
new file mode 100644
index 0000000..773e3ea
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/toolbar.png differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/images/wave.jpg b/examples/declarative/shadereffects/qml/shadereffects/images/wave.jpg
new file mode 100644
index 0000000..c8083bb
Binary files /dev/null and b/examples/declarative/shadereffects/qml/shadereffects/images/wave.jpg differ
diff --git a/examples/declarative/shadereffects/qml/shadereffects/main.qml b/examples/declarative/shadereffects/qml/shadereffects/main.qml
new file mode 100644
index 0000000..f38424a
--- /dev/null
+++ b/examples/declarative/shadereffects/qml/shadereffects/main.qml
@@ -0,0 +1,160 @@
+/****************************************************************************
+**
+** 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:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.labs.shaders 1.0
+
+Item {
+    id: main
+    width: 360
+    height: 640
+
+    Rectangle {
+        anchors.fill: parent
+        color: "black"
+    }
+
+    Image {
+        id: header
+        source: "images/shader_effects.jpg"
+    }
+
+    ListModel {
+        id: demoModel
+        ListElement { name: "ImageMask" }
+        ListElement { name: "RadialWave" }
+        ListElement { name: "Water" }
+        ListElement { name: "Grayscale" }
+        ListElement { name: "DropShadow" }
+        ListElement { name: "Curtain" }
+    }
+
+    Grid {
+        id: menuGrid
+        anchors.top: header.bottom
+        anchors.bottom: toolbar.top
+        width: parent.width
+        columns: 2
+        Repeater {
+            model: demoModel
+            Item {
+                width: main.width / 2
+                height: menuGrid.height / 3
+                clip: true
+                Image {
+                    width: parent.width
+                    height: width
+                    source: "images/" + name + ".jpg"
+                    opacity: mouseArea.pressed ? 0.6 : 1.0
+                }
+                MouseArea {
+                    id: mouseArea
+                    anchors.fill: parent
+                    onClicked: {
+                        demoLoader.source = name + ".qml"
+                        main.state = "showDemo"
+                    }
+                }
+            }
+        }
+    }
+
+    Loader {
+        anchors.fill: parent
+        id: demoLoader
+        visible: false
+        Behavior on opacity {
+            NumberAnimation { duration: 300 }
+        }
+    }
+
+    Image {
+        id: toolbar
+        source: "images/toolbar.png"
+        width: parent.width
+        anchors.bottom: parent.bottom
+    }
+
+    Rectangle {
+        id: translucentToolbar
+        color: "black"
+        opacity: 0.3
+        anchors.fill: toolbar
+        visible: !toolbar.visible
+    }
+
+    Item {
+        height: toolbar.height
+        width: height
+        anchors.bottom: parent.bottom
+
+        Image {
+            source: "images/back.png"
+            anchors.centerIn: parent
+        }
+
+        MouseArea {
+            anchors.fill: parent
+            onClicked: {
+                if (main.state == "") Qt.quit(); else {
+                    main.state = ""
+                    demoLoader.source = ""
+                }
+            }
+        }
+    }
+
+    states: State {
+        name: "showDemo"
+        PropertyChanges {
+            target: menuGrid
+            visible: false
+        }
+        PropertyChanges {
+            target: demoLoader
+            visible: true
+        }
+        PropertyChanges {
+            target: toolbar
+            visible: false
+        }
+    }
+}
diff --git a/examples/declarative/shadereffects/shadereffects.pro b/examples/declarative/shadereffects/shadereffects.pro
index 1107887..23a951c 100755
--- a/examples/declarative/shadereffects/shadereffects.pro
+++ b/examples/declarative/shadereffects/shadereffects.pro
@@ -1,21 +1,43 @@
-TEMPLATE = app
-TARGET = shadereffects
-DEPENDPATH += .
-INCLUDEPATH += .
+# Add more folders to ship with the application, here
+folder_01.source = qml/shadereffects
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE1CB8EBB
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
 QT += declarative opengl
 
-# Input
+# The .cpp file which was generated for your project. Feel free to hack it.
 SOURCES += main.cpp
 
 symbian {
     DEFINES += SHADEREFFECTS_USE_OPENGL_GRAPHICSSYSTEM
 }
 
-
-target.path = $$[QT_INSTALL_EXAMPLES]/declarative/shadereffects
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS shadereffects.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/shadereffects
-qmlfiles.files = qml
-qmlfiles.path = $$[QT_INSTALL_EXAMPLES]/declarative/shadereffects
-
-INSTALLS += target sources qmlfiles
+# Please do not modify the following two lines. Required for deployment.
+include(../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/shadereffects/shadereffects.qmlproject b/examples/declarative/shadereffects/shadereffects.qmlproject
new file mode 100644
index 0000000..112be81
--- /dev/null
+++ b/examples/declarative/shadereffects/shadereffects.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/shadereffects"
+    }
+    JavaScriptFiles {
+        directory: "qml/shadereffects"
+    }
+    ImageFiles {
+        directory: "qml/shadereffects"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
\ No newline at end of file
-- 
cgit v0.12


From c2febac381af588a6ed27c232220b924d7b5ca45 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:58 +0100
Subject: sqllocalstorage example modifications

Modified the example 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/sqllocalstorage/hello.qml     |  77 -----------------
 examples/declarative/sqllocalstorage/main.cpp      |  54 ++++++++++++
 .../sqllocalstorage/qml/sqllocalstorage/hello.qml  |  77 +++++++++++++++++
 .../sqllocalstorage/sqllocalstorage.desktop        |  11 +++
 .../sqllocalstorage/sqllocalstorage.pro            |  38 +++++++++
 .../sqllocalstorage/sqllocalstorage.qmlproject     |   6 +-
 .../sqllocalstorage/sqllocalstorage.svg            |  93 +++++++++++++++++++++
 .../sqllocalstorage/sqllocalstorage64.png          | Bin 0 -> 3400 bytes
 .../sqllocalstorage/sqllocalstorage80.png          | Bin 0 -> 4945 bytes
 .../sqllocalstorage_harmattan.desktop              |  11 +++
 10 files changed, 287 insertions(+), 80 deletions(-)
 delete mode 100644 examples/declarative/sqllocalstorage/hello.qml
 create mode 100644 examples/declarative/sqllocalstorage/main.cpp
 create mode 100644 examples/declarative/sqllocalstorage/qml/sqllocalstorage/hello.qml
 create mode 100644 examples/declarative/sqllocalstorage/sqllocalstorage.desktop
 create mode 100644 examples/declarative/sqllocalstorage/sqllocalstorage.pro
 create mode 100644 examples/declarative/sqllocalstorage/sqllocalstorage.svg
 create mode 100644 examples/declarative/sqllocalstorage/sqllocalstorage64.png
 create mode 100644 examples/declarative/sqllocalstorage/sqllocalstorage80.png
 create mode 100644 examples/declarative/sqllocalstorage/sqllocalstorage_harmattan.desktop

diff --git a/examples/declarative/sqllocalstorage/hello.qml b/examples/declarative/sqllocalstorage/hello.qml
deleted file mode 100644
index 489dd50..0000000
--- a/examples/declarative/sqllocalstorage/hello.qml
+++ /dev/null
@@ -1,77 +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$
-**
-****************************************************************************/
-//![0]
-import QtQuick 1.0
-
-Rectangle {
-    color: "white"
-    width: 200
-    height: 100
-    
-    Text {
-        text: "?"
-        anchors.horizontalCenter: parent.horizontalCenter
-        function findGreetings() {
-            var db = openDatabaseSync("QDeclarativeExampleDB", "1.0", "The Example QML SQL!", 1000000);
-
-            db.transaction(
-                function(tx) {
-                    // Create the database if it doesn't already exist
-                    tx.executeSql('CREATE TABLE IF NOT EXISTS Greeting(salutation TEXT, salutee TEXT)');
-
-                    // Add (another) greeting row
-                    tx.executeSql('INSERT INTO Greeting VALUES(?, ?)', [ 'hello', 'world' ]);
-
-                    // Show all added greetings
-                    var rs = tx.executeSql('SELECT * FROM Greeting');
-
-                    var r = ""
-                    for(var i = 0; i < rs.rows.length; i++) {
-                        r += rs.rows.item(i).salutation + ", " + rs.rows.item(i).salutee + "\n"
-                    }
-                    text = r
-                }
-            )
-        }
-
-        Component.onCompleted: findGreetings()
-    }
-}
-//![0]
diff --git a/examples/declarative/sqllocalstorage/main.cpp b/examples/declarative/sqllocalstorage/main.cpp
new file mode 100644
index 0000000..91d65be
--- /dev/null
+++ b/examples/declarative/sqllocalstorage/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include <QtGui/QApplication>
+#include "qmlapplicationviewer.h"
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/sqllocalstorage/hello.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/examples/declarative/sqllocalstorage/qml/sqllocalstorage/hello.qml b/examples/declarative/sqllocalstorage/qml/sqllocalstorage/hello.qml
new file mode 100644
index 0000000..489dd50
--- /dev/null
+++ b/examples/declarative/sqllocalstorage/qml/sqllocalstorage/hello.qml
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+//![0]
+import QtQuick 1.0
+
+Rectangle {
+    color: "white"
+    width: 200
+    height: 100
+    
+    Text {
+        text: "?"
+        anchors.horizontalCenter: parent.horizontalCenter
+        function findGreetings() {
+            var db = openDatabaseSync("QDeclarativeExampleDB", "1.0", "The Example QML SQL!", 1000000);
+
+            db.transaction(
+                function(tx) {
+                    // Create the database if it doesn't already exist
+                    tx.executeSql('CREATE TABLE IF NOT EXISTS Greeting(salutation TEXT, salutee TEXT)');
+
+                    // Add (another) greeting row
+                    tx.executeSql('INSERT INTO Greeting VALUES(?, ?)', [ 'hello', 'world' ]);
+
+                    // Show all added greetings
+                    var rs = tx.executeSql('SELECT * FROM Greeting');
+
+                    var r = ""
+                    for(var i = 0; i < rs.rows.length; i++) {
+                        r += rs.rows.item(i).salutation + ", " + rs.rows.item(i).salutee + "\n"
+                    }
+                    text = r
+                }
+            )
+        }
+
+        Component.onCompleted: findGreetings()
+    }
+}
+//![0]
diff --git a/examples/declarative/sqllocalstorage/sqllocalstorage.desktop b/examples/declarative/sqllocalstorage/sqllocalstorage.desktop
new file mode 100644
index 0000000..68022be
--- /dev/null
+++ b/examples/declarative/sqllocalstorage/sqllocalstorage.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=sqllocalstorage
+Exec=/opt/sqllocalstorage/bin/sqllocalstorage
+Icon=sqllocalstorage64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/sqllocalstorage/sqllocalstorage.pro b/examples/declarative/sqllocalstorage/sqllocalstorage.pro
new file mode 100644
index 0000000..de4a4e0
--- /dev/null
+++ b/examples/declarative/sqllocalstorage/sqllocalstorage.pro
@@ -0,0 +1,38 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/sqllocalstorage
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xEDAF6502
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/sqllocalstorage/sqllocalstorage.qmlproject b/examples/declarative/sqllocalstorage/sqllocalstorage.qmlproject
index d4909f8..c0acf68 100644
--- a/examples/declarative/sqllocalstorage/sqllocalstorage.qmlproject
+++ b/examples/declarative/sqllocalstorage/sqllocalstorage.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/sqllocalstorage"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/sqllocalstorage"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/sqllocalstorage"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/examples/declarative/sqllocalstorage/sqllocalstorage.svg b/examples/declarative/sqllocalstorage/sqllocalstorage.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/examples/declarative/sqllocalstorage/sqllocalstorage.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/examples/declarative/sqllocalstorage/sqllocalstorage64.png b/examples/declarative/sqllocalstorage/sqllocalstorage64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/examples/declarative/sqllocalstorage/sqllocalstorage64.png differ
diff --git a/examples/declarative/sqllocalstorage/sqllocalstorage80.png b/examples/declarative/sqllocalstorage/sqllocalstorage80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/examples/declarative/sqllocalstorage/sqllocalstorage80.png differ
diff --git a/examples/declarative/sqllocalstorage/sqllocalstorage_harmattan.desktop b/examples/declarative/sqllocalstorage/sqllocalstorage_harmattan.desktop
new file mode 100644
index 0000000..6d053cc
--- /dev/null
+++ b/examples/declarative/sqllocalstorage/sqllocalstorage_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=sqllocalstorage
+Exec=/usr/bin/single-instance /opt/sqllocalstorage/bin/sqllocalstorage
+Icon=/usr/share/icons/hicolor/80x80/apps/sqllocalstorage80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
-- 
cgit v0.12


From 028cf485fcb78396faf4c168d1134681403ad11a Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:49:59 +0100
Subject: text/ availableFonts, banner, fonts and hello example modifications

Modified examples 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/text/fonts/availableFonts.qml |  57 ------
 .../text/fonts/availableFonts/availableFonts.pro   |   4 +-
 .../fonts/availableFonts/availableFonts.qmlproject |  16 ++
 .../declarative/text/fonts/availableFonts/main.cpp |   2 +-
 .../fonts/availableFonts/qml/availableFonts.qml    |  57 ------
 .../qml/availableFonts/availableFonts.qml          |  57 ++++++
 .../availableFonts/qml/availableFonts/banner.qml   |  61 +++++++
 .../availableFonts/qml/availableFonts/fonts.qml    | 104 +++++++++++
 .../qml/availableFonts/fonts/tarzeau_ocr_a.ttf     | Bin 0 -> 24544 bytes
 .../availableFonts/qml/availableFonts/hello.qml    |  79 +++++++++
 .../text/fonts/availableFonts/qml/banner.qml       |  61 -------
 .../text/fonts/availableFonts/qml/fonts.qml        | 104 -----------
 .../text/fonts/availableFonts/qml/fonts.qmlproject |  16 --
 .../availableFonts/qml/fonts/tarzeau_ocr_a.ttf     | Bin 24544 -> 0 bytes
 .../text/fonts/availableFonts/qml/hello.qml        |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 examples/declarative/text/fonts/banner.qml         |  61 -------
 examples/declarative/text/fonts/banner/banner.pro  |   4 +-
 .../text/fonts/banner/banner.qmlproject            |  16 ++
 examples/declarative/text/fonts/banner/main.cpp    |   2 +-
 .../text/fonts/banner/qml/availableFonts.qml       |  57 ------
 .../declarative/text/fonts/banner/qml/banner.qml   |  61 -------
 .../fonts/banner/qml/banner/availableFonts.qml     |  57 ++++++
 .../text/fonts/banner/qml/banner/banner.qml        |  61 +++++++
 .../text/fonts/banner/qml/banner/fonts.qml         | 104 +++++++++++
 .../banner/qml/banner/fonts/tarzeau_ocr_a.ttf      | Bin 0 -> 24544 bytes
 .../text/fonts/banner/qml/banner/hello.qml         |  79 +++++++++
 .../declarative/text/fonts/banner/qml/fonts.qml    | 104 -----------
 .../text/fonts/banner/qml/fonts.qmlproject         |  16 --
 .../text/fonts/banner/qml/fonts/tarzeau_ocr_a.ttf  | Bin 24544 -> 0 bytes
 .../declarative/text/fonts/banner/qml/hello.qml    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 examples/declarative/text/fonts/fonts.qml          | 104 -----------
 examples/declarative/text/fonts/fonts.qmlproject   |  16 --
 examples/declarative/text/fonts/fonts/fonts.pro    |   4 +-
 .../declarative/text/fonts/fonts/fonts.qmlproject  |  16 ++
 examples/declarative/text/fonts/fonts/main.cpp     |   2 +-
 .../text/fonts/fonts/qml/availableFonts.qml        |  57 ------
 .../declarative/text/fonts/fonts/qml/banner.qml    |  61 -------
 .../fonts/fonts/qml/fonts-qml/availableFonts.qml   |  57 ++++++
 .../text/fonts/fonts/qml/fonts-qml/banner.qml      |  61 +++++++
 .../text/fonts/fonts/qml/fonts-qml/fonts.qml       | 104 +++++++++++
 .../fonts/qml/fonts-qml/fonts/tarzeau_ocr_a.ttf    | Bin 0 -> 24544 bytes
 .../text/fonts/fonts/qml/fonts-qml/hello.qml       |  79 +++++++++
 .../declarative/text/fonts/fonts/qml/fonts.qml     | 104 -----------
 .../text/fonts/fonts/qml/fonts.qmlproject          |  16 --
 .../text/fonts/fonts/qml/fonts/tarzeau_ocr_a.ttf   | Bin 24544 -> 0 bytes
 .../declarative/text/fonts/fonts/qml/hello.qml     |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 examples/declarative/text/fonts/hello.qml          |  79 ---------
 examples/declarative/text/fonts/hello/hello.pro    |   4 +-
 .../declarative/text/fonts/hello/hello.qmlproject  |  16 ++
 examples/declarative/text/fonts/hello/main.cpp     |   2 +-
 .../text/fonts/hello/qml/availableFonts.qml        |  57 ------
 .../declarative/text/fonts/hello/qml/banner.qml    |  61 -------
 .../declarative/text/fonts/hello/qml/fonts.qml     | 104 -----------
 .../text/fonts/hello/qml/fonts.qmlproject          |  16 --
 .../text/fonts/hello/qml/fonts/tarzeau_ocr_a.ttf   | Bin 24544 -> 0 bytes
 .../declarative/text/fonts/hello/qml/hello.qml     |  79 ---------
 .../text/fonts/hello/qml/hello/availableFonts.qml  |  57 ++++++
 .../text/fonts/hello/qml/hello/banner.qml          |  61 +++++++
 .../text/fonts/hello/qml/hello/fonts.qml           | 104 +++++++++++
 .../fonts/hello/qml/hello/fonts/tarzeau_ocr_a.ttf  | Bin 0 -> 24544 bytes
 .../text/fonts/hello/qml/hello/hello.qml           |  79 +++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 73 files changed, 1280 insertions(+), 3317 deletions(-)
 delete mode 100644 examples/declarative/text/fonts/availableFonts.qml
 create mode 100644 examples/declarative/text/fonts/availableFonts/availableFonts.qmlproject
 delete mode 100644 examples/declarative/text/fonts/availableFonts/qml/availableFonts.qml
 create mode 100644 examples/declarative/text/fonts/availableFonts/qml/availableFonts/availableFonts.qml
 create mode 100644 examples/declarative/text/fonts/availableFonts/qml/availableFonts/banner.qml
 create mode 100644 examples/declarative/text/fonts/availableFonts/qml/availableFonts/fonts.qml
 create mode 100644 examples/declarative/text/fonts/availableFonts/qml/availableFonts/fonts/tarzeau_ocr_a.ttf
 create mode 100644 examples/declarative/text/fonts/availableFonts/qml/availableFonts/hello.qml
 delete mode 100644 examples/declarative/text/fonts/availableFonts/qml/banner.qml
 delete mode 100644 examples/declarative/text/fonts/availableFonts/qml/fonts.qml
 delete mode 100644 examples/declarative/text/fonts/availableFonts/qml/fonts.qmlproject
 delete mode 100644 examples/declarative/text/fonts/availableFonts/qml/fonts/tarzeau_ocr_a.ttf
 delete mode 100644 examples/declarative/text/fonts/availableFonts/qml/hello.qml
 delete mode 100644 examples/declarative/text/fonts/availableFonts/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/text/fonts/availableFonts/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/text/fonts/availableFonts/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/text/fonts/banner.qml
 create mode 100644 examples/declarative/text/fonts/banner/banner.qmlproject
 delete mode 100644 examples/declarative/text/fonts/banner/qml/availableFonts.qml
 delete mode 100644 examples/declarative/text/fonts/banner/qml/banner.qml
 create mode 100644 examples/declarative/text/fonts/banner/qml/banner/availableFonts.qml
 create mode 100644 examples/declarative/text/fonts/banner/qml/banner/banner.qml
 create mode 100644 examples/declarative/text/fonts/banner/qml/banner/fonts.qml
 create mode 100644 examples/declarative/text/fonts/banner/qml/banner/fonts/tarzeau_ocr_a.ttf
 create mode 100644 examples/declarative/text/fonts/banner/qml/banner/hello.qml
 delete mode 100644 examples/declarative/text/fonts/banner/qml/fonts.qml
 delete mode 100644 examples/declarative/text/fonts/banner/qml/fonts.qmlproject
 delete mode 100644 examples/declarative/text/fonts/banner/qml/fonts/tarzeau_ocr_a.ttf
 delete mode 100644 examples/declarative/text/fonts/banner/qml/hello.qml
 delete mode 100644 examples/declarative/text/fonts/banner/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/text/fonts/banner/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/text/fonts/banner/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/text/fonts/fonts.qml
 delete mode 100644 examples/declarative/text/fonts/fonts.qmlproject
 create mode 100644 examples/declarative/text/fonts/fonts/fonts.qmlproject
 delete mode 100644 examples/declarative/text/fonts/fonts/qml/availableFonts.qml
 delete mode 100644 examples/declarative/text/fonts/fonts/qml/banner.qml
 create mode 100644 examples/declarative/text/fonts/fonts/qml/fonts-qml/availableFonts.qml
 create mode 100644 examples/declarative/text/fonts/fonts/qml/fonts-qml/banner.qml
 create mode 100644 examples/declarative/text/fonts/fonts/qml/fonts-qml/fonts.qml
 create mode 100644 examples/declarative/text/fonts/fonts/qml/fonts-qml/fonts/tarzeau_ocr_a.ttf
 create mode 100644 examples/declarative/text/fonts/fonts/qml/fonts-qml/hello.qml
 delete mode 100644 examples/declarative/text/fonts/fonts/qml/fonts.qml
 delete mode 100644 examples/declarative/text/fonts/fonts/qml/fonts.qmlproject
 delete mode 100644 examples/declarative/text/fonts/fonts/qml/fonts/tarzeau_ocr_a.ttf
 delete mode 100644 examples/declarative/text/fonts/fonts/qml/hello.qml
 delete mode 100644 examples/declarative/text/fonts/fonts/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/text/fonts/fonts/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/text/fonts/fonts/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/text/fonts/hello.qml
 create mode 100644 examples/declarative/text/fonts/hello/hello.qmlproject
 delete mode 100644 examples/declarative/text/fonts/hello/qml/availableFonts.qml
 delete mode 100644 examples/declarative/text/fonts/hello/qml/banner.qml
 delete mode 100644 examples/declarative/text/fonts/hello/qml/fonts.qml
 delete mode 100644 examples/declarative/text/fonts/hello/qml/fonts.qmlproject
 delete mode 100644 examples/declarative/text/fonts/hello/qml/fonts/tarzeau_ocr_a.ttf
 delete mode 100644 examples/declarative/text/fonts/hello/qml/hello.qml
 create mode 100644 examples/declarative/text/fonts/hello/qml/hello/availableFonts.qml
 create mode 100644 examples/declarative/text/fonts/hello/qml/hello/banner.qml
 create mode 100644 examples/declarative/text/fonts/hello/qml/hello/fonts.qml
 create mode 100644 examples/declarative/text/fonts/hello/qml/hello/fonts/tarzeau_ocr_a.ttf
 create mode 100644 examples/declarative/text/fonts/hello/qml/hello/hello.qml
 delete mode 100644 examples/declarative/text/fonts/hello/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/text/fonts/hello/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/text/fonts/hello/qmlapplicationviewer/qmlapplicationviewer.pri

diff --git a/examples/declarative/text/fonts/availableFonts.qml b/examples/declarative/text/fonts/availableFonts.qml
deleted file mode 100644
index 58073ac..0000000
--- a/examples/declarative/text/fonts/availableFonts.qml
+++ /dev/null
@@ -1,57 +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 {
-    width: 480; height: 640; color: "steelblue"
-
-    ListView {
-        anchors.fill: parent; model: Qt.fontFamilies()
-
-        delegate: Item {
-            height: 40; width: ListView.view.width
-            Text {
-                anchors.centerIn: parent
-                text: modelData; font.family: modelData; font.pixelSize: 24; color: "white"
-            }
-        }
-    }
-}
diff --git a/examples/declarative/text/fonts/availableFonts/availableFonts.pro b/examples/declarative/text/fonts/availableFonts/availableFonts.pro
index 75753e0..38548af 100644
--- a/examples/declarative/text/fonts/availableFonts/availableFonts.pro
+++ b/examples/declarative/text/fonts/availableFonts/availableFonts.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/availableFonts
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE696D9F7
 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/text/fonts/availableFonts/availableFonts.qmlproject b/examples/declarative/text/fonts/availableFonts/availableFonts.qmlproject
new file mode 100644
index 0000000..e52f9a8
--- /dev/null
+++ b/examples/declarative/text/fonts/availableFonts/availableFonts.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/availableFonts"
+    }
+    JavaScriptFiles {
+        directory: "qml/availableFonts"
+    }
+    ImageFiles {
+        directory: "qml/availableFonts"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/text/fonts/availableFonts/main.cpp b/examples/declarative/text/fonts/availableFonts/main.cpp
index 2ae3bd6..cd32a06 100644
--- a/examples/declarative/text/fonts/availableFonts/main.cpp
+++ b/examples/declarative/text/fonts/availableFonts/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/availableFonts.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/availableFonts/availableFonts.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/text/fonts/availableFonts/qml/availableFonts.qml b/examples/declarative/text/fonts/availableFonts/qml/availableFonts.qml
deleted file mode 100644
index 4966a41..0000000
--- a/examples/declarative/text/fonts/availableFonts/qml/availableFonts.qml
+++ /dev/null
@@ -1,57 +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 {
-    width: 480; height: 640; color: "steelblue"
-
-    ListView {
-        anchors.fill: parent; model: Qt.fontFamilies()
-
-        delegate: Item {
-            height: 40; width: ListView.view.width
-            Text {
-                anchors.centerIn: parent
-                text: modelData; font.family: modelData; font.pixelSize: 24; color: "white"
-            }
-        }
-    }
-}
diff --git a/examples/declarative/text/fonts/availableFonts/qml/availableFonts/availableFonts.qml b/examples/declarative/text/fonts/availableFonts/qml/availableFonts/availableFonts.qml
new file mode 100644
index 0000000..4966a41
--- /dev/null
+++ b/examples/declarative/text/fonts/availableFonts/qml/availableFonts/availableFonts.qml
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** 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 {
+    width: 480; height: 640; color: "steelblue"
+
+    ListView {
+        anchors.fill: parent; model: Qt.fontFamilies()
+
+        delegate: Item {
+            height: 40; width: ListView.view.width
+            Text {
+                anchors.centerIn: parent
+                text: modelData; font.family: modelData; font.pixelSize: 24; color: "white"
+            }
+        }
+    }
+}
diff --git a/examples/declarative/text/fonts/availableFonts/qml/availableFonts/banner.qml b/examples/declarative/text/fonts/availableFonts/qml/availableFonts/banner.qml
new file mode 100644
index 0000000..d722468
--- /dev/null
+++ b/examples/declarative/text/fonts/availableFonts/qml/availableFonts/banner.qml
@@ -0,0 +1,61 @@
+/****************************************************************************
+**
+** 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: screen
+
+    property int pixelSize: screen.height * 1.25
+    property color textColor: "lightsteelblue"
+    property string text: "Hello world! "
+
+    width: 640; height: 320
+    color: "steelblue"
+
+    Row {
+        y: -screen.height / 4.5
+
+        NumberAnimation on x { from: 0; to: -text.width; duration: 6000; loops: Animation.Infinite }
+        Text { id: text; font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
+        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
+        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
+    }
+}
diff --git a/examples/declarative/text/fonts/availableFonts/qml/availableFonts/fonts.qml b/examples/declarative/text/fonts/availableFonts/qml/availableFonts/fonts.qml
new file mode 100644
index 0000000..ae48f24
--- /dev/null
+++ b/examples/declarative/text/fonts/availableFonts/qml/availableFonts/fonts.qml
@@ -0,0 +1,104 @@
+/****************************************************************************
+**
+** 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 {
+    property string myText: "The quick brown fox jumps over the lazy dog."
+
+    width: 800; height: 480
+    color: "steelblue"
+
+    FontLoader { id: fixedFont; name: "Courier" }
+    FontLoader { id: localFont; source: "fonts/tarzeau_ocr_a.ttf" }
+    FontLoader { id: webFont; source: "http://www.princexml.com/fonts/steffmann/Starburst.ttf" }
+
+    Column {
+        anchors { fill: parent; leftMargin: 10; rightMargin: 10 }
+        spacing: 15
+
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideRight
+            font.family: "Times"; font.pointSize: 42
+        }
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideLeft
+            font { family: "Times"; pointSize: 42; capitalization: Font.AllUppercase }
+        }
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideMiddle
+            font { family: fixedFont.name; pointSize: 42; weight: Font.Bold; capitalization: Font.AllLowercase }
+        }
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideRight
+            font { family: fixedFont.name; pointSize: 42; italic: true; capitalization: Font.SmallCaps }
+        }
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideLeft
+            font { family: localFont.name; pointSize: 42; capitalization: Font.Capitalize }
+        }
+        Text {
+            text: {
+                if (webFont.status == FontLoader.Ready) myText
+                else if (webFont.status == FontLoader.Loading) "Loading..."
+                else if (webFont.status == FontLoader.Error) "Error loading font"
+            }
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideMiddle
+            font.family: webFont.name; font.pointSize: 42
+        }
+    }
+}
diff --git a/examples/declarative/text/fonts/availableFonts/qml/availableFonts/fonts/tarzeau_ocr_a.ttf b/examples/declarative/text/fonts/availableFonts/qml/availableFonts/fonts/tarzeau_ocr_a.ttf
new file mode 100644
index 0000000..cf93f96
Binary files /dev/null and b/examples/declarative/text/fonts/availableFonts/qml/availableFonts/fonts/tarzeau_ocr_a.ttf differ
diff --git a/examples/declarative/text/fonts/availableFonts/qml/availableFonts/hello.qml b/examples/declarative/text/fonts/availableFonts/qml/availableFonts/hello.qml
new file mode 100644
index 0000000..3aaf0fe
--- /dev/null
+++ b/examples/declarative/text/fonts/availableFonts/qml/availableFonts/hello.qml
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** 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: screen
+
+    width: 800; height: 480
+    color: "black"
+
+    Item {
+        id: container
+        x: screen.width / 2; y: screen.height / 2
+
+        Text {
+            id: text
+            anchors.centerIn: parent
+            color: "white"
+            text: "Hello world!"
+            font.pixelSize: 60
+            smooth: true
+
+            SequentialAnimation on font.letterSpacing {
+                loops: Animation.Infinite;
+                NumberAnimation { from: 0; to: 150; easing.type: Easing.InQuad; duration: 3000 }
+                ScriptAction {
+                    script: {
+                        container.y = (screen.height / 4) + (Math.random() * screen.height / 2)
+                        container.x = (screen.width / 4) + (Math.random() * screen.width / 2)
+                    }
+                }
+            }
+
+            SequentialAnimation on opacity {
+                loops: Animation.Infinite;
+                NumberAnimation { from: 1; to: 0; duration: 2600 }
+                PauseAnimation { duration: 400 }
+            }
+        }
+    }
+}
diff --git a/examples/declarative/text/fonts/availableFonts/qml/banner.qml b/examples/declarative/text/fonts/availableFonts/qml/banner.qml
deleted file mode 100644
index d722468..0000000
--- a/examples/declarative/text/fonts/availableFonts/qml/banner.qml
+++ /dev/null
@@ -1,61 +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: screen
-
-    property int pixelSize: screen.height * 1.25
-    property color textColor: "lightsteelblue"
-    property string text: "Hello world! "
-
-    width: 640; height: 320
-    color: "steelblue"
-
-    Row {
-        y: -screen.height / 4.5
-
-        NumberAnimation on x { from: 0; to: -text.width; duration: 6000; loops: Animation.Infinite }
-        Text { id: text; font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
-        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
-        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
-    }
-}
diff --git a/examples/declarative/text/fonts/availableFonts/qml/fonts.qml b/examples/declarative/text/fonts/availableFonts/qml/fonts.qml
deleted file mode 100644
index ae48f24..0000000
--- a/examples/declarative/text/fonts/availableFonts/qml/fonts.qml
+++ /dev/null
@@ -1,104 +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 {
-    property string myText: "The quick brown fox jumps over the lazy dog."
-
-    width: 800; height: 480
-    color: "steelblue"
-
-    FontLoader { id: fixedFont; name: "Courier" }
-    FontLoader { id: localFont; source: "fonts/tarzeau_ocr_a.ttf" }
-    FontLoader { id: webFont; source: "http://www.princexml.com/fonts/steffmann/Starburst.ttf" }
-
-    Column {
-        anchors { fill: parent; leftMargin: 10; rightMargin: 10 }
-        spacing: 15
-
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideRight
-            font.family: "Times"; font.pointSize: 42
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideLeft
-            font { family: "Times"; pointSize: 42; capitalization: Font.AllUppercase }
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideMiddle
-            font { family: fixedFont.name; pointSize: 42; weight: Font.Bold; capitalization: Font.AllLowercase }
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideRight
-            font { family: fixedFont.name; pointSize: 42; italic: true; capitalization: Font.SmallCaps }
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideLeft
-            font { family: localFont.name; pointSize: 42; capitalization: Font.Capitalize }
-        }
-        Text {
-            text: {
-                if (webFont.status == FontLoader.Ready) myText
-                else if (webFont.status == FontLoader.Loading) "Loading..."
-                else if (webFont.status == FontLoader.Error) "Error loading font"
-            }
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideMiddle
-            font.family: webFont.name; font.pointSize: 42
-        }
-    }
-}
diff --git a/examples/declarative/text/fonts/availableFonts/qml/fonts.qmlproject b/examples/declarative/text/fonts/availableFonts/qml/fonts.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/text/fonts/availableFonts/qml/fonts.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/text/fonts/availableFonts/qml/fonts/tarzeau_ocr_a.ttf b/examples/declarative/text/fonts/availableFonts/qml/fonts/tarzeau_ocr_a.ttf
deleted file mode 100644
index cf93f96..0000000
Binary files a/examples/declarative/text/fonts/availableFonts/qml/fonts/tarzeau_ocr_a.ttf and /dev/null differ
diff --git a/examples/declarative/text/fonts/availableFonts/qml/hello.qml b/examples/declarative/text/fonts/availableFonts/qml/hello.qml
deleted file mode 100644
index 3aaf0fe..0000000
--- a/examples/declarative/text/fonts/availableFonts/qml/hello.qml
+++ /dev/null
@@ -1,79 +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: screen
-
-    width: 800; height: 480
-    color: "black"
-
-    Item {
-        id: container
-        x: screen.width / 2; y: screen.height / 2
-
-        Text {
-            id: text
-            anchors.centerIn: parent
-            color: "white"
-            text: "Hello world!"
-            font.pixelSize: 60
-            smooth: true
-
-            SequentialAnimation on font.letterSpacing {
-                loops: Animation.Infinite;
-                NumberAnimation { from: 0; to: 150; easing.type: Easing.InQuad; duration: 3000 }
-                ScriptAction {
-                    script: {
-                        container.y = (screen.height / 4) + (Math.random() * screen.height / 2)
-                        container.x = (screen.width / 4) + (Math.random() * screen.width / 2)
-                    }
-                }
-            }
-
-            SequentialAnimation on opacity {
-                loops: Animation.Infinite;
-                NumberAnimation { from: 1; to: 0; duration: 2600 }
-                PauseAnimation { duration: 400 }
-            }
-        }
-    }
-}
diff --git a/examples/declarative/text/fonts/availableFonts/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/text/fonts/availableFonts/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/text/fonts/availableFonts/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/text/fonts/availableFonts/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/text/fonts/availableFonts/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/text/fonts/availableFonts/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/text/fonts/availableFonts/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/text/fonts/availableFonts/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/text/fonts/availableFonts/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/text/fonts/banner.qml b/examples/declarative/text/fonts/banner.qml
deleted file mode 100644
index 7d5ce2e..0000000
--- a/examples/declarative/text/fonts/banner.qml
+++ /dev/null
@@ -1,61 +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: screen
-
-    property int pixelSize: screen.height * 1.25
-    property color textColor: "lightsteelblue"
-    property string text: "Hello world! "
-
-    width: 640; height: 320
-    color: "steelblue"
-
-    Row {
-        y: -screen.height / 4.5
-
-        NumberAnimation on x { from: 0; to: -text.width; duration: 6000; loops: Animation.Infinite }
-        Text { id: text; font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
-        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
-        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
-    }
-}
diff --git a/examples/declarative/text/fonts/banner/banner.pro b/examples/declarative/text/fonts/banner/banner.pro
index 8f4279c..71e4ab9 100644
--- a/examples/declarative/text/fonts/banner/banner.pro
+++ b/examples/declarative/text/fonts/banner/banner.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/banner
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEBAA8CBE
 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/text/fonts/banner/banner.qmlproject b/examples/declarative/text/fonts/banner/banner.qmlproject
new file mode 100644
index 0000000..6c3e35a8
--- /dev/null
+++ b/examples/declarative/text/fonts/banner/banner.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/banner"
+    }
+    JavaScriptFiles {
+        directory: "qml/banner"
+    }
+    ImageFiles {
+        directory: "qml/banner"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/text/fonts/banner/main.cpp b/examples/declarative/text/fonts/banner/main.cpp
index a61e272..1f5e764 100644
--- a/examples/declarative/text/fonts/banner/main.cpp
+++ b/examples/declarative/text/fonts/banner/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/banner.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/banner/banner.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/text/fonts/banner/qml/availableFonts.qml b/examples/declarative/text/fonts/banner/qml/availableFonts.qml
deleted file mode 100644
index 4966a41..0000000
--- a/examples/declarative/text/fonts/banner/qml/availableFonts.qml
+++ /dev/null
@@ -1,57 +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 {
-    width: 480; height: 640; color: "steelblue"
-
-    ListView {
-        anchors.fill: parent; model: Qt.fontFamilies()
-
-        delegate: Item {
-            height: 40; width: ListView.view.width
-            Text {
-                anchors.centerIn: parent
-                text: modelData; font.family: modelData; font.pixelSize: 24; color: "white"
-            }
-        }
-    }
-}
diff --git a/examples/declarative/text/fonts/banner/qml/banner.qml b/examples/declarative/text/fonts/banner/qml/banner.qml
deleted file mode 100644
index d722468..0000000
--- a/examples/declarative/text/fonts/banner/qml/banner.qml
+++ /dev/null
@@ -1,61 +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: screen
-
-    property int pixelSize: screen.height * 1.25
-    property color textColor: "lightsteelblue"
-    property string text: "Hello world! "
-
-    width: 640; height: 320
-    color: "steelblue"
-
-    Row {
-        y: -screen.height / 4.5
-
-        NumberAnimation on x { from: 0; to: -text.width; duration: 6000; loops: Animation.Infinite }
-        Text { id: text; font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
-        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
-        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
-    }
-}
diff --git a/examples/declarative/text/fonts/banner/qml/banner/availableFonts.qml b/examples/declarative/text/fonts/banner/qml/banner/availableFonts.qml
new file mode 100644
index 0000000..4966a41
--- /dev/null
+++ b/examples/declarative/text/fonts/banner/qml/banner/availableFonts.qml
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** 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 {
+    width: 480; height: 640; color: "steelblue"
+
+    ListView {
+        anchors.fill: parent; model: Qt.fontFamilies()
+
+        delegate: Item {
+            height: 40; width: ListView.view.width
+            Text {
+                anchors.centerIn: parent
+                text: modelData; font.family: modelData; font.pixelSize: 24; color: "white"
+            }
+        }
+    }
+}
diff --git a/examples/declarative/text/fonts/banner/qml/banner/banner.qml b/examples/declarative/text/fonts/banner/qml/banner/banner.qml
new file mode 100644
index 0000000..d722468
--- /dev/null
+++ b/examples/declarative/text/fonts/banner/qml/banner/banner.qml
@@ -0,0 +1,61 @@
+/****************************************************************************
+**
+** 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: screen
+
+    property int pixelSize: screen.height * 1.25
+    property color textColor: "lightsteelblue"
+    property string text: "Hello world! "
+
+    width: 640; height: 320
+    color: "steelblue"
+
+    Row {
+        y: -screen.height / 4.5
+
+        NumberAnimation on x { from: 0; to: -text.width; duration: 6000; loops: Animation.Infinite }
+        Text { id: text; font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
+        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
+        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
+    }
+}
diff --git a/examples/declarative/text/fonts/banner/qml/banner/fonts.qml b/examples/declarative/text/fonts/banner/qml/banner/fonts.qml
new file mode 100644
index 0000000..ae48f24
--- /dev/null
+++ b/examples/declarative/text/fonts/banner/qml/banner/fonts.qml
@@ -0,0 +1,104 @@
+/****************************************************************************
+**
+** 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 {
+    property string myText: "The quick brown fox jumps over the lazy dog."
+
+    width: 800; height: 480
+    color: "steelblue"
+
+    FontLoader { id: fixedFont; name: "Courier" }
+    FontLoader { id: localFont; source: "fonts/tarzeau_ocr_a.ttf" }
+    FontLoader { id: webFont; source: "http://www.princexml.com/fonts/steffmann/Starburst.ttf" }
+
+    Column {
+        anchors { fill: parent; leftMargin: 10; rightMargin: 10 }
+        spacing: 15
+
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideRight
+            font.family: "Times"; font.pointSize: 42
+        }
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideLeft
+            font { family: "Times"; pointSize: 42; capitalization: Font.AllUppercase }
+        }
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideMiddle
+            font { family: fixedFont.name; pointSize: 42; weight: Font.Bold; capitalization: Font.AllLowercase }
+        }
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideRight
+            font { family: fixedFont.name; pointSize: 42; italic: true; capitalization: Font.SmallCaps }
+        }
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideLeft
+            font { family: localFont.name; pointSize: 42; capitalization: Font.Capitalize }
+        }
+        Text {
+            text: {
+                if (webFont.status == FontLoader.Ready) myText
+                else if (webFont.status == FontLoader.Loading) "Loading..."
+                else if (webFont.status == FontLoader.Error) "Error loading font"
+            }
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideMiddle
+            font.family: webFont.name; font.pointSize: 42
+        }
+    }
+}
diff --git a/examples/declarative/text/fonts/banner/qml/banner/fonts/tarzeau_ocr_a.ttf b/examples/declarative/text/fonts/banner/qml/banner/fonts/tarzeau_ocr_a.ttf
new file mode 100644
index 0000000..cf93f96
Binary files /dev/null and b/examples/declarative/text/fonts/banner/qml/banner/fonts/tarzeau_ocr_a.ttf differ
diff --git a/examples/declarative/text/fonts/banner/qml/banner/hello.qml b/examples/declarative/text/fonts/banner/qml/banner/hello.qml
new file mode 100644
index 0000000..3aaf0fe
--- /dev/null
+++ b/examples/declarative/text/fonts/banner/qml/banner/hello.qml
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** 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: screen
+
+    width: 800; height: 480
+    color: "black"
+
+    Item {
+        id: container
+        x: screen.width / 2; y: screen.height / 2
+
+        Text {
+            id: text
+            anchors.centerIn: parent
+            color: "white"
+            text: "Hello world!"
+            font.pixelSize: 60
+            smooth: true
+
+            SequentialAnimation on font.letterSpacing {
+                loops: Animation.Infinite;
+                NumberAnimation { from: 0; to: 150; easing.type: Easing.InQuad; duration: 3000 }
+                ScriptAction {
+                    script: {
+                        container.y = (screen.height / 4) + (Math.random() * screen.height / 2)
+                        container.x = (screen.width / 4) + (Math.random() * screen.width / 2)
+                    }
+                }
+            }
+
+            SequentialAnimation on opacity {
+                loops: Animation.Infinite;
+                NumberAnimation { from: 1; to: 0; duration: 2600 }
+                PauseAnimation { duration: 400 }
+            }
+        }
+    }
+}
diff --git a/examples/declarative/text/fonts/banner/qml/fonts.qml b/examples/declarative/text/fonts/banner/qml/fonts.qml
deleted file mode 100644
index ae48f24..0000000
--- a/examples/declarative/text/fonts/banner/qml/fonts.qml
+++ /dev/null
@@ -1,104 +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 {
-    property string myText: "The quick brown fox jumps over the lazy dog."
-
-    width: 800; height: 480
-    color: "steelblue"
-
-    FontLoader { id: fixedFont; name: "Courier" }
-    FontLoader { id: localFont; source: "fonts/tarzeau_ocr_a.ttf" }
-    FontLoader { id: webFont; source: "http://www.princexml.com/fonts/steffmann/Starburst.ttf" }
-
-    Column {
-        anchors { fill: parent; leftMargin: 10; rightMargin: 10 }
-        spacing: 15
-
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideRight
-            font.family: "Times"; font.pointSize: 42
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideLeft
-            font { family: "Times"; pointSize: 42; capitalization: Font.AllUppercase }
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideMiddle
-            font { family: fixedFont.name; pointSize: 42; weight: Font.Bold; capitalization: Font.AllLowercase }
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideRight
-            font { family: fixedFont.name; pointSize: 42; italic: true; capitalization: Font.SmallCaps }
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideLeft
-            font { family: localFont.name; pointSize: 42; capitalization: Font.Capitalize }
-        }
-        Text {
-            text: {
-                if (webFont.status == FontLoader.Ready) myText
-                else if (webFont.status == FontLoader.Loading) "Loading..."
-                else if (webFont.status == FontLoader.Error) "Error loading font"
-            }
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideMiddle
-            font.family: webFont.name; font.pointSize: 42
-        }
-    }
-}
diff --git a/examples/declarative/text/fonts/banner/qml/fonts.qmlproject b/examples/declarative/text/fonts/banner/qml/fonts.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/text/fonts/banner/qml/fonts.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/text/fonts/banner/qml/fonts/tarzeau_ocr_a.ttf b/examples/declarative/text/fonts/banner/qml/fonts/tarzeau_ocr_a.ttf
deleted file mode 100644
index cf93f96..0000000
Binary files a/examples/declarative/text/fonts/banner/qml/fonts/tarzeau_ocr_a.ttf and /dev/null differ
diff --git a/examples/declarative/text/fonts/banner/qml/hello.qml b/examples/declarative/text/fonts/banner/qml/hello.qml
deleted file mode 100644
index 3aaf0fe..0000000
--- a/examples/declarative/text/fonts/banner/qml/hello.qml
+++ /dev/null
@@ -1,79 +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: screen
-
-    width: 800; height: 480
-    color: "black"
-
-    Item {
-        id: container
-        x: screen.width / 2; y: screen.height / 2
-
-        Text {
-            id: text
-            anchors.centerIn: parent
-            color: "white"
-            text: "Hello world!"
-            font.pixelSize: 60
-            smooth: true
-
-            SequentialAnimation on font.letterSpacing {
-                loops: Animation.Infinite;
-                NumberAnimation { from: 0; to: 150; easing.type: Easing.InQuad; duration: 3000 }
-                ScriptAction {
-                    script: {
-                        container.y = (screen.height / 4) + (Math.random() * screen.height / 2)
-                        container.x = (screen.width / 4) + (Math.random() * screen.width / 2)
-                    }
-                }
-            }
-
-            SequentialAnimation on opacity {
-                loops: Animation.Infinite;
-                NumberAnimation { from: 1; to: 0; duration: 2600 }
-                PauseAnimation { duration: 400 }
-            }
-        }
-    }
-}
diff --git a/examples/declarative/text/fonts/banner/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/text/fonts/banner/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/text/fonts/banner/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/text/fonts/banner/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/text/fonts/banner/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/text/fonts/banner/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/text/fonts/banner/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/text/fonts/banner/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/text/fonts/banner/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/text/fonts/fonts.qml b/examples/declarative/text/fonts/fonts.qml
deleted file mode 100644
index 8dd6b19..0000000
--- a/examples/declarative/text/fonts/fonts.qml
+++ /dev/null
@@ -1,104 +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 {
-    property string myText: "The quick brown fox jumps over the lazy dog."
-
-    width: 800; height: 480
-    color: "steelblue"
-
-    FontLoader { id: fixedFont; name: "Courier" }
-    FontLoader { id: localFont; source: "fonts/tarzeau_ocr_a.ttf" }
-    FontLoader { id: webFont; source: "http://www.princexml.com/fonts/steffmann/Starburst.ttf" }
-
-    Column {
-        anchors { fill: parent; leftMargin: 10; rightMargin: 10 }
-        spacing: 15
-
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideRight
-            font.family: "Times"; font.pointSize: 42
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideLeft
-            font { family: "Times"; pointSize: 42; capitalization: Font.AllUppercase }
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideMiddle
-            font { family: fixedFont.name; pointSize: 42; weight: Font.Bold; capitalization: Font.AllLowercase }
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideRight
-            font { family: fixedFont.name; pointSize: 42; italic: true; capitalization: Font.SmallCaps }
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideLeft
-            font { family: localFont.name; pointSize: 42; capitalization: Font.Capitalize }
-        }
-        Text {
-            text: {
-                if (webFont.status == FontLoader.Ready) myText
-                else if (webFont.status == FontLoader.Loading) "Loading..."
-                else if (webFont.status == FontLoader.Error) "Error loading font"
-            }
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideMiddle
-            font.family: webFont.name; font.pointSize: 42
-        }
-    }
-}
diff --git a/examples/declarative/text/fonts/fonts.qmlproject b/examples/declarative/text/fonts/fonts.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/text/fonts/fonts.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/text/fonts/fonts/fonts.pro b/examples/declarative/text/fonts/fonts/fonts.pro
index a7342f0..5d7c691 100644
--- a/examples/declarative/text/fonts/fonts/fonts.pro
+++ b/examples/declarative/text/fonts/fonts/fonts.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/fonts-qml
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE4CA52B6
 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/text/fonts/fonts/fonts.qmlproject b/examples/declarative/text/fonts/fonts/fonts.qmlproject
new file mode 100644
index 0000000..2cc326b
--- /dev/null
+++ b/examples/declarative/text/fonts/fonts/fonts.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/fonts-qml"
+    }
+    JavaScriptFiles {
+        directory: "qml/fonts-qml"
+    }
+    ImageFiles {
+        directory: "qml/fonts-qml"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/text/fonts/fonts/main.cpp b/examples/declarative/text/fonts/fonts/main.cpp
index 4b70cac..8c57e0b 100644
--- a/examples/declarative/text/fonts/fonts/main.cpp
+++ b/examples/declarative/text/fonts/fonts/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/fonts.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/fonts-qml/fonts.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/text/fonts/fonts/qml/availableFonts.qml b/examples/declarative/text/fonts/fonts/qml/availableFonts.qml
deleted file mode 100644
index 4966a41..0000000
--- a/examples/declarative/text/fonts/fonts/qml/availableFonts.qml
+++ /dev/null
@@ -1,57 +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 {
-    width: 480; height: 640; color: "steelblue"
-
-    ListView {
-        anchors.fill: parent; model: Qt.fontFamilies()
-
-        delegate: Item {
-            height: 40; width: ListView.view.width
-            Text {
-                anchors.centerIn: parent
-                text: modelData; font.family: modelData; font.pixelSize: 24; color: "white"
-            }
-        }
-    }
-}
diff --git a/examples/declarative/text/fonts/fonts/qml/banner.qml b/examples/declarative/text/fonts/fonts/qml/banner.qml
deleted file mode 100644
index d722468..0000000
--- a/examples/declarative/text/fonts/fonts/qml/banner.qml
+++ /dev/null
@@ -1,61 +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: screen
-
-    property int pixelSize: screen.height * 1.25
-    property color textColor: "lightsteelblue"
-    property string text: "Hello world! "
-
-    width: 640; height: 320
-    color: "steelblue"
-
-    Row {
-        y: -screen.height / 4.5
-
-        NumberAnimation on x { from: 0; to: -text.width; duration: 6000; loops: Animation.Infinite }
-        Text { id: text; font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
-        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
-        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
-    }
-}
diff --git a/examples/declarative/text/fonts/fonts/qml/fonts-qml/availableFonts.qml b/examples/declarative/text/fonts/fonts/qml/fonts-qml/availableFonts.qml
new file mode 100644
index 0000000..4966a41
--- /dev/null
+++ b/examples/declarative/text/fonts/fonts/qml/fonts-qml/availableFonts.qml
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** 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 {
+    width: 480; height: 640; color: "steelblue"
+
+    ListView {
+        anchors.fill: parent; model: Qt.fontFamilies()
+
+        delegate: Item {
+            height: 40; width: ListView.view.width
+            Text {
+                anchors.centerIn: parent
+                text: modelData; font.family: modelData; font.pixelSize: 24; color: "white"
+            }
+        }
+    }
+}
diff --git a/examples/declarative/text/fonts/fonts/qml/fonts-qml/banner.qml b/examples/declarative/text/fonts/fonts/qml/fonts-qml/banner.qml
new file mode 100644
index 0000000..d722468
--- /dev/null
+++ b/examples/declarative/text/fonts/fonts/qml/fonts-qml/banner.qml
@@ -0,0 +1,61 @@
+/****************************************************************************
+**
+** 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: screen
+
+    property int pixelSize: screen.height * 1.25
+    property color textColor: "lightsteelblue"
+    property string text: "Hello world! "
+
+    width: 640; height: 320
+    color: "steelblue"
+
+    Row {
+        y: -screen.height / 4.5
+
+        NumberAnimation on x { from: 0; to: -text.width; duration: 6000; loops: Animation.Infinite }
+        Text { id: text; font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
+        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
+        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
+    }
+}
diff --git a/examples/declarative/text/fonts/fonts/qml/fonts-qml/fonts.qml b/examples/declarative/text/fonts/fonts/qml/fonts-qml/fonts.qml
new file mode 100644
index 0000000..ae48f24
--- /dev/null
+++ b/examples/declarative/text/fonts/fonts/qml/fonts-qml/fonts.qml
@@ -0,0 +1,104 @@
+/****************************************************************************
+**
+** 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 {
+    property string myText: "The quick brown fox jumps over the lazy dog."
+
+    width: 800; height: 480
+    color: "steelblue"
+
+    FontLoader { id: fixedFont; name: "Courier" }
+    FontLoader { id: localFont; source: "fonts/tarzeau_ocr_a.ttf" }
+    FontLoader { id: webFont; source: "http://www.princexml.com/fonts/steffmann/Starburst.ttf" }
+
+    Column {
+        anchors { fill: parent; leftMargin: 10; rightMargin: 10 }
+        spacing: 15
+
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideRight
+            font.family: "Times"; font.pointSize: 42
+        }
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideLeft
+            font { family: "Times"; pointSize: 42; capitalization: Font.AllUppercase }
+        }
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideMiddle
+            font { family: fixedFont.name; pointSize: 42; weight: Font.Bold; capitalization: Font.AllLowercase }
+        }
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideRight
+            font { family: fixedFont.name; pointSize: 42; italic: true; capitalization: Font.SmallCaps }
+        }
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideLeft
+            font { family: localFont.name; pointSize: 42; capitalization: Font.Capitalize }
+        }
+        Text {
+            text: {
+                if (webFont.status == FontLoader.Ready) myText
+                else if (webFont.status == FontLoader.Loading) "Loading..."
+                else if (webFont.status == FontLoader.Error) "Error loading font"
+            }
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideMiddle
+            font.family: webFont.name; font.pointSize: 42
+        }
+    }
+}
diff --git a/examples/declarative/text/fonts/fonts/qml/fonts-qml/fonts/tarzeau_ocr_a.ttf b/examples/declarative/text/fonts/fonts/qml/fonts-qml/fonts/tarzeau_ocr_a.ttf
new file mode 100644
index 0000000..cf93f96
Binary files /dev/null and b/examples/declarative/text/fonts/fonts/qml/fonts-qml/fonts/tarzeau_ocr_a.ttf differ
diff --git a/examples/declarative/text/fonts/fonts/qml/fonts-qml/hello.qml b/examples/declarative/text/fonts/fonts/qml/fonts-qml/hello.qml
new file mode 100644
index 0000000..3aaf0fe
--- /dev/null
+++ b/examples/declarative/text/fonts/fonts/qml/fonts-qml/hello.qml
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** 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: screen
+
+    width: 800; height: 480
+    color: "black"
+
+    Item {
+        id: container
+        x: screen.width / 2; y: screen.height / 2
+
+        Text {
+            id: text
+            anchors.centerIn: parent
+            color: "white"
+            text: "Hello world!"
+            font.pixelSize: 60
+            smooth: true
+
+            SequentialAnimation on font.letterSpacing {
+                loops: Animation.Infinite;
+                NumberAnimation { from: 0; to: 150; easing.type: Easing.InQuad; duration: 3000 }
+                ScriptAction {
+                    script: {
+                        container.y = (screen.height / 4) + (Math.random() * screen.height / 2)
+                        container.x = (screen.width / 4) + (Math.random() * screen.width / 2)
+                    }
+                }
+            }
+
+            SequentialAnimation on opacity {
+                loops: Animation.Infinite;
+                NumberAnimation { from: 1; to: 0; duration: 2600 }
+                PauseAnimation { duration: 400 }
+            }
+        }
+    }
+}
diff --git a/examples/declarative/text/fonts/fonts/qml/fonts.qml b/examples/declarative/text/fonts/fonts/qml/fonts.qml
deleted file mode 100644
index ae48f24..0000000
--- a/examples/declarative/text/fonts/fonts/qml/fonts.qml
+++ /dev/null
@@ -1,104 +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 {
-    property string myText: "The quick brown fox jumps over the lazy dog."
-
-    width: 800; height: 480
-    color: "steelblue"
-
-    FontLoader { id: fixedFont; name: "Courier" }
-    FontLoader { id: localFont; source: "fonts/tarzeau_ocr_a.ttf" }
-    FontLoader { id: webFont; source: "http://www.princexml.com/fonts/steffmann/Starburst.ttf" }
-
-    Column {
-        anchors { fill: parent; leftMargin: 10; rightMargin: 10 }
-        spacing: 15
-
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideRight
-            font.family: "Times"; font.pointSize: 42
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideLeft
-            font { family: "Times"; pointSize: 42; capitalization: Font.AllUppercase }
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideMiddle
-            font { family: fixedFont.name; pointSize: 42; weight: Font.Bold; capitalization: Font.AllLowercase }
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideRight
-            font { family: fixedFont.name; pointSize: 42; italic: true; capitalization: Font.SmallCaps }
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideLeft
-            font { family: localFont.name; pointSize: 42; capitalization: Font.Capitalize }
-        }
-        Text {
-            text: {
-                if (webFont.status == FontLoader.Ready) myText
-                else if (webFont.status == FontLoader.Loading) "Loading..."
-                else if (webFont.status == FontLoader.Error) "Error loading font"
-            }
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideMiddle
-            font.family: webFont.name; font.pointSize: 42
-        }
-    }
-}
diff --git a/examples/declarative/text/fonts/fonts/qml/fonts.qmlproject b/examples/declarative/text/fonts/fonts/qml/fonts.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/text/fonts/fonts/qml/fonts.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/text/fonts/fonts/qml/fonts/tarzeau_ocr_a.ttf b/examples/declarative/text/fonts/fonts/qml/fonts/tarzeau_ocr_a.ttf
deleted file mode 100644
index cf93f96..0000000
Binary files a/examples/declarative/text/fonts/fonts/qml/fonts/tarzeau_ocr_a.ttf and /dev/null differ
diff --git a/examples/declarative/text/fonts/fonts/qml/hello.qml b/examples/declarative/text/fonts/fonts/qml/hello.qml
deleted file mode 100644
index 3aaf0fe..0000000
--- a/examples/declarative/text/fonts/fonts/qml/hello.qml
+++ /dev/null
@@ -1,79 +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: screen
-
-    width: 800; height: 480
-    color: "black"
-
-    Item {
-        id: container
-        x: screen.width / 2; y: screen.height / 2
-
-        Text {
-            id: text
-            anchors.centerIn: parent
-            color: "white"
-            text: "Hello world!"
-            font.pixelSize: 60
-            smooth: true
-
-            SequentialAnimation on font.letterSpacing {
-                loops: Animation.Infinite;
-                NumberAnimation { from: 0; to: 150; easing.type: Easing.InQuad; duration: 3000 }
-                ScriptAction {
-                    script: {
-                        container.y = (screen.height / 4) + (Math.random() * screen.height / 2)
-                        container.x = (screen.width / 4) + (Math.random() * screen.width / 2)
-                    }
-                }
-            }
-
-            SequentialAnimation on opacity {
-                loops: Animation.Infinite;
-                NumberAnimation { from: 1; to: 0; duration: 2600 }
-                PauseAnimation { duration: 400 }
-            }
-        }
-    }
-}
diff --git a/examples/declarative/text/fonts/fonts/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/text/fonts/fonts/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/text/fonts/fonts/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/text/fonts/fonts/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/text/fonts/fonts/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/text/fonts/fonts/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/text/fonts/fonts/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/text/fonts/fonts/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/text/fonts/fonts/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/text/fonts/hello.qml b/examples/declarative/text/fonts/hello.qml
deleted file mode 100644
index ad8e6f2..0000000
--- a/examples/declarative/text/fonts/hello.qml
+++ /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 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: screen
-
-    width: 800; height: 480
-    color: "black"
-
-    Item {
-        id: container
-        x: screen.width / 2; y: screen.height / 2
-
-        Text {
-            id: text
-            anchors.centerIn: parent
-            color: "white"
-            text: "Hello world!"
-            font.pixelSize: 60
-            smooth: true
-
-            SequentialAnimation on font.letterSpacing {
-                loops: Animation.Infinite;
-                NumberAnimation { from: 0; to: 150; easing.type: Easing.InQuad; duration: 3000 }
-                ScriptAction {
-                    script: {
-                        container.y = (screen.height / 4) + (Math.random() * screen.height / 2)
-                        container.x = (screen.width / 4) + (Math.random() * screen.width / 2)
-                    }
-                }
-            }
-
-            SequentialAnimation on opacity {
-                loops: Animation.Infinite;
-                NumberAnimation { from: 1; to: 0; duration: 2600 }
-                PauseAnimation { duration: 400 }
-            }
-        }
-    }
-}
diff --git a/examples/declarative/text/fonts/hello/hello.pro b/examples/declarative/text/fonts/hello/hello.pro
index a0b04be..8ba73be 100644
--- a/examples/declarative/text/fonts/hello/hello.pro
+++ b/examples/declarative/text/fonts/hello/hello.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/hello
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE4A6D856
 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/text/fonts/hello/hello.qmlproject b/examples/declarative/text/fonts/hello/hello.qmlproject
new file mode 100644
index 0000000..5d04713
--- /dev/null
+++ b/examples/declarative/text/fonts/hello/hello.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/hello"
+    }
+    JavaScriptFiles {
+        directory: "qml/hello"
+    }
+    ImageFiles {
+        directory: "qml/hello"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/text/fonts/hello/main.cpp b/examples/declarative/text/fonts/hello/main.cpp
index ad9494a..7422ee3 100644
--- a/examples/declarative/text/fonts/hello/main.cpp
+++ b/examples/declarative/text/fonts/hello/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/hello.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/hello/hello.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/text/fonts/hello/qml/availableFonts.qml b/examples/declarative/text/fonts/hello/qml/availableFonts.qml
deleted file mode 100644
index 4966a41..0000000
--- a/examples/declarative/text/fonts/hello/qml/availableFonts.qml
+++ /dev/null
@@ -1,57 +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 {
-    width: 480; height: 640; color: "steelblue"
-
-    ListView {
-        anchors.fill: parent; model: Qt.fontFamilies()
-
-        delegate: Item {
-            height: 40; width: ListView.view.width
-            Text {
-                anchors.centerIn: parent
-                text: modelData; font.family: modelData; font.pixelSize: 24; color: "white"
-            }
-        }
-    }
-}
diff --git a/examples/declarative/text/fonts/hello/qml/banner.qml b/examples/declarative/text/fonts/hello/qml/banner.qml
deleted file mode 100644
index d722468..0000000
--- a/examples/declarative/text/fonts/hello/qml/banner.qml
+++ /dev/null
@@ -1,61 +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: screen
-
-    property int pixelSize: screen.height * 1.25
-    property color textColor: "lightsteelblue"
-    property string text: "Hello world! "
-
-    width: 640; height: 320
-    color: "steelblue"
-
-    Row {
-        y: -screen.height / 4.5
-
-        NumberAnimation on x { from: 0; to: -text.width; duration: 6000; loops: Animation.Infinite }
-        Text { id: text; font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
-        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
-        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
-    }
-}
diff --git a/examples/declarative/text/fonts/hello/qml/fonts.qml b/examples/declarative/text/fonts/hello/qml/fonts.qml
deleted file mode 100644
index ae48f24..0000000
--- a/examples/declarative/text/fonts/hello/qml/fonts.qml
+++ /dev/null
@@ -1,104 +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 {
-    property string myText: "The quick brown fox jumps over the lazy dog."
-
-    width: 800; height: 480
-    color: "steelblue"
-
-    FontLoader { id: fixedFont; name: "Courier" }
-    FontLoader { id: localFont; source: "fonts/tarzeau_ocr_a.ttf" }
-    FontLoader { id: webFont; source: "http://www.princexml.com/fonts/steffmann/Starburst.ttf" }
-
-    Column {
-        anchors { fill: parent; leftMargin: 10; rightMargin: 10 }
-        spacing: 15
-
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideRight
-            font.family: "Times"; font.pointSize: 42
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideLeft
-            font { family: "Times"; pointSize: 42; capitalization: Font.AllUppercase }
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideMiddle
-            font { family: fixedFont.name; pointSize: 42; weight: Font.Bold; capitalization: Font.AllLowercase }
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideRight
-            font { family: fixedFont.name; pointSize: 42; italic: true; capitalization: Font.SmallCaps }
-        }
-        Text {
-            text: myText
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideLeft
-            font { family: localFont.name; pointSize: 42; capitalization: Font.Capitalize }
-        }
-        Text {
-            text: {
-                if (webFont.status == FontLoader.Ready) myText
-                else if (webFont.status == FontLoader.Loading) "Loading..."
-                else if (webFont.status == FontLoader.Error) "Error loading font"
-            }
-            color: "lightsteelblue"
-            width: parent.width
-            elide: Text.ElideMiddle
-            font.family: webFont.name; font.pointSize: 42
-        }
-    }
-}
diff --git a/examples/declarative/text/fonts/hello/qml/fonts.qmlproject b/examples/declarative/text/fonts/hello/qml/fonts.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/text/fonts/hello/qml/fonts.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/text/fonts/hello/qml/fonts/tarzeau_ocr_a.ttf b/examples/declarative/text/fonts/hello/qml/fonts/tarzeau_ocr_a.ttf
deleted file mode 100644
index cf93f96..0000000
Binary files a/examples/declarative/text/fonts/hello/qml/fonts/tarzeau_ocr_a.ttf and /dev/null differ
diff --git a/examples/declarative/text/fonts/hello/qml/hello.qml b/examples/declarative/text/fonts/hello/qml/hello.qml
deleted file mode 100644
index 3aaf0fe..0000000
--- a/examples/declarative/text/fonts/hello/qml/hello.qml
+++ /dev/null
@@ -1,79 +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: screen
-
-    width: 800; height: 480
-    color: "black"
-
-    Item {
-        id: container
-        x: screen.width / 2; y: screen.height / 2
-
-        Text {
-            id: text
-            anchors.centerIn: parent
-            color: "white"
-            text: "Hello world!"
-            font.pixelSize: 60
-            smooth: true
-
-            SequentialAnimation on font.letterSpacing {
-                loops: Animation.Infinite;
-                NumberAnimation { from: 0; to: 150; easing.type: Easing.InQuad; duration: 3000 }
-                ScriptAction {
-                    script: {
-                        container.y = (screen.height / 4) + (Math.random() * screen.height / 2)
-                        container.x = (screen.width / 4) + (Math.random() * screen.width / 2)
-                    }
-                }
-            }
-
-            SequentialAnimation on opacity {
-                loops: Animation.Infinite;
-                NumberAnimation { from: 1; to: 0; duration: 2600 }
-                PauseAnimation { duration: 400 }
-            }
-        }
-    }
-}
diff --git a/examples/declarative/text/fonts/hello/qml/hello/availableFonts.qml b/examples/declarative/text/fonts/hello/qml/hello/availableFonts.qml
new file mode 100644
index 0000000..4966a41
--- /dev/null
+++ b/examples/declarative/text/fonts/hello/qml/hello/availableFonts.qml
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** 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 {
+    width: 480; height: 640; color: "steelblue"
+
+    ListView {
+        anchors.fill: parent; model: Qt.fontFamilies()
+
+        delegate: Item {
+            height: 40; width: ListView.view.width
+            Text {
+                anchors.centerIn: parent
+                text: modelData; font.family: modelData; font.pixelSize: 24; color: "white"
+            }
+        }
+    }
+}
diff --git a/examples/declarative/text/fonts/hello/qml/hello/banner.qml b/examples/declarative/text/fonts/hello/qml/hello/banner.qml
new file mode 100644
index 0000000..d722468
--- /dev/null
+++ b/examples/declarative/text/fonts/hello/qml/hello/banner.qml
@@ -0,0 +1,61 @@
+/****************************************************************************
+**
+** 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: screen
+
+    property int pixelSize: screen.height * 1.25
+    property color textColor: "lightsteelblue"
+    property string text: "Hello world! "
+
+    width: 640; height: 320
+    color: "steelblue"
+
+    Row {
+        y: -screen.height / 4.5
+
+        NumberAnimation on x { from: 0; to: -text.width; duration: 6000; loops: Animation.Infinite }
+        Text { id: text; font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
+        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
+        Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
+    }
+}
diff --git a/examples/declarative/text/fonts/hello/qml/hello/fonts.qml b/examples/declarative/text/fonts/hello/qml/hello/fonts.qml
new file mode 100644
index 0000000..ae48f24
--- /dev/null
+++ b/examples/declarative/text/fonts/hello/qml/hello/fonts.qml
@@ -0,0 +1,104 @@
+/****************************************************************************
+**
+** 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 {
+    property string myText: "The quick brown fox jumps over the lazy dog."
+
+    width: 800; height: 480
+    color: "steelblue"
+
+    FontLoader { id: fixedFont; name: "Courier" }
+    FontLoader { id: localFont; source: "fonts/tarzeau_ocr_a.ttf" }
+    FontLoader { id: webFont; source: "http://www.princexml.com/fonts/steffmann/Starburst.ttf" }
+
+    Column {
+        anchors { fill: parent; leftMargin: 10; rightMargin: 10 }
+        spacing: 15
+
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideRight
+            font.family: "Times"; font.pointSize: 42
+        }
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideLeft
+            font { family: "Times"; pointSize: 42; capitalization: Font.AllUppercase }
+        }
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideMiddle
+            font { family: fixedFont.name; pointSize: 42; weight: Font.Bold; capitalization: Font.AllLowercase }
+        }
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideRight
+            font { family: fixedFont.name; pointSize: 42; italic: true; capitalization: Font.SmallCaps }
+        }
+        Text {
+            text: myText
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideLeft
+            font { family: localFont.name; pointSize: 42; capitalization: Font.Capitalize }
+        }
+        Text {
+            text: {
+                if (webFont.status == FontLoader.Ready) myText
+                else if (webFont.status == FontLoader.Loading) "Loading..."
+                else if (webFont.status == FontLoader.Error) "Error loading font"
+            }
+            color: "lightsteelblue"
+            width: parent.width
+            elide: Text.ElideMiddle
+            font.family: webFont.name; font.pointSize: 42
+        }
+    }
+}
diff --git a/examples/declarative/text/fonts/hello/qml/hello/fonts/tarzeau_ocr_a.ttf b/examples/declarative/text/fonts/hello/qml/hello/fonts/tarzeau_ocr_a.ttf
new file mode 100644
index 0000000..cf93f96
Binary files /dev/null and b/examples/declarative/text/fonts/hello/qml/hello/fonts/tarzeau_ocr_a.ttf differ
diff --git a/examples/declarative/text/fonts/hello/qml/hello/hello.qml b/examples/declarative/text/fonts/hello/qml/hello/hello.qml
new file mode 100644
index 0000000..3aaf0fe
--- /dev/null
+++ b/examples/declarative/text/fonts/hello/qml/hello/hello.qml
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** 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: screen
+
+    width: 800; height: 480
+    color: "black"
+
+    Item {
+        id: container
+        x: screen.width / 2; y: screen.height / 2
+
+        Text {
+            id: text
+            anchors.centerIn: parent
+            color: "white"
+            text: "Hello world!"
+            font.pixelSize: 60
+            smooth: true
+
+            SequentialAnimation on font.letterSpacing {
+                loops: Animation.Infinite;
+                NumberAnimation { from: 0; to: 150; easing.type: Easing.InQuad; duration: 3000 }
+                ScriptAction {
+                    script: {
+                        container.y = (screen.height / 4) + (Math.random() * screen.height / 2)
+                        container.x = (screen.width / 4) + (Math.random() * screen.width / 2)
+                    }
+                }
+            }
+
+            SequentialAnimation on opacity {
+                loops: Animation.Infinite;
+                NumberAnimation { from: 1; to: 0; duration: 2600 }
+                PauseAnimation { duration: 400 }
+            }
+        }
+    }
+}
diff --git a/examples/declarative/text/fonts/hello/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/text/fonts/hello/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/text/fonts/hello/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/text/fonts/hello/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/text/fonts/hello/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/text/fonts/hello/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/text/fonts/hello/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/text/fonts/hello/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/text/fonts/hello/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)
-}
-- 
cgit v0.12


From 6d98efdcac69a885091b6e9de57be033359026a4 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:00 +0100
Subject: text/textselection example modifications

Modified the example 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/text/textselection/main.cpp   |   2 +-
 .../text/textselection/qml/pics/endHandle.png      | Bin 185 -> 0 bytes
 .../text/textselection/qml/pics/endHandle.sci      |   5 -
 .../text/textselection/qml/pics/startHandle.png    | Bin 178 -> 0 bytes
 .../text/textselection/qml/pics/startHandle.sci    |   5 -
 .../text/textselection/qml/textselection.qml       | 290 ---------------------
 .../textselection/qml/textselection.qmlproject     |  16 --
 .../qml/textselection/pics/endHandle.png           | Bin 0 -> 185 bytes
 .../qml/textselection/pics/endHandle.sci           |   5 +
 .../qml/textselection/pics/startHandle.png         | Bin 0 -> 178 bytes
 .../qml/textselection/pics/startHandle.sci         |   5 +
 .../qml/textselection/textselection.qml            | 290 +++++++++++++++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 --------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 -----------
 .../text/textselection/textselection.pro           |   4 +-
 .../text/textselection/textselection.qml           | 289 --------------------
 .../text/textselection/textselection.qmlproject    |  16 ++
 18 files changed, 319 insertions(+), 1038 deletions(-)
 delete mode 100644 examples/declarative/text/textselection/qml/pics/endHandle.png
 delete mode 100644 examples/declarative/text/textselection/qml/pics/endHandle.sci
 delete mode 100644 examples/declarative/text/textselection/qml/pics/startHandle.png
 delete mode 100644 examples/declarative/text/textselection/qml/pics/startHandle.sci
 delete mode 100644 examples/declarative/text/textselection/qml/textselection.qml
 delete mode 100644 examples/declarative/text/textselection/qml/textselection.qmlproject
 create mode 100644 examples/declarative/text/textselection/qml/textselection/pics/endHandle.png
 create mode 100644 examples/declarative/text/textselection/qml/textselection/pics/endHandle.sci
 create mode 100644 examples/declarative/text/textselection/qml/textselection/pics/startHandle.png
 create mode 100644 examples/declarative/text/textselection/qml/textselection/pics/startHandle.sci
 create mode 100644 examples/declarative/text/textselection/qml/textselection/textselection.qml
 delete mode 100644 examples/declarative/text/textselection/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/text/textselection/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/text/textselection/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/text/textselection/textselection.qml
 create mode 100644 examples/declarative/text/textselection/textselection.qmlproject

diff --git a/examples/declarative/text/textselection/main.cpp b/examples/declarative/text/textselection/main.cpp
index 94227ff..6fec71e 100644
--- a/examples/declarative/text/textselection/main.cpp
+++ b/examples/declarative/text/textselection/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/textselection.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/textselection/textselection.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/text/textselection/qml/pics/endHandle.png b/examples/declarative/text/textselection/qml/pics/endHandle.png
deleted file mode 100644
index 1a4bc5d..0000000
Binary files a/examples/declarative/text/textselection/qml/pics/endHandle.png and /dev/null differ
diff --git a/examples/declarative/text/textselection/qml/pics/endHandle.sci b/examples/declarative/text/textselection/qml/pics/endHandle.sci
deleted file mode 100644
index 4f51f24..0000000
--- a/examples/declarative/text/textselection/qml/pics/endHandle.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-border.left: 0
-border.top: 6
-border.bottom: 6
-border.right: 6
-source: endHandle.png
diff --git a/examples/declarative/text/textselection/qml/pics/startHandle.png b/examples/declarative/text/textselection/qml/pics/startHandle.png
deleted file mode 100644
index deedcd5..0000000
Binary files a/examples/declarative/text/textselection/qml/pics/startHandle.png and /dev/null differ
diff --git a/examples/declarative/text/textselection/qml/pics/startHandle.sci b/examples/declarative/text/textselection/qml/pics/startHandle.sci
deleted file mode 100644
index f9eae20..0000000
--- a/examples/declarative/text/textselection/qml/pics/startHandle.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-border.left: 6
-border.top: 6
-border.bottom: 6
-border.right: 0
-source: startHandle.png
diff --git a/examples/declarative/text/textselection/qml/textselection.qml b/examples/declarative/text/textselection/qml/textselection.qml
deleted file mode 100644
index b02b106..0000000
--- a/examples/declarative/text/textselection/qml/textselection.qml
+++ /dev/null
@@ -1,290 +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:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-import QtQuick 1.0
-
-Rectangle {
-    id: editor
-    color: "lightGrey"
-    width: 640; height: 480
-
-    Rectangle {
-        color: "white"
-        anchors.fill: parent
-        anchors.margins: 20
-
-        BorderImage {
-            id: startHandle
-            source: "pics/startHandle.sci"
-            opacity: 0.0
-            width: 10
-            x: edit.positionToRectangle(edit.selectionStart).x - flick.contentX-width
-            y: edit.positionToRectangle(edit.selectionStart).y - flick.contentY
-            height: edit.positionToRectangle(edit.selectionStart).height
-        }
-
-        BorderImage {
-            id: endHandle
-            source: "pics/endHandle.sci"
-            opacity: 0.0
-            width: 10
-            x: edit.positionToRectangle(edit.selectionEnd).x - flick.contentX
-            y: edit.positionToRectangle(edit.selectionEnd).y - flick.contentY
-            height: edit.positionToRectangle(edit.selectionEnd).height
-        }
-
-        Flickable {
-            id: flick
-
-            anchors.fill: parent
-            contentWidth: edit.paintedWidth
-            contentHeight: edit.paintedHeight
-            interactive: true
-            clip: true
-
-            function ensureVisible(r) {
-                if (contentX >= r.x)
-                    contentX = r.x;
-                else if (contentX+width <= r.x+r.width)
-                    contentX = r.x+r.width-width;
-                if (contentY >= r.y)
-                    contentY = r.y;
-                else if (contentY+height <= r.y+r.height)
-                    contentY = r.y+r.height-height;
-            }
-
-            TextEdit {
-                id: edit
-                width: flick.width
-                height: flick.height
-                focus: true
-                wrapMode: TextEdit.Wrap
-
-                onCursorRectangleChanged: flick.ensureVisible(cursorRectangle)
-
-                text: "<h1>Text Selection</h1>"
-                    +"<p>This example is a whacky text selection mechanisms, showing how these can be implemented in the TextEdit element, to cater for whatever style is appropriate for the target platform."
-                    +"<p><b>Press-and-hold</b> to select a word, then drag the selection handles."
-                    +"<p><b>Drag outside the selection</b> to scroll the text."
-                    +"<p><b>Click inside the selection</b> to cut/copy/paste/cancel selection."
-                    +"<p>It's too whacky to let you paste if there is no current selection."
-
-                MouseArea {
-                    property string drag: ""
-                    property int pressPos
-
-                    x: -startHandle.width
-                    y: 0
-                    width: parent.width+startHandle.width+endHandle.width
-                    height: parent.height
-
-                    onPressAndHold: {
-                        if (editor.state == "") {
-                            edit.cursorPosition = edit.positionAt(mouse.x+x,mouse.y+y);
-                            edit.selectWord();
-                            editor.state = "selection"
-                        }
-                    }
-
-                    onClicked: {
-                        if (editor.state == "") {
-                            edit.cursorPosition = edit.positionAt(mouse.x+x,mouse.y+y);
-                            if (!edit.focus)
-                                edit.focus = true;
-                            edit.openSoftwareInputPanel();
-                        }
-                    }
-
-                    function hitHandle(h,x,y) { 
-                        return x>=h.x+flick.contentX && x<h.x+flick.contentX+h.width && y>=h.y+flick.contentY && y<h.y+flick.contentY+h.height 
-                    }
-
-                    onPressed: {
-                        if (editor.state == "selection") {
-                            if (hitHandle(startHandle,mouse.x+x,mouse.y+y)) {
-                                drag = "start"
-                                flick.interactive = false
-                            } else if (hitHandle(endHandle,mouse.x+x,mouse.y+y)) {
-                                drag = "end"
-                                flick.interactive = false
-                            } else {
-                                var pos = edit.positionAt(mouse.x+x,mouse.y+y);
-                                if (pos >= edit.selectionStart && pos <= edit.selectionEnd) {
-                                    drag = "selection"
-                                    flick.interactive = false
-                                } else {
-                                    drag = ""
-                                    flick.interactive = true
-                                }
-                            }
-                        }
-                    }
-
-                    onReleased: {
-                        if (editor.state == "selection") {
-                            if (drag == "selection") {
-                                editor.state = "menu"
-                            }
-                            drag = ""
-                        }
-                        flick.interactive = true
-                    }
-
-                    onPositionChanged: {
-                        if (editor.state == "selection" && drag != "") {
-                            if (drag == "start") {
-                                var pos = edit.positionAt(mouse.x+x+startHandle.width/2,mouse.y+y);
-                                var e = edit.selectionEnd;
-                                if (e < pos)
-                                    e = pos;
-                                edit.select(pos,e);
-                            } else if (drag == "end") {
-                                var pos = edit.positionAt(mouse.x+x-endHandle.width/2,mouse.y+y);
-                                var s = edit.selectionStart;
-                                if (s > pos)
-                                    s = pos;
-                                edit.select(s,pos);
-                            }
-                        }
-                    }
-                }
-            }
-        }
-
-        Item {
-            id: menu
-            opacity: 0.0
-            width: 100
-            height: 120
-            anchors.centerIn: parent
-
-            Rectangle {
-                border.width: 1
-                border.color: "darkBlue"
-                radius: 15
-                color: "#806080FF"
-                anchors.fill: parent
-            }
-
-            Column {
-                anchors.centerIn: parent
-                spacing: 8
-
-                Rectangle {
-                    border.width: 1
-                    border.color: "darkBlue"
-                    color: "#ff7090FF"
-                    width: 60
-                    height: 16
-
-                    Text { anchors.centerIn: parent; text: "Cut" }
-
-                    MouseArea { 
-                        anchors.fill: parent
-                        onClicked: { edit.cut(); editor.state = "" } 
-                    }
-                }
-
-                Rectangle {
-                    border.width: 1
-                    border.color: "darkBlue"
-                    color: "#ff7090FF"
-                    width: 60
-                    height: 16
-
-                    Text { anchors.centerIn: parent; text: "Copy" }
-
-                    MouseArea { 
-                        anchors.fill: parent
-                        onClicked: { edit.copy(); editor.state = "selection" } 
-                    }
-                }
-
-                Rectangle {
-                    border.width: 1
-                    border.color: "darkBlue"
-                    color: "#ff7090FF"
-                    width: 60
-                    height: 16
-
-                    Text { anchors.centerIn: parent; text: "Paste" }
-
-                    MouseArea { 
-                        anchors.fill: parent
-                        onClicked: { edit.paste(); edit.cursorPosition = edit.selectionEnd; editor.state = "" } 
-                    }
-                }
-
-                Rectangle {
-                    border.width: 1
-                    border.color: "darkBlue"
-                    color: "#ff7090FF"
-                    width: 60
-                    height: 16
-
-                    Text { anchors.centerIn: parent; text: "Deselect" }
-
-                    MouseArea { 
-                        anchors.fill: parent
-                        onClicked: { 
-                            edit.cursorPosition = edit.selectionEnd;
-                            edit.select(edit.cursorPosition, edit.cursorPosition);
-                            editor.state = "" 
-                        } 
-                    }
-                }
-            }
-        }
-    }
-
-    states: [
-        State {
-            name: "selection"
-            PropertyChanges { target: startHandle; opacity: 1.0 }
-            PropertyChanges { target: endHandle; opacity: 1.0 }
-        },
-        State {
-            name: "menu"
-            PropertyChanges { target: startHandle; opacity: 0.5 }
-            PropertyChanges { target: endHandle; opacity: 0.5 }
-            PropertyChanges { target: menu; opacity: 1.0 }
-        }
-    ]
-}
diff --git a/examples/declarative/text/textselection/qml/textselection.qmlproject b/examples/declarative/text/textselection/qml/textselection.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/text/textselection/qml/textselection.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/text/textselection/qml/textselection/pics/endHandle.png b/examples/declarative/text/textselection/qml/textselection/pics/endHandle.png
new file mode 100644
index 0000000..1a4bc5d
Binary files /dev/null and b/examples/declarative/text/textselection/qml/textselection/pics/endHandle.png differ
diff --git a/examples/declarative/text/textselection/qml/textselection/pics/endHandle.sci b/examples/declarative/text/textselection/qml/textselection/pics/endHandle.sci
new file mode 100644
index 0000000..4f51f24
--- /dev/null
+++ b/examples/declarative/text/textselection/qml/textselection/pics/endHandle.sci
@@ -0,0 +1,5 @@
+border.left: 0
+border.top: 6
+border.bottom: 6
+border.right: 6
+source: endHandle.png
diff --git a/examples/declarative/text/textselection/qml/textselection/pics/startHandle.png b/examples/declarative/text/textselection/qml/textselection/pics/startHandle.png
new file mode 100644
index 0000000..deedcd5
Binary files /dev/null and b/examples/declarative/text/textselection/qml/textselection/pics/startHandle.png differ
diff --git a/examples/declarative/text/textselection/qml/textselection/pics/startHandle.sci b/examples/declarative/text/textselection/qml/textselection/pics/startHandle.sci
new file mode 100644
index 0000000..f9eae20
--- /dev/null
+++ b/examples/declarative/text/textselection/qml/textselection/pics/startHandle.sci
@@ -0,0 +1,5 @@
+border.left: 6
+border.top: 6
+border.bottom: 6
+border.right: 0
+source: startHandle.png
diff --git a/examples/declarative/text/textselection/qml/textselection/textselection.qml b/examples/declarative/text/textselection/qml/textselection/textselection.qml
new file mode 100644
index 0000000..b02b106
--- /dev/null
+++ b/examples/declarative/text/textselection/qml/textselection/textselection.qml
@@ -0,0 +1,290 @@
+/****************************************************************************
+**
+** 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:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import QtQuick 1.0
+
+Rectangle {
+    id: editor
+    color: "lightGrey"
+    width: 640; height: 480
+
+    Rectangle {
+        color: "white"
+        anchors.fill: parent
+        anchors.margins: 20
+
+        BorderImage {
+            id: startHandle
+            source: "pics/startHandle.sci"
+            opacity: 0.0
+            width: 10
+            x: edit.positionToRectangle(edit.selectionStart).x - flick.contentX-width
+            y: edit.positionToRectangle(edit.selectionStart).y - flick.contentY
+            height: edit.positionToRectangle(edit.selectionStart).height
+        }
+
+        BorderImage {
+            id: endHandle
+            source: "pics/endHandle.sci"
+            opacity: 0.0
+            width: 10
+            x: edit.positionToRectangle(edit.selectionEnd).x - flick.contentX
+            y: edit.positionToRectangle(edit.selectionEnd).y - flick.contentY
+            height: edit.positionToRectangle(edit.selectionEnd).height
+        }
+
+        Flickable {
+            id: flick
+
+            anchors.fill: parent
+            contentWidth: edit.paintedWidth
+            contentHeight: edit.paintedHeight
+            interactive: true
+            clip: true
+
+            function ensureVisible(r) {
+                if (contentX >= r.x)
+                    contentX = r.x;
+                else if (contentX+width <= r.x+r.width)
+                    contentX = r.x+r.width-width;
+                if (contentY >= r.y)
+                    contentY = r.y;
+                else if (contentY+height <= r.y+r.height)
+                    contentY = r.y+r.height-height;
+            }
+
+            TextEdit {
+                id: edit
+                width: flick.width
+                height: flick.height
+                focus: true
+                wrapMode: TextEdit.Wrap
+
+                onCursorRectangleChanged: flick.ensureVisible(cursorRectangle)
+
+                text: "<h1>Text Selection</h1>"
+                    +"<p>This example is a whacky text selection mechanisms, showing how these can be implemented in the TextEdit element, to cater for whatever style is appropriate for the target platform."
+                    +"<p><b>Press-and-hold</b> to select a word, then drag the selection handles."
+                    +"<p><b>Drag outside the selection</b> to scroll the text."
+                    +"<p><b>Click inside the selection</b> to cut/copy/paste/cancel selection."
+                    +"<p>It's too whacky to let you paste if there is no current selection."
+
+                MouseArea {
+                    property string drag: ""
+                    property int pressPos
+
+                    x: -startHandle.width
+                    y: 0
+                    width: parent.width+startHandle.width+endHandle.width
+                    height: parent.height
+
+                    onPressAndHold: {
+                        if (editor.state == "") {
+                            edit.cursorPosition = edit.positionAt(mouse.x+x,mouse.y+y);
+                            edit.selectWord();
+                            editor.state = "selection"
+                        }
+                    }
+
+                    onClicked: {
+                        if (editor.state == "") {
+                            edit.cursorPosition = edit.positionAt(mouse.x+x,mouse.y+y);
+                            if (!edit.focus)
+                                edit.focus = true;
+                            edit.openSoftwareInputPanel();
+                        }
+                    }
+
+                    function hitHandle(h,x,y) { 
+                        return x>=h.x+flick.contentX && x<h.x+flick.contentX+h.width && y>=h.y+flick.contentY && y<h.y+flick.contentY+h.height 
+                    }
+
+                    onPressed: {
+                        if (editor.state == "selection") {
+                            if (hitHandle(startHandle,mouse.x+x,mouse.y+y)) {
+                                drag = "start"
+                                flick.interactive = false
+                            } else if (hitHandle(endHandle,mouse.x+x,mouse.y+y)) {
+                                drag = "end"
+                                flick.interactive = false
+                            } else {
+                                var pos = edit.positionAt(mouse.x+x,mouse.y+y);
+                                if (pos >= edit.selectionStart && pos <= edit.selectionEnd) {
+                                    drag = "selection"
+                                    flick.interactive = false
+                                } else {
+                                    drag = ""
+                                    flick.interactive = true
+                                }
+                            }
+                        }
+                    }
+
+                    onReleased: {
+                        if (editor.state == "selection") {
+                            if (drag == "selection") {
+                                editor.state = "menu"
+                            }
+                            drag = ""
+                        }
+                        flick.interactive = true
+                    }
+
+                    onPositionChanged: {
+                        if (editor.state == "selection" && drag != "") {
+                            if (drag == "start") {
+                                var pos = edit.positionAt(mouse.x+x+startHandle.width/2,mouse.y+y);
+                                var e = edit.selectionEnd;
+                                if (e < pos)
+                                    e = pos;
+                                edit.select(pos,e);
+                            } else if (drag == "end") {
+                                var pos = edit.positionAt(mouse.x+x-endHandle.width/2,mouse.y+y);
+                                var s = edit.selectionStart;
+                                if (s > pos)
+                                    s = pos;
+                                edit.select(s,pos);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        Item {
+            id: menu
+            opacity: 0.0
+            width: 100
+            height: 120
+            anchors.centerIn: parent
+
+            Rectangle {
+                border.width: 1
+                border.color: "darkBlue"
+                radius: 15
+                color: "#806080FF"
+                anchors.fill: parent
+            }
+
+            Column {
+                anchors.centerIn: parent
+                spacing: 8
+
+                Rectangle {
+                    border.width: 1
+                    border.color: "darkBlue"
+                    color: "#ff7090FF"
+                    width: 60
+                    height: 16
+
+                    Text { anchors.centerIn: parent; text: "Cut" }
+
+                    MouseArea { 
+                        anchors.fill: parent
+                        onClicked: { edit.cut(); editor.state = "" } 
+                    }
+                }
+
+                Rectangle {
+                    border.width: 1
+                    border.color: "darkBlue"
+                    color: "#ff7090FF"
+                    width: 60
+                    height: 16
+
+                    Text { anchors.centerIn: parent; text: "Copy" }
+
+                    MouseArea { 
+                        anchors.fill: parent
+                        onClicked: { edit.copy(); editor.state = "selection" } 
+                    }
+                }
+
+                Rectangle {
+                    border.width: 1
+                    border.color: "darkBlue"
+                    color: "#ff7090FF"
+                    width: 60
+                    height: 16
+
+                    Text { anchors.centerIn: parent; text: "Paste" }
+
+                    MouseArea { 
+                        anchors.fill: parent
+                        onClicked: { edit.paste(); edit.cursorPosition = edit.selectionEnd; editor.state = "" } 
+                    }
+                }
+
+                Rectangle {
+                    border.width: 1
+                    border.color: "darkBlue"
+                    color: "#ff7090FF"
+                    width: 60
+                    height: 16
+
+                    Text { anchors.centerIn: parent; text: "Deselect" }
+
+                    MouseArea { 
+                        anchors.fill: parent
+                        onClicked: { 
+                            edit.cursorPosition = edit.selectionEnd;
+                            edit.select(edit.cursorPosition, edit.cursorPosition);
+                            editor.state = "" 
+                        } 
+                    }
+                }
+            }
+        }
+    }
+
+    states: [
+        State {
+            name: "selection"
+            PropertyChanges { target: startHandle; opacity: 1.0 }
+            PropertyChanges { target: endHandle; opacity: 1.0 }
+        },
+        State {
+            name: "menu"
+            PropertyChanges { target: startHandle; opacity: 0.5 }
+            PropertyChanges { target: endHandle; opacity: 0.5 }
+            PropertyChanges { target: menu; opacity: 1.0 }
+        }
+    ]
+}
diff --git a/examples/declarative/text/textselection/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/text/textselection/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/text/textselection/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/text/textselection/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/text/textselection/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/text/textselection/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/text/textselection/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/text/textselection/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/text/textselection/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/text/textselection/textselection.pro b/examples/declarative/text/textselection/textselection.pro
index 17543a13..205bd18 100644
--- a/examples/declarative/text/textselection/textselection.pro
+++ b/examples/declarative/text/textselection/textselection.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/textselection
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEFBED80D
 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/text/textselection/textselection.qml b/examples/declarative/text/textselection/textselection.qml
deleted file mode 100644
index 4b51f4e..0000000
--- a/examples/declarative/text/textselection/textselection.qml
+++ /dev/null
@@ -1,289 +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: editor
-    color: "lightGrey"
-    width: 640; height: 480
-
-    Rectangle {
-        color: "white"
-        anchors.fill: parent
-        anchors.margins: 20
-
-        BorderImage {
-            id: startHandle
-            source: "pics/startHandle.sci"
-            opacity: 0.0
-            width: 10
-            x: edit.positionToRectangle(edit.selectionStart).x - flick.contentX-width
-            y: edit.positionToRectangle(edit.selectionStart).y - flick.contentY
-            height: edit.positionToRectangle(edit.selectionStart).height
-        }
-
-        BorderImage {
-            id: endHandle
-            source: "pics/endHandle.sci"
-            opacity: 0.0
-            width: 10
-            x: edit.positionToRectangle(edit.selectionEnd).x - flick.contentX
-            y: edit.positionToRectangle(edit.selectionEnd).y - flick.contentY
-            height: edit.positionToRectangle(edit.selectionEnd).height
-        }
-
-        Flickable {
-            id: flick
-
-            anchors.fill: parent
-            contentWidth: edit.paintedWidth
-            contentHeight: edit.paintedHeight
-            interactive: true
-            clip: true
-
-            function ensureVisible(r) {
-                if (contentX >= r.x)
-                    contentX = r.x;
-                else if (contentX+width <= r.x+r.width)
-                    contentX = r.x+r.width-width;
-                if (contentY >= r.y)
-                    contentY = r.y;
-                else if (contentY+height <= r.y+r.height)
-                    contentY = r.y+r.height-height;
-            }
-
-            TextEdit {
-                id: edit
-                width: flick.width
-                height: flick.height
-                focus: true
-                wrapMode: TextEdit.Wrap
-
-                onCursorRectangleChanged: flick.ensureVisible(cursorRectangle)
-
-                text: "<h1>Text Selection</h1>"
-                    +"<p>This example is a whacky text selection mechanisms, showing how these can be implemented in the TextEdit element, to cater for whatever style is appropriate for the target platform."
-                    +"<p><b>Press-and-hold</b> to select a word, then drag the selection handles."
-                    +"<p><b>Drag outside the selection</b> to scroll the text."
-                    +"<p><b>Click inside the selection</b> to cut/copy/paste/cancel selection."
-                    +"<p>It's too whacky to let you paste if there is no current selection."
-
-                MouseArea {
-                    property string drag: ""
-                    property int pressPos
-
-                    x: -startHandle.width
-                    y: 0
-                    width: parent.width+startHandle.width+endHandle.width
-                    height: parent.height
-
-                    onPressAndHold: {
-                        if (editor.state == "") {
-                            edit.cursorPosition = edit.positionAt(mouse.x+x,mouse.y+y);
-                            edit.selectWord();
-                            editor.state = "selection"
-                        }
-                    }
-
-                    onClicked: {
-                        if (editor.state == "") {
-                            edit.cursorPosition = edit.positionAt(mouse.x+x,mouse.y+y);
-                            if (!edit.focus)
-                                edit.focus = true;
-                            edit.openSoftwareInputPanel();
-                        }
-                    }
-
-                    function hitHandle(h,x,y) { 
-                        return x>=h.x+flick.contentX && x<h.x+flick.contentX+h.width && y>=h.y+flick.contentY && y<h.y+flick.contentY+h.height 
-                    }
-
-                    onPressed: {
-                        if (editor.state == "selection") {
-                            if (hitHandle(startHandle,mouse.x+x,mouse.y+y)) {
-                                drag = "start"
-                                flick.interactive = false
-                            } else if (hitHandle(endHandle,mouse.x+x,mouse.y+y)) {
-                                drag = "end"
-                                flick.interactive = false
-                            } else {
-                                var pos = edit.positionAt(mouse.x+x,mouse.y+y);
-                                if (pos >= edit.selectionStart && pos <= edit.selectionEnd) {
-                                    drag = "selection"
-                                    flick.interactive = false
-                                } else {
-                                    drag = ""
-                                    flick.interactive = true
-                                }
-                            }
-                        }
-                    }
-
-                    onReleased: {
-                        if (editor.state == "selection") {
-                            if (drag == "selection") {
-                                editor.state = "menu"
-                            }
-                            drag = ""
-                        }
-                        flick.interactive = true
-                    }
-
-                    onPositionChanged: {
-                        if (editor.state == "selection" && drag != "") {
-                            if (drag == "start") {
-                                var pos = edit.positionAt(mouse.x+x+startHandle.width/2,mouse.y+y);
-                                var e = edit.selectionEnd;
-                                if (e < pos)
-                                    e = pos;
-                                edit.select(pos,e);
-                            } else if (drag == "end") {
-                                var pos = edit.positionAt(mouse.x+x-endHandle.width/2,mouse.y+y);
-                                var s = edit.selectionStart;
-                                if (s > pos)
-                                    s = pos;
-                                edit.select(s,pos);
-                            }
-                        }
-                    }
-                }
-            }
-        }
-
-        Item {
-            id: menu
-            opacity: 0.0
-            width: 100
-            height: 120
-            anchors.centerIn: parent
-
-            Rectangle {
-                border.width: 1
-                border.color: "darkBlue"
-                radius: 15
-                color: "#806080FF"
-                anchors.fill: parent
-            }
-
-            Column {
-                anchors.centerIn: parent
-                spacing: 8
-
-                Rectangle {
-                    border.width: 1
-                    border.color: "darkBlue"
-                    color: "#ff7090FF"
-                    width: 60
-                    height: 16
-
-                    Text { anchors.centerIn: parent; text: "Cut" }
-
-                    MouseArea { 
-                        anchors.fill: parent
-                        onClicked: { edit.cut(); editor.state = "" } 
-                    }
-                }
-
-                Rectangle {
-                    border.width: 1
-                    border.color: "darkBlue"
-                    color: "#ff7090FF"
-                    width: 60
-                    height: 16
-
-                    Text { anchors.centerIn: parent; text: "Copy" }
-
-                    MouseArea { 
-                        anchors.fill: parent
-                        onClicked: { edit.copy(); editor.state = "selection" } 
-                    }
-                }
-
-                Rectangle {
-                    border.width: 1
-                    border.color: "darkBlue"
-                    color: "#ff7090FF"
-                    width: 60
-                    height: 16
-
-                    Text { anchors.centerIn: parent; text: "Paste" }
-
-                    MouseArea { 
-                        anchors.fill: parent
-                        onClicked: { edit.paste(); edit.cursorPosition = edit.selectionEnd; editor.state = "" } 
-                    }
-                }
-
-                Rectangle {
-                    border.width: 1
-                    border.color: "darkBlue"
-                    color: "#ff7090FF"
-                    width: 60
-                    height: 16
-
-                    Text { anchors.centerIn: parent; text: "Deselect" }
-
-                    MouseArea { 
-                        anchors.fill: parent
-                        onClicked: { 
-                            edit.cursorPosition = edit.selectionEnd;
-                            edit.deselect();
-                            editor.state = "" 
-                        } 
-                    }
-                }
-            }
-        }
-    }
-
-    states: [
-        State {
-            name: "selection"
-            PropertyChanges { target: startHandle; opacity: 1.0 }
-            PropertyChanges { target: endHandle; opacity: 1.0 }
-        },
-        State {
-            name: "menu"
-            PropertyChanges { target: startHandle; opacity: 0.5 }
-            PropertyChanges { target: endHandle; opacity: 0.5 }
-            PropertyChanges { target: menu; opacity: 1.0 }
-        }
-    ]
-}
diff --git a/examples/declarative/text/textselection/textselection.qmlproject b/examples/declarative/text/textselection/textselection.qmlproject
new file mode 100644
index 0000000..9cb2b0a
--- /dev/null
+++ b/examples/declarative/text/textselection/textselection.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/textselection"
+    }
+    JavaScriptFiles {
+        directory: "qml/textselection"
+    }
+    ImageFiles {
+        directory: "qml/textselection"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
-- 
cgit v0.12


From 3a5396262602ca117eeba2d8763555bd03fd7bf5 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:01 +0100
Subject: threading/ threadedlistmodel and workerscript example modifications

Modified examples 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>
---
 .../threading/threadedlistmodel/dataloader.js      |  49 -----------
 .../threading/threadedlistmodel/main.cpp           |  54 ++++++++++++
 .../qml/threadedlistmodel/dataloader.js            |  49 +++++++++++
 .../qml/threadedlistmodel/timedisplay.qml          |  76 +++++++++++++++++
 .../threadedlistmodel/threadedlistmodel.desktop    |  11 +++
 .../threadedlistmodel/threadedlistmodel.pro        |  37 ++++++++
 .../threadedlistmodel/threadedlistmodel.qmlproject |   6 +-
 .../threadedlistmodel/threadedlistmodel.svg        |  93 +++++++++++++++++++++
 .../threadedlistmodel/threadedlistmodel64.png      | Bin 0 -> 3400 bytes
 .../threadedlistmodel/threadedlistmodel80.png      | Bin 0 -> 4945 bytes
 .../threadedlistmodel_harmattan.desktop            |  11 +++
 .../threading/threadedlistmodel/timedisplay.qml    |  76 -----------------
 .../declarative/threading/workerscript/main.cpp    |  54 ++++++++++++
 .../workerscript/qml/workerscript/workerscript.js  |  15 ++++
 .../workerscript/qml/workerscript/workerscript.qml |  83 ++++++++++++++++++
 .../threading/workerscript/workerscript.desktop    |  11 +++
 .../threading/workerscript/workerscript.js         |  15 ----
 .../threading/workerscript/workerscript.pro        |  37 ++++++++
 .../threading/workerscript/workerscript.qml        |  83 ------------------
 .../threading/workerscript/workerscript.qmlproject |   6 +-
 .../threading/workerscript/workerscript.svg        |  93 +++++++++++++++++++++
 .../threading/workerscript/workerscript64.png      | Bin 0 -> 3400 bytes
 .../threading/workerscript/workerscript80.png      | Bin 0 -> 4945 bytes
 .../workerscript/workerscript_harmattan.desktop    |  11 +++
 24 files changed, 641 insertions(+), 229 deletions(-)
 delete mode 100644 examples/declarative/threading/threadedlistmodel/dataloader.js
 create mode 100644 examples/declarative/threading/threadedlistmodel/main.cpp
 create mode 100644 examples/declarative/threading/threadedlistmodel/qml/threadedlistmodel/dataloader.js
 create mode 100644 examples/declarative/threading/threadedlistmodel/qml/threadedlistmodel/timedisplay.qml
 create mode 100644 examples/declarative/threading/threadedlistmodel/threadedlistmodel.desktop
 create mode 100644 examples/declarative/threading/threadedlistmodel/threadedlistmodel.pro
 create mode 100644 examples/declarative/threading/threadedlistmodel/threadedlistmodel.svg
 create mode 100644 examples/declarative/threading/threadedlistmodel/threadedlistmodel64.png
 create mode 100644 examples/declarative/threading/threadedlistmodel/threadedlistmodel80.png
 create mode 100644 examples/declarative/threading/threadedlistmodel/threadedlistmodel_harmattan.desktop
 delete mode 100644 examples/declarative/threading/threadedlistmodel/timedisplay.qml
 create mode 100644 examples/declarative/threading/workerscript/main.cpp
 create mode 100644 examples/declarative/threading/workerscript/qml/workerscript/workerscript.js
 create mode 100644 examples/declarative/threading/workerscript/qml/workerscript/workerscript.qml
 create mode 100644 examples/declarative/threading/workerscript/workerscript.desktop
 delete mode 100644 examples/declarative/threading/workerscript/workerscript.js
 create mode 100644 examples/declarative/threading/workerscript/workerscript.pro
 delete mode 100644 examples/declarative/threading/workerscript/workerscript.qml
 create mode 100644 examples/declarative/threading/workerscript/workerscript.svg
 create mode 100644 examples/declarative/threading/workerscript/workerscript64.png
 create mode 100644 examples/declarative/threading/workerscript/workerscript80.png
 create mode 100644 examples/declarative/threading/workerscript/workerscript_harmattan.desktop

diff --git a/examples/declarative/threading/threadedlistmodel/dataloader.js b/examples/declarative/threading/threadedlistmodel/dataloader.js
deleted file mode 100644
index dffcd56..0000000
--- a/examples/declarative/threading/threadedlistmodel/dataloader.js
+++ /dev/null
@@ -1,49 +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$
-**
-****************************************************************************/
-
-// ![0]
-WorkerScript.onMessage = function(msg) {
-    if (msg.action == 'appendCurrentTime') {
-        var data = {'time': new Date().toTimeString()};
-        msg.model.append(data);
-        msg.model.sync();   // updates the changes to the list
-    }
-}
-// ![0]
diff --git a/examples/declarative/threading/threadedlistmodel/main.cpp b/examples/declarative/threading/threadedlistmodel/main.cpp
new file mode 100644
index 0000000..e3cd9e9
--- /dev/null
+++ b/examples/declarative/threading/threadedlistmodel/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include "qmlapplicationviewer.h"
+#include <QtGui/QApplication>
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/threadedlistmodel/timedisplay.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/examples/declarative/threading/threadedlistmodel/qml/threadedlistmodel/dataloader.js b/examples/declarative/threading/threadedlistmodel/qml/threadedlistmodel/dataloader.js
new file mode 100644
index 0000000..dffcd56
--- /dev/null
+++ b/examples/declarative/threading/threadedlistmodel/qml/threadedlistmodel/dataloader.js
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// ![0]
+WorkerScript.onMessage = function(msg) {
+    if (msg.action == 'appendCurrentTime') {
+        var data = {'time': new Date().toTimeString()};
+        msg.model.append(data);
+        msg.model.sync();   // updates the changes to the list
+    }
+}
+// ![0]
diff --git a/examples/declarative/threading/threadedlistmodel/qml/threadedlistmodel/timedisplay.qml b/examples/declarative/threading/threadedlistmodel/qml/threadedlistmodel/timedisplay.qml
new file mode 100644
index 0000000..42d1345
--- /dev/null
+++ b/examples/declarative/threading/threadedlistmodel/qml/threadedlistmodel/timedisplay.qml
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+// ![0]
+import QtQuick 1.0
+
+Rectangle {
+    color: "white"
+    width: 200
+    height: 300
+
+    ListView {
+        anchors.fill: parent
+        model: listModel
+        delegate: Component {
+            Text { text: time }
+        }
+
+        ListModel { id: listModel }
+
+        WorkerScript {
+            id: worker
+            source: "dataloader.js"
+        }
+
+        Timer {
+            id: timer
+            interval: 2000; repeat: true
+            running: true
+            triggeredOnStart: true
+
+            onTriggered: {
+                var msg = {'action': 'appendCurrentTime', 'model': listModel};
+                worker.sendMessage(msg);
+            }
+        }
+    }
+}
+// ![0]
diff --git a/examples/declarative/threading/threadedlistmodel/threadedlistmodel.desktop b/examples/declarative/threading/threadedlistmodel/threadedlistmodel.desktop
new file mode 100644
index 0000000..41646a8
--- /dev/null
+++ b/examples/declarative/threading/threadedlistmodel/threadedlistmodel.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=threadedlistmodel
+Exec=/opt/threadedlistmodel/bin/threadedlistmodel
+Icon=threadedlistmodel64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/threading/threadedlistmodel/threadedlistmodel.pro b/examples/declarative/threading/threadedlistmodel/threadedlistmodel.pro
new file mode 100644
index 0000000..d81bf62
--- /dev/null
+++ b/examples/declarative/threading/threadedlistmodel/threadedlistmodel.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/threadedlistmodel
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE3DA53C6
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/threading/threadedlistmodel/threadedlistmodel.qmlproject b/examples/declarative/threading/threadedlistmodel/threadedlistmodel.qmlproject
index fe2dc29..e462c07 100644
--- a/examples/declarative/threading/threadedlistmodel/threadedlistmodel.qmlproject
+++ b/examples/declarative/threading/threadedlistmodel/threadedlistmodel.qmlproject
@@ -43,13 +43,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/threadedlistmodel"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/threadedlistmodel"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/threadedlistmodel"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/examples/declarative/threading/threadedlistmodel/threadedlistmodel.svg b/examples/declarative/threading/threadedlistmodel/threadedlistmodel.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/examples/declarative/threading/threadedlistmodel/threadedlistmodel.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/examples/declarative/threading/threadedlistmodel/threadedlistmodel64.png b/examples/declarative/threading/threadedlistmodel/threadedlistmodel64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/examples/declarative/threading/threadedlistmodel/threadedlistmodel64.png differ
diff --git a/examples/declarative/threading/threadedlistmodel/threadedlistmodel80.png b/examples/declarative/threading/threadedlistmodel/threadedlistmodel80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/examples/declarative/threading/threadedlistmodel/threadedlistmodel80.png differ
diff --git a/examples/declarative/threading/threadedlistmodel/threadedlistmodel_harmattan.desktop b/examples/declarative/threading/threadedlistmodel/threadedlistmodel_harmattan.desktop
new file mode 100644
index 0000000..ae9851a
--- /dev/null
+++ b/examples/declarative/threading/threadedlistmodel/threadedlistmodel_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=threadedlistmodel
+Exec=/usr/bin/single-instance /opt/threadedlistmodel/bin/threadedlistmodel
+Icon=/usr/share/icons/hicolor/80x80/apps/threadedlistmodel80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/threading/threadedlistmodel/timedisplay.qml b/examples/declarative/threading/threadedlistmodel/timedisplay.qml
deleted file mode 100644
index 42d1345..0000000
--- a/examples/declarative/threading/threadedlistmodel/timedisplay.qml
+++ /dev/null
@@ -1,76 +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$
-**
-****************************************************************************/
-
-// ![0]
-import QtQuick 1.0
-
-Rectangle {
-    color: "white"
-    width: 200
-    height: 300
-
-    ListView {
-        anchors.fill: parent
-        model: listModel
-        delegate: Component {
-            Text { text: time }
-        }
-
-        ListModel { id: listModel }
-
-        WorkerScript {
-            id: worker
-            source: "dataloader.js"
-        }
-
-        Timer {
-            id: timer
-            interval: 2000; repeat: true
-            running: true
-            triggeredOnStart: true
-
-            onTriggered: {
-                var msg = {'action': 'appendCurrentTime', 'model': listModel};
-                worker.sendMessage(msg);
-            }
-        }
-    }
-}
-// ![0]
diff --git a/examples/declarative/threading/workerscript/main.cpp b/examples/declarative/threading/workerscript/main.cpp
new file mode 100644
index 0000000..78e06f6
--- /dev/null
+++ b/examples/declarative/threading/workerscript/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include "qmlapplicationviewer.h"
+#include <QtGui/QApplication>
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/workerscript/workerscript.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/examples/declarative/threading/workerscript/qml/workerscript/workerscript.js b/examples/declarative/threading/workerscript/qml/workerscript/workerscript.js
new file mode 100644
index 0000000..f76471f
--- /dev/null
+++ b/examples/declarative/threading/workerscript/qml/workerscript/workerscript.js
@@ -0,0 +1,15 @@
+var lastx = 0;
+var lasty = 0;
+
+WorkerScript.onMessage = function(message) {
+    var ydiff = message.y - lasty;
+    var xdiff = message.x - lastx;
+
+    var total = Math.sqrt(ydiff * ydiff + xdiff * xdiff);
+
+    lastx = message.x;
+    lasty = message.y;
+
+    WorkerScript.sendMessage( {xmove: xdiff, ymove: ydiff, move: total} );
+}
+
diff --git a/examples/declarative/threading/workerscript/qml/workerscript/workerscript.qml b/examples/declarative/threading/workerscript/qml/workerscript/workerscript.qml
new file mode 100644
index 0000000..f3ba481
--- /dev/null
+++ b/examples/declarative/threading/workerscript/qml/workerscript/workerscript.qml
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** 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 {
+    width: 480; height: 320
+
+    WorkerScript {
+        id: myWorker
+        source: "workerscript.js"
+
+        onMessage: {
+            console.log("Moved " + messageObject.xmove + " along the X axis.");
+            console.log("Moved " + messageObject.ymove + " along the Y axis.");
+            console.log("Moved " + messageObject.move + " pixels.");
+        }
+    }
+
+    Rectangle {
+        width: 200; height: 200
+        anchors.left: parent.left; anchors.leftMargin: 20
+        color: "red"
+
+        MouseArea { 
+            anchors.fill: parent
+            onClicked: myWorker.sendMessage( { rectangle: "red", x: mouse.x, y: mouse.y } );
+        }
+    }
+
+    Rectangle {
+        width: 200; height: 200
+        anchors.right: parent.right; anchors.rightMargin: 20
+        color: "blue"
+
+        MouseArea { 
+            anchors.fill: parent
+            onClicked: myWorker.sendMessage( { rectangle: "blue", x: mouse.x, y: mouse.y } );
+        }
+    }
+
+    Text {
+        text: "Click a Rectangle!"
+        anchors { horizontalCenter: parent.horizontalCenter; bottom: parent.bottom; bottomMargin: 50 }
+    }
+}
diff --git a/examples/declarative/threading/workerscript/workerscript.desktop b/examples/declarative/threading/workerscript/workerscript.desktop
new file mode 100644
index 0000000..c8e378d
--- /dev/null
+++ b/examples/declarative/threading/workerscript/workerscript.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=workerscript
+Exec=/opt/workerscript/bin/workerscript
+Icon=workerscript64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/threading/workerscript/workerscript.js b/examples/declarative/threading/workerscript/workerscript.js
deleted file mode 100644
index f76471f..0000000
--- a/examples/declarative/threading/workerscript/workerscript.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var lastx = 0;
-var lasty = 0;
-
-WorkerScript.onMessage = function(message) {
-    var ydiff = message.y - lasty;
-    var xdiff = message.x - lastx;
-
-    var total = Math.sqrt(ydiff * ydiff + xdiff * xdiff);
-
-    lastx = message.x;
-    lasty = message.y;
-
-    WorkerScript.sendMessage( {xmove: xdiff, ymove: ydiff, move: total} );
-}
-
diff --git a/examples/declarative/threading/workerscript/workerscript.pro b/examples/declarative/threading/workerscript/workerscript.pro
new file mode 100644
index 0000000..fa60c1b
--- /dev/null
+++ b/examples/declarative/threading/workerscript/workerscript.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/workerscript
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE1474B5B
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/threading/workerscript/workerscript.qml b/examples/declarative/threading/workerscript/workerscript.qml
deleted file mode 100644
index f3ba481..0000000
--- a/examples/declarative/threading/workerscript/workerscript.qml
+++ /dev/null
@@ -1,83 +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 {
-    width: 480; height: 320
-
-    WorkerScript {
-        id: myWorker
-        source: "workerscript.js"
-
-        onMessage: {
-            console.log("Moved " + messageObject.xmove + " along the X axis.");
-            console.log("Moved " + messageObject.ymove + " along the Y axis.");
-            console.log("Moved " + messageObject.move + " pixels.");
-        }
-    }
-
-    Rectangle {
-        width: 200; height: 200
-        anchors.left: parent.left; anchors.leftMargin: 20
-        color: "red"
-
-        MouseArea { 
-            anchors.fill: parent
-            onClicked: myWorker.sendMessage( { rectangle: "red", x: mouse.x, y: mouse.y } );
-        }
-    }
-
-    Rectangle {
-        width: 200; height: 200
-        anchors.right: parent.right; anchors.rightMargin: 20
-        color: "blue"
-
-        MouseArea { 
-            anchors.fill: parent
-            onClicked: myWorker.sendMessage( { rectangle: "blue", x: mouse.x, y: mouse.y } );
-        }
-    }
-
-    Text {
-        text: "Click a Rectangle!"
-        anchors { horizontalCenter: parent.horizontalCenter; bottom: parent.bottom; bottomMargin: 50 }
-    }
-}
diff --git a/examples/declarative/threading/workerscript/workerscript.qmlproject b/examples/declarative/threading/workerscript/workerscript.qmlproject
index d4909f8..11ae5e5 100644
--- a/examples/declarative/threading/workerscript/workerscript.qmlproject
+++ b/examples/declarative/threading/workerscript/workerscript.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/workerscript"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/workerscript"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/workerscript"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/examples/declarative/threading/workerscript/workerscript.svg b/examples/declarative/threading/workerscript/workerscript.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/examples/declarative/threading/workerscript/workerscript.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/examples/declarative/threading/workerscript/workerscript64.png b/examples/declarative/threading/workerscript/workerscript64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/examples/declarative/threading/workerscript/workerscript64.png differ
diff --git a/examples/declarative/threading/workerscript/workerscript80.png b/examples/declarative/threading/workerscript/workerscript80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/examples/declarative/threading/workerscript/workerscript80.png differ
diff --git a/examples/declarative/threading/workerscript/workerscript_harmattan.desktop b/examples/declarative/threading/workerscript/workerscript_harmattan.desktop
new file mode 100644
index 0000000..3517ca7
--- /dev/null
+++ b/examples/declarative/threading/workerscript/workerscript_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=workerscript
+Exec=/usr/bin/single-instance /opt/workerscript/bin/workerscript
+Icon=/usr/share/icons/hicolor/80x80/apps/workerscript80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
-- 
cgit v0.12


From 7a98c9cca6dade7a2074d9dd19a44c8c23bd412b Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:02 +0100
Subject: Touchintegration Examples Modifications

touchintegration/ gestures, mousearea and pincharea example
modifications

Modified examples 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>
---
 .../gestures/experimental-gestures.qml             |  76 --------
 .../experimental-gestures/experimentalgestures.pro |   4 +-
 .../experimental-gestures/gestures.qmlproject      |  16 ++
 .../gestures/experimental-gestures/main.cpp        |   2 +-
 .../qml/experimental-gestures.qml                  |  76 --------
 .../experimental-gestures.qml                      |  76 ++++++++
 .../experimental-gestures/qml/gestures.qmlproject  |  16 --
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../mousearea/mousearea-example.qml                | 112 ------------
 .../mousearea/mousearea-example/main.cpp           |   2 +-
 .../mousearea-example/mousearea.qmlproject         |  16 ++
 .../mousearea-example/mouseareaexample.pro         |   4 +-
 .../mousearea-example/qml/mousearea-example.qml    | 112 ------------
 .../qml/mousearea-example/mousearea-example.qml    | 112 ++++++++++++
 .../mousearea-example/qml/mousearea.qmlproject     |  16 --
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../mousearea/mousearea.qmlproject                 |  16 --
 .../touchinteraction/pincharea/flickresize.qml     |  97 ----------
 .../touchinteraction/pincharea/main.cpp            |  54 ++++++
 .../touchinteraction/pincharea/pincharea.desktop   |  11 ++
 .../touchinteraction/pincharea/pincharea.pro       |  37 ++++
 .../pincharea/pincharea.qmlproject                 |   6 +-
 .../touchinteraction/pincharea/pincharea.svg       |  93 ++++++++++
 .../touchinteraction/pincharea/pincharea64.png     | Bin 0 -> 3400 bytes
 .../touchinteraction/pincharea/pincharea80.png     | Bin 0 -> 4945 bytes
 .../pincharea/pincharea_harmattan.desktop          |  11 ++
 .../pincharea/qml/pincharea/flickresize.qml        |  97 ++++++++++
 .../pincharea/qml/pincharea/qt-logo.jpg            | Bin 0 -> 40886 bytes
 .../touchinteraction/pincharea/qt-logo.jpg         | Bin 40886 -> 0 bytes
 33 files changed, 532 insertions(+), 1390 deletions(-)
 delete mode 100644 examples/declarative/touchinteraction/gestures/experimental-gestures.qml
 create mode 100644 examples/declarative/touchinteraction/gestures/experimental-gestures/gestures.qmlproject
 delete mode 100644 examples/declarative/touchinteraction/gestures/experimental-gestures/qml/experimental-gestures.qml
 create mode 100644 examples/declarative/touchinteraction/gestures/experimental-gestures/qml/experimental-gestures/experimental-gestures.qml
 delete mode 100644 examples/declarative/touchinteraction/gestures/experimental-gestures/qml/gestures.qmlproject
 delete mode 100644 examples/declarative/touchinteraction/gestures/experimental-gestures/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/touchinteraction/gestures/experimental-gestures/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/touchinteraction/gestures/experimental-gestures/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/touchinteraction/mousearea/mousearea-example.qml
 create mode 100644 examples/declarative/touchinteraction/mousearea/mousearea-example/mousearea.qmlproject
 delete mode 100644 examples/declarative/touchinteraction/mousearea/mousearea-example/qml/mousearea-example.qml
 create mode 100644 examples/declarative/touchinteraction/mousearea/mousearea-example/qml/mousearea-example/mousearea-example.qml
 delete mode 100644 examples/declarative/touchinteraction/mousearea/mousearea-example/qml/mousearea.qmlproject
 delete mode 100644 examples/declarative/touchinteraction/mousearea/mousearea-example/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/touchinteraction/mousearea/mousearea-example/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/touchinteraction/mousearea/mousearea-example/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/touchinteraction/mousearea/mousearea.qmlproject
 delete mode 100644 examples/declarative/touchinteraction/pincharea/flickresize.qml
 create mode 100644 examples/declarative/touchinteraction/pincharea/main.cpp
 create mode 100644 examples/declarative/touchinteraction/pincharea/pincharea.desktop
 create mode 100644 examples/declarative/touchinteraction/pincharea/pincharea.pro
 create mode 100644 examples/declarative/touchinteraction/pincharea/pincharea.svg
 create mode 100644 examples/declarative/touchinteraction/pincharea/pincharea64.png
 create mode 100644 examples/declarative/touchinteraction/pincharea/pincharea80.png
 create mode 100644 examples/declarative/touchinteraction/pincharea/pincharea_harmattan.desktop
 create mode 100644 examples/declarative/touchinteraction/pincharea/qml/pincharea/flickresize.qml
 create mode 100644 examples/declarative/touchinteraction/pincharea/qml/pincharea/qt-logo.jpg
 delete mode 100644 examples/declarative/touchinteraction/pincharea/qt-logo.jpg

diff --git a/examples/declarative/touchinteraction/gestures/experimental-gestures.qml b/examples/declarative/touchinteraction/gestures/experimental-gestures.qml
deleted file mode 100644
index c607194..0000000
--- a/examples/declarative/touchinteraction/gestures/experimental-gestures.qml
+++ /dev/null
@@ -1,76 +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
-import Qt.labs.gestures 1.0
-
-// Only works on platforms with Touch support.
-
-Rectangle {
-    id: rect
-    width: 320
-    height: 180
-
-    Text {
-        anchors.centerIn: parent
-        text: "Tap / TapAndHold / Pan / Pinch / Swipe\nOnly works on platforms with Touch support."
-        horizontalAlignment: Text.Center
-    }
-
-    GestureArea {
-        anchors.fill: parent
-        focus: true
-
-        // Only some of the many gesture properties are shown. See Gesture documentation.
-
-        onTap:
-            console.log("tap pos = (",gesture.position.x,",",gesture.position.y,")")
-        onTapAndHold:
-            console.log("tap and hold pos = (",gesture.position.x,",",gesture.position.y,")")
-        onPan:
-            console.log("pan delta = (",gesture.delta.x,",",gesture.delta.y,") acceleration = ",gesture.acceleration)
-        onPinch:
-            console.log("pinch center = (",gesture.centerPoint.x,",",gesture.centerPoint.y,") rotation =",gesture.rotationAngle," scale =",gesture.scaleFactor)
-        onSwipe:
-            console.log("swipe angle=",gesture.swipeAngle)
-        onGesture:
-            console.log("gesture hot spot = (",gesture.hotSpot.x,",",gesture.hotSpot.y,")")
-    }
-}
diff --git a/examples/declarative/touchinteraction/gestures/experimental-gestures/experimentalgestures.pro b/examples/declarative/touchinteraction/gestures/experimental-gestures/experimentalgestures.pro
index 8f98940..729eaec 100644
--- a/examples/declarative/touchinteraction/gestures/experimental-gestures/experimentalgestures.pro
+++ b/examples/declarative/touchinteraction/gestures/experimental-gestures/experimentalgestures.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/experimental-gestures
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE3FF6816
 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/touchinteraction/gestures/experimental-gestures/gestures.qmlproject b/examples/declarative/touchinteraction/gestures/experimental-gestures/gestures.qmlproject
new file mode 100644
index 0000000..3294cb2
--- /dev/null
+++ b/examples/declarative/touchinteraction/gestures/experimental-gestures/gestures.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/experimental-gestures"
+    }
+    JavaScriptFiles {
+        directory: "qml/experimental-gestures"
+    }
+    ImageFiles {
+        directory: "qml/experimental-gestures"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/touchinteraction/gestures/experimental-gestures/main.cpp b/examples/declarative/touchinteraction/gestures/experimental-gestures/main.cpp
index 0826861..96a743d 100644
--- a/examples/declarative/touchinteraction/gestures/experimental-gestures/main.cpp
+++ b/examples/declarative/touchinteraction/gestures/experimental-gestures/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/experimental-gestures.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/experimental-gestures/experimental-gestures.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/touchinteraction/gestures/experimental-gestures/qml/experimental-gestures.qml b/examples/declarative/touchinteraction/gestures/experimental-gestures/qml/experimental-gestures.qml
deleted file mode 100644
index 6a4cb3d..0000000
--- a/examples/declarative/touchinteraction/gestures/experimental-gestures/qml/experimental-gestures.qml
+++ /dev/null
@@ -1,76 +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
-import Qt.labs.gestures 1.0
-
-// Only works on platforms with Touch support.
-
-Rectangle {
-    id: rect
-    width: 320
-    height: 180
-
-    Text {
-        anchors.centerIn: parent
-        text: "Tap / TapAndHold / Pan / Pinch / Swipe\nOnly works on platforms with Touch support."
-        horizontalAlignment: Text.Center
-    }
-
-    GestureArea {
-        anchors.fill: parent
-        focus: true
-
-        // Only some of the many gesture properties are shown. See Gesture documentation.
-
-        onTap:
-            console.log("tap pos = (",gesture.position.x,",",gesture.position.y,")")
-        onTapAndHold:
-            console.log("tap and hold pos = (",gesture.position.x,",",gesture.position.y,")")
-        onPan:
-            console.log("pan delta = (",gesture.delta.x,",",gesture.delta.y,") acceleration = ",gesture.acceleration)
-        onPinch:
-            console.log("pinch center = (",gesture.centerPoint.x,",",gesture.centerPoint.y,") rotation =",gesture.rotationAngle," scale =",gesture.scaleFactor)
-        onSwipe:
-            console.log("swipe angle=",gesture.swipeAngle)
-        onGesture:
-            console.log("gesture hot spot = (",gesture.hotSpot.x,",",gesture.hotSpot.y,")")
-    }
-}
diff --git a/examples/declarative/touchinteraction/gestures/experimental-gestures/qml/experimental-gestures/experimental-gestures.qml b/examples/declarative/touchinteraction/gestures/experimental-gestures/qml/experimental-gestures/experimental-gestures.qml
new file mode 100644
index 0000000..6a4cb3d
--- /dev/null
+++ b/examples/declarative/touchinteraction/gestures/experimental-gestures/qml/experimental-gestures/experimental-gestures.qml
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** 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
+import Qt.labs.gestures 1.0
+
+// Only works on platforms with Touch support.
+
+Rectangle {
+    id: rect
+    width: 320
+    height: 180
+
+    Text {
+        anchors.centerIn: parent
+        text: "Tap / TapAndHold / Pan / Pinch / Swipe\nOnly works on platforms with Touch support."
+        horizontalAlignment: Text.Center
+    }
+
+    GestureArea {
+        anchors.fill: parent
+        focus: true
+
+        // Only some of the many gesture properties are shown. See Gesture documentation.
+
+        onTap:
+            console.log("tap pos = (",gesture.position.x,",",gesture.position.y,")")
+        onTapAndHold:
+            console.log("tap and hold pos = (",gesture.position.x,",",gesture.position.y,")")
+        onPan:
+            console.log("pan delta = (",gesture.delta.x,",",gesture.delta.y,") acceleration = ",gesture.acceleration)
+        onPinch:
+            console.log("pinch center = (",gesture.centerPoint.x,",",gesture.centerPoint.y,") rotation =",gesture.rotationAngle," scale =",gesture.scaleFactor)
+        onSwipe:
+            console.log("swipe angle=",gesture.swipeAngle)
+        onGesture:
+            console.log("gesture hot spot = (",gesture.hotSpot.x,",",gesture.hotSpot.y,")")
+    }
+}
diff --git a/examples/declarative/touchinteraction/gestures/experimental-gestures/qml/gestures.qmlproject b/examples/declarative/touchinteraction/gestures/experimental-gestures/qml/gestures.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/touchinteraction/gestures/experimental-gestures/qml/gestures.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/touchinteraction/gestures/experimental-gestures/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/touchinteraction/gestures/experimental-gestures/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/touchinteraction/gestures/experimental-gestures/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/touchinteraction/gestures/experimental-gestures/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/touchinteraction/gestures/experimental-gestures/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/touchinteraction/gestures/experimental-gestures/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/touchinteraction/gestures/experimental-gestures/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/touchinteraction/gestures/experimental-gestures/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/touchinteraction/gestures/experimental-gestures/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/touchinteraction/mousearea/mousearea-example.qml b/examples/declarative/touchinteraction/mousearea/mousearea-example.qml
deleted file mode 100644
index 889a6d0..0000000
--- a/examples/declarative/touchinteraction/mousearea/mousearea-example.qml
+++ /dev/null
@@ -1,112 +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: box
-    width: 350; height: 250
-
-    Rectangle {
-        id: redSquare
-        width: 80; height: 80
-        anchors.top: parent.top; anchors.left: parent.left; anchors.margins: 10
-        color: "red"
-
-        Text { text: "Click"; font.pixelSize: 16; anchors.centerIn: parent }
-
-        MouseArea {
-            anchors.fill: parent 
-            hoverEnabled: true
-            acceptedButtons: Qt.LeftButton | Qt.RightButton
-
-            onEntered: info.text = 'Entered'
-            onExited: info.text = 'Exited (pressed=' + pressed + ')'
-
-            onPressed: {
-                info.text = 'Pressed (button=' + (mouse.button == Qt.RightButton ? 'right' : 'left') 
-                    + ' shift=' + (mouse.modifiers & Qt.ShiftModifier ? 'true' : 'false') + ')'
-                var posInBox = redSquare.mapToItem(box, mouse.x, mouse.y)
-                posInfo.text = + mouse.x + ',' + mouse.y + ' in square'
-                        + ' (' + posInBox.x + ',' + posInBox.y + ' in window)'
-            }
-
-            onReleased: {
-                info.text = 'Released (isClick=' + mouse.isClick + ' wasHeld=' + mouse.wasHeld + ')'
-                posInfo.text = ''
-            }
-
-            onPressAndHold: info.text = 'Press and hold'
-            onClicked: info.text = 'Clicked (wasHeld=' + mouse.wasHeld + ')'
-            onDoubleClicked: info.text = 'Double clicked'
-        }
-    }
-
-    Rectangle {
-        id: blueSquare
-        width: 80; height: 80
-        x: box.width - width - 10; y: 10    // making this item draggable, so don't use anchors
-        color: "blue"
-
-        Text { text: "Drag"; font.pixelSize: 16; color: "white"; anchors.centerIn: parent }
-
-        MouseArea {
-            anchors.fill: parent
-            drag.target: blueSquare
-            drag.axis: Drag.XandYAxis
-            drag.minimumX: 0
-            drag.maximumX: box.width - parent.width
-            drag.minimumY: 0
-            drag.maximumY: box.height - parent.width
-        }
-    }
-
-    Text {
-        id: info
-        anchors.bottom: posInfo.top; anchors.horizontalCenter: parent.horizontalCenter; anchors.margins: 30
-
-        onTextChanged: console.log(text)
-    }
-
-    Text {
-        id: posInfo
-        anchors.bottom: parent.bottom; anchors.horizontalCenter: parent.horizontalCenter; anchors.margins: 30
-    }
-}
diff --git a/examples/declarative/touchinteraction/mousearea/mousearea-example/main.cpp b/examples/declarative/touchinteraction/mousearea/mousearea-example/main.cpp
index db7fd5a..57eff76 100644
--- a/examples/declarative/touchinteraction/mousearea/mousearea-example/main.cpp
+++ b/examples/declarative/touchinteraction/mousearea/mousearea-example/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/mousearea-example.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/mousearea-example/mousearea-example.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/touchinteraction/mousearea/mousearea-example/mousearea.qmlproject b/examples/declarative/touchinteraction/mousearea/mousearea-example/mousearea.qmlproject
new file mode 100644
index 0000000..8368df2
--- /dev/null
+++ b/examples/declarative/touchinteraction/mousearea/mousearea-example/mousearea.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/mousearea-example"
+    }
+    JavaScriptFiles {
+        directory: "qml/mousearea-example"
+    }
+    ImageFiles {
+        directory: "qml/mousearea-example"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/touchinteraction/mousearea/mousearea-example/mouseareaexample.pro b/examples/declarative/touchinteraction/mousearea/mousearea-example/mouseareaexample.pro
index 2d20e3d..0311371 100644
--- a/examples/declarative/touchinteraction/mousearea/mousearea-example/mouseareaexample.pro
+++ b/examples/declarative/touchinteraction/mousearea/mousearea-example/mouseareaexample.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/mousearea-example
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xECA7EEBE
 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/touchinteraction/mousearea/mousearea-example/qml/mousearea-example.qml b/examples/declarative/touchinteraction/mousearea/mousearea-example/qml/mousearea-example.qml
deleted file mode 100644
index 8dacc05..0000000
--- a/examples/declarative/touchinteraction/mousearea/mousearea-example/qml/mousearea-example.qml
+++ /dev/null
@@ -1,112 +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: box
-    width: 350; height: 250
-
-    Rectangle {
-        id: redSquare
-        width: 80; height: 80
-        anchors.top: parent.top; anchors.left: parent.left; anchors.margins: 10
-        color: "red"
-
-        Text { text: "Click"; font.pixelSize: 16; anchors.centerIn: parent }
-
-        MouseArea {
-            anchors.fill: parent 
-            hoverEnabled: true
-            acceptedButtons: Qt.LeftButton | Qt.RightButton
-
-            onEntered: info.text = 'Entered'
-            onExited: info.text = 'Exited (pressed=' + pressed + ')'
-
-            onPressed: {
-                info.text = 'Pressed (button=' + (mouse.button == Qt.RightButton ? 'right' : 'left') 
-                    + ' shift=' + (mouse.modifiers & Qt.ShiftModifier ? 'true' : 'false') + ')'
-                var posInBox = redSquare.mapToItem(box, mouse.x, mouse.y)
-                posInfo.text = + mouse.x + ',' + mouse.y + ' in square'
-                        + ' (' + posInBox.x + ',' + posInBox.y + ' in window)'
-            }
-
-            onReleased: {
-                info.text = 'Released (isClick=' + mouse.isClick + ' wasHeld=' + mouse.wasHeld + ')'
-                posInfo.text = ''
-            }
-
-            onPressAndHold: info.text = 'Press and hold'
-            onClicked: info.text = 'Clicked (wasHeld=' + mouse.wasHeld + ')'
-            onDoubleClicked: info.text = 'Double clicked'
-        }
-    }
-
-    Rectangle {
-        id: blueSquare
-        width: 80; height: 80
-        x: box.width - width - 10; y: 10    // making this item draggable, so don't use anchors
-        color: "blue"
-
-        Text { text: "Drag"; font.pixelSize: 16; color: "white"; anchors.centerIn: parent }
-
-        MouseArea {
-            anchors.fill: parent
-            drag.target: blueSquare
-            drag.axis: Drag.XandYAxis
-            drag.minimumX: 0
-            drag.maximumX: box.width - parent.width
-            drag.minimumY: 0
-            drag.maximumY: box.height - parent.width
-        }
-    }
-
-    Text {
-        id: info
-        anchors.bottom: posInfo.top; anchors.horizontalCenter: parent.horizontalCenter; anchors.margins: 30
-
-        onTextChanged: console.log(text)
-    }
-
-    Text {
-        id: posInfo
-        anchors.bottom: parent.bottom; anchors.horizontalCenter: parent.horizontalCenter; anchors.margins: 30
-    }
-}
diff --git a/examples/declarative/touchinteraction/mousearea/mousearea-example/qml/mousearea-example/mousearea-example.qml b/examples/declarative/touchinteraction/mousearea/mousearea-example/qml/mousearea-example/mousearea-example.qml
new file mode 100644
index 0000000..8dacc05
--- /dev/null
+++ b/examples/declarative/touchinteraction/mousearea/mousearea-example/qml/mousearea-example/mousearea-example.qml
@@ -0,0 +1,112 @@
+/****************************************************************************
+**
+** 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: box
+    width: 350; height: 250
+
+    Rectangle {
+        id: redSquare
+        width: 80; height: 80
+        anchors.top: parent.top; anchors.left: parent.left; anchors.margins: 10
+        color: "red"
+
+        Text { text: "Click"; font.pixelSize: 16; anchors.centerIn: parent }
+
+        MouseArea {
+            anchors.fill: parent 
+            hoverEnabled: true
+            acceptedButtons: Qt.LeftButton | Qt.RightButton
+
+            onEntered: info.text = 'Entered'
+            onExited: info.text = 'Exited (pressed=' + pressed + ')'
+
+            onPressed: {
+                info.text = 'Pressed (button=' + (mouse.button == Qt.RightButton ? 'right' : 'left') 
+                    + ' shift=' + (mouse.modifiers & Qt.ShiftModifier ? 'true' : 'false') + ')'
+                var posInBox = redSquare.mapToItem(box, mouse.x, mouse.y)
+                posInfo.text = + mouse.x + ',' + mouse.y + ' in square'
+                        + ' (' + posInBox.x + ',' + posInBox.y + ' in window)'
+            }
+
+            onReleased: {
+                info.text = 'Released (isClick=' + mouse.isClick + ' wasHeld=' + mouse.wasHeld + ')'
+                posInfo.text = ''
+            }
+
+            onPressAndHold: info.text = 'Press and hold'
+            onClicked: info.text = 'Clicked (wasHeld=' + mouse.wasHeld + ')'
+            onDoubleClicked: info.text = 'Double clicked'
+        }
+    }
+
+    Rectangle {
+        id: blueSquare
+        width: 80; height: 80
+        x: box.width - width - 10; y: 10    // making this item draggable, so don't use anchors
+        color: "blue"
+
+        Text { text: "Drag"; font.pixelSize: 16; color: "white"; anchors.centerIn: parent }
+
+        MouseArea {
+            anchors.fill: parent
+            drag.target: blueSquare
+            drag.axis: Drag.XandYAxis
+            drag.minimumX: 0
+            drag.maximumX: box.width - parent.width
+            drag.minimumY: 0
+            drag.maximumY: box.height - parent.width
+        }
+    }
+
+    Text {
+        id: info
+        anchors.bottom: posInfo.top; anchors.horizontalCenter: parent.horizontalCenter; anchors.margins: 30
+
+        onTextChanged: console.log(text)
+    }
+
+    Text {
+        id: posInfo
+        anchors.bottom: parent.bottom; anchors.horizontalCenter: parent.horizontalCenter; anchors.margins: 30
+    }
+}
diff --git a/examples/declarative/touchinteraction/mousearea/mousearea-example/qml/mousearea.qmlproject b/examples/declarative/touchinteraction/mousearea/mousearea-example/qml/mousearea.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/touchinteraction/mousearea/mousearea-example/qml/mousearea.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/touchinteraction/mousearea/mousearea-example/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/touchinteraction/mousearea/mousearea-example/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/touchinteraction/mousearea/mousearea-example/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/touchinteraction/mousearea/mousearea-example/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/touchinteraction/mousearea/mousearea-example/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/touchinteraction/mousearea/mousearea-example/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/touchinteraction/mousearea/mousearea-example/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/touchinteraction/mousearea/mousearea-example/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/touchinteraction/mousearea/mousearea-example/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/touchinteraction/mousearea/mousearea.qmlproject b/examples/declarative/touchinteraction/mousearea/mousearea.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/touchinteraction/mousearea/mousearea.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/touchinteraction/pincharea/flickresize.qml b/examples/declarative/touchinteraction/pincharea/flickresize.qml
deleted file mode 100644
index cf5278d..0000000
--- a/examples/declarative/touchinteraction/pincharea/flickresize.qml
+++ /dev/null
@@ -1,97 +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.1
-
-Rectangle {
-    width: 640
-    height: 360
-    color: "gray"
-
-    Flickable {
-        id: flick
-        anchors.fill: parent
-        contentWidth: 500
-        contentHeight: 500
-
-        PinchArea {
-            width: Math.max(flick.contentWidth, flick.width)
-            height: Math.max(flick.contentHeight, flick.height)
-
-            property real initialWidth
-            property real initialHeight
-            onPinchStarted: {
-                initialWidth = flick.contentWidth
-                initialHeight = flick.contentHeight
-            }
-
-            onPinchUpdated: {
-                // adjust content pos due to drag
-                flick.contentX += pinch.previousCenter.x - pinch.center.x
-                flick.contentY += pinch.previousCenter.y - pinch.center.y
-
-                // resize content
-                flick.resizeContent(initialWidth * pinch.scale, initialHeight * pinch.scale, pinch.center)
-            }
-
-            onPinchFinished: {
-                // Move its content within bounds.
-                flick.returnToBounds()
-            }
-
-            Rectangle {
-                width: flick.contentWidth
-                height: flick.contentHeight
-                color: "white"
-                Image {
-                    anchors.fill: parent
-                    source: "qt-logo.jpg"
-                    MouseArea {
-                        anchors.fill: parent
-                        onDoubleClicked: {
-                            flick.contentWidth = 500
-                            flick.contentHeight = 500
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/examples/declarative/touchinteraction/pincharea/main.cpp b/examples/declarative/touchinteraction/pincharea/main.cpp
new file mode 100644
index 0000000..012e331
--- /dev/null
+++ b/examples/declarative/touchinteraction/pincharea/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include "qmlapplicationviewer.h"
+#include <QtGui/QApplication>
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/pincharea/flickresize.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/examples/declarative/touchinteraction/pincharea/pincharea.desktop b/examples/declarative/touchinteraction/pincharea/pincharea.desktop
new file mode 100644
index 0000000..42ad357
--- /dev/null
+++ b/examples/declarative/touchinteraction/pincharea/pincharea.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=pincharea
+Exec=/opt/pincharea/bin/pincharea
+Icon=pincharea64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/touchinteraction/pincharea/pincharea.pro b/examples/declarative/touchinteraction/pincharea/pincharea.pro
new file mode 100644
index 0000000..dc2e4c6
--- /dev/null
+++ b/examples/declarative/touchinteraction/pincharea/pincharea.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/pincharea
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE0536E6B
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/touchinteraction/pincharea/pincharea.qmlproject b/examples/declarative/touchinteraction/pincharea/pincharea.qmlproject
index e526217..cb538b5 100644
--- a/examples/declarative/touchinteraction/pincharea/pincharea.qmlproject
+++ b/examples/declarative/touchinteraction/pincharea/pincharea.qmlproject
@@ -5,13 +5,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/pincharea"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/pincharea"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/pincharea"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/examples/declarative/touchinteraction/pincharea/pincharea.svg b/examples/declarative/touchinteraction/pincharea/pincharea.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/examples/declarative/touchinteraction/pincharea/pincharea.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/examples/declarative/touchinteraction/pincharea/pincharea64.png b/examples/declarative/touchinteraction/pincharea/pincharea64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/examples/declarative/touchinteraction/pincharea/pincharea64.png differ
diff --git a/examples/declarative/touchinteraction/pincharea/pincharea80.png b/examples/declarative/touchinteraction/pincharea/pincharea80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/examples/declarative/touchinteraction/pincharea/pincharea80.png differ
diff --git a/examples/declarative/touchinteraction/pincharea/pincharea_harmattan.desktop b/examples/declarative/touchinteraction/pincharea/pincharea_harmattan.desktop
new file mode 100644
index 0000000..f29c557
--- /dev/null
+++ b/examples/declarative/touchinteraction/pincharea/pincharea_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=pincharea
+Exec=/usr/bin/single-instance /opt/pincharea/bin/pincharea
+Icon=/usr/share/icons/hicolor/80x80/apps/pincharea80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/touchinteraction/pincharea/qml/pincharea/flickresize.qml b/examples/declarative/touchinteraction/pincharea/qml/pincharea/flickresize.qml
new file mode 100644
index 0000000..cf5278d
--- /dev/null
+++ b/examples/declarative/touchinteraction/pincharea/qml/pincharea/flickresize.qml
@@ -0,0 +1,97 @@
+/****************************************************************************
+**
+** 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.1
+
+Rectangle {
+    width: 640
+    height: 360
+    color: "gray"
+
+    Flickable {
+        id: flick
+        anchors.fill: parent
+        contentWidth: 500
+        contentHeight: 500
+
+        PinchArea {
+            width: Math.max(flick.contentWidth, flick.width)
+            height: Math.max(flick.contentHeight, flick.height)
+
+            property real initialWidth
+            property real initialHeight
+            onPinchStarted: {
+                initialWidth = flick.contentWidth
+                initialHeight = flick.contentHeight
+            }
+
+            onPinchUpdated: {
+                // adjust content pos due to drag
+                flick.contentX += pinch.previousCenter.x - pinch.center.x
+                flick.contentY += pinch.previousCenter.y - pinch.center.y
+
+                // resize content
+                flick.resizeContent(initialWidth * pinch.scale, initialHeight * pinch.scale, pinch.center)
+            }
+
+            onPinchFinished: {
+                // Move its content within bounds.
+                flick.returnToBounds()
+            }
+
+            Rectangle {
+                width: flick.contentWidth
+                height: flick.contentHeight
+                color: "white"
+                Image {
+                    anchors.fill: parent
+                    source: "qt-logo.jpg"
+                    MouseArea {
+                        anchors.fill: parent
+                        onDoubleClicked: {
+                            flick.contentWidth = 500
+                            flick.contentHeight = 500
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
diff --git a/examples/declarative/touchinteraction/pincharea/qml/pincharea/qt-logo.jpg b/examples/declarative/touchinteraction/pincharea/qml/pincharea/qt-logo.jpg
new file mode 100644
index 0000000..4014b46
Binary files /dev/null and b/examples/declarative/touchinteraction/pincharea/qml/pincharea/qt-logo.jpg differ
diff --git a/examples/declarative/touchinteraction/pincharea/qt-logo.jpg b/examples/declarative/touchinteraction/pincharea/qt-logo.jpg
deleted file mode 100644
index 4014b46..0000000
Binary files a/examples/declarative/touchinteraction/pincharea/qt-logo.jpg and /dev/null differ
-- 
cgit v0.12


From df92e56be8b3e20ad02f9da0e9d956bbb7db78cf Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:02 +0100
Subject: Toys Examples Modifications

toys/ clocks, corkboards, dynamicscene, tic-tac-toe and tvtennis
example modifications

Modified examples 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/toys/clocks/clocks.pro        |   4 +-
 examples/declarative/toys/clocks/clocks.qml        |  59 ------
 examples/declarative/toys/clocks/clocks.qmlproject |  16 ++
 examples/declarative/toys/clocks/content/Clock.qml | 124 ------------
 .../declarative/toys/clocks/content/QuitButton.qml |  52 -----
 .../declarative/toys/clocks/content/background.png | Bin 46895 -> 0 bytes
 .../declarative/toys/clocks/content/center.png     | Bin 765 -> 0 bytes
 .../toys/clocks/content/clock-night.png            | Bin 23359 -> 0 bytes
 examples/declarative/toys/clocks/content/clock.png | Bin 20653 -> 0 bytes
 examples/declarative/toys/clocks/content/hour.png  | Bin 625 -> 0 bytes
 .../declarative/toys/clocks/content/minute.png     | Bin 625 -> 0 bytes
 examples/declarative/toys/clocks/content/quit.png  | Bin 583 -> 0 bytes
 .../declarative/toys/clocks/content/second.png     | Bin 303 -> 0 bytes
 examples/declarative/toys/clocks/main.cpp          |   2 +-
 examples/declarative/toys/clocks/qml/clocks.qml    |  59 ------
 .../declarative/toys/clocks/qml/clocks.qmlproject  |  16 --
 .../declarative/toys/clocks/qml/clocks/clocks.qml  |  59 ++++++
 .../toys/clocks/qml/clocks/content/Clock.qml       | 124 ++++++++++++
 .../toys/clocks/qml/clocks/content/QuitButton.qml  |  52 +++++
 .../toys/clocks/qml/clocks/content/background.png  | Bin 0 -> 46895 bytes
 .../toys/clocks/qml/clocks/content/center.png      | Bin 0 -> 765 bytes
 .../toys/clocks/qml/clocks/content/clock-night.png | Bin 0 -> 23359 bytes
 .../toys/clocks/qml/clocks/content/clock.png       | Bin 0 -> 20653 bytes
 .../toys/clocks/qml/clocks/content/hour.png        | Bin 0 -> 625 bytes
 .../toys/clocks/qml/clocks/content/minute.png      | Bin 0 -> 625 bytes
 .../toys/clocks/qml/clocks/content/quit.png        | Bin 0 -> 583 bytes
 .../toys/clocks/qml/clocks/content/second.png      | Bin 0 -> 303 bytes
 .../declarative/toys/clocks/qml/content/Clock.qml  | 124 ------------
 .../toys/clocks/qml/content/QuitButton.qml         |  52 -----
 .../toys/clocks/qml/content/background.png         | Bin 46895 -> 0 bytes
 .../declarative/toys/clocks/qml/content/center.png | Bin 765 -> 0 bytes
 .../toys/clocks/qml/content/clock-night.png        | Bin 23359 -> 0 bytes
 .../declarative/toys/clocks/qml/content/clock.png  | Bin 20653 -> 0 bytes
 .../declarative/toys/clocks/qml/content/hour.png   | Bin 625 -> 0 bytes
 .../declarative/toys/clocks/qml/content/minute.png | Bin 625 -> 0 bytes
 .../declarative/toys/clocks/qml/content/quit.png   | Bin 583 -> 0 bytes
 .../declarative/toys/clocks/qml/content/second.png | Bin 303 -> 0 bytes
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 --------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 --------------
 examples/declarative/toys/corkboards/Day.qml       | 153 --------------
 .../declarative/toys/corkboards/corkboards.pro     |   4 +-
 .../declarative/toys/corkboards/corkboards.qml     | 115 -----------
 .../toys/corkboards/corkboards.qmlproject          |  16 ++
 examples/declarative/toys/corkboards/main.cpp      |   2 +-
 examples/declarative/toys/corkboards/qml/Day.qml   | 153 --------------
 examples/declarative/toys/corkboards/qml/cork.jpg  | Bin 149337 -> 0 bytes
 .../declarative/toys/corkboards/qml/corkboards.qml | 115 -----------
 .../toys/corkboards/qml/corkboards.qmlproject      |  16 --
 .../toys/corkboards/qml/corkboards/Day.qml         | 153 ++++++++++++++
 .../toys/corkboards/qml/corkboards/cork.jpg        | Bin 0 -> 149337 bytes
 .../toys/corkboards/qml/corkboards/corkboards.qml  | 115 +++++++++++
 .../toys/corkboards/qml/corkboards/note-yellow.png | Bin 0 -> 54559 bytes
 .../toys/corkboards/qml/corkboards/tack.png        | Bin 0 -> 7282 bytes
 .../toys/corkboards/qml/note-yellow.png            | Bin 54559 -> 0 bytes
 examples/declarative/toys/corkboards/qml/tack.png  | Bin 7282 -> 0 bytes
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 --------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 --------------
 .../declarative/toys/dynamicscene/dynamicscene.pro |   4 +-
 .../declarative/toys/dynamicscene/dynamicscene.qml | 224 ---------------------
 .../toys/dynamicscene/dynamicscene.qmlproject      |  16 ++
 examples/declarative/toys/dynamicscene/main.cpp    |   2 +-
 .../declarative/toys/dynamicscene/qml/Button.qml   |  80 --------
 .../toys/dynamicscene/qml/GenericSceneItem.qml     |  49 -----
 .../toys/dynamicscene/qml/PaletteItem.qml          |  59 ------
 .../toys/dynamicscene/qml/PerspectiveItem.qml      |  65 ------
 examples/declarative/toys/dynamicscene/qml/Sun.qml |  78 -------
 .../toys/dynamicscene/qml/dynamicscene.qml         | 223 --------------------
 .../toys/dynamicscene/qml/dynamicscene.qmlproject  |  16 --
 .../toys/dynamicscene/qml/dynamicscene/Button.qml  |  80 ++++++++
 .../qml/dynamicscene/GenericSceneItem.qml          |  49 +++++
 .../dynamicscene/qml/dynamicscene/PaletteItem.qml  |  59 ++++++
 .../qml/dynamicscene/PerspectiveItem.qml           |  65 ++++++
 .../toys/dynamicscene/qml/dynamicscene/Sun.qml     |  78 +++++++
 .../dynamicscene/qml/dynamicscene/dynamicscene.qml | 222 ++++++++++++++++++++
 .../toys/dynamicscene/qml/dynamicscene/images/NOTE |   1 +
 .../qml/dynamicscene/images/face-smile.png         | Bin 0 -> 15408 bytes
 .../dynamicscene/qml/dynamicscene/images/moon.png  | Bin 0 -> 1757 bytes
 .../qml/dynamicscene/images/rabbit_brown.png       | Bin 0 -> 1245 bytes
 .../qml/dynamicscene/images/rabbit_bw.png          | Bin 0 -> 1759 bytes
 .../dynamicscene/qml/dynamicscene/images/star.png  | Bin 0 -> 349 bytes
 .../dynamicscene/qml/dynamicscene/images/sun.png   | Bin 0 -> 8153 bytes
 .../qml/dynamicscene/images/tree_s.png             | Bin 0 -> 3406 bytes
 .../dynamicscene/qml/dynamicscene/itemCreation.js  |  62 ++++++
 .../declarative/toys/dynamicscene/qml/images/NOTE  |   1 -
 .../toys/dynamicscene/qml/images/face-smile.png    | Bin 15408 -> 0 bytes
 .../toys/dynamicscene/qml/images/moon.png          | Bin 1757 -> 0 bytes
 .../toys/dynamicscene/qml/images/rabbit_brown.png  | Bin 1245 -> 0 bytes
 .../toys/dynamicscene/qml/images/rabbit_bw.png     | Bin 1759 -> 0 bytes
 .../toys/dynamicscene/qml/images/star.png          | Bin 349 -> 0 bytes
 .../toys/dynamicscene/qml/images/sun.png           | Bin 8153 -> 0 bytes
 .../toys/dynamicscene/qml/images/tree_s.png        | Bin 3406 -> 0 bytes
 .../toys/dynamicscene/qml/qml/Button.qml           |  80 --------
 .../toys/dynamicscene/qml/qml/GenericSceneItem.qml |  49 -----
 .../toys/dynamicscene/qml/qml/PaletteItem.qml      |  59 ------
 .../toys/dynamicscene/qml/qml/PerspectiveItem.qml  |  65 ------
 .../declarative/toys/dynamicscene/qml/qml/Sun.qml  |  78 -------
 .../toys/dynamicscene/qml/qml/itemCreation.js      |  62 ------
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 --------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 --------------
 .../toys/tic-tac-toe/content/Button.qml            |  79 --------
 .../toys/tic-tac-toe/content/TicTac.qml            |  60 ------
 examples/declarative/toys/tic-tac-toe/main.cpp     |   2 +-
 .../toys/tic-tac-toe/qml/content/Button.qml        |  79 --------
 .../toys/tic-tac-toe/qml/content/TicTac.qml        |  60 ------
 .../toys/tic-tac-toe/qml/content/pics/board.png    | Bin 12258 -> 0 bytes
 .../toys/tic-tac-toe/qml/content/pics/o.png        | Bin 1470 -> 0 bytes
 .../toys/tic-tac-toe/qml/content/pics/x.png        | Bin 1331 -> 0 bytes
 .../toys/tic-tac-toe/qml/content/tic-tac-toe.js    | 149 --------------
 .../toys/tic-tac-toe/qml/tic-tac-toe.qml           | 123 -----------
 .../toys/tic-tac-toe/qml/tic-tac-toe.qmlproject    |  16 --
 .../tic-tac-toe/qml/tic-tac-toe/content/Button.qml |  79 ++++++++
 .../tic-tac-toe/qml/tic-tac-toe/content/TicTac.qml |  60 ++++++
 .../qml/tic-tac-toe/content/pics/board.png         | Bin 0 -> 12258 bytes
 .../tic-tac-toe/qml/tic-tac-toe/content/pics/o.png | Bin 0 -> 1470 bytes
 .../tic-tac-toe/qml/tic-tac-toe/content/pics/x.png | Bin 0 -> 1331 bytes
 .../qml/tic-tac-toe/content/tic-tac-toe.js         | 149 ++++++++++++++
 .../tic-tac-toe/qml/tic-tac-toe/tic-tac-toe.qml    | 123 +++++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 --------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 --------------
 .../declarative/toys/tic-tac-toe/tic-tac-toe.pro   |  39 ----
 .../declarative/toys/tic-tac-toe/tic-tac-toe.qml   | 123 -----------
 .../toys/tic-tac-toe/tic-tac-toe.qmlproject        |  16 ++
 .../declarative/toys/tic-tac-toe/tictactoe.pro     |   4 +-
 examples/declarative/toys/tvtennis/main.cpp        |   2 +-
 .../declarative/toys/tvtennis/qml/tvtennis.qml     | 109 ----------
 .../toys/tvtennis/qml/tvtennis.qmlproject          |  16 --
 .../toys/tvtennis/qml/tvtennis/tvtennis.qml        | 109 ++++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 --------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 --------------
 examples/declarative/toys/tvtennis/tvtennis.pro    |   4 +-
 examples/declarative/toys/tvtennis/tvtennis.qml    | 109 ----------
 .../declarative/toys/tvtennis/tvtennis.qmlproject  |  16 ++
 137 files changed, 1734 insertions(+), 5353 deletions(-)
 delete mode 100644 examples/declarative/toys/clocks/clocks.qml
 create mode 100644 examples/declarative/toys/clocks/clocks.qmlproject
 delete mode 100644 examples/declarative/toys/clocks/content/Clock.qml
 delete mode 100644 examples/declarative/toys/clocks/content/QuitButton.qml
 delete mode 100644 examples/declarative/toys/clocks/content/background.png
 delete mode 100644 examples/declarative/toys/clocks/content/center.png
 delete mode 100644 examples/declarative/toys/clocks/content/clock-night.png
 delete mode 100644 examples/declarative/toys/clocks/content/clock.png
 delete mode 100644 examples/declarative/toys/clocks/content/hour.png
 delete mode 100644 examples/declarative/toys/clocks/content/minute.png
 delete mode 100644 examples/declarative/toys/clocks/content/quit.png
 delete mode 100644 examples/declarative/toys/clocks/content/second.png
 delete mode 100644 examples/declarative/toys/clocks/qml/clocks.qml
 delete mode 100644 examples/declarative/toys/clocks/qml/clocks.qmlproject
 create mode 100644 examples/declarative/toys/clocks/qml/clocks/clocks.qml
 create mode 100644 examples/declarative/toys/clocks/qml/clocks/content/Clock.qml
 create mode 100644 examples/declarative/toys/clocks/qml/clocks/content/QuitButton.qml
 create mode 100644 examples/declarative/toys/clocks/qml/clocks/content/background.png
 create mode 100644 examples/declarative/toys/clocks/qml/clocks/content/center.png
 create mode 100644 examples/declarative/toys/clocks/qml/clocks/content/clock-night.png
 create mode 100644 examples/declarative/toys/clocks/qml/clocks/content/clock.png
 create mode 100644 examples/declarative/toys/clocks/qml/clocks/content/hour.png
 create mode 100644 examples/declarative/toys/clocks/qml/clocks/content/minute.png
 create mode 100644 examples/declarative/toys/clocks/qml/clocks/content/quit.png
 create mode 100644 examples/declarative/toys/clocks/qml/clocks/content/second.png
 delete mode 100644 examples/declarative/toys/clocks/qml/content/Clock.qml
 delete mode 100644 examples/declarative/toys/clocks/qml/content/QuitButton.qml
 delete mode 100644 examples/declarative/toys/clocks/qml/content/background.png
 delete mode 100644 examples/declarative/toys/clocks/qml/content/center.png
 delete mode 100644 examples/declarative/toys/clocks/qml/content/clock-night.png
 delete mode 100644 examples/declarative/toys/clocks/qml/content/clock.png
 delete mode 100644 examples/declarative/toys/clocks/qml/content/hour.png
 delete mode 100644 examples/declarative/toys/clocks/qml/content/minute.png
 delete mode 100644 examples/declarative/toys/clocks/qml/content/quit.png
 delete mode 100644 examples/declarative/toys/clocks/qml/content/second.png
 delete mode 100644 examples/declarative/toys/clocks/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/toys/clocks/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/toys/clocks/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/toys/corkboards/Day.qml
 delete mode 100644 examples/declarative/toys/corkboards/corkboards.qml
 create mode 100644 examples/declarative/toys/corkboards/corkboards.qmlproject
 delete mode 100644 examples/declarative/toys/corkboards/qml/Day.qml
 delete mode 100644 examples/declarative/toys/corkboards/qml/cork.jpg
 delete mode 100644 examples/declarative/toys/corkboards/qml/corkboards.qml
 delete mode 100644 examples/declarative/toys/corkboards/qml/corkboards.qmlproject
 create mode 100644 examples/declarative/toys/corkboards/qml/corkboards/Day.qml
 create mode 100644 examples/declarative/toys/corkboards/qml/corkboards/cork.jpg
 create mode 100644 examples/declarative/toys/corkboards/qml/corkboards/corkboards.qml
 create mode 100644 examples/declarative/toys/corkboards/qml/corkboards/note-yellow.png
 create mode 100644 examples/declarative/toys/corkboards/qml/corkboards/tack.png
 delete mode 100644 examples/declarative/toys/corkboards/qml/note-yellow.png
 delete mode 100644 examples/declarative/toys/corkboards/qml/tack.png
 delete mode 100644 examples/declarative/toys/corkboards/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/toys/corkboards/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/toys/corkboards/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/toys/dynamicscene/dynamicscene.qml
 create mode 100644 examples/declarative/toys/dynamicscene/dynamicscene.qmlproject
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/Button.qml
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/GenericSceneItem.qml
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/PaletteItem.qml
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/PerspectiveItem.qml
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/Sun.qml
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/dynamicscene.qml
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/dynamicscene.qmlproject
 create mode 100644 examples/declarative/toys/dynamicscene/qml/dynamicscene/Button.qml
 create mode 100644 examples/declarative/toys/dynamicscene/qml/dynamicscene/GenericSceneItem.qml
 create mode 100644 examples/declarative/toys/dynamicscene/qml/dynamicscene/PaletteItem.qml
 create mode 100644 examples/declarative/toys/dynamicscene/qml/dynamicscene/PerspectiveItem.qml
 create mode 100644 examples/declarative/toys/dynamicscene/qml/dynamicscene/Sun.qml
 create mode 100644 examples/declarative/toys/dynamicscene/qml/dynamicscene/dynamicscene.qml
 create mode 100644 examples/declarative/toys/dynamicscene/qml/dynamicscene/images/NOTE
 create mode 100644 examples/declarative/toys/dynamicscene/qml/dynamicscene/images/face-smile.png
 create mode 100644 examples/declarative/toys/dynamicscene/qml/dynamicscene/images/moon.png
 create mode 100644 examples/declarative/toys/dynamicscene/qml/dynamicscene/images/rabbit_brown.png
 create mode 100644 examples/declarative/toys/dynamicscene/qml/dynamicscene/images/rabbit_bw.png
 create mode 100644 examples/declarative/toys/dynamicscene/qml/dynamicscene/images/star.png
 create mode 100644 examples/declarative/toys/dynamicscene/qml/dynamicscene/images/sun.png
 create mode 100644 examples/declarative/toys/dynamicscene/qml/dynamicscene/images/tree_s.png
 create mode 100644 examples/declarative/toys/dynamicscene/qml/dynamicscene/itemCreation.js
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/images/NOTE
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/images/face-smile.png
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/images/moon.png
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/images/rabbit_brown.png
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/images/rabbit_bw.png
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/images/star.png
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/images/sun.png
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/images/tree_s.png
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/qml/Button.qml
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/qml/GenericSceneItem.qml
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/qml/PaletteItem.qml
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/qml/PerspectiveItem.qml
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/qml/Sun.qml
 delete mode 100644 examples/declarative/toys/dynamicscene/qml/qml/itemCreation.js
 delete mode 100644 examples/declarative/toys/dynamicscene/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/toys/dynamicscene/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/toys/dynamicscene/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/toys/tic-tac-toe/content/Button.qml
 delete mode 100644 examples/declarative/toys/tic-tac-toe/content/TicTac.qml
 delete mode 100644 examples/declarative/toys/tic-tac-toe/qml/content/Button.qml
 delete mode 100644 examples/declarative/toys/tic-tac-toe/qml/content/TicTac.qml
 delete mode 100644 examples/declarative/toys/tic-tac-toe/qml/content/pics/board.png
 delete mode 100644 examples/declarative/toys/tic-tac-toe/qml/content/pics/o.png
 delete mode 100644 examples/declarative/toys/tic-tac-toe/qml/content/pics/x.png
 delete mode 100644 examples/declarative/toys/tic-tac-toe/qml/content/tic-tac-toe.js
 delete mode 100644 examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe.qml
 delete mode 100644 examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe.qmlproject
 create mode 100644 examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/Button.qml
 create mode 100644 examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/TicTac.qml
 create mode 100644 examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/pics/board.png
 create mode 100644 examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/pics/o.png
 create mode 100644 examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/pics/x.png
 create mode 100644 examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/tic-tac-toe.js
 create mode 100644 examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/tic-tac-toe.qml
 delete mode 100644 examples/declarative/toys/tic-tac-toe/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/toys/tic-tac-toe/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/toys/tic-tac-toe/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/toys/tic-tac-toe/tic-tac-toe.pro
 delete mode 100644 examples/declarative/toys/tic-tac-toe/tic-tac-toe.qml
 create mode 100644 examples/declarative/toys/tic-tac-toe/tic-tac-toe.qmlproject
 delete mode 100644 examples/declarative/toys/tvtennis/qml/tvtennis.qml
 delete mode 100644 examples/declarative/toys/tvtennis/qml/tvtennis.qmlproject
 create mode 100644 examples/declarative/toys/tvtennis/qml/tvtennis/tvtennis.qml
 delete mode 100644 examples/declarative/toys/tvtennis/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/toys/tvtennis/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/toys/tvtennis/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/toys/tvtennis/tvtennis.qml
 create mode 100644 examples/declarative/toys/tvtennis/tvtennis.qmlproject

diff --git a/examples/declarative/toys/clocks/clocks.pro b/examples/declarative/toys/clocks/clocks.pro
index 8137121..db03bfb 100644
--- a/examples/declarative/toys/clocks/clocks.pro
+++ b/examples/declarative/toys/clocks/clocks.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/clocks
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE96223F9
 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/toys/clocks/clocks.qml b/examples/declarative/toys/clocks/clocks.qml
deleted file mode 100644
index 85723c0..0000000
--- a/examples/declarative/toys/clocks/clocks.qml
+++ /dev/null
@@ -1,59 +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
-import "content"
-
-Rectangle {
-    width: 640; height: 240
-    color: "#646464"
-
-    Row {
-        anchors.centerIn: parent
-        Clock { city: "New York"; shift: -4 }
-        Clock { city: "Mumbai"; shift: 5.5 }
-        Clock { city: "Tokyo"; shift: 9 }
-    }
-    QuitButton {
-        anchors.right: parent.right
-        anchors.top: parent.top
-        anchors.margins: 10
-    }
-}
diff --git a/examples/declarative/toys/clocks/clocks.qmlproject b/examples/declarative/toys/clocks/clocks.qmlproject
new file mode 100644
index 0000000..9110992
--- /dev/null
+++ b/examples/declarative/toys/clocks/clocks.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/clocks"
+    }
+    JavaScriptFiles {
+        directory: "qml/clocks"
+    }
+    ImageFiles {
+        directory: "qml/clocks"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/toys/clocks/content/Clock.qml b/examples/declarative/toys/clocks/content/Clock.qml
deleted file mode 100644
index 9bf96dc..0000000
--- a/examples/declarative/toys/clocks/content/Clock.qml
+++ /dev/null
@@ -1,124 +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
-
-Item {
-    id: clock
-    width: 200; height: 230
-
-    property alias city: cityLabel.text
-    property int hours
-    property int minutes
-    property int seconds 
-    property real shift
-    property bool night: false
-
-    function timeChanged() {
-        var date = new Date;
-        hours = shift ? date.getUTCHours() + Math.floor(clock.shift) : date.getHours()
-        night = ( hours < 7 || hours > 19 )
-        minutes = shift ? date.getUTCMinutes() + ((clock.shift % 1) * 60) : date.getMinutes()
-        seconds = date.getUTCSeconds();
-    }
-
-    Timer {
-        interval: 100; running: true; repeat: true;
-        onTriggered: clock.timeChanged()
-    }
-
-    Image { id: background; source: "clock.png"; visible: clock.night == false }
-    Image { source: "clock-night.png"; visible: clock.night == true }
-
-
-    Image {
-        x: 92.5; y: 27
-        source: "hour.png"
-        smooth: true
-        transform: Rotation {
-            id: hourRotation
-            origin.x: 7.5; origin.y: 73;
-            angle: (clock.hours * 30) + (clock.minutes * 0.5)
-            Behavior on angle {
-                SpringAnimation { spring: 2; damping: 0.2; modulus: 360 }
-            }
-        }
-    }
-
-    Image {
-        x: 93.5; y: 17
-        source: "minute.png"
-        smooth: true
-        transform: Rotation {
-            id: minuteRotation
-            origin.x: 6.5; origin.y: 83;
-            angle: clock.minutes * 6
-            Behavior on angle {
-                SpringAnimation { spring: 2; damping: 0.2; modulus: 360 }
-            }
-        }
-    }
-
-    Image {
-        x: 97.5; y: 20
-        source: "second.png"
-        smooth: true
-        transform: Rotation {
-            id: secondRotation
-            origin.x: 2.5; origin.y: 80;
-            angle: clock.seconds * 6
-            Behavior on angle {
-                SpringAnimation { spring: 2; damping: 0.2; modulus: 360 }
-            }
-        }
-    }
-
-    Image {
-        anchors.centerIn: background; source: "center.png"
-    }
-
-    Text {
-        id: cityLabel
-        y: 200; anchors.horizontalCenter: parent.horizontalCenter
-        color: "white"
-        font.bold: true; font.pixelSize: 14
-        style: Text.Raised; styleColor: "black"
-    }
-}
diff --git a/examples/declarative/toys/clocks/content/QuitButton.qml b/examples/declarative/toys/clocks/content/QuitButton.qml
deleted file mode 100644
index 39f8f77..0000000
--- a/examples/declarative/toys/clocks/content/QuitButton.qml
+++ /dev/null
@@ -1,52 +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
-Image {
-    source: "quit.png"
-    scale: quitMouse.pressed ? 0.8 : 1.0
-    smooth: quitMouse.pressed
-    MouseArea {
-        id: quitMouse
-        anchors.fill: parent
-        anchors.margins: -10
-        onClicked: Qt.quit()
-    }
-}
diff --git a/examples/declarative/toys/clocks/content/background.png b/examples/declarative/toys/clocks/content/background.png
deleted file mode 100644
index a885950..0000000
Binary files a/examples/declarative/toys/clocks/content/background.png and /dev/null differ
diff --git a/examples/declarative/toys/clocks/content/center.png b/examples/declarative/toys/clocks/content/center.png
deleted file mode 100644
index 7fbd802..0000000
Binary files a/examples/declarative/toys/clocks/content/center.png and /dev/null differ
diff --git a/examples/declarative/toys/clocks/content/clock-night.png b/examples/declarative/toys/clocks/content/clock-night.png
deleted file mode 100644
index cc7151a..0000000
Binary files a/examples/declarative/toys/clocks/content/clock-night.png and /dev/null differ
diff --git a/examples/declarative/toys/clocks/content/clock.png b/examples/declarative/toys/clocks/content/clock.png
deleted file mode 100644
index 462edac..0000000
Binary files a/examples/declarative/toys/clocks/content/clock.png and /dev/null differ
diff --git a/examples/declarative/toys/clocks/content/hour.png b/examples/declarative/toys/clocks/content/hour.png
deleted file mode 100644
index f8061a1..0000000
Binary files a/examples/declarative/toys/clocks/content/hour.png and /dev/null differ
diff --git a/examples/declarative/toys/clocks/content/minute.png b/examples/declarative/toys/clocks/content/minute.png
deleted file mode 100644
index 1297ec7..0000000
Binary files a/examples/declarative/toys/clocks/content/minute.png and /dev/null differ
diff --git a/examples/declarative/toys/clocks/content/quit.png b/examples/declarative/toys/clocks/content/quit.png
deleted file mode 100644
index b822057..0000000
Binary files a/examples/declarative/toys/clocks/content/quit.png and /dev/null differ
diff --git a/examples/declarative/toys/clocks/content/second.png b/examples/declarative/toys/clocks/content/second.png
deleted file mode 100644
index 4aa9fb5..0000000
Binary files a/examples/declarative/toys/clocks/content/second.png and /dev/null differ
diff --git a/examples/declarative/toys/clocks/main.cpp b/examples/declarative/toys/clocks/main.cpp
index 09055d1..67d733c 100644
--- a/examples/declarative/toys/clocks/main.cpp
+++ b/examples/declarative/toys/clocks/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/clocks.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/clocks/clocks.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/toys/clocks/qml/clocks.qml b/examples/declarative/toys/clocks/qml/clocks.qml
deleted file mode 100644
index 3354f11..0000000
--- a/examples/declarative/toys/clocks/qml/clocks.qml
+++ /dev/null
@@ -1,59 +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
-import "content"
-
-Rectangle {
-    width: 640; height: 240
-    color: "#646464"
-
-    Row {
-        anchors.centerIn: parent
-        Clock { city: "New York"; shift: -4 }
-        Clock { city: "Mumbai"; shift: 5.5 }
-        Clock { city: "Tokyo"; shift: 9 }
-    }
-    QuitButton {
-        anchors.right: parent.right
-        anchors.top: parent.top
-        anchors.margins: 10
-    }
-}
diff --git a/examples/declarative/toys/clocks/qml/clocks.qmlproject b/examples/declarative/toys/clocks/qml/clocks.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/toys/clocks/qml/clocks.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/toys/clocks/qml/clocks/clocks.qml b/examples/declarative/toys/clocks/qml/clocks/clocks.qml
new file mode 100644
index 0000000..3354f11
--- /dev/null
+++ b/examples/declarative/toys/clocks/qml/clocks/clocks.qml
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+Rectangle {
+    width: 640; height: 240
+    color: "#646464"
+
+    Row {
+        anchors.centerIn: parent
+        Clock { city: "New York"; shift: -4 }
+        Clock { city: "Mumbai"; shift: 5.5 }
+        Clock { city: "Tokyo"; shift: 9 }
+    }
+    QuitButton {
+        anchors.right: parent.right
+        anchors.top: parent.top
+        anchors.margins: 10
+    }
+}
diff --git a/examples/declarative/toys/clocks/qml/clocks/content/Clock.qml b/examples/declarative/toys/clocks/qml/clocks/content/Clock.qml
new file mode 100644
index 0000000..09e8393
--- /dev/null
+++ b/examples/declarative/toys/clocks/qml/clocks/content/Clock.qml
@@ -0,0 +1,124 @@
+/****************************************************************************
+**
+** 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
+
+Item {
+    id: clock
+    width: 200; height: 230
+
+    property alias city: cityLabel.text
+    property int hours
+    property int minutes
+    property int seconds 
+    property real shift
+    property bool night: false
+
+    function timeChanged() {
+        var date = new Date;
+        hours = shift ? date.getUTCHours() + Math.floor(clock.shift) : date.getHours()
+        night = ( hours < 7 || hours > 19 )
+        minutes = shift ? date.getUTCMinutes() + ((clock.shift % 1) * 60) : date.getMinutes()
+        seconds = date.getUTCSeconds();
+    }
+
+    Timer {
+        interval: 100; running: true; repeat: true;
+        onTriggered: clock.timeChanged()
+    }
+
+    Image { id: background; source: "clock.png"; visible: clock.night == false }
+    Image { source: "clock-night.png"; visible: clock.night == true }
+
+
+    Image {
+        x: 92.5; y: 27
+        source: "hour.png"
+        smooth: true
+        transform: Rotation {
+            id: hourRotation
+            origin.x: 7.5; origin.y: 73;
+            angle: (clock.hours * 30) + (clock.minutes * 0.5)
+            Behavior on angle {
+                SpringAnimation { spring: 2; damping: 0.2; modulus: 360 }
+            }
+        }
+    }
+
+    Image {
+        x: 93.5; y: 17
+        source: "minute.png"
+        smooth: true
+        transform: Rotation {
+            id: minuteRotation
+            origin.x: 6.5; origin.y: 83;
+            angle: clock.minutes * 6
+            Behavior on angle {
+                SpringAnimation { spring: 2; damping: 0.2; modulus: 360 }
+            }
+        }
+    }
+
+    Image {
+        x: 97.5; y: 20
+        source: "second.png"
+        smooth: true
+        transform: Rotation {
+            id: secondRotation
+            origin.x: 2.5; origin.y: 80;
+            angle: clock.seconds * 6
+            Behavior on angle {
+                SpringAnimation { spring: 2; damping: 0.2; modulus: 360 }
+            }
+        }
+    }
+
+    Image {
+        anchors.centerIn: background; source: "center.png"
+    }
+
+    Text {
+        id: cityLabel
+        y: 200; anchors.horizontalCenter: parent.horizontalCenter
+        color: "white"
+        font.bold: true; font.pixelSize: 14
+        style: Text.Raised; styleColor: "black"
+    }
+}
diff --git a/examples/declarative/toys/clocks/qml/clocks/content/QuitButton.qml b/examples/declarative/toys/clocks/qml/clocks/content/QuitButton.qml
new file mode 100644
index 0000000..cbbf916
--- /dev/null
+++ b/examples/declarative/toys/clocks/qml/clocks/content/QuitButton.qml
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** 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
+Image {
+    source: "quit.png"
+    scale: quitMouse.pressed ? 0.8 : 1.0
+    smooth: quitMouse.pressed
+    MouseArea {
+        id: quitMouse
+        anchors.fill: parent
+        anchors.margins: -10
+        onClicked: Qt.quit()
+    }
+}
diff --git a/examples/declarative/toys/clocks/qml/clocks/content/background.png b/examples/declarative/toys/clocks/qml/clocks/content/background.png
new file mode 100644
index 0000000..a885950
Binary files /dev/null and b/examples/declarative/toys/clocks/qml/clocks/content/background.png differ
diff --git a/examples/declarative/toys/clocks/qml/clocks/content/center.png b/examples/declarative/toys/clocks/qml/clocks/content/center.png
new file mode 100644
index 0000000..7fbd802
Binary files /dev/null and b/examples/declarative/toys/clocks/qml/clocks/content/center.png differ
diff --git a/examples/declarative/toys/clocks/qml/clocks/content/clock-night.png b/examples/declarative/toys/clocks/qml/clocks/content/clock-night.png
new file mode 100644
index 0000000..cc7151a
Binary files /dev/null and b/examples/declarative/toys/clocks/qml/clocks/content/clock-night.png differ
diff --git a/examples/declarative/toys/clocks/qml/clocks/content/clock.png b/examples/declarative/toys/clocks/qml/clocks/content/clock.png
new file mode 100644
index 0000000..462edac
Binary files /dev/null and b/examples/declarative/toys/clocks/qml/clocks/content/clock.png differ
diff --git a/examples/declarative/toys/clocks/qml/clocks/content/hour.png b/examples/declarative/toys/clocks/qml/clocks/content/hour.png
new file mode 100644
index 0000000..f8061a1
Binary files /dev/null and b/examples/declarative/toys/clocks/qml/clocks/content/hour.png differ
diff --git a/examples/declarative/toys/clocks/qml/clocks/content/minute.png b/examples/declarative/toys/clocks/qml/clocks/content/minute.png
new file mode 100644
index 0000000..1297ec7
Binary files /dev/null and b/examples/declarative/toys/clocks/qml/clocks/content/minute.png differ
diff --git a/examples/declarative/toys/clocks/qml/clocks/content/quit.png b/examples/declarative/toys/clocks/qml/clocks/content/quit.png
new file mode 100644
index 0000000..b822057
Binary files /dev/null and b/examples/declarative/toys/clocks/qml/clocks/content/quit.png differ
diff --git a/examples/declarative/toys/clocks/qml/clocks/content/second.png b/examples/declarative/toys/clocks/qml/clocks/content/second.png
new file mode 100644
index 0000000..4aa9fb5
Binary files /dev/null and b/examples/declarative/toys/clocks/qml/clocks/content/second.png differ
diff --git a/examples/declarative/toys/clocks/qml/content/Clock.qml b/examples/declarative/toys/clocks/qml/content/Clock.qml
deleted file mode 100644
index 09e8393..0000000
--- a/examples/declarative/toys/clocks/qml/content/Clock.qml
+++ /dev/null
@@ -1,124 +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
-
-Item {
-    id: clock
-    width: 200; height: 230
-
-    property alias city: cityLabel.text
-    property int hours
-    property int minutes
-    property int seconds 
-    property real shift
-    property bool night: false
-
-    function timeChanged() {
-        var date = new Date;
-        hours = shift ? date.getUTCHours() + Math.floor(clock.shift) : date.getHours()
-        night = ( hours < 7 || hours > 19 )
-        minutes = shift ? date.getUTCMinutes() + ((clock.shift % 1) * 60) : date.getMinutes()
-        seconds = date.getUTCSeconds();
-    }
-
-    Timer {
-        interval: 100; running: true; repeat: true;
-        onTriggered: clock.timeChanged()
-    }
-
-    Image { id: background; source: "clock.png"; visible: clock.night == false }
-    Image { source: "clock-night.png"; visible: clock.night == true }
-
-
-    Image {
-        x: 92.5; y: 27
-        source: "hour.png"
-        smooth: true
-        transform: Rotation {
-            id: hourRotation
-            origin.x: 7.5; origin.y: 73;
-            angle: (clock.hours * 30) + (clock.minutes * 0.5)
-            Behavior on angle {
-                SpringAnimation { spring: 2; damping: 0.2; modulus: 360 }
-            }
-        }
-    }
-
-    Image {
-        x: 93.5; y: 17
-        source: "minute.png"
-        smooth: true
-        transform: Rotation {
-            id: minuteRotation
-            origin.x: 6.5; origin.y: 83;
-            angle: clock.minutes * 6
-            Behavior on angle {
-                SpringAnimation { spring: 2; damping: 0.2; modulus: 360 }
-            }
-        }
-    }
-
-    Image {
-        x: 97.5; y: 20
-        source: "second.png"
-        smooth: true
-        transform: Rotation {
-            id: secondRotation
-            origin.x: 2.5; origin.y: 80;
-            angle: clock.seconds * 6
-            Behavior on angle {
-                SpringAnimation { spring: 2; damping: 0.2; modulus: 360 }
-            }
-        }
-    }
-
-    Image {
-        anchors.centerIn: background; source: "center.png"
-    }
-
-    Text {
-        id: cityLabel
-        y: 200; anchors.horizontalCenter: parent.horizontalCenter
-        color: "white"
-        font.bold: true; font.pixelSize: 14
-        style: Text.Raised; styleColor: "black"
-    }
-}
diff --git a/examples/declarative/toys/clocks/qml/content/QuitButton.qml b/examples/declarative/toys/clocks/qml/content/QuitButton.qml
deleted file mode 100644
index cbbf916..0000000
--- a/examples/declarative/toys/clocks/qml/content/QuitButton.qml
+++ /dev/null
@@ -1,52 +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
-Image {
-    source: "quit.png"
-    scale: quitMouse.pressed ? 0.8 : 1.0
-    smooth: quitMouse.pressed
-    MouseArea {
-        id: quitMouse
-        anchors.fill: parent
-        anchors.margins: -10
-        onClicked: Qt.quit()
-    }
-}
diff --git a/examples/declarative/toys/clocks/qml/content/background.png b/examples/declarative/toys/clocks/qml/content/background.png
deleted file mode 100644
index a885950..0000000
Binary files a/examples/declarative/toys/clocks/qml/content/background.png and /dev/null differ
diff --git a/examples/declarative/toys/clocks/qml/content/center.png b/examples/declarative/toys/clocks/qml/content/center.png
deleted file mode 100644
index 7fbd802..0000000
Binary files a/examples/declarative/toys/clocks/qml/content/center.png and /dev/null differ
diff --git a/examples/declarative/toys/clocks/qml/content/clock-night.png b/examples/declarative/toys/clocks/qml/content/clock-night.png
deleted file mode 100644
index cc7151a..0000000
Binary files a/examples/declarative/toys/clocks/qml/content/clock-night.png and /dev/null differ
diff --git a/examples/declarative/toys/clocks/qml/content/clock.png b/examples/declarative/toys/clocks/qml/content/clock.png
deleted file mode 100644
index 462edac..0000000
Binary files a/examples/declarative/toys/clocks/qml/content/clock.png and /dev/null differ
diff --git a/examples/declarative/toys/clocks/qml/content/hour.png b/examples/declarative/toys/clocks/qml/content/hour.png
deleted file mode 100644
index f8061a1..0000000
Binary files a/examples/declarative/toys/clocks/qml/content/hour.png and /dev/null differ
diff --git a/examples/declarative/toys/clocks/qml/content/minute.png b/examples/declarative/toys/clocks/qml/content/minute.png
deleted file mode 100644
index 1297ec7..0000000
Binary files a/examples/declarative/toys/clocks/qml/content/minute.png and /dev/null differ
diff --git a/examples/declarative/toys/clocks/qml/content/quit.png b/examples/declarative/toys/clocks/qml/content/quit.png
deleted file mode 100644
index b822057..0000000
Binary files a/examples/declarative/toys/clocks/qml/content/quit.png and /dev/null differ
diff --git a/examples/declarative/toys/clocks/qml/content/second.png b/examples/declarative/toys/clocks/qml/content/second.png
deleted file mode 100644
index 4aa9fb5..0000000
Binary files a/examples/declarative/toys/clocks/qml/content/second.png and /dev/null differ
diff --git a/examples/declarative/toys/clocks/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/toys/clocks/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/toys/clocks/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/toys/clocks/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/toys/clocks/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/toys/clocks/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/toys/clocks/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/toys/clocks/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/toys/clocks/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/toys/corkboards/Day.qml b/examples/declarative/toys/corkboards/Day.qml
deleted file mode 100644
index ad992a1..0000000
--- a/examples/declarative/toys/corkboards/Day.qml
+++ /dev/null
@@ -1,153 +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
-
-Component {
-    Item {
-        property variant stickies
-
-        id: page
-        width: ListView.view.width+40; height: ListView.view.height
-
-
-        Image { 
-            source: "cork.jpg"
-            width: page.ListView.view.width
-            height: page.ListView.view.height
-            fillMode: Image.PreserveAspectCrop
-            clip: true
-        }
-
-        MouseArea {
-            anchors.fill: parent
-            onClicked: page.focus = false;
-        }
-
-        Text {
-            text: name; x: 15; y: 8; height: 40; width: 370
-            font.pixelSize: 18; font.bold: true; color: "white"
-            style: Text.Outline; styleColor: "black"
-        }
-
-        Repeater {
-            model: notes
-            Item {
-                id: stickyPage
-
-                property int randomX: Math.random() * (page.ListView.view.width-0.5*stickyImage.width) +100
-                property int randomY: Math.random() * (page.ListView.view.height-0.5*stickyImage.height) +50
-
-                x: randomX; y: randomY
-
-                rotation: -flickable.horizontalVelocity / 100;
-                Behavior on rotation {
-                    SpringAnimation { spring: 2.0; damping: 0.15 }
-                }
-
-                Item {
-                    id: sticky
-                    scale: 0.7
-
-                    Image {
-                        id: stickyImage
-                        x: 8 + -width * 0.6 / 2; y: -20
-                        source: "note-yellow.png"
-                        scale: 0.6; transformOrigin: Item.TopLeft
-                        smooth: true
-                    }
-
-                    TextEdit {
-                        id: myText
-                        x: -104; y: 36; width: 215; height: 200
-                        smooth: true
-                        font.pixelSize: 24
-                        readOnly: false
-                        rotation: -8
-                        text: noteText
-                    }
-
-                    Item {
-                        x: stickyImage.x; y: -20
-                        width: stickyImage.width * stickyImage.scale
-                        height: stickyImage.height * stickyImage.scale
-
-                        MouseArea {
-                            id: mouse
-                            anchors.fill: parent
-                            drag.target: stickyPage
-                            drag.axis: Drag.XandYAxis
-                            drag.minimumY: 0
-                            drag.maximumY: page.height - 80
-                            drag.minimumX: 100
-                            drag.maximumX: page.width - 140
-                            onClicked: { myText.focus = true; myText.openSoftwareInputPanel(); }
-                        }
-                    }
-                }
-
-                Image {
-                    x: -width / 2; y: -height * 0.5 / 2
-                    source: "tack.png"
-                    scale: 0.7; transformOrigin: Item.TopLeft
-                }
-
-                states: State {
-                    name: "pressed"
-                    when: mouse.pressed
-                    PropertyChanges { target: sticky; rotation: 8; scale: 1 }
-                    PropertyChanges { target: page; z: 8 }
-                }
-
-                transitions: Transition {
-                    NumberAnimation { properties: "rotation,scale"; duration: 200 }
-                }
-            }
-        }
-    }
-}
-
-
-
-
-
-
-
-
diff --git a/examples/declarative/toys/corkboards/corkboards.pro b/examples/declarative/toys/corkboards/corkboards.pro
index 9ea89f0..5ad2e5b 100644
--- a/examples/declarative/toys/corkboards/corkboards.pro
+++ b/examples/declarative/toys/corkboards/corkboards.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/corkboards
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEAF97D84
 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/toys/corkboards/corkboards.qml b/examples/declarative/toys/corkboards/corkboards.qml
deleted file mode 100644
index 9d03415..0000000
--- a/examples/declarative/toys/corkboards/corkboards.qml
+++ /dev/null
@@ -1,115 +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 {
-    width: 800; height: 480
-    color: "#464646"
-
-    ListModel {
-        id: list
-
-        ListElement {
-            name: "Sunday"
-            notes: [ 
-                ListElement { noteText: "Lunch" },
-                ListElement { noteText: "Birthday Party" }
-            ]
-        }
-        
-        ListElement {
-            name: "Monday"
-            notes: [
-                ListElement { noteText: "Pickup kids from\nschool\n4.30pm" },
-                ListElement { noteText: "Checkout Qt" }, ListElement { noteText: "Read email" }
-            ]
-        }
-
-        ListElement {
-            name: "Tuesday"
-            notes: [
-                ListElement { noteText: "Walk dog" },
-                ListElement { noteText: "Buy newspaper" }
-            ]
-        }
-
-        ListElement {
-            name: "Wednesday"
-            notes: [ ListElement { noteText: "Cook dinner" } ]
-        }
-
-        ListElement {
-            name: "Thursday"
-            notes: [
-                ListElement { noteText: "Meeting\n5.30pm" },
-                ListElement { noteText: "Weed garden" }
-            ]
-        }
-
-        ListElement {
-            name: "Friday"
-            notes: [
-                ListElement { noteText: "More work" },
-                ListElement { noteText: "Grocery shopping" }
-            ]
-        }
-
-        ListElement {
-            name: "Saturday"
-            notes: [
-                ListElement { noteText: "Drink" },
-                ListElement { noteText: "Download Qt\nPlay with QML" }
-            ]
-        }
-    }
-
-    ListView {
-        id: flickable
-
-        anchors.fill: parent
-        focus: true
-        highlightRangeMode: ListView.StrictlyEnforceRange
-        orientation: ListView.Horizontal
-        snapMode: ListView.SnapOneItem
-        model: list
-        delegate: Day { }
-    }
-}
diff --git a/examples/declarative/toys/corkboards/corkboards.qmlproject b/examples/declarative/toys/corkboards/corkboards.qmlproject
new file mode 100644
index 0000000..c500f9d
--- /dev/null
+++ b/examples/declarative/toys/corkboards/corkboards.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/corkboards"
+    }
+    JavaScriptFiles {
+        directory: "qml/corkboards"
+    }
+    ImageFiles {
+        directory: "qml/corkboards"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/toys/corkboards/main.cpp b/examples/declarative/toys/corkboards/main.cpp
index 984ca0f..750eeab 100644
--- a/examples/declarative/toys/corkboards/main.cpp
+++ b/examples/declarative/toys/corkboards/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/corkboards.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/corkboards/corkboards.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/toys/corkboards/qml/Day.qml b/examples/declarative/toys/corkboards/qml/Day.qml
deleted file mode 100644
index 6afa12e..0000000
--- a/examples/declarative/toys/corkboards/qml/Day.qml
+++ /dev/null
@@ -1,153 +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
-
-Component {
-    Item {
-        property variant stickies
-
-        id: page
-        width: ListView.view.width+40; height: ListView.view.height
-
-
-        Image { 
-            source: "cork.jpg"
-            width: page.ListView.view.width
-            height: page.ListView.view.height
-            fillMode: Image.PreserveAspectCrop
-            clip: true
-        }
-
-        MouseArea {
-            anchors.fill: parent
-            onClicked: page.focus = false;
-        }
-
-        Text {
-            text: name; x: 15; y: 8; height: 40; width: 370
-            font.pixelSize: 18; font.bold: true; color: "white"
-            style: Text.Outline; styleColor: "black"
-        }
-
-        Repeater {
-            model: notes
-            Item {
-                id: stickyPage
-
-                property int randomX: Math.random() * (page.ListView.view.width-0.5*stickyImage.width) +100
-                property int randomY: Math.random() * (page.ListView.view.height-0.5*stickyImage.height) +50
-
-                x: randomX; y: randomY
-
-                rotation: -flickable.horizontalVelocity / 100;
-                Behavior on rotation {
-                    SpringAnimation { spring: 2.0; damping: 0.15 }
-                }
-
-                Item {
-                    id: sticky
-                    scale: 0.7
-
-                    Image {
-                        id: stickyImage
-                        x: 8 + -width * 0.6 / 2; y: -20
-                        source: "note-yellow.png"
-                        scale: 0.6; transformOrigin: Item.TopLeft
-                        smooth: true
-                    }
-
-                    TextEdit {
-                        id: myText
-                        x: -104; y: 36; width: 215; height: 200
-                        smooth: true
-                        font.pixelSize: 24
-                        readOnly: false
-                        rotation: -8
-                        text: noteText
-                    }
-
-                    Item {
-                        x: stickyImage.x; y: -20
-                        width: stickyImage.width * stickyImage.scale
-                        height: stickyImage.height * stickyImage.scale
-
-                        MouseArea {
-                            id: mouse
-                            anchors.fill: parent
-                            drag.target: stickyPage
-                            drag.axis: Drag.XandYAxis
-                            drag.minimumY: 0
-                            drag.maximumY: page.height - 80
-                            drag.minimumX: 100
-                            drag.maximumX: page.width - 140
-                            onClicked: { myText.focus = true; myText.openSoftwareInputPanel(); }
-                        }
-                    }
-                }
-
-                Image {
-                    x: -width / 2; y: -height * 0.5 / 2
-                    source: "tack.png"
-                    scale: 0.7; transformOrigin: Item.TopLeft
-                }
-
-                states: State {
-                    name: "pressed"
-                    when: mouse.pressed
-                    PropertyChanges { target: sticky; rotation: 8; scale: 1 }
-                    PropertyChanges { target: page; z: 8 }
-                }
-
-                transitions: Transition {
-                    NumberAnimation { properties: "rotation,scale"; duration: 200 }
-                }
-            }
-        }
-    }
-}
-
-
-
-
-
-
-
-
diff --git a/examples/declarative/toys/corkboards/qml/cork.jpg b/examples/declarative/toys/corkboards/qml/cork.jpg
deleted file mode 100644
index 160bc00..0000000
Binary files a/examples/declarative/toys/corkboards/qml/cork.jpg and /dev/null differ
diff --git a/examples/declarative/toys/corkboards/qml/corkboards.qml b/examples/declarative/toys/corkboards/qml/corkboards.qml
deleted file mode 100644
index 14bc5f0..0000000
--- a/examples/declarative/toys/corkboards/qml/corkboards.qml
+++ /dev/null
@@ -1,115 +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 {
-    width: 800; height: 480
-    color: "#464646"
-
-    ListModel {
-        id: list
-
-        ListElement {
-            name: "Sunday"
-            notes: [ 
-                ListElement { noteText: "Lunch" },
-                ListElement { noteText: "Birthday Party" }
-            ]
-        }
-        
-        ListElement {
-            name: "Monday"
-            notes: [
-                ListElement { noteText: "Pickup kids from\nschool\n4.30pm" },
-                ListElement { noteText: "Checkout Qt" }, ListElement { noteText: "Read email" }
-            ]
-        }
-
-        ListElement {
-            name: "Tuesday"
-            notes: [
-                ListElement { noteText: "Walk dog" },
-                ListElement { noteText: "Buy newspaper" }
-            ]
-        }
-
-        ListElement {
-            name: "Wednesday"
-            notes: [ ListElement { noteText: "Cook dinner" } ]
-        }
-
-        ListElement {
-            name: "Thursday"
-            notes: [
-                ListElement { noteText: "Meeting\n5.30pm" },
-                ListElement { noteText: "Weed garden" }
-            ]
-        }
-
-        ListElement {
-            name: "Friday"
-            notes: [
-                ListElement { noteText: "More work" },
-                ListElement { noteText: "Grocery shopping" }
-            ]
-        }
-
-        ListElement {
-            name: "Saturday"
-            notes: [
-                ListElement { noteText: "Drink" },
-                ListElement { noteText: "Download Qt\nPlay with QML" }
-            ]
-        }
-    }
-
-    ListView {
-        id: flickable
-
-        anchors.fill: parent
-        focus: true
-        highlightRangeMode: ListView.StrictlyEnforceRange
-        orientation: ListView.Horizontal
-        snapMode: ListView.SnapOneItem
-        model: list
-        delegate: Day { }
-    }
-}
diff --git a/examples/declarative/toys/corkboards/qml/corkboards.qmlproject b/examples/declarative/toys/corkboards/qml/corkboards.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/toys/corkboards/qml/corkboards.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/toys/corkboards/qml/corkboards/Day.qml b/examples/declarative/toys/corkboards/qml/corkboards/Day.qml
new file mode 100644
index 0000000..6afa12e
--- /dev/null
+++ b/examples/declarative/toys/corkboards/qml/corkboards/Day.qml
@@ -0,0 +1,153 @@
+/****************************************************************************
+**
+** 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
+
+Component {
+    Item {
+        property variant stickies
+
+        id: page
+        width: ListView.view.width+40; height: ListView.view.height
+
+
+        Image { 
+            source: "cork.jpg"
+            width: page.ListView.view.width
+            height: page.ListView.view.height
+            fillMode: Image.PreserveAspectCrop
+            clip: true
+        }
+
+        MouseArea {
+            anchors.fill: parent
+            onClicked: page.focus = false;
+        }
+
+        Text {
+            text: name; x: 15; y: 8; height: 40; width: 370
+            font.pixelSize: 18; font.bold: true; color: "white"
+            style: Text.Outline; styleColor: "black"
+        }
+
+        Repeater {
+            model: notes
+            Item {
+                id: stickyPage
+
+                property int randomX: Math.random() * (page.ListView.view.width-0.5*stickyImage.width) +100
+                property int randomY: Math.random() * (page.ListView.view.height-0.5*stickyImage.height) +50
+
+                x: randomX; y: randomY
+
+                rotation: -flickable.horizontalVelocity / 100;
+                Behavior on rotation {
+                    SpringAnimation { spring: 2.0; damping: 0.15 }
+                }
+
+                Item {
+                    id: sticky
+                    scale: 0.7
+
+                    Image {
+                        id: stickyImage
+                        x: 8 + -width * 0.6 / 2; y: -20
+                        source: "note-yellow.png"
+                        scale: 0.6; transformOrigin: Item.TopLeft
+                        smooth: true
+                    }
+
+                    TextEdit {
+                        id: myText
+                        x: -104; y: 36; width: 215; height: 200
+                        smooth: true
+                        font.pixelSize: 24
+                        readOnly: false
+                        rotation: -8
+                        text: noteText
+                    }
+
+                    Item {
+                        x: stickyImage.x; y: -20
+                        width: stickyImage.width * stickyImage.scale
+                        height: stickyImage.height * stickyImage.scale
+
+                        MouseArea {
+                            id: mouse
+                            anchors.fill: parent
+                            drag.target: stickyPage
+                            drag.axis: Drag.XandYAxis
+                            drag.minimumY: 0
+                            drag.maximumY: page.height - 80
+                            drag.minimumX: 100
+                            drag.maximumX: page.width - 140
+                            onClicked: { myText.focus = true; myText.openSoftwareInputPanel(); }
+                        }
+                    }
+                }
+
+                Image {
+                    x: -width / 2; y: -height * 0.5 / 2
+                    source: "tack.png"
+                    scale: 0.7; transformOrigin: Item.TopLeft
+                }
+
+                states: State {
+                    name: "pressed"
+                    when: mouse.pressed
+                    PropertyChanges { target: sticky; rotation: 8; scale: 1 }
+                    PropertyChanges { target: page; z: 8 }
+                }
+
+                transitions: Transition {
+                    NumberAnimation { properties: "rotation,scale"; duration: 200 }
+                }
+            }
+        }
+    }
+}
+
+
+
+
+
+
+
+
diff --git a/examples/declarative/toys/corkboards/qml/corkboards/cork.jpg b/examples/declarative/toys/corkboards/qml/corkboards/cork.jpg
new file mode 100644
index 0000000..160bc00
Binary files /dev/null and b/examples/declarative/toys/corkboards/qml/corkboards/cork.jpg differ
diff --git a/examples/declarative/toys/corkboards/qml/corkboards/corkboards.qml b/examples/declarative/toys/corkboards/qml/corkboards/corkboards.qml
new file mode 100644
index 0000000..14bc5f0
--- /dev/null
+++ b/examples/declarative/toys/corkboards/qml/corkboards/corkboards.qml
@@ -0,0 +1,115 @@
+/****************************************************************************
+**
+** 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 {
+    width: 800; height: 480
+    color: "#464646"
+
+    ListModel {
+        id: list
+
+        ListElement {
+            name: "Sunday"
+            notes: [ 
+                ListElement { noteText: "Lunch" },
+                ListElement { noteText: "Birthday Party" }
+            ]
+        }
+        
+        ListElement {
+            name: "Monday"
+            notes: [
+                ListElement { noteText: "Pickup kids from\nschool\n4.30pm" },
+                ListElement { noteText: "Checkout Qt" }, ListElement { noteText: "Read email" }
+            ]
+        }
+
+        ListElement {
+            name: "Tuesday"
+            notes: [
+                ListElement { noteText: "Walk dog" },
+                ListElement { noteText: "Buy newspaper" }
+            ]
+        }
+
+        ListElement {
+            name: "Wednesday"
+            notes: [ ListElement { noteText: "Cook dinner" } ]
+        }
+
+        ListElement {
+            name: "Thursday"
+            notes: [
+                ListElement { noteText: "Meeting\n5.30pm" },
+                ListElement { noteText: "Weed garden" }
+            ]
+        }
+
+        ListElement {
+            name: "Friday"
+            notes: [
+                ListElement { noteText: "More work" },
+                ListElement { noteText: "Grocery shopping" }
+            ]
+        }
+
+        ListElement {
+            name: "Saturday"
+            notes: [
+                ListElement { noteText: "Drink" },
+                ListElement { noteText: "Download Qt\nPlay with QML" }
+            ]
+        }
+    }
+
+    ListView {
+        id: flickable
+
+        anchors.fill: parent
+        focus: true
+        highlightRangeMode: ListView.StrictlyEnforceRange
+        orientation: ListView.Horizontal
+        snapMode: ListView.SnapOneItem
+        model: list
+        delegate: Day { }
+    }
+}
diff --git a/examples/declarative/toys/corkboards/qml/corkboards/note-yellow.png b/examples/declarative/toys/corkboards/qml/corkboards/note-yellow.png
new file mode 100644
index 0000000..8ddecc8
Binary files /dev/null and b/examples/declarative/toys/corkboards/qml/corkboards/note-yellow.png differ
diff --git a/examples/declarative/toys/corkboards/qml/corkboards/tack.png b/examples/declarative/toys/corkboards/qml/corkboards/tack.png
new file mode 100644
index 0000000..cef2d1c
Binary files /dev/null and b/examples/declarative/toys/corkboards/qml/corkboards/tack.png differ
diff --git a/examples/declarative/toys/corkboards/qml/note-yellow.png b/examples/declarative/toys/corkboards/qml/note-yellow.png
deleted file mode 100644
index 8ddecc8..0000000
Binary files a/examples/declarative/toys/corkboards/qml/note-yellow.png and /dev/null differ
diff --git a/examples/declarative/toys/corkboards/qml/tack.png b/examples/declarative/toys/corkboards/qml/tack.png
deleted file mode 100644
index cef2d1c..0000000
Binary files a/examples/declarative/toys/corkboards/qml/tack.png and /dev/null differ
diff --git a/examples/declarative/toys/corkboards/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/toys/corkboards/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/toys/corkboards/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/toys/corkboards/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/toys/corkboards/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/toys/corkboards/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/toys/corkboards/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/toys/corkboards/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/toys/corkboards/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/toys/dynamicscene/dynamicscene.pro b/examples/declarative/toys/dynamicscene/dynamicscene.pro
index 1359c55..60b4daf 100644
--- a/examples/declarative/toys/dynamicscene/dynamicscene.pro
+++ b/examples/declarative/toys/dynamicscene/dynamicscene.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/dynamicscene
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEE509F2D
 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/toys/dynamicscene/dynamicscene.qml b/examples/declarative/toys/dynamicscene/dynamicscene.qml
deleted file mode 100644
index a436b41..0000000
--- a/examples/declarative/toys/dynamicscene/dynamicscene.qml
+++ /dev/null
@@ -1,224 +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
-import Qt.labs.particles 1.0
-import "qml"
-
-Item {
-    id: window
-
-    property int activeSuns: 0
-
-    //This is a desktop-sized example
-    width: 800; height: 480
-
-
-    MouseArea {
-        anchors.fill: parent
-        onClicked: window.focus = false;
-    }
-
-    //This is the message box that pops up when there's an error
-    Rectangle {
-        id: dialog
-
-        opacity: 0
-        anchors.centerIn: parent
-        width: dialogText.width + 6; height: dialogText.height + 6
-        border.color: 'black'
-        color: 'lightsteelblue'
-        z: 65535 //Arbitrary number chosen to be above all the items, including the scaled perspective ones.
-
-        function show(str){
-            dialogText.text = str;
-            dialogAnim.start();
-        }
-
-        Text {
-            id: dialogText
-            x: 3; y: 3
-            font.pixelSize: 14
-        }
-
-        SequentialAnimation {
-            id: dialogAnim
-            NumberAnimation { target: dialog; property:"opacity"; to: 1; duration: 1000 }
-            PauseAnimation { duration: 5000 }
-            NumberAnimation { target: dialog; property:"opacity"; to: 0; duration: 1000 }
-        }
-    }
-
-    // sky
-    Rectangle {
-        id: sky
-        anchors { left: parent.left; top: parent.top; right: toolbox.right; bottom: parent.verticalCenter }
-        gradient: Gradient {
-            GradientStop { id: gradientStopA; position: 0.0; color: "#0E1533" }
-            GradientStop { id: gradientStopB; position: 1.0; color: "#437284" }
-        }
-    }
-
-    // stars (when there's no sun)
-    Particles {
-        id: stars
-        x: 0; y: 0; width: parent.width; height: parent.height / 2
-        source: "images/star.png"
-        angleDeviation: 360
-        velocity: 0; velocityDeviation: 0
-        count: parent.width / 10
-        fadeInDuration: 2800
-        opacity: 1
-    }
-
-    // ground
-    Rectangle {
-        id: ground
-        z: 2    // just above the sun so that the sun can set behind it
-        anchors { left: parent.left; top: parent.verticalCenter; right: toolbox.left; bottom: parent.bottom }
-        gradient: Gradient {
-            GradientStop { position: 0.0; color: "ForestGreen" }
-            GradientStop { position: 1.0; color: "DarkGreen" }
-        }
-    }
-
-    SystemPalette { id: activePalette }
-
-    // right-hand panel
-    Rectangle {
-        id: toolbox
-
-        width: 380
-        color: activePalette.window
-        anchors { right: parent.right; top: parent.top; bottom: parent.bottom }
-
-        Column {
-            anchors.centerIn: parent
-            spacing: 8
-
-            Text { text: "Drag an item into the scene." }
-
-            Rectangle {
-                width: palette.width + 10; height: palette.height + 10
-                border.color: "black"
-
-                Row {
-                    id: palette
-                    anchors.centerIn: parent
-                    spacing: 8
-
-                    PaletteItem {
-                        anchors.verticalCenter: parent.verticalCenter
-                        componentFile: "Sun.qml"
-                        image: "../images/sun.png"
-                    }
-                    PaletteItem {
-                        anchors.verticalCenter: parent.verticalCenter
-                        componentFile: "GenericSceneItem.qml"
-                        image: "../images/moon.png"
-                    }
-                    PaletteItem {
-                        anchors.verticalCenter: parent.verticalCenter
-                        componentFile: "PerspectiveItem.qml"
-                        image: "../images/tree_s.png"
-                    }
-                    PaletteItem {
-                        anchors.verticalCenter: parent.verticalCenter
-                        componentFile: "PerspectiveItem.qml"
-                        image: "../images/rabbit_brown.png"
-                    }
-                    PaletteItem {
-                        anchors.verticalCenter: parent.verticalCenter
-                        componentFile: "PerspectiveItem.qml"
-                        image: "../images/rabbit_bw.png"
-                    }
-                }
-            }
-
-            Text { text: "Active Suns: " + activeSuns }
-
-            Rectangle { width: parent.width; height: 1; color: "black" }
-
-            Text { text: "Arbitrary QML:" }
-
-            Rectangle {
-                width: 360; height: 240
-
-                TextEdit {
-                    id: qmlText
-                    anchors.fill: parent; anchors.margins: 5
-                    readOnly: false
-                    font.pixelSize: 14
-                    wrapMode: TextEdit.WordWrap
-
-                    text: "import QtQuick 1.0\nImage {\n    id: smile\n    x: 360 * Math.random()\n    y: 180 * Math.random() \n    source: 'images/face-smile.png'\n    NumberAnimation on opacity { \n        to: 0; duration: 1500\n    }\n    Component.onCompleted: smile.destroy(1500);\n}"
-                }
-            }
-
-            Button {
-                text: "Create"
-                onClicked: {
-                    try { 
-                        Qt.createQmlObject(qmlText.text, window, 'CustomObject');
-                    } catch(err) {
-                        dialog.show('Error on line ' + err.qmlErrors[0].lineNumber + '\n' + err.qmlErrors[0].message);
-                    }
-                }
-            }
-        }
-    }
-
-    //Day state, for when a sun is added to the scene
-    states: State {
-        name: "Day"
-        when: window.activeSuns > 0
-
-        PropertyChanges { target: gradientStopA; color: "DeepSkyBlue" }
-        PropertyChanges { target: gradientStopB; color: "SkyBlue" }
-        PropertyChanges { target: stars; opacity: 0 }
-    }
-
-    //! [top-level transitions]
-    transitions: Transition {
-        PropertyAnimation { duration: 3000 }
-        ColorAnimation { duration: 3000 }
-    }
-    //! [top-level transitions]
-}
diff --git a/examples/declarative/toys/dynamicscene/dynamicscene.qmlproject b/examples/declarative/toys/dynamicscene/dynamicscene.qmlproject
new file mode 100644
index 0000000..dd02c50
--- /dev/null
+++ b/examples/declarative/toys/dynamicscene/dynamicscene.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/dynamicscene"
+    }
+    JavaScriptFiles {
+        directory: "qml/dynamicscene"
+    }
+    ImageFiles {
+        directory: "qml/dynamicscene"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/toys/dynamicscene/main.cpp b/examples/declarative/toys/dynamicscene/main.cpp
index 5dfbb60..ca7cf0b 100644
--- a/examples/declarative/toys/dynamicscene/main.cpp
+++ b/examples/declarative/toys/dynamicscene/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/dynamicscene.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/dynamicscene/dynamicscene.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/toys/dynamicscene/qml/Button.qml b/examples/declarative/toys/dynamicscene/qml/Button.qml
deleted file mode 100644
index 8cb9b58..0000000
--- a/examples/declarative/toys/dynamicscene/qml/Button.qml
+++ /dev/null
@@ -1,80 +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: container
-
-    property variant text
-    signal clicked
-
-    height: text.height + 10; width: text.width + 20
-    border.width: 1
-    radius: 4
-    smooth: true
-
-    gradient: Gradient {
-        GradientStop {
-            position: 0.0
-            color: !mouseArea.pressed ? activePalette.light : activePalette.button
-        }
-        GradientStop {
-            position: 1.0
-            color: !mouseArea.pressed ? activePalette.button : activePalette.dark
-        }
-    }
-
-    SystemPalette { id: activePalette }
-
-    MouseArea {
-        id: mouseArea
-        anchors.fill: parent
-        onClicked: container.clicked()
-    }
-
-    Text {
-        id: text
-        anchors.centerIn:parent
-        font.pointSize: 10
-        text: parent.text
-        color: activePalette.buttonText
-    }
-}
diff --git a/examples/declarative/toys/dynamicscene/qml/GenericSceneItem.qml b/examples/declarative/toys/dynamicscene/qml/GenericSceneItem.qml
deleted file mode 100644
index 26db159..0000000
--- a/examples/declarative/toys/dynamicscene/qml/GenericSceneItem.qml
+++ /dev/null
@@ -1,49 +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
-
-Image {
-    property bool created: false
-    property string image
-
-    source: image
-
-}
diff --git a/examples/declarative/toys/dynamicscene/qml/PaletteItem.qml b/examples/declarative/toys/dynamicscene/qml/PaletteItem.qml
deleted file mode 100644
index 10680f3..0000000
--- a/examples/declarative/toys/dynamicscene/qml/PaletteItem.qml
+++ /dev/null
@@ -1,59 +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
-import "itemCreation.js" as Code
-
-Image {
-    id: paletteItem
-
-    property string componentFile
-    property string image
-
-    source: image
-
-    MouseArea { 
-        anchors.fill: parent
-
-        onPressed: Code.startDrag(mouse);
-        onPositionChanged: Code.continueDrag(mouse);
-        onReleased: Code.endDrag(mouse);
-    }
-}
diff --git a/examples/declarative/toys/dynamicscene/qml/PerspectiveItem.qml b/examples/declarative/toys/dynamicscene/qml/PerspectiveItem.qml
deleted file mode 100644
index 5b6fbb3..0000000
--- a/examples/declarative/toys/dynamicscene/qml/PerspectiveItem.qml
+++ /dev/null
@@ -1,65 +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
-
-Image {
-    id: rootItem
-
-    property bool created: false
-    property string image 
-
-    property double scaledBottom: y + (height + height*scale) / 2 
-    property bool onLand: scaledBottom > window.height / 2
-
-    source: image
-    opacity: onLand ? 1 : 0.25
-    scale: Math.max((y + height - 250) * 0.01, 0.3)
-    smooth: true
-
-    onCreatedChanged: {
-        if (created && !onLand)
-            rootItem.destroy();
-        else
-            z = scaledBottom;
-    }
-
-    onYChanged: z = scaledBottom;
-}
diff --git a/examples/declarative/toys/dynamicscene/qml/Sun.qml b/examples/declarative/toys/dynamicscene/qml/Sun.qml
deleted file mode 100644
index d632461..0000000
--- a/examples/declarative/toys/dynamicscene/qml/Sun.qml
+++ /dev/null
@@ -1,78 +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
-
-Image {
-    id: sun
-
-    property bool created: false
-    property string image: "../images/sun.png"
-
-    source: image
-
-    // once item is created, start moving offscreen
-    NumberAnimation on y {
-        to: window.height / 2
-        running: created
-        onRunningChanged: {
-            if (running)
-                duration = (window.height - sun.y) * 10;
-            else
-                state = "OffScreen"
-        }
-    }
-
-    states: State {
-        name: "OffScreen"
-        StateChangeScript {
-            script: { sun.created = false; sun.destroy() }
-        }
-    }
-
-    onCreatedChanged: {
-        if (created) {
-            sun.z = 1;    // above the sky but below the ground layer 
-            window.activeSuns++;
-        } else {
-            window.activeSuns--;
-        }
-    }
-}
diff --git a/examples/declarative/toys/dynamicscene/qml/dynamicscene.qml b/examples/declarative/toys/dynamicscene/qml/dynamicscene.qml
deleted file mode 100644
index 5f14e1d..0000000
--- a/examples/declarative/toys/dynamicscene/qml/dynamicscene.qml
+++ /dev/null
@@ -1,223 +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
-import Qt.labs.particles 1.0
-import "qml"
-
-Item {
-    id: window
-
-    property int activeSuns: 0
-
-    //This is a desktop-sized example
-    width: 800; height: 480
-
-
-    MouseArea {
-        anchors.fill: parent
-        onClicked: window.focus = false;
-    }
-
-    //This is the message box that pops up when there's an error
-    Rectangle {
-        id: dialog
-
-        opacity: 0
-        anchors.centerIn: parent
-        width: dialogText.width + 6; height: dialogText.height + 6
-        border.color: 'black'
-        color: 'lightsteelblue'
-        z: 65535 //Arbitrary number chosen to be above all the items, including the scaled perspective ones.
-
-        function show(str){
-            dialogText.text = str;
-            dialogAnim.start();
-        }
-
-        Text {
-            id: dialogText
-            x: 3; y: 3
-            font.pixelSize: 14
-        }
-
-        SequentialAnimation {
-            id: dialogAnim
-            NumberAnimation { target: dialog; property:"opacity"; to: 1; duration: 1000 }
-            PauseAnimation { duration: 5000 }
-            NumberAnimation { target: dialog; property:"opacity"; to: 0; duration: 1000 }
-        }
-    }
-
-    // sky
-    Rectangle {
-        id: sky
-        anchors { left: parent.left; top: parent.top; right: toolbox.right; bottom: parent.verticalCenter }
-        gradient: Gradient {
-            GradientStop { id: gradientStopA; position: 0.0; color: "#0E1533" }
-            GradientStop { id: gradientStopB; position: 1.0; color: "#437284" }
-        }
-    }
-
-    // stars (when there's no sun)
-    Particles {
-        id: stars
-        x: 0; y: 0; width: parent.width; height: parent.height / 2
-        source: "images/star.png"
-        angleDeviation: 360
-        velocity: 0; velocityDeviation: 0
-        count: parent.width / 10
-        fadeInDuration: 2800
-        opacity: 1
-    }
-
-    // ground
-    Rectangle {
-        id: ground
-        z: 2    // just above the sun so that the sun can set behind it
-        anchors { left: parent.left; top: parent.verticalCenter; right: toolbox.left; bottom: parent.bottom }
-        gradient: Gradient {
-            GradientStop { position: 0.0; color: "ForestGreen" }
-            GradientStop { position: 1.0; color: "DarkGreen" }
-        }
-    }
-
-    SystemPalette { id: activePalette }
-
-    // right-hand panel
-    Rectangle {
-        id: toolbox
-
-        width: 380
-        color: activePalette.window
-        anchors { right: parent.right; top: parent.top; bottom: parent.bottom }
-
-        Column {
-            anchors.centerIn: parent
-            spacing: 8
-
-            Text { text: "Drag an item into the scene." }
-
-            Rectangle {
-                width: palette.width + 10; height: palette.height + 10
-                border.color: "black"
-
-                Row {
-                    id: palette
-                    anchors.centerIn: parent
-                    spacing: 8
-
-                    PaletteItem {
-                        anchors.verticalCenter: parent.verticalCenter
-                        componentFile: "Sun.qml"
-                        image: "../images/sun.png"
-                    }
-                    PaletteItem {
-                        anchors.verticalCenter: parent.verticalCenter
-                        componentFile: "GenericSceneItem.qml"
-                        image: "../images/moon.png"
-                    }
-                    PaletteItem {
-                        anchors.verticalCenter: parent.verticalCenter
-                        componentFile: "PerspectiveItem.qml"
-                        image: "../images/tree_s.png"
-                    }
-                    PaletteItem {
-                        anchors.verticalCenter: parent.verticalCenter
-                        componentFile: "PerspectiveItem.qml"
-                        image: "../images/rabbit_brown.png"
-                    }
-                    PaletteItem {
-                        anchors.verticalCenter: parent.verticalCenter
-                        componentFile: "PerspectiveItem.qml"
-                        image: "../images/rabbit_bw.png"
-                    }
-                }
-            }
-
-            Text { text: "Active Suns: " + activeSuns }
-
-            Rectangle { width: parent.width; height: 1; color: "black" }
-
-            Text { text: "Arbitrary QML:" }
-
-            Rectangle {
-                width: 360; height: 240
-
-                TextEdit {
-                    id: qmlText
-                    anchors.fill: parent; anchors.margins: 5
-                    readOnly: false
-                    font.pixelSize: 14
-                    wrapMode: TextEdit.WordWrap
-
-                    text: "import QtQuick 1.0\nImage {\n    id: smile\n    x: 360 * Math.random()\n    y: 180 * Math.random() \n    source: 'images/face-smile.png'\n    NumberAnimation on opacity { \n        to: 0; duration: 1500\n    }\n    Component.onCompleted: smile.destroy(1500);\n}"
-                }
-            }
-
-            Button {
-                text: "Create"
-                onClicked: {
-                    try { 
-                        Qt.createQmlObject(qmlText.text, window, 'CustomObject');
-                    } catch(err) {
-                        dialog.show('Error on line ' + err.qmlErrors[0].lineNumber + '\n' + err.qmlErrors[0].message);
-                    }
-                }
-            }
-        }
-    }
-
-    //Day state, for when a sun is added to the scene
-    states: State {
-        name: "Day"
-        when: window.activeSuns > 0
-
-        PropertyChanges { target: gradientStopA; color: "DeepSkyBlue" }
-        PropertyChanges { target: gradientStopB; color: "SkyBlue" }
-        PropertyChanges { target: stars; opacity: 0 }
-    }
-
-    transitions: Transition {
-        PropertyAnimation { duration: 3000 }
-        ColorAnimation { duration: 3000 }
-    }
-
-}
diff --git a/examples/declarative/toys/dynamicscene/qml/dynamicscene.qmlproject b/examples/declarative/toys/dynamicscene/qml/dynamicscene.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/toys/dynamicscene/qml/dynamicscene.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/toys/dynamicscene/qml/dynamicscene/Button.qml b/examples/declarative/toys/dynamicscene/qml/dynamicscene/Button.qml
new file mode 100644
index 0000000..8da799e
--- /dev/null
+++ b/examples/declarative/toys/dynamicscene/qml/dynamicscene/Button.qml
@@ -0,0 +1,80 @@
+/****************************************************************************
+**
+** 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: container
+
+    property variant text
+    signal clicked
+
+    height: text.height + 10; width: text.width + 20
+    border.width: 1
+    radius: 4
+    smooth: true
+
+    gradient: Gradient {
+        GradientStop {
+            position: 0.0
+            color: !mouseArea.pressed ? activePalette.light : activePalette.button
+        }
+        GradientStop {
+            position: 1.0
+            color: !mouseArea.pressed ? activePalette.button : activePalette.dark
+        }
+    }
+
+    SystemPalette { id: activePalette }
+
+    MouseArea {
+        id: mouseArea
+        anchors.fill: parent
+        onClicked: container.clicked()
+    }
+
+    Text {
+        id: text
+        anchors.centerIn:parent
+        font.pointSize: 10
+        text: parent.text
+        color: activePalette.buttonText
+    }
+}
diff --git a/examples/declarative/toys/dynamicscene/qml/dynamicscene/GenericSceneItem.qml b/examples/declarative/toys/dynamicscene/qml/dynamicscene/GenericSceneItem.qml
new file mode 100644
index 0000000..7391412
--- /dev/null
+++ b/examples/declarative/toys/dynamicscene/qml/dynamicscene/GenericSceneItem.qml
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** 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
+
+Image {
+    property bool created: false
+    property string image
+
+    source: image
+
+}
diff --git a/examples/declarative/toys/dynamicscene/qml/dynamicscene/PaletteItem.qml b/examples/declarative/toys/dynamicscene/qml/dynamicscene/PaletteItem.qml
new file mode 100644
index 0000000..cf5395f
--- /dev/null
+++ b/examples/declarative/toys/dynamicscene/qml/dynamicscene/PaletteItem.qml
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** 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
+import "itemCreation.js" as Code
+
+Image {
+    id: paletteItem
+
+    property string componentFile
+    property string image
+
+    source: image
+
+    MouseArea { 
+        anchors.fill: parent
+
+        onPressed: Code.startDrag(mouse);
+        onPositionChanged: Code.continueDrag(mouse);
+        onReleased: Code.endDrag(mouse);
+    }
+}
diff --git a/examples/declarative/toys/dynamicscene/qml/dynamicscene/PerspectiveItem.qml b/examples/declarative/toys/dynamicscene/qml/dynamicscene/PerspectiveItem.qml
new file mode 100644
index 0000000..6536df3
--- /dev/null
+++ b/examples/declarative/toys/dynamicscene/qml/dynamicscene/PerspectiveItem.qml
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** 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
+
+Image {
+    id: rootItem
+
+    property bool created: false
+    property string image 
+
+    property double scaledBottom: y + (height + height*scale) / 2 
+    property bool onLand: scaledBottom > window.height / 2
+
+    source: image
+    opacity: onLand ? 1 : 0.25
+    scale: Math.max((y + height - 250) * 0.01, 0.3)
+    smooth: true
+
+    onCreatedChanged: {
+        if (created && !onLand)
+            rootItem.destroy();
+        else
+            z = scaledBottom;
+    }
+
+    onYChanged: z = scaledBottom;
+}
diff --git a/examples/declarative/toys/dynamicscene/qml/dynamicscene/Sun.qml b/examples/declarative/toys/dynamicscene/qml/dynamicscene/Sun.qml
new file mode 100644
index 0000000..5b28b39
--- /dev/null
+++ b/examples/declarative/toys/dynamicscene/qml/dynamicscene/Sun.qml
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** 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
+
+Image {
+    id: sun
+
+    property bool created: false
+    property string image: "../images/sun.png"
+
+    source: image
+
+    // once item is created, start moving offscreen
+    NumberAnimation on y {
+        to: window.height / 2
+        running: created
+        onRunningChanged: {
+            if (running)
+                duration = (window.height - sun.y) * 10;
+            else
+                state = "OffScreen"
+        }
+    }
+
+    states: State {
+        name: "OffScreen"
+        StateChangeScript {
+            script: { sun.created = false; sun.destroy() }
+        }
+    }
+
+    onCreatedChanged: {
+        if (created) {
+            sun.z = 1;    // above the sky but below the ground layer 
+            window.activeSuns++;
+        } else {
+            window.activeSuns--;
+        }
+    }
+}
diff --git a/examples/declarative/toys/dynamicscene/qml/dynamicscene/dynamicscene.qml b/examples/declarative/toys/dynamicscene/qml/dynamicscene/dynamicscene.qml
new file mode 100644
index 0000000..1788e6c
--- /dev/null
+++ b/examples/declarative/toys/dynamicscene/qml/dynamicscene/dynamicscene.qml
@@ -0,0 +1,222 @@
+/****************************************************************************
+**
+** 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
+import Qt.labs.particles 1.0
+
+Item {
+    id: window
+
+    property int activeSuns: 0
+
+    //This is a desktop-sized example
+    width: 800; height: 480
+
+
+    MouseArea {
+        anchors.fill: parent
+        onClicked: window.focus = false;
+    }
+
+    //This is the message box that pops up when there's an error
+    Rectangle {
+        id: dialog
+
+        opacity: 0
+        anchors.centerIn: parent
+        width: dialogText.width + 6; height: dialogText.height + 6
+        border.color: 'black'
+        color: 'lightsteelblue'
+        z: 65535 //Arbitrary number chosen to be above all the items, including the scaled perspective ones.
+
+        function show(str){
+            dialogText.text = str;
+            dialogAnim.start();
+        }
+
+        Text {
+            id: dialogText
+            x: 3; y: 3
+            font.pixelSize: 14
+        }
+
+        SequentialAnimation {
+            id: dialogAnim
+            NumberAnimation { target: dialog; property:"opacity"; to: 1; duration: 1000 }
+            PauseAnimation { duration: 5000 }
+            NumberAnimation { target: dialog; property:"opacity"; to: 0; duration: 1000 }
+        }
+    }
+
+    // sky
+    Rectangle {
+        id: sky
+        anchors { left: parent.left; top: parent.top; right: toolbox.right; bottom: parent.verticalCenter }
+        gradient: Gradient {
+            GradientStop { id: gradientStopA; position: 0.0; color: "#0E1533" }
+            GradientStop { id: gradientStopB; position: 1.0; color: "#437284" }
+        }
+    }
+
+    // stars (when there's no sun)
+    Particles {
+        id: stars
+        x: 0; y: 0; width: parent.width; height: parent.height / 2
+        source: "images/star.png"
+        angleDeviation: 360
+        velocity: 0; velocityDeviation: 0
+        count: parent.width / 10
+        fadeInDuration: 2800
+        opacity: 1
+    }
+
+    // ground
+    Rectangle {
+        id: ground
+        z: 2    // just above the sun so that the sun can set behind it
+        anchors { left: parent.left; top: parent.verticalCenter; right: toolbox.left; bottom: parent.bottom }
+        gradient: Gradient {
+            GradientStop { position: 0.0; color: "ForestGreen" }
+            GradientStop { position: 1.0; color: "DarkGreen" }
+        }
+    }
+
+    SystemPalette { id: activePalette }
+
+    // right-hand panel
+    Rectangle {
+        id: toolbox
+
+        width: 380
+        color: activePalette.window
+        anchors { right: parent.right; top: parent.top; bottom: parent.bottom }
+
+        Column {
+            anchors.centerIn: parent
+            spacing: 8
+
+            Text { text: "Drag an item into the scene." }
+
+            Rectangle {
+                width: palette.width + 10; height: palette.height + 10
+                border.color: "black"
+
+                Row {
+                    id: palette
+                    anchors.centerIn: parent
+                    spacing: 8
+
+                    PaletteItem {
+                        anchors.verticalCenter: parent.verticalCenter
+                        componentFile: "Sun.qml"
+                        image: "../images/sun.png"
+                    }
+                    PaletteItem {
+                        anchors.verticalCenter: parent.verticalCenter
+                        componentFile: "GenericSceneItem.qml"
+                        image: "../images/moon.png"
+                    }
+                    PaletteItem {
+                        anchors.verticalCenter: parent.verticalCenter
+                        componentFile: "PerspectiveItem.qml"
+                        image: "../images/tree_s.png"
+                    }
+                    PaletteItem {
+                        anchors.verticalCenter: parent.verticalCenter
+                        componentFile: "PerspectiveItem.qml"
+                        image: "../images/rabbit_brown.png"
+                    }
+                    PaletteItem {
+                        anchors.verticalCenter: parent.verticalCenter
+                        componentFile: "PerspectiveItem.qml"
+                        image: "../images/rabbit_bw.png"
+                    }
+                }
+            }
+
+            Text { text: "Active Suns: " + activeSuns }
+
+            Rectangle { width: parent.width; height: 1; color: "black" }
+
+            Text { text: "Arbitrary QML:" }
+
+            Rectangle {
+                width: 360; height: 240
+
+                TextEdit {
+                    id: qmlText
+                    anchors.fill: parent; anchors.margins: 5
+                    readOnly: false
+                    font.pixelSize: 14
+                    wrapMode: TextEdit.WordWrap
+
+                    text: "import QtQuick 1.0\nImage {\n    id: smile\n    x: 360 * Math.random()\n    y: 180 * Math.random() \n    source: 'images/face-smile.png'\n    NumberAnimation on opacity { \n        to: 0; duration: 1500\n    }\n    Component.onCompleted: smile.destroy(1500);\n}"
+                }
+            }
+
+            Button {
+                text: "Create"
+                onClicked: {
+                    try { 
+                        Qt.createQmlObject(qmlText.text, window, 'CustomObject');
+                    } catch(err) {
+                        dialog.show('Error on line ' + err.qmlErrors[0].lineNumber + '\n' + err.qmlErrors[0].message);
+                    }
+                }
+            }
+        }
+    }
+
+    //Day state, for when a sun is added to the scene
+    states: State {
+        name: "Day"
+        when: window.activeSuns > 0
+
+        PropertyChanges { target: gradientStopA; color: "DeepSkyBlue" }
+        PropertyChanges { target: gradientStopB; color: "SkyBlue" }
+        PropertyChanges { target: stars; opacity: 0 }
+    }
+
+    transitions: Transition {
+        PropertyAnimation { duration: 3000 }
+        ColorAnimation { duration: 3000 }
+    }
+
+}
diff --git a/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/NOTE b/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/NOTE
new file mode 100644
index 0000000..fcd87f9
--- /dev/null
+++ b/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/NOTE
@@ -0,0 +1 @@
+Images (except star.png) are from the KDE project.
diff --git a/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/face-smile.png b/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/face-smile.png
new file mode 100644
index 0000000..3d66d72
Binary files /dev/null and b/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/face-smile.png differ
diff --git a/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/moon.png b/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/moon.png
new file mode 100644
index 0000000..1c0d606
Binary files /dev/null and b/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/moon.png differ
diff --git a/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/rabbit_brown.png b/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/rabbit_brown.png
new file mode 100644
index 0000000..ebfdeed
Binary files /dev/null and b/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/rabbit_brown.png differ
diff --git a/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/rabbit_bw.png b/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/rabbit_bw.png
new file mode 100644
index 0000000..7bff9b9
Binary files /dev/null and b/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/rabbit_bw.png differ
diff --git a/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/star.png b/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/star.png
new file mode 100644
index 0000000..27ef924
Binary files /dev/null and b/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/star.png differ
diff --git a/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/sun.png b/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/sun.png
new file mode 100644
index 0000000..7713ca5
Binary files /dev/null and b/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/sun.png differ
diff --git a/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/tree_s.png b/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/tree_s.png
new file mode 100644
index 0000000..6eac35a
Binary files /dev/null and b/examples/declarative/toys/dynamicscene/qml/dynamicscene/images/tree_s.png differ
diff --git a/examples/declarative/toys/dynamicscene/qml/dynamicscene/itemCreation.js b/examples/declarative/toys/dynamicscene/qml/dynamicscene/itemCreation.js
new file mode 100644
index 0000000..4ee74c2
--- /dev/null
+++ b/examples/declarative/toys/dynamicscene/qml/dynamicscene/itemCreation.js
@@ -0,0 +1,62 @@
+var itemComponent = null;
+var draggedItem = null;
+var startingMouse;
+var posnInWindow;
+
+function startDrag(mouse)
+{
+    posnInWindow = paletteItem.mapToItem(window, 0, 0);
+    startingMouse = { x: mouse.x, y: mouse.y }
+    loadComponent();
+}
+
+//Creation is split into two functions due to an asynchronous wait while
+//possible external files are loaded.
+
+function loadComponent() {
+    if (itemComponent != null) { // component has been previously loaded
+        createItem();
+        return;
+    }
+
+    itemComponent = Qt.createComponent(paletteItem.componentFile);
+    if (itemComponent.status == Component.Loading)  //Depending on the content, it can be ready or error immediately
+        component.statusChanged.connect(createItem);
+    else    
+        createItem();
+}
+
+function createItem() {
+    if (itemComponent.status == Component.Ready && draggedItem == null) {
+        draggedItem = itemComponent.createObject(window, {"image": paletteItem.image, "x": posnInWindow.x, "y": posnInWindow.y, "z": 3});
+        // make sure created item is above the ground layer
+    } else if (itemComponent.status == Component.Error) {
+        draggedItem = null;
+        console.log("error creating component");
+        console.log(itemComponent.errorString());
+    }
+}
+
+function continueDrag(mouse)
+{
+    if (draggedItem == null)
+        return;
+
+    draggedItem.x = mouse.x + posnInWindow.x - startingMouse.x;
+    draggedItem.y = mouse.y + posnInWindow.y - startingMouse.y;
+}
+
+function endDrag(mouse)
+{
+    if (draggedItem == null)
+        return;
+
+    if (draggedItem.x + draggedItem.width > toolbox.x) { //Don't drop it in the toolbox
+        draggedItem.destroy();
+        draggedItem = null;
+    } else {
+        draggedItem.created = true;
+        draggedItem = null;
+    }
+}
+
diff --git a/examples/declarative/toys/dynamicscene/qml/images/NOTE b/examples/declarative/toys/dynamicscene/qml/images/NOTE
deleted file mode 100644
index fcd87f9..0000000
--- a/examples/declarative/toys/dynamicscene/qml/images/NOTE
+++ /dev/null
@@ -1 +0,0 @@
-Images (except star.png) are from the KDE project.
diff --git a/examples/declarative/toys/dynamicscene/qml/images/face-smile.png b/examples/declarative/toys/dynamicscene/qml/images/face-smile.png
deleted file mode 100644
index 3d66d72..0000000
Binary files a/examples/declarative/toys/dynamicscene/qml/images/face-smile.png and /dev/null differ
diff --git a/examples/declarative/toys/dynamicscene/qml/images/moon.png b/examples/declarative/toys/dynamicscene/qml/images/moon.png
deleted file mode 100644
index 1c0d606..0000000
Binary files a/examples/declarative/toys/dynamicscene/qml/images/moon.png and /dev/null differ
diff --git a/examples/declarative/toys/dynamicscene/qml/images/rabbit_brown.png b/examples/declarative/toys/dynamicscene/qml/images/rabbit_brown.png
deleted file mode 100644
index ebfdeed..0000000
Binary files a/examples/declarative/toys/dynamicscene/qml/images/rabbit_brown.png and /dev/null differ
diff --git a/examples/declarative/toys/dynamicscene/qml/images/rabbit_bw.png b/examples/declarative/toys/dynamicscene/qml/images/rabbit_bw.png
deleted file mode 100644
index 7bff9b9..0000000
Binary files a/examples/declarative/toys/dynamicscene/qml/images/rabbit_bw.png and /dev/null differ
diff --git a/examples/declarative/toys/dynamicscene/qml/images/star.png b/examples/declarative/toys/dynamicscene/qml/images/star.png
deleted file mode 100644
index 27ef924..0000000
Binary files a/examples/declarative/toys/dynamicscene/qml/images/star.png and /dev/null differ
diff --git a/examples/declarative/toys/dynamicscene/qml/images/sun.png b/examples/declarative/toys/dynamicscene/qml/images/sun.png
deleted file mode 100644
index 7713ca5..0000000
Binary files a/examples/declarative/toys/dynamicscene/qml/images/sun.png and /dev/null differ
diff --git a/examples/declarative/toys/dynamicscene/qml/images/tree_s.png b/examples/declarative/toys/dynamicscene/qml/images/tree_s.png
deleted file mode 100644
index 6eac35a..0000000
Binary files a/examples/declarative/toys/dynamicscene/qml/images/tree_s.png and /dev/null differ
diff --git a/examples/declarative/toys/dynamicscene/qml/qml/Button.qml b/examples/declarative/toys/dynamicscene/qml/qml/Button.qml
deleted file mode 100644
index 8da799e..0000000
--- a/examples/declarative/toys/dynamicscene/qml/qml/Button.qml
+++ /dev/null
@@ -1,80 +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: container
-
-    property variant text
-    signal clicked
-
-    height: text.height + 10; width: text.width + 20
-    border.width: 1
-    radius: 4
-    smooth: true
-
-    gradient: Gradient {
-        GradientStop {
-            position: 0.0
-            color: !mouseArea.pressed ? activePalette.light : activePalette.button
-        }
-        GradientStop {
-            position: 1.0
-            color: !mouseArea.pressed ? activePalette.button : activePalette.dark
-        }
-    }
-
-    SystemPalette { id: activePalette }
-
-    MouseArea {
-        id: mouseArea
-        anchors.fill: parent
-        onClicked: container.clicked()
-    }
-
-    Text {
-        id: text
-        anchors.centerIn:parent
-        font.pointSize: 10
-        text: parent.text
-        color: activePalette.buttonText
-    }
-}
diff --git a/examples/declarative/toys/dynamicscene/qml/qml/GenericSceneItem.qml b/examples/declarative/toys/dynamicscene/qml/qml/GenericSceneItem.qml
deleted file mode 100644
index 7391412..0000000
--- a/examples/declarative/toys/dynamicscene/qml/qml/GenericSceneItem.qml
+++ /dev/null
@@ -1,49 +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
-
-Image {
-    property bool created: false
-    property string image
-
-    source: image
-
-}
diff --git a/examples/declarative/toys/dynamicscene/qml/qml/PaletteItem.qml b/examples/declarative/toys/dynamicscene/qml/qml/PaletteItem.qml
deleted file mode 100644
index cf5395f..0000000
--- a/examples/declarative/toys/dynamicscene/qml/qml/PaletteItem.qml
+++ /dev/null
@@ -1,59 +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
-import "itemCreation.js" as Code
-
-Image {
-    id: paletteItem
-
-    property string componentFile
-    property string image
-
-    source: image
-
-    MouseArea { 
-        anchors.fill: parent
-
-        onPressed: Code.startDrag(mouse);
-        onPositionChanged: Code.continueDrag(mouse);
-        onReleased: Code.endDrag(mouse);
-    }
-}
diff --git a/examples/declarative/toys/dynamicscene/qml/qml/PerspectiveItem.qml b/examples/declarative/toys/dynamicscene/qml/qml/PerspectiveItem.qml
deleted file mode 100644
index 6536df3..0000000
--- a/examples/declarative/toys/dynamicscene/qml/qml/PerspectiveItem.qml
+++ /dev/null
@@ -1,65 +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
-
-Image {
-    id: rootItem
-
-    property bool created: false
-    property string image 
-
-    property double scaledBottom: y + (height + height*scale) / 2 
-    property bool onLand: scaledBottom > window.height / 2
-
-    source: image
-    opacity: onLand ? 1 : 0.25
-    scale: Math.max((y + height - 250) * 0.01, 0.3)
-    smooth: true
-
-    onCreatedChanged: {
-        if (created && !onLand)
-            rootItem.destroy();
-        else
-            z = scaledBottom;
-    }
-
-    onYChanged: z = scaledBottom;
-}
diff --git a/examples/declarative/toys/dynamicscene/qml/qml/Sun.qml b/examples/declarative/toys/dynamicscene/qml/qml/Sun.qml
deleted file mode 100644
index 5b28b39..0000000
--- a/examples/declarative/toys/dynamicscene/qml/qml/Sun.qml
+++ /dev/null
@@ -1,78 +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
-
-Image {
-    id: sun
-
-    property bool created: false
-    property string image: "../images/sun.png"
-
-    source: image
-
-    // once item is created, start moving offscreen
-    NumberAnimation on y {
-        to: window.height / 2
-        running: created
-        onRunningChanged: {
-            if (running)
-                duration = (window.height - sun.y) * 10;
-            else
-                state = "OffScreen"
-        }
-    }
-
-    states: State {
-        name: "OffScreen"
-        StateChangeScript {
-            script: { sun.created = false; sun.destroy() }
-        }
-    }
-
-    onCreatedChanged: {
-        if (created) {
-            sun.z = 1;    // above the sky but below the ground layer 
-            window.activeSuns++;
-        } else {
-            window.activeSuns--;
-        }
-    }
-}
diff --git a/examples/declarative/toys/dynamicscene/qml/qml/itemCreation.js b/examples/declarative/toys/dynamicscene/qml/qml/itemCreation.js
deleted file mode 100644
index 4ee74c2..0000000
--- a/examples/declarative/toys/dynamicscene/qml/qml/itemCreation.js
+++ /dev/null
@@ -1,62 +0,0 @@
-var itemComponent = null;
-var draggedItem = null;
-var startingMouse;
-var posnInWindow;
-
-function startDrag(mouse)
-{
-    posnInWindow = paletteItem.mapToItem(window, 0, 0);
-    startingMouse = { x: mouse.x, y: mouse.y }
-    loadComponent();
-}
-
-//Creation is split into two functions due to an asynchronous wait while
-//possible external files are loaded.
-
-function loadComponent() {
-    if (itemComponent != null) { // component has been previously loaded
-        createItem();
-        return;
-    }
-
-    itemComponent = Qt.createComponent(paletteItem.componentFile);
-    if (itemComponent.status == Component.Loading)  //Depending on the content, it can be ready or error immediately
-        component.statusChanged.connect(createItem);
-    else    
-        createItem();
-}
-
-function createItem() {
-    if (itemComponent.status == Component.Ready && draggedItem == null) {
-        draggedItem = itemComponent.createObject(window, {"image": paletteItem.image, "x": posnInWindow.x, "y": posnInWindow.y, "z": 3});
-        // make sure created item is above the ground layer
-    } else if (itemComponent.status == Component.Error) {
-        draggedItem = null;
-        console.log("error creating component");
-        console.log(itemComponent.errorString());
-    }
-}
-
-function continueDrag(mouse)
-{
-    if (draggedItem == null)
-        return;
-
-    draggedItem.x = mouse.x + posnInWindow.x - startingMouse.x;
-    draggedItem.y = mouse.y + posnInWindow.y - startingMouse.y;
-}
-
-function endDrag(mouse)
-{
-    if (draggedItem == null)
-        return;
-
-    if (draggedItem.x + draggedItem.width > toolbox.x) { //Don't drop it in the toolbox
-        draggedItem.destroy();
-        draggedItem = null;
-    } else {
-        draggedItem.created = true;
-        draggedItem = null;
-    }
-}
-
diff --git a/examples/declarative/toys/dynamicscene/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/toys/dynamicscene/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/toys/dynamicscene/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/toys/dynamicscene/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/toys/dynamicscene/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/toys/dynamicscene/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/toys/dynamicscene/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/toys/dynamicscene/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/toys/dynamicscene/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/toys/tic-tac-toe/content/Button.qml b/examples/declarative/toys/tic-tac-toe/content/Button.qml
deleted file mode 100644
index 35de2cc..0000000
--- a/examples/declarative/toys/tic-tac-toe/content/Button.qml
+++ /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 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: container
-
-    property string text
-    property bool pressed: false
-
-    signal clicked
-
-    width: buttonLabel.width + 20; height: buttonLabel.height + 6
-    border { width: 1; color: Qt.darker(container.color) } 
-    radius: 8
-    color: "lightgray"
-    smooth: true
-
-    gradient: Gradient {
-        GradientStop {
-            position: 0.0
-            color: container.pressed ? "darkgray" : "white"
-        }
-        GradientStop { 
-            position: 1.0
-            color: container.color
-        }
-    }
-
-    MouseArea { 
-        anchors.fill: parent
-        onClicked: container.clicked()
-    }
-
-    Text {
-        id: buttonLabel
-        anchors.centerIn: container
-        text: container.text
-        font.pixelSize: 14
-    }
-}
diff --git a/examples/declarative/toys/tic-tac-toe/content/TicTac.qml b/examples/declarative/toys/tic-tac-toe/content/TicTac.qml
deleted file mode 100644
index dd4de5e..0000000
--- a/examples/declarative/toys/tic-tac-toe/content/TicTac.qml
+++ /dev/null
@@ -1,60 +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
-
-Item {
-    signal clicked
-
-    states: [
-        State { name: "X"; PropertyChanges { target: image; source: "pics/x.png" } },
-        State { name: "O"; PropertyChanges { target: image; source: "pics/o.png" } }
-    ]
-
-    Image {
-        id: image
-        anchors.centerIn: parent
-    }
-
-    MouseArea {
-        anchors.fill: parent
-        onClicked: parent.clicked()
-    }
-}
diff --git a/examples/declarative/toys/tic-tac-toe/main.cpp b/examples/declarative/toys/tic-tac-toe/main.cpp
index 5804d67..10f4a93 100644
--- a/examples/declarative/toys/tic-tac-toe/main.cpp
+++ b/examples/declarative/toys/tic-tac-toe/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/tic-tac-toe.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/tic-tac-toe/tic-tac-toe.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/toys/tic-tac-toe/qml/content/Button.qml b/examples/declarative/toys/tic-tac-toe/qml/content/Button.qml
deleted file mode 100644
index 403d587..0000000
--- a/examples/declarative/toys/tic-tac-toe/qml/content/Button.qml
+++ /dev/null
@@ -1,79 +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: container
-
-    property string text
-    property bool pressed: false
-
-    signal clicked
-
-    width: buttonLabel.width + 20; height: buttonLabel.height + 6
-    border { width: 1; color: Qt.darker(container.color) } 
-    radius: 8
-    color: "lightgray"
-    smooth: true
-
-    gradient: Gradient {
-        GradientStop {
-            position: 0.0
-            color: container.pressed ? "darkgray" : "white"
-        }
-        GradientStop { 
-            position: 1.0
-            color: container.color
-        }
-    }
-
-    MouseArea { 
-        anchors.fill: parent
-        onClicked: container.clicked()
-    }
-
-    Text {
-        id: buttonLabel
-        anchors.centerIn: container
-        text: container.text
-        font.pixelSize: 14
-    }
-}
diff --git a/examples/declarative/toys/tic-tac-toe/qml/content/TicTac.qml b/examples/declarative/toys/tic-tac-toe/qml/content/TicTac.qml
deleted file mode 100644
index 7e50736..0000000
--- a/examples/declarative/toys/tic-tac-toe/qml/content/TicTac.qml
+++ /dev/null
@@ -1,60 +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
-
-Item {
-    signal clicked
-
-    states: [
-        State { name: "X"; PropertyChanges { target: image; source: "pics/x.png" } },
-        State { name: "O"; PropertyChanges { target: image; source: "pics/o.png" } }
-    ]
-
-    Image {
-        id: image
-        anchors.centerIn: parent
-    }
-
-    MouseArea {
-        anchors.fill: parent
-        onClicked: parent.clicked()
-    }
-}
diff --git a/examples/declarative/toys/tic-tac-toe/qml/content/pics/board.png b/examples/declarative/toys/tic-tac-toe/qml/content/pics/board.png
deleted file mode 100644
index 7e5b7ba..0000000
Binary files a/examples/declarative/toys/tic-tac-toe/qml/content/pics/board.png and /dev/null differ
diff --git a/examples/declarative/toys/tic-tac-toe/qml/content/pics/o.png b/examples/declarative/toys/tic-tac-toe/qml/content/pics/o.png
deleted file mode 100644
index abc7ee0..0000000
Binary files a/examples/declarative/toys/tic-tac-toe/qml/content/pics/o.png and /dev/null differ
diff --git a/examples/declarative/toys/tic-tac-toe/qml/content/pics/x.png b/examples/declarative/toys/tic-tac-toe/qml/content/pics/x.png
deleted file mode 100644
index ddc65c8..0000000
Binary files a/examples/declarative/toys/tic-tac-toe/qml/content/pics/x.png and /dev/null differ
diff --git a/examples/declarative/toys/tic-tac-toe/qml/content/tic-tac-toe.js b/examples/declarative/toys/tic-tac-toe/qml/content/tic-tac-toe.js
deleted file mode 100644
index 5a166b7..0000000
--- a/examples/declarative/toys/tic-tac-toe/qml/content/tic-tac-toe.js
+++ /dev/null
@@ -1,149 +0,0 @@
-function winner(board)
-{
-    for (var i=0; i<3; ++i) {
-        if (board.children[i].state != ""
-                && board.children[i].state == board.children[i+3].state
-                && board.children[i].state == board.children[i+6].state)
-            return true
-
-        if (board.children[i*3].state != ""
-                && board.children[i*3].state == board.children[i*3+1].state
-                && board.children[i*3].state == board.children[i*3+2].state)
-            return true
-    }
-
-    if (board.children[0].state != ""
-            && board.children[0].state == board.children[4].state != ""
-            && board.children[0].state == board.children[8].state != "")
-        return true
-
-    if (board.children[2].state != ""
-            && board.children[2].state == board.children[4].state != ""
-            && board.children[2].state == board.children[6].state != "")
-        return true
-
-    return false
-}
-
-function restartGame()
-{
-    game.running = true
-
-    for (var i=0; i<9; ++i)
-        board.children[i].state = ""
-}
-
-function makeMove(pos, player)
-{
-    board.children[pos].state = player
-    if (winner(board)) {
-        gameFinished(player + " wins")
-        return true
-    } else {
-        return false
-    }
-}
-
-function canPlayAtPos(pos)
-{
-    return board.children[pos].state == ""
-}
-
-function computerTurn()
-{
-    var r = Math.random();
-    if (r < game.difficulty)
-        smartAI();
-    else
-        randomAI();
-}
-
-function smartAI()
-{
-    function boardCopy(a) {
-        var ret = new Object;
-        ret.children = new Array(9);
-        for (var i = 0; i<9; i++) {
-            ret.children[i] = new Object;
-            ret.children[i].state = a.children[i].state;
-        }
-        return ret;
-    }
-
-    for (var i=0; i<9; i++) {
-        var simpleBoard = boardCopy(board);
-        if (canPlayAtPos(i)) {
-            simpleBoard.children[i].state = "O";
-            if (winner(simpleBoard)) {
-                makeMove(i, "O")
-                return
-            }
-        }
-    }
-    for (var i=0; i<9; i++) {
-        var simpleBoard = boardCopy(board);
-        if (canPlayAtPos(i)) {
-            simpleBoard.children[i].state = "X";
-            if (winner(simpleBoard)) {
-                makeMove(i, "O")
-                return
-            }
-        }
-    }
-
-    function thwart(a,b,c) {    //If they are at a, try b or c
-        if (board.children[a].state == "X") {
-            if (canPlayAtPos(b)) {
-                makeMove(b, "O")
-                return true
-            } else if (canPlayAtPos(c)) {
-                makeMove(c, "O")
-                return true
-            }
-        }
-        return false;
-    }
-
-    if (thwart(4,0,2)) return;
-    if (thwart(0,4,3)) return;
-    if (thwart(2,4,1)) return;
-    if (thwart(6,4,7)) return;
-    if (thwart(8,4,5)) return;
-    if (thwart(1,4,2)) return;
-    if (thwart(3,4,0)) return;
-    if (thwart(5,4,8)) return;
-    if (thwart(7,4,6)) return;
-
-    for (var i =0; i<9; i++) {
-        if (canPlayAtPos(i)) {
-            makeMove(i, "O")
-            return
-        }
-    }
-    restartGame();
-}
-
-function randomAI()
-{
-    var unfilledPosns = new Array();
-
-    for (var i=0; i<9; ++i) {
-        if (canPlayAtPos(i))
-            unfilledPosns.push(i);
-    }
-
-    if (unfilledPosns.length == 0) {
-        restartGame();
-    } else {
-        var choice = unfilledPosns[Math.floor(Math.random() * unfilledPosns.length)];
-        makeMove(choice, "O");
-    }
-}
-
-function gameFinished(message)
-{
-    messageDisplay.text = message
-    messageDisplay.visible = true
-    game.running = false
-}
-
diff --git a/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe.qml b/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe.qml
deleted file mode 100644
index c60f2df..0000000
--- a/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe.qml
+++ /dev/null
@@ -1,123 +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
-import "content"
-import "content/tic-tac-toe.js" as Logic
-
-Rectangle {
-    id: game
-
-    property bool running: true
-    property real difficulty: 1.0   //chance it will actually think
-
-    width: display.width; height: display.height + 10
-
-    Image {
-        id: boardImage
-        source: "content/pics/board.png"
-    }
-
-
-    Column {
-        id: display
-
-        Grid {
-            id: board
-            width: boardImage.width; height: boardImage.height
-            columns: 3
-
-            Repeater {
-                model: 9
-
-                TicTac {
-                    width: board.width/3
-                    height: board.height/3
-
-                    onClicked: {
-                        if (game.running && Logic.canPlayAtPos(index)) {
-                            if (!Logic.makeMove(index, "X"))
-                                Logic.computerTurn();
-                        }
-                    }
-                }
-            }
-        }
-
-        Row {
-            spacing: 4
-            anchors.horizontalCenter: parent.horizontalCenter
-
-            Button {
-                text: "Hard"
-                pressed: game.difficulty == 1.0
-                onClicked: { game.difficulty = 1.0 }
-            }
-            Button {
-                text: "Moderate"
-                pressed: game.difficulty == 0.8
-                onClicked: { game.difficulty = 0.8 }
-            }
-            Button {
-                text: "Easy"
-                pressed: game.difficulty == 0.2
-                onClicked: { game.difficulty = 0.2 }
-            }
-        }
-    }
-
-
-    Text {
-        id: messageDisplay
-        anchors.centerIn: parent
-        color: "blue"
-        style: Text.Outline; styleColor: "white"
-        font.pixelSize: 50; font.bold: true
-        visible: false
-
-        Timer {
-            running: messageDisplay.visible
-            onTriggered: {
-                messageDisplay.visible = false;
-                Logic.restartGame();
-            }
-        }
-    }
-}
diff --git a/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe.qmlproject b/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe.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/toys/tic-tac-toe/qml/tic-tac-toe/content/Button.qml b/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/Button.qml
new file mode 100644
index 0000000..403d587
--- /dev/null
+++ b/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/Button.qml
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** 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: container
+
+    property string text
+    property bool pressed: false
+
+    signal clicked
+
+    width: buttonLabel.width + 20; height: buttonLabel.height + 6
+    border { width: 1; color: Qt.darker(container.color) } 
+    radius: 8
+    color: "lightgray"
+    smooth: true
+
+    gradient: Gradient {
+        GradientStop {
+            position: 0.0
+            color: container.pressed ? "darkgray" : "white"
+        }
+        GradientStop { 
+            position: 1.0
+            color: container.color
+        }
+    }
+
+    MouseArea { 
+        anchors.fill: parent
+        onClicked: container.clicked()
+    }
+
+    Text {
+        id: buttonLabel
+        anchors.centerIn: container
+        text: container.text
+        font.pixelSize: 14
+    }
+}
diff --git a/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/TicTac.qml b/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/TicTac.qml
new file mode 100644
index 0000000..7e50736
--- /dev/null
+++ b/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/TicTac.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** 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
+
+Item {
+    signal clicked
+
+    states: [
+        State { name: "X"; PropertyChanges { target: image; source: "pics/x.png" } },
+        State { name: "O"; PropertyChanges { target: image; source: "pics/o.png" } }
+    ]
+
+    Image {
+        id: image
+        anchors.centerIn: parent
+    }
+
+    MouseArea {
+        anchors.fill: parent
+        onClicked: parent.clicked()
+    }
+}
diff --git a/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/pics/board.png b/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/pics/board.png
new file mode 100644
index 0000000..7e5b7ba
Binary files /dev/null and b/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/pics/board.png differ
diff --git a/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/pics/o.png b/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/pics/o.png
new file mode 100644
index 0000000..abc7ee0
Binary files /dev/null and b/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/pics/o.png differ
diff --git a/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/pics/x.png b/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/pics/x.png
new file mode 100644
index 0000000..ddc65c8
Binary files /dev/null and b/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/pics/x.png differ
diff --git a/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/tic-tac-toe.js b/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/tic-tac-toe.js
new file mode 100644
index 0000000..5a166b7
--- /dev/null
+++ b/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/content/tic-tac-toe.js
@@ -0,0 +1,149 @@
+function winner(board)
+{
+    for (var i=0; i<3; ++i) {
+        if (board.children[i].state != ""
+                && board.children[i].state == board.children[i+3].state
+                && board.children[i].state == board.children[i+6].state)
+            return true
+
+        if (board.children[i*3].state != ""
+                && board.children[i*3].state == board.children[i*3+1].state
+                && board.children[i*3].state == board.children[i*3+2].state)
+            return true
+    }
+
+    if (board.children[0].state != ""
+            && board.children[0].state == board.children[4].state != ""
+            && board.children[0].state == board.children[8].state != "")
+        return true
+
+    if (board.children[2].state != ""
+            && board.children[2].state == board.children[4].state != ""
+            && board.children[2].state == board.children[6].state != "")
+        return true
+
+    return false
+}
+
+function restartGame()
+{
+    game.running = true
+
+    for (var i=0; i<9; ++i)
+        board.children[i].state = ""
+}
+
+function makeMove(pos, player)
+{
+    board.children[pos].state = player
+    if (winner(board)) {
+        gameFinished(player + " wins")
+        return true
+    } else {
+        return false
+    }
+}
+
+function canPlayAtPos(pos)
+{
+    return board.children[pos].state == ""
+}
+
+function computerTurn()
+{
+    var r = Math.random();
+    if (r < game.difficulty)
+        smartAI();
+    else
+        randomAI();
+}
+
+function smartAI()
+{
+    function boardCopy(a) {
+        var ret = new Object;
+        ret.children = new Array(9);
+        for (var i = 0; i<9; i++) {
+            ret.children[i] = new Object;
+            ret.children[i].state = a.children[i].state;
+        }
+        return ret;
+    }
+
+    for (var i=0; i<9; i++) {
+        var simpleBoard = boardCopy(board);
+        if (canPlayAtPos(i)) {
+            simpleBoard.children[i].state = "O";
+            if (winner(simpleBoard)) {
+                makeMove(i, "O")
+                return
+            }
+        }
+    }
+    for (var i=0; i<9; i++) {
+        var simpleBoard = boardCopy(board);
+        if (canPlayAtPos(i)) {
+            simpleBoard.children[i].state = "X";
+            if (winner(simpleBoard)) {
+                makeMove(i, "O")
+                return
+            }
+        }
+    }
+
+    function thwart(a,b,c) {    //If they are at a, try b or c
+        if (board.children[a].state == "X") {
+            if (canPlayAtPos(b)) {
+                makeMove(b, "O")
+                return true
+            } else if (canPlayAtPos(c)) {
+                makeMove(c, "O")
+                return true
+            }
+        }
+        return false;
+    }
+
+    if (thwart(4,0,2)) return;
+    if (thwart(0,4,3)) return;
+    if (thwart(2,4,1)) return;
+    if (thwart(6,4,7)) return;
+    if (thwart(8,4,5)) return;
+    if (thwart(1,4,2)) return;
+    if (thwart(3,4,0)) return;
+    if (thwart(5,4,8)) return;
+    if (thwart(7,4,6)) return;
+
+    for (var i =0; i<9; i++) {
+        if (canPlayAtPos(i)) {
+            makeMove(i, "O")
+            return
+        }
+    }
+    restartGame();
+}
+
+function randomAI()
+{
+    var unfilledPosns = new Array();
+
+    for (var i=0; i<9; ++i) {
+        if (canPlayAtPos(i))
+            unfilledPosns.push(i);
+    }
+
+    if (unfilledPosns.length == 0) {
+        restartGame();
+    } else {
+        var choice = unfilledPosns[Math.floor(Math.random() * unfilledPosns.length)];
+        makeMove(choice, "O");
+    }
+}
+
+function gameFinished(message)
+{
+    messageDisplay.text = message
+    messageDisplay.visible = true
+    game.running = false
+}
+
diff --git a/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/tic-tac-toe.qml b/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/tic-tac-toe.qml
new file mode 100644
index 0000000..c60f2df
--- /dev/null
+++ b/examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe/tic-tac-toe.qml
@@ -0,0 +1,123 @@
+/****************************************************************************
+**
+** 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
+import "content"
+import "content/tic-tac-toe.js" as Logic
+
+Rectangle {
+    id: game
+
+    property bool running: true
+    property real difficulty: 1.0   //chance it will actually think
+
+    width: display.width; height: display.height + 10
+
+    Image {
+        id: boardImage
+        source: "content/pics/board.png"
+    }
+
+
+    Column {
+        id: display
+
+        Grid {
+            id: board
+            width: boardImage.width; height: boardImage.height
+            columns: 3
+
+            Repeater {
+                model: 9
+
+                TicTac {
+                    width: board.width/3
+                    height: board.height/3
+
+                    onClicked: {
+                        if (game.running && Logic.canPlayAtPos(index)) {
+                            if (!Logic.makeMove(index, "X"))
+                                Logic.computerTurn();
+                        }
+                    }
+                }
+            }
+        }
+
+        Row {
+            spacing: 4
+            anchors.horizontalCenter: parent.horizontalCenter
+
+            Button {
+                text: "Hard"
+                pressed: game.difficulty == 1.0
+                onClicked: { game.difficulty = 1.0 }
+            }
+            Button {
+                text: "Moderate"
+                pressed: game.difficulty == 0.8
+                onClicked: { game.difficulty = 0.8 }
+            }
+            Button {
+                text: "Easy"
+                pressed: game.difficulty == 0.2
+                onClicked: { game.difficulty = 0.2 }
+            }
+        }
+    }
+
+
+    Text {
+        id: messageDisplay
+        anchors.centerIn: parent
+        color: "blue"
+        style: Text.Outline; styleColor: "white"
+        font.pixelSize: 50; font.bold: true
+        visible: false
+
+        Timer {
+            running: messageDisplay.visible
+            onTriggered: {
+                messageDisplay.visible = false;
+                Logic.restartGame();
+            }
+        }
+    }
+}
diff --git a/examples/declarative/toys/tic-tac-toe/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/toys/tic-tac-toe/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/toys/tic-tac-toe/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/toys/tic-tac-toe/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/toys/tic-tac-toe/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/toys/tic-tac-toe/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/toys/tic-tac-toe/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/toys/tic-tac-toe/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/toys/tic-tac-toe/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/toys/tic-tac-toe/tic-tac-toe.pro b/examples/declarative/toys/tic-tac-toe/tic-tac-toe.pro
deleted file mode 100644
index 2e1fbd3..0000000
--- a/examples/declarative/toys/tic-tac-toe/tic-tac-toe.pro
+++ /dev/null
@@ -1,39 +0,0 @@
-# Add more folders to ship with the application, here
-folder_01.source = qml
-folder_01.target = qml
-DEPLOYMENTFOLDERS = folder_01
-
-# Additional import path used to resolve QML modules in Creator's code model
-QML_IMPORT_PATH =
-
-# Avoid auto screen rotation
-DEFINES += ORIENTATIONLOCK
-
-# Needs to be defined for Symbian
-#DEFINES += NETWORKACCESS
-
-symbian:TARGET.UID3 = 0xEFDDF868
-
-# Smart Installer package's UID
-# This UID is from the protected range 
-# and therefore the package will fail to install if self-signed
-# By default qmake uses the unprotected range value if unprotected UID is defined for the application
-# and 0x2002CCCF value if protected UID is given to the application
-#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
-
-# Define QMLJSDEBUGGER to allow debugging of QML in debug builds
-# (This might significantly increase build time)
-# DEFINES += QMLJSDEBUGGER
-
-# If your application uses the Qt Mobility libraries, uncomment
-# the following lines and add the respective components to the 
-# MOBILITY variable. 
-# CONFIG += mobility
-# MOBILITY +=
-
-# The .cpp file which was generated for your project. Feel free to hack it.
-SOURCES += main.cpp
-
-# Please do not modify the following two lines. Required for deployment.
-include(qmlapplicationviewer/qmlapplicationviewer.pri)
-qtcAddDeployment()
diff --git a/examples/declarative/toys/tic-tac-toe/tic-tac-toe.qml b/examples/declarative/toys/tic-tac-toe/tic-tac-toe.qml
deleted file mode 100644
index 87e3e2e..0000000
--- a/examples/declarative/toys/tic-tac-toe/tic-tac-toe.qml
+++ /dev/null
@@ -1,123 +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
-import "content"
-import "content/tic-tac-toe.js" as Logic
-
-Rectangle {
-    id: game
-
-    property bool running: true
-    property real difficulty: 1.0   //chance it will actually think
-
-    width: display.width; height: display.height + 10
-
-    Image {
-        id: boardImage
-        source: "content/pics/board.png"
-    }
-
-
-    Column {
-        id: display
-
-        Grid {
-            id: board
-            width: boardImage.width; height: boardImage.height
-            columns: 3
-
-            Repeater {
-                model: 9
-
-                TicTac {
-                    width: board.width/3
-                    height: board.height/3
-
-                    onClicked: {
-                        if (game.running && Logic.canPlayAtPos(index)) {
-                            if (!Logic.makeMove(index, "X"))
-                                Logic.computerTurn();
-                        }
-                    }
-                }
-            }
-        }
-
-        Row {
-            spacing: 4
-            anchors.horizontalCenter: parent.horizontalCenter
-
-            Button {
-                text: "Hard"
-                pressed: game.difficulty == 1.0
-                onClicked: { game.difficulty = 1.0 }
-            }
-            Button {
-                text: "Moderate"
-                pressed: game.difficulty == 0.8
-                onClicked: { game.difficulty = 0.8 }
-            }
-            Button {
-                text: "Easy"
-                pressed: game.difficulty == 0.2
-                onClicked: { game.difficulty = 0.2 }
-            }
-        }
-    }
-
-
-    Text {
-        id: messageDisplay
-        anchors.centerIn: parent
-        color: "blue"
-        style: Text.Outline; styleColor: "white"
-        font.pixelSize: 50; font.bold: true
-        visible: false
-
-        Timer {
-            running: messageDisplay.visible
-            onTriggered: {
-                messageDisplay.visible = false;
-                Logic.restartGame();
-            }
-        }
-    }
-}
diff --git a/examples/declarative/toys/tic-tac-toe/tic-tac-toe.qmlproject b/examples/declarative/toys/tic-tac-toe/tic-tac-toe.qmlproject
new file mode 100644
index 0000000..d32320a
--- /dev/null
+++ b/examples/declarative/toys/tic-tac-toe/tic-tac-toe.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/tic-tac-toe"
+    }
+    JavaScriptFiles {
+        directory: "qml/tic-tac-toe"
+    }
+    ImageFiles {
+        directory: "qml/tic-tac-toe"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/toys/tic-tac-toe/tictactoe.pro b/examples/declarative/toys/tic-tac-toe/tictactoe.pro
index 2e1fbd3..deb9ba3 100644
--- a/examples/declarative/toys/tic-tac-toe/tictactoe.pro
+++ b/examples/declarative/toys/tic-tac-toe/tictactoe.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/tic-tac-toe
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEFDDF868
 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/toys/tvtennis/main.cpp b/examples/declarative/toys/tvtennis/main.cpp
index e5329b6..6241558 100644
--- a/examples/declarative/toys/tvtennis/main.cpp
+++ b/examples/declarative/toys/tvtennis/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/tvtennis.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/tvtennis/tvtennis.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/toys/tvtennis/qml/tvtennis.qml b/examples/declarative/toys/tvtennis/qml/tvtennis.qml
deleted file mode 100644
index 805666d..0000000
--- a/examples/declarative/toys/tvtennis/qml/tvtennis.qml
+++ /dev/null
@@ -1,109 +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: "Black"
-
-    // Make a ball to bounce
-    Rectangle {
-        id: ball
-
-        // Add a property for the target y coordinate
-        property variant direction : "right"
-
-        x: 20; width: 20; height: 20; z: 1
-        color: "Lime"
-
-        // Move the ball to the right and back to the left repeatedly
-        SequentialAnimation on x {
-            loops: Animation.Infinite
-            NumberAnimation { to: page.width - 40; duration: 2000 }
-            PropertyAction { target: ball; property: "direction"; value: "left" }
-            NumberAnimation { to: 20; duration: 2000 }
-            PropertyAction { target: ball; property: "direction"; value: "right" }
-        }
-
-        // Make y move with a velocity of 200 
-        Behavior on y { SpringAnimation{ velocity: 200; }
-        }
-
-        Component.onCompleted: y = page.height-10; // start the ball motion
-
-        // Detect the ball hitting the top or bottom of the view and bounce it
-        onYChanged: {
-            if (y <= 0) {
-                y = page.height - 20;
-            } else if (y >= page.height - 20) {
-                y = 0;
-            }
-        }
-    }
-
-    // Place bats to the left and right of the view, following the y
-    // coordinates of the ball.
-    Rectangle {
-        id: leftBat
-        color: "Lime"
-        x: 2; width: 20; height: 90
-        y: ball.direction == 'left' ? ball.y - 45 : page.height/2 -45;
-        Behavior on y { SpringAnimation{ velocity: 300 } }
-    }
-    Rectangle {
-        id: rightBat
-        color: "Lime"
-        x: page.width - 22; width: 20; height: 90
-        y: ball.direction == 'right' ? ball.y - 45 : page.height/2 -45;
-        Behavior on y { SpringAnimation{ velocity: 300 } }
-    }
-
-    // The rest, to make it look realistic, if neither ever scores...
-    Rectangle { color: "Lime"; x: page.width/2-80; y: 0; width: 40; height: 60 }
-    Rectangle { color: "Black"; x: page.width/2-70; y: 10; width: 20; height: 40 }
-    Rectangle { color: "Lime"; x: page.width/2+40; y: 0; width: 40; height: 60 }
-    Rectangle { color: "Black"; x: page.width/2+50; y: 10; width: 20; height: 40 }
-    Repeater {
-        model: page.height / 20
-        Rectangle { color: "Lime"; x: page.width/2-5; y: index * 20; width: 10; height: 10 }
-    }
-}
diff --git a/examples/declarative/toys/tvtennis/qml/tvtennis.qmlproject b/examples/declarative/toys/tvtennis/qml/tvtennis.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/toys/tvtennis/qml/tvtennis.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/toys/tvtennis/qml/tvtennis/tvtennis.qml b/examples/declarative/toys/tvtennis/qml/tvtennis/tvtennis.qml
new file mode 100644
index 0000000..805666d
--- /dev/null
+++ b/examples/declarative/toys/tvtennis/qml/tvtennis/tvtennis.qml
@@ -0,0 +1,109 @@
+/****************************************************************************
+**
+** 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: "Black"
+
+    // Make a ball to bounce
+    Rectangle {
+        id: ball
+
+        // Add a property for the target y coordinate
+        property variant direction : "right"
+
+        x: 20; width: 20; height: 20; z: 1
+        color: "Lime"
+
+        // Move the ball to the right and back to the left repeatedly
+        SequentialAnimation on x {
+            loops: Animation.Infinite
+            NumberAnimation { to: page.width - 40; duration: 2000 }
+            PropertyAction { target: ball; property: "direction"; value: "left" }
+            NumberAnimation { to: 20; duration: 2000 }
+            PropertyAction { target: ball; property: "direction"; value: "right" }
+        }
+
+        // Make y move with a velocity of 200 
+        Behavior on y { SpringAnimation{ velocity: 200; }
+        }
+
+        Component.onCompleted: y = page.height-10; // start the ball motion
+
+        // Detect the ball hitting the top or bottom of the view and bounce it
+        onYChanged: {
+            if (y <= 0) {
+                y = page.height - 20;
+            } else if (y >= page.height - 20) {
+                y = 0;
+            }
+        }
+    }
+
+    // Place bats to the left and right of the view, following the y
+    // coordinates of the ball.
+    Rectangle {
+        id: leftBat
+        color: "Lime"
+        x: 2; width: 20; height: 90
+        y: ball.direction == 'left' ? ball.y - 45 : page.height/2 -45;
+        Behavior on y { SpringAnimation{ velocity: 300 } }
+    }
+    Rectangle {
+        id: rightBat
+        color: "Lime"
+        x: page.width - 22; width: 20; height: 90
+        y: ball.direction == 'right' ? ball.y - 45 : page.height/2 -45;
+        Behavior on y { SpringAnimation{ velocity: 300 } }
+    }
+
+    // The rest, to make it look realistic, if neither ever scores...
+    Rectangle { color: "Lime"; x: page.width/2-80; y: 0; width: 40; height: 60 }
+    Rectangle { color: "Black"; x: page.width/2-70; y: 10; width: 20; height: 40 }
+    Rectangle { color: "Lime"; x: page.width/2+40; y: 0; width: 40; height: 60 }
+    Rectangle { color: "Black"; x: page.width/2+50; y: 10; width: 20; height: 40 }
+    Repeater {
+        model: page.height / 20
+        Rectangle { color: "Lime"; x: page.width/2-5; y: index * 20; width: 10; height: 10 }
+    }
+}
diff --git a/examples/declarative/toys/tvtennis/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/toys/tvtennis/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/toys/tvtennis/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/toys/tvtennis/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/toys/tvtennis/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/toys/tvtennis/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/toys/tvtennis/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/toys/tvtennis/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/toys/tvtennis/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/toys/tvtennis/tvtennis.pro b/examples/declarative/toys/tvtennis/tvtennis.pro
index 3637921..3ae795e 100644
--- a/examples/declarative/toys/tvtennis/tvtennis.pro
+++ b/examples/declarative/toys/tvtennis/tvtennis.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/tvtennis
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE6511DAE
 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/toys/tvtennis/tvtennis.qml b/examples/declarative/toys/tvtennis/tvtennis.qml
deleted file mode 100644
index 2401f27..0000000
--- a/examples/declarative/toys/tvtennis/tvtennis.qml
+++ /dev/null
@@ -1,109 +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: "Black"
-
-    // Make a ball to bounce
-    Rectangle {
-        id: ball
-
-        // Add a property for the target y coordinate
-        property variant direction : "right"
-
-        x: 20; width: 20; height: 20; z: 1
-        color: "Lime"
-
-        // Move the ball to the right and back to the left repeatedly
-        SequentialAnimation on x {
-            loops: Animation.Infinite
-            NumberAnimation { to: page.width - 40; duration: 2000 }
-            PropertyAction { target: ball; property: "direction"; value: "left" }
-            NumberAnimation { to: 20; duration: 2000 }
-            PropertyAction { target: ball; property: "direction"; value: "right" }
-        }
-
-        // Make y move with a velocity of 200 
-        Behavior on y { SpringAnimation{ velocity: 200; }
-        }
-
-        Component.onCompleted: y = page.height-10; // start the ball motion
-
-        // Detect the ball hitting the top or bottom of the view and bounce it
-        onYChanged: {
-            if (y <= 0) {
-                y = page.height - 20;
-            } else if (y >= page.height - 20) {
-                y = 0;
-            }
-        }
-    }
-
-    // Place bats to the left and right of the view, following the y
-    // coordinates of the ball.
-    Rectangle {
-        id: leftBat
-        color: "Lime"
-        x: 2; width: 20; height: 90
-        y: ball.direction == 'left' ? ball.y - 45 : page.height/2 -45;
-        Behavior on y { SpringAnimation{ velocity: 300 } }
-    }
-    Rectangle {
-        id: rightBat
-        color: "Lime"
-        x: page.width - 22; width: 20; height: 90
-        y: ball.direction == 'right' ? ball.y - 45 : page.height/2 -45;
-        Behavior on y { SpringAnimation{ velocity: 300 } }
-    }
-
-    // The rest, to make it look realistic, if neither ever scores...
-    Rectangle { color: "Lime"; x: page.width/2-80; y: 0; width: 40; height: 60 }
-    Rectangle { color: "Black"; x: page.width/2-70; y: 10; width: 20; height: 40 }
-    Rectangle { color: "Lime"; x: page.width/2+40; y: 0; width: 40; height: 60 }
-    Rectangle { color: "Black"; x: page.width/2+50; y: 10; width: 20; height: 40 }
-    Repeater {
-        model: page.height / 20
-        Rectangle { color: "Lime"; x: page.width/2-5; y: index * 20; width: 10; height: 10 }
-    }
-}
diff --git a/examples/declarative/toys/tvtennis/tvtennis.qmlproject b/examples/declarative/toys/tvtennis/tvtennis.qmlproject
new file mode 100644
index 0000000..9e224bd
--- /dev/null
+++ b/examples/declarative/toys/tvtennis/tvtennis.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/tvtennis"
+    }
+    JavaScriptFiles {
+        directory: "qml/tvtennis"
+    }
+    ImageFiles {
+        directory: "qml/tvtennis"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
-- 
cgit v0.12


From 9700eca985476e209c28d94cdb72d54d2b22a521 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:03 +0100
Subject: ui-components/dialcontrol example modifications

Modified the example 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>
---
 .../ui-components/dialcontrol/content/Dial.qml     |  86 ---------
 .../dialcontrol/content/QuitButton.qml             |  52 ------
 .../ui-components/dialcontrol/dialcontrol.pro      |   4 +-
 .../ui-components/dialcontrol/dialcontrol.qml      |  98 ----------
 .../dialcontrol/dialcontrol.qmlproject             |  16 ++
 .../declarative/ui-components/dialcontrol/main.cpp |   2 +-
 .../ui-components/dialcontrol/qml/content/Dial.qml |  86 ---------
 .../dialcontrol/qml/content/QuitButton.qml         |  52 ------
 .../dialcontrol/qml/content/background.png         | Bin 35876 -> 0 bytes
 .../dialcontrol/qml/content/needle.png             | Bin 342 -> 0 bytes
 .../dialcontrol/qml/content/needle_shadow.png      | Bin 632 -> 0 bytes
 .../dialcontrol/qml/content/overlay.png            | Bin 3564 -> 0 bytes
 .../ui-components/dialcontrol/qml/content/quit.png | Bin 583 -> 0 bytes
 .../ui-components/dialcontrol/qml/dialcontrol.qml  |  98 ----------
 .../dialcontrol/qml/dialcontrol.qmlproject         |  16 --
 .../dialcontrol/qml/dialcontrol/content/Dial.qml   |  86 +++++++++
 .../qml/dialcontrol/content/QuitButton.qml         |  52 ++++++
 .../qml/dialcontrol/content/background.png         | Bin 0 -> 35876 bytes
 .../dialcontrol/qml/dialcontrol/content/needle.png | Bin 0 -> 342 bytes
 .../qml/dialcontrol/content/needle_shadow.png      | Bin 0 -> 632 bytes
 .../qml/dialcontrol/content/overlay.png            | Bin 0 -> 3564 bytes
 .../dialcontrol/qml/dialcontrol/content/quit.png   | Bin 0 -> 583 bytes
 .../dialcontrol/qml/dialcontrol/dialcontrol.qml    |  98 ++++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 26 files changed, 255 insertions(+), 921 deletions(-)
 delete mode 100644 examples/declarative/ui-components/dialcontrol/content/Dial.qml
 delete mode 100644 examples/declarative/ui-components/dialcontrol/content/QuitButton.qml
 delete mode 100644 examples/declarative/ui-components/dialcontrol/dialcontrol.qml
 create mode 100644 examples/declarative/ui-components/dialcontrol/dialcontrol.qmlproject
 delete mode 100644 examples/declarative/ui-components/dialcontrol/qml/content/Dial.qml
 delete mode 100644 examples/declarative/ui-components/dialcontrol/qml/content/QuitButton.qml
 delete mode 100644 examples/declarative/ui-components/dialcontrol/qml/content/background.png
 delete mode 100644 examples/declarative/ui-components/dialcontrol/qml/content/needle.png
 delete mode 100644 examples/declarative/ui-components/dialcontrol/qml/content/needle_shadow.png
 delete mode 100644 examples/declarative/ui-components/dialcontrol/qml/content/overlay.png
 delete mode 100644 examples/declarative/ui-components/dialcontrol/qml/content/quit.png
 delete mode 100644 examples/declarative/ui-components/dialcontrol/qml/dialcontrol.qml
 delete mode 100644 examples/declarative/ui-components/dialcontrol/qml/dialcontrol.qmlproject
 create mode 100644 examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/Dial.qml
 create mode 100644 examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/QuitButton.qml
 create mode 100644 examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/background.png
 create mode 100644 examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/needle.png
 create mode 100644 examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/needle_shadow.png
 create mode 100644 examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/overlay.png
 create mode 100644 examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/quit.png
 create mode 100644 examples/declarative/ui-components/dialcontrol/qml/dialcontrol/dialcontrol.qml
 delete mode 100644 examples/declarative/ui-components/dialcontrol/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/ui-components/dialcontrol/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/ui-components/dialcontrol/qmlapplicationviewer/qmlapplicationviewer.pri

diff --git a/examples/declarative/ui-components/dialcontrol/content/Dial.qml b/examples/declarative/ui-components/dialcontrol/content/Dial.qml
deleted file mode 100644
index 5b37992..0000000
--- a/examples/declarative/ui-components/dialcontrol/content/Dial.qml
+++ /dev/null
@@ -1,86 +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
-
-Item {
-    id: root
-    property real value : 0
-
-    width: 210; height: 210
-
-    Image { source: "background.png" }
-
-//! [needle_shadow]
-    Image {
-        x: 96
-        y: 35
-        source: "needle_shadow.png"
-        transform: Rotation {
-            origin.x: 9; origin.y: 67
-            angle: needleRotation.angle
-        }
-    }
-//! [needle_shadow]
-//! [needle]
-    Image {
-        id: needle
-        x: 98; y: 33
-        smooth: true
-        source: "needle.png"
-        transform: Rotation {
-            id: needleRotation
-            origin.x: 5; origin.y: 65
-            //! [needle angle]
-            angle: Math.min(Math.max(-130, root.value*2.6 - 130), 133)
-            Behavior on angle {
-                SpringAnimation {
-                    spring: 1.4
-                    damping: .15
-                }
-            }
-            //! [needle angle]
-        }
-    }
-//! [needle]
-//! [overlay]
-    Image { x: 21; y: 18; source: "overlay.png" }
-//! [overlay]
-}
diff --git a/examples/declarative/ui-components/dialcontrol/content/QuitButton.qml b/examples/declarative/ui-components/dialcontrol/content/QuitButton.qml
deleted file mode 100644
index 39f8f77..0000000
--- a/examples/declarative/ui-components/dialcontrol/content/QuitButton.qml
+++ /dev/null
@@ -1,52 +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
-Image {
-    source: "quit.png"
-    scale: quitMouse.pressed ? 0.8 : 1.0
-    smooth: quitMouse.pressed
-    MouseArea {
-        id: quitMouse
-        anchors.fill: parent
-        anchors.margins: -10
-        onClicked: Qt.quit()
-    }
-}
diff --git a/examples/declarative/ui-components/dialcontrol/dialcontrol.pro b/examples/declarative/ui-components/dialcontrol/dialcontrol.pro
index bdf55cc..fb784f7 100644
--- a/examples/declarative/ui-components/dialcontrol/dialcontrol.pro
+++ b/examples/declarative/ui-components/dialcontrol/dialcontrol.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/dialcontrol
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEB1C54E8
 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/ui-components/dialcontrol/dialcontrol.qml b/examples/declarative/ui-components/dialcontrol/dialcontrol.qml
deleted file mode 100644
index 9168f81..0000000
--- a/examples/declarative/ui-components/dialcontrol/dialcontrol.qml
+++ /dev/null
@@ -1,98 +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$
-**
-****************************************************************************/
-
-//! [imports]
-import QtQuick 1.0
-import "content"
-//! [imports]
-
-//! [0]
-Rectangle {
-    color: "#545454"
-    width: 300; height: 300
-
-    // Dial with a slider to adjust it
-    Dial {
-        id: dial
-        anchors.centerIn: parent
-        value: slider.x * 100 / (container.width - 34)
-    }
-
-    Rectangle {
-        id: container
-        anchors { bottom: parent.bottom; left: parent.left
-            right: parent.right; leftMargin: 20; rightMargin: 20
-            bottomMargin: 10
-        }
-        height: 16
-
-        radius: 8
-        opacity: 0.7
-        smooth: true
-        gradient: Gradient {
-            GradientStop { position: 0.0; color: "gray" }
-            GradientStop { position: 1.0; color: "white" }
-        }
-
-        Rectangle {
-            id: slider
-            x: 1; y: 1; width: 30; height: 14
-            radius: 6
-            smooth: true
-            gradient: Gradient {
-                GradientStop { position: 0.0; color: "#424242" }
-                GradientStop { position: 1.0; color: "black" }
-            }
-
-            MouseArea {
-                anchors.fill: parent
-                anchors.margins: -16 // Increase mouse area a lot outside the slider
-                drag.target: parent; drag.axis: Drag.XAxis
-                drag.minimumX: 2; drag.maximumX: container.width - 32
-            }
-        }
-    }
-    QuitButton {
-        anchors.right: parent.right
-        anchors.top: parent.top
-        anchors.margins: 10
-    }
-}
-//! [0]
diff --git a/examples/declarative/ui-components/dialcontrol/dialcontrol.qmlproject b/examples/declarative/ui-components/dialcontrol/dialcontrol.qmlproject
new file mode 100644
index 0000000..ea017b1
--- /dev/null
+++ b/examples/declarative/ui-components/dialcontrol/dialcontrol.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/dialcontrol"
+    }
+    JavaScriptFiles {
+        directory: "qml/dialcontrol"
+    }
+    ImageFiles {
+        directory: "qml/dialcontrol"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/ui-components/dialcontrol/main.cpp b/examples/declarative/ui-components/dialcontrol/main.cpp
index 8b7bb6a..2bbffd1 100644
--- a/examples/declarative/ui-components/dialcontrol/main.cpp
+++ b/examples/declarative/ui-components/dialcontrol/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/dialcontrol.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/dialcontrol/dialcontrol.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/ui-components/dialcontrol/qml/content/Dial.qml b/examples/declarative/ui-components/dialcontrol/qml/content/Dial.qml
deleted file mode 100644
index 2f1d27a..0000000
--- a/examples/declarative/ui-components/dialcontrol/qml/content/Dial.qml
+++ /dev/null
@@ -1,86 +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
-
-Item {
-    id: root
-    property real value : 0
-
-    width: 210; height: 210
-
-    Image { source: "background.png" }
-
-//! [needle_shadow]
-    Image {
-        x: 96
-        y: 35
-        source: "needle_shadow.png"
-        transform: Rotation {
-            origin.x: 9; origin.y: 67
-            angle: needleRotation.angle
-        }
-    }
-//! [needle_shadow]
-//! [needle]
-    Image {
-        id: needle
-        x: 98; y: 33
-        smooth: true
-        source: "needle.png"
-        transform: Rotation {
-            id: needleRotation
-            origin.x: 5; origin.y: 65
-            //! [needle angle]
-            angle: Math.min(Math.max(-130, root.value*2.6 - 130), 133)
-            Behavior on angle {
-                SpringAnimation {
-                    spring: 1.4
-                    damping: .15
-                }
-            }
-            //! [needle angle]
-        }
-    }
-//! [needle]
-//! [overlay]
-    Image { x: 21; y: 18; source: "overlay.png" }
-//! [overlay]
-}
diff --git a/examples/declarative/ui-components/dialcontrol/qml/content/QuitButton.qml b/examples/declarative/ui-components/dialcontrol/qml/content/QuitButton.qml
deleted file mode 100644
index cbbf916..0000000
--- a/examples/declarative/ui-components/dialcontrol/qml/content/QuitButton.qml
+++ /dev/null
@@ -1,52 +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
-Image {
-    source: "quit.png"
-    scale: quitMouse.pressed ? 0.8 : 1.0
-    smooth: quitMouse.pressed
-    MouseArea {
-        id: quitMouse
-        anchors.fill: parent
-        anchors.margins: -10
-        onClicked: Qt.quit()
-    }
-}
diff --git a/examples/declarative/ui-components/dialcontrol/qml/content/background.png b/examples/declarative/ui-components/dialcontrol/qml/content/background.png
deleted file mode 100644
index 75d555d..0000000
Binary files a/examples/declarative/ui-components/dialcontrol/qml/content/background.png and /dev/null differ
diff --git a/examples/declarative/ui-components/dialcontrol/qml/content/needle.png b/examples/declarative/ui-components/dialcontrol/qml/content/needle.png
deleted file mode 100644
index 2d19f75..0000000
Binary files a/examples/declarative/ui-components/dialcontrol/qml/content/needle.png and /dev/null differ
diff --git a/examples/declarative/ui-components/dialcontrol/qml/content/needle_shadow.png b/examples/declarative/ui-components/dialcontrol/qml/content/needle_shadow.png
deleted file mode 100644
index 8d8a928..0000000
Binary files a/examples/declarative/ui-components/dialcontrol/qml/content/needle_shadow.png and /dev/null differ
diff --git a/examples/declarative/ui-components/dialcontrol/qml/content/overlay.png b/examples/declarative/ui-components/dialcontrol/qml/content/overlay.png
deleted file mode 100644
index 3860a7b..0000000
Binary files a/examples/declarative/ui-components/dialcontrol/qml/content/overlay.png and /dev/null differ
diff --git a/examples/declarative/ui-components/dialcontrol/qml/content/quit.png b/examples/declarative/ui-components/dialcontrol/qml/content/quit.png
deleted file mode 100644
index b822057..0000000
Binary files a/examples/declarative/ui-components/dialcontrol/qml/content/quit.png and /dev/null differ
diff --git a/examples/declarative/ui-components/dialcontrol/qml/dialcontrol.qml b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol.qml
deleted file mode 100644
index c66dcdd..0000000
--- a/examples/declarative/ui-components/dialcontrol/qml/dialcontrol.qml
+++ /dev/null
@@ -1,98 +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$
-**
-****************************************************************************/
-
-//! [imports]
-import QtQuick 1.0
-import "content"
-//! [imports]
-
-//! [0]
-Rectangle {
-    color: "#545454"
-    width: 300; height: 300
-
-    // Dial with a slider to adjust it
-    Dial {
-        id: dial
-        anchors.centerIn: parent
-        value: slider.x * 100 / (container.width - 34)
-    }
-
-    Rectangle {
-        id: container
-        anchors { bottom: parent.bottom; left: parent.left
-            right: parent.right; leftMargin: 20; rightMargin: 20
-            bottomMargin: 10
-        }
-        height: 16
-
-        radius: 8
-        opacity: 0.7
-        smooth: true
-        gradient: Gradient {
-            GradientStop { position: 0.0; color: "gray" }
-            GradientStop { position: 1.0; color: "white" }
-        }
-
-        Rectangle {
-            id: slider
-            x: 1; y: 1; width: 30; height: 14
-            radius: 6
-            smooth: true
-            gradient: Gradient {
-                GradientStop { position: 0.0; color: "#424242" }
-                GradientStop { position: 1.0; color: "black" }
-            }
-
-            MouseArea {
-                anchors.fill: parent
-                anchors.margins: -16 // Increase mouse area a lot outside the slider
-                drag.target: parent; drag.axis: Drag.XAxis
-                drag.minimumX: 2; drag.maximumX: container.width - 32
-            }
-        }
-    }
-    QuitButton {
-        anchors.right: parent.right
-        anchors.top: parent.top
-        anchors.margins: 10
-    }
-}
-//! [0]
diff --git a/examples/declarative/ui-components/dialcontrol/qml/dialcontrol.qmlproject b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/ui-components/dialcontrol/qml/dialcontrol.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/ui-components/dialcontrol/qml/dialcontrol/content/Dial.qml b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/Dial.qml
new file mode 100644
index 0000000..2f1d27a
--- /dev/null
+++ b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/Dial.qml
@@ -0,0 +1,86 @@
+/****************************************************************************
+**
+** 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
+
+Item {
+    id: root
+    property real value : 0
+
+    width: 210; height: 210
+
+    Image { source: "background.png" }
+
+//! [needle_shadow]
+    Image {
+        x: 96
+        y: 35
+        source: "needle_shadow.png"
+        transform: Rotation {
+            origin.x: 9; origin.y: 67
+            angle: needleRotation.angle
+        }
+    }
+//! [needle_shadow]
+//! [needle]
+    Image {
+        id: needle
+        x: 98; y: 33
+        smooth: true
+        source: "needle.png"
+        transform: Rotation {
+            id: needleRotation
+            origin.x: 5; origin.y: 65
+            //! [needle angle]
+            angle: Math.min(Math.max(-130, root.value*2.6 - 130), 133)
+            Behavior on angle {
+                SpringAnimation {
+                    spring: 1.4
+                    damping: .15
+                }
+            }
+            //! [needle angle]
+        }
+    }
+//! [needle]
+//! [overlay]
+    Image { x: 21; y: 18; source: "overlay.png" }
+//! [overlay]
+}
diff --git a/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/QuitButton.qml b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/QuitButton.qml
new file mode 100644
index 0000000..cbbf916
--- /dev/null
+++ b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/QuitButton.qml
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** 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
+Image {
+    source: "quit.png"
+    scale: quitMouse.pressed ? 0.8 : 1.0
+    smooth: quitMouse.pressed
+    MouseArea {
+        id: quitMouse
+        anchors.fill: parent
+        anchors.margins: -10
+        onClicked: Qt.quit()
+    }
+}
diff --git a/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/background.png b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/background.png
new file mode 100644
index 0000000..75d555d
Binary files /dev/null and b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/background.png differ
diff --git a/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/needle.png b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/needle.png
new file mode 100644
index 0000000..2d19f75
Binary files /dev/null and b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/needle.png differ
diff --git a/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/needle_shadow.png b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/needle_shadow.png
new file mode 100644
index 0000000..8d8a928
Binary files /dev/null and b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/needle_shadow.png differ
diff --git a/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/overlay.png b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/overlay.png
new file mode 100644
index 0000000..3860a7b
Binary files /dev/null and b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/overlay.png differ
diff --git a/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/quit.png b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/quit.png
new file mode 100644
index 0000000..b822057
Binary files /dev/null and b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/content/quit.png differ
diff --git a/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/dialcontrol.qml b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/dialcontrol.qml
new file mode 100644
index 0000000..c66dcdd
--- /dev/null
+++ b/examples/declarative/ui-components/dialcontrol/qml/dialcontrol/dialcontrol.qml
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+//! [imports]
+import QtQuick 1.0
+import "content"
+//! [imports]
+
+//! [0]
+Rectangle {
+    color: "#545454"
+    width: 300; height: 300
+
+    // Dial with a slider to adjust it
+    Dial {
+        id: dial
+        anchors.centerIn: parent
+        value: slider.x * 100 / (container.width - 34)
+    }
+
+    Rectangle {
+        id: container
+        anchors { bottom: parent.bottom; left: parent.left
+            right: parent.right; leftMargin: 20; rightMargin: 20
+            bottomMargin: 10
+        }
+        height: 16
+
+        radius: 8
+        opacity: 0.7
+        smooth: true
+        gradient: Gradient {
+            GradientStop { position: 0.0; color: "gray" }
+            GradientStop { position: 1.0; color: "white" }
+        }
+
+        Rectangle {
+            id: slider
+            x: 1; y: 1; width: 30; height: 14
+            radius: 6
+            smooth: true
+            gradient: Gradient {
+                GradientStop { position: 0.0; color: "#424242" }
+                GradientStop { position: 1.0; color: "black" }
+            }
+
+            MouseArea {
+                anchors.fill: parent
+                anchors.margins: -16 // Increase mouse area a lot outside the slider
+                drag.target: parent; drag.axis: Drag.XAxis
+                drag.minimumX: 2; drag.maximumX: container.width - 32
+            }
+        }
+    }
+    QuitButton {
+        anchors.right: parent.right
+        anchors.top: parent.top
+        anchors.margins: 10
+    }
+}
+//! [0]
diff --git a/examples/declarative/ui-components/dialcontrol/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/ui-components/dialcontrol/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/ui-components/dialcontrol/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/ui-components/dialcontrol/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/ui-components/dialcontrol/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/ui-components/dialcontrol/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/ui-components/dialcontrol/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/ui-components/dialcontrol/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/ui-components/dialcontrol/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)
-}
-- 
cgit v0.12


From 5c2f5bf955e5c5a37c59f64ae05d816416c3f1ac Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:04 +0100
Subject: ui-components/flipaple example modifications

Modified the example 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>
---
 .../ui-components/flipable/content/Card.qml        |  80 ---------
 .../ui-components/flipable/flipable.pro            |   4 +-
 .../ui-components/flipable/flipable.qml            |  55 ------
 .../ui-components/flipable/flipable.qmlproject     |  16 ++
 .../declarative/ui-components/flipable/main.cpp    |   2 +-
 .../ui-components/flipable/qml/content/5_heart.png | Bin 3872 -> 0 bytes
 .../ui-components/flipable/qml/content/9_club.png  | Bin 6135 -> 0 bytes
 .../ui-components/flipable/qml/content/Card.qml    |  80 ---------
 .../ui-components/flipable/qml/content/back.png    | Bin 1418 -> 0 bytes
 .../ui-components/flipable/qml/flipable.qml        |  55 ------
 .../ui-components/flipable/qml/flipable.qmlproject |  16 --
 .../flipable/qml/flipable/content/5_heart.png      | Bin 0 -> 3872 bytes
 .../flipable/qml/flipable/content/9_club.png       | Bin 0 -> 6135 bytes
 .../flipable/qml/flipable/content/Card.qml         |  80 +++++++++
 .../flipable/qml/flipable/content/back.png         | Bin 0 -> 1418 bytes
 .../flipable/qml/flipable/flipable.qml             |  55 ++++++
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 19 files changed, 154 insertions(+), 719 deletions(-)
 delete mode 100644 examples/declarative/ui-components/flipable/content/Card.qml
 delete mode 100644 examples/declarative/ui-components/flipable/flipable.qml
 create mode 100644 examples/declarative/ui-components/flipable/flipable.qmlproject
 delete mode 100644 examples/declarative/ui-components/flipable/qml/content/5_heart.png
 delete mode 100644 examples/declarative/ui-components/flipable/qml/content/9_club.png
 delete mode 100644 examples/declarative/ui-components/flipable/qml/content/Card.qml
 delete mode 100644 examples/declarative/ui-components/flipable/qml/content/back.png
 delete mode 100644 examples/declarative/ui-components/flipable/qml/flipable.qml
 delete mode 100644 examples/declarative/ui-components/flipable/qml/flipable.qmlproject
 create mode 100644 examples/declarative/ui-components/flipable/qml/flipable/content/5_heart.png
 create mode 100644 examples/declarative/ui-components/flipable/qml/flipable/content/9_club.png
 create mode 100644 examples/declarative/ui-components/flipable/qml/flipable/content/Card.qml
 create mode 100644 examples/declarative/ui-components/flipable/qml/flipable/content/back.png
 create mode 100644 examples/declarative/ui-components/flipable/qml/flipable/flipable.qml
 delete mode 100644 examples/declarative/ui-components/flipable/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/ui-components/flipable/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/ui-components/flipable/qmlapplicationviewer/qmlapplicationviewer.pri

diff --git a/examples/declarative/ui-components/flipable/content/Card.qml b/examples/declarative/ui-components/flipable/content/Card.qml
deleted file mode 100644
index 6374dd8..0000000
--- a/examples/declarative/ui-components/flipable/content/Card.qml
+++ /dev/null
@@ -1,80 +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
-
-Flipable {
-    id: container
-
-    property alias image: frontImage.source
-    property bool flipped: true
-    property int xAxis: 0
-    property int yAxis: 0
-    property int angle: 0
-
-    width: front.width; height: front.height 
-
-    front: Image { id: frontImage; smooth: true }
-    back: Image { source: "back.png"; smooth: true }
-
-    state: "back"
-
-    MouseArea { anchors.fill: parent; onClicked: container.flipped = !container.flipped }
-
-    transform: Rotation {
-        id: rotation; origin.x: container.width / 2; origin.y: container.height / 2
-        axis.x: container.xAxis; axis.y: container.yAxis; axis.z: 0
-    }
-
-    states: State {
-        name: "back"; when: container.flipped
-        PropertyChanges { target: rotation; angle: container.angle }
-    }
-
-    transitions: Transition {
-        ParallelAnimation {
-            NumberAnimation { target: rotation; properties: "angle"; duration: 600 }
-            SequentialAnimation {
-                NumberAnimation { target: container; property: "scale"; to: 0.75; duration: 300 }
-                NumberAnimation { target: container; property: "scale"; to: 1.0; duration: 300 }
-            }
-        }
-    }
-}
diff --git a/examples/declarative/ui-components/flipable/flipable.pro b/examples/declarative/ui-components/flipable/flipable.pro
index c7ad200..f1ee5ae 100644
--- a/examples/declarative/ui-components/flipable/flipable.pro
+++ b/examples/declarative/ui-components/flipable/flipable.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/flipable
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE31D80B6
 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/ui-components/flipable/flipable.qml b/examples/declarative/ui-components/flipable/flipable.qml
deleted file mode 100644
index 6d0235e..0000000
--- a/examples/declarative/ui-components/flipable/flipable.qml
+++ /dev/null
@@ -1,55 +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
-import "content"
-
-Rectangle {
-    id: window
-    
-    width: 480; height: 320
-    color: "darkgreen"
-
-    Row {
-        anchors.centerIn: parent; spacing: 30
-        Card { image: "content/9_club.png"; angle: 180; yAxis: 1 }
-        Card { image: "content/5_heart.png"; angle: 540; xAxis: 1 }
-    }
-}
diff --git a/examples/declarative/ui-components/flipable/flipable.qmlproject b/examples/declarative/ui-components/flipable/flipable.qmlproject
new file mode 100644
index 0000000..246d7a5
--- /dev/null
+++ b/examples/declarative/ui-components/flipable/flipable.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/flipable"
+    }
+    JavaScriptFiles {
+        directory: "qml/flipable"
+    }
+    ImageFiles {
+        directory: "qml/flipable"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/ui-components/flipable/main.cpp b/examples/declarative/ui-components/flipable/main.cpp
index feb8121..70e4451 100644
--- a/examples/declarative/ui-components/flipable/main.cpp
+++ b/examples/declarative/ui-components/flipable/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/flipable.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/flipable/flipable.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/ui-components/flipable/qml/content/5_heart.png b/examples/declarative/ui-components/flipable/qml/content/5_heart.png
deleted file mode 100644
index fb59d81..0000000
Binary files a/examples/declarative/ui-components/flipable/qml/content/5_heart.png and /dev/null differ
diff --git a/examples/declarative/ui-components/flipable/qml/content/9_club.png b/examples/declarative/ui-components/flipable/qml/content/9_club.png
deleted file mode 100644
index 2545001..0000000
Binary files a/examples/declarative/ui-components/flipable/qml/content/9_club.png and /dev/null differ
diff --git a/examples/declarative/ui-components/flipable/qml/content/Card.qml b/examples/declarative/ui-components/flipable/qml/content/Card.qml
deleted file mode 100644
index 32c4ed1..0000000
--- a/examples/declarative/ui-components/flipable/qml/content/Card.qml
+++ /dev/null
@@ -1,80 +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
-
-Flipable {
-    id: container
-
-    property alias image: frontImage.source
-    property bool flipped: true
-    property int xAxis: 0
-    property int yAxis: 0
-    property int angle: 0
-
-    width: front.width; height: front.height 
-
-    front: Image { id: frontImage; smooth: true }
-    back: Image { source: "back.png"; smooth: true }
-
-    state: "back"
-
-    MouseArea { anchors.fill: parent; onClicked: container.flipped = !container.flipped }
-
-    transform: Rotation {
-        id: rotation; origin.x: container.width / 2; origin.y: container.height / 2
-        axis.x: container.xAxis; axis.y: container.yAxis; axis.z: 0
-    }
-
-    states: State {
-        name: "back"; when: container.flipped
-        PropertyChanges { target: rotation; angle: container.angle }
-    }
-
-    transitions: Transition {
-        ParallelAnimation {
-            NumberAnimation { target: rotation; properties: "angle"; duration: 600 }
-            SequentialAnimation {
-                NumberAnimation { target: container; property: "scale"; to: 0.75; duration: 300 }
-                NumberAnimation { target: container; property: "scale"; to: 1.0; duration: 300 }
-            }
-        }
-    }
-}
diff --git a/examples/declarative/ui-components/flipable/qml/content/back.png b/examples/declarative/ui-components/flipable/qml/content/back.png
deleted file mode 100644
index f715d74..0000000
Binary files a/examples/declarative/ui-components/flipable/qml/content/back.png and /dev/null differ
diff --git a/examples/declarative/ui-components/flipable/qml/flipable.qml b/examples/declarative/ui-components/flipable/qml/flipable.qml
deleted file mode 100644
index 51867f9..0000000
--- a/examples/declarative/ui-components/flipable/qml/flipable.qml
+++ /dev/null
@@ -1,55 +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
-import "content"
-
-Rectangle {
-    id: window
-    
-    width: 480; height: 320
-    color: "darkgreen"
-
-    Row {
-        anchors.centerIn: parent; spacing: 30
-        Card { image: "content/9_club.png"; angle: 180; yAxis: 1 }
-        Card { image: "content/5_heart.png"; angle: 540; xAxis: 1 }
-    }
-}
diff --git a/examples/declarative/ui-components/flipable/qml/flipable.qmlproject b/examples/declarative/ui-components/flipable/qml/flipable.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/ui-components/flipable/qml/flipable.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/ui-components/flipable/qml/flipable/content/5_heart.png b/examples/declarative/ui-components/flipable/qml/flipable/content/5_heart.png
new file mode 100644
index 0000000..fb59d81
Binary files /dev/null and b/examples/declarative/ui-components/flipable/qml/flipable/content/5_heart.png differ
diff --git a/examples/declarative/ui-components/flipable/qml/flipable/content/9_club.png b/examples/declarative/ui-components/flipable/qml/flipable/content/9_club.png
new file mode 100644
index 0000000..2545001
Binary files /dev/null and b/examples/declarative/ui-components/flipable/qml/flipable/content/9_club.png differ
diff --git a/examples/declarative/ui-components/flipable/qml/flipable/content/Card.qml b/examples/declarative/ui-components/flipable/qml/flipable/content/Card.qml
new file mode 100644
index 0000000..32c4ed1
--- /dev/null
+++ b/examples/declarative/ui-components/flipable/qml/flipable/content/Card.qml
@@ -0,0 +1,80 @@
+/****************************************************************************
+**
+** 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
+
+Flipable {
+    id: container
+
+    property alias image: frontImage.source
+    property bool flipped: true
+    property int xAxis: 0
+    property int yAxis: 0
+    property int angle: 0
+
+    width: front.width; height: front.height 
+
+    front: Image { id: frontImage; smooth: true }
+    back: Image { source: "back.png"; smooth: true }
+
+    state: "back"
+
+    MouseArea { anchors.fill: parent; onClicked: container.flipped = !container.flipped }
+
+    transform: Rotation {
+        id: rotation; origin.x: container.width / 2; origin.y: container.height / 2
+        axis.x: container.xAxis; axis.y: container.yAxis; axis.z: 0
+    }
+
+    states: State {
+        name: "back"; when: container.flipped
+        PropertyChanges { target: rotation; angle: container.angle }
+    }
+
+    transitions: Transition {
+        ParallelAnimation {
+            NumberAnimation { target: rotation; properties: "angle"; duration: 600 }
+            SequentialAnimation {
+                NumberAnimation { target: container; property: "scale"; to: 0.75; duration: 300 }
+                NumberAnimation { target: container; property: "scale"; to: 1.0; duration: 300 }
+            }
+        }
+    }
+}
diff --git a/examples/declarative/ui-components/flipable/qml/flipable/content/back.png b/examples/declarative/ui-components/flipable/qml/flipable/content/back.png
new file mode 100644
index 0000000..f715d74
Binary files /dev/null and b/examples/declarative/ui-components/flipable/qml/flipable/content/back.png differ
diff --git a/examples/declarative/ui-components/flipable/qml/flipable/flipable.qml b/examples/declarative/ui-components/flipable/qml/flipable/flipable.qml
new file mode 100644
index 0000000..51867f9
--- /dev/null
+++ b/examples/declarative/ui-components/flipable/qml/flipable/flipable.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+Rectangle {
+    id: window
+    
+    width: 480; height: 320
+    color: "darkgreen"
+
+    Row {
+        anchors.centerIn: parent; spacing: 30
+        Card { image: "content/9_club.png"; angle: 180; yAxis: 1 }
+        Card { image: "content/5_heart.png"; angle: 540; xAxis: 1 }
+    }
+}
diff --git a/examples/declarative/ui-components/flipable/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/ui-components/flipable/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/ui-components/flipable/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/ui-components/flipable/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/ui-components/flipable/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/ui-components/flipable/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/ui-components/flipable/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/ui-components/flipable/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/ui-components/flipable/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)
-}
-- 
cgit v0.12


From f38788d08bcb7c50f5ce29255792a35f6ad2bb16 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:05 +0100
Subject: ui-components/main example modifications

Modified the example 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/ui-components/main/main.cpp   |   2 +-
 examples/declarative/ui-components/main/main.pro   |   4 +-
 .../declarative/ui-components/main/main.qmlproject |  16 ++
 .../ui-components/main/qml/ScrollBar.qml           |  74 --------
 .../ui-components/main/qml/SearchBox.qml           | 109 ------------
 .../ui-components/main/qml/TabWidget.qml           | 102 -----------
 .../ui-components/main/qml/content/ProgressBar.qml |  83 ---------
 .../ui-components/main/qml/content/Spinner.qml     |  70 --------
 .../ui-components/main/qml/content/background.png  | Bin 426 -> 0 bytes
 .../ui-components/main/qml/content/spinner-bg.png  | Bin 345 -> 0 bytes
 .../main/qml/content/spinner-select.png            | Bin 320 -> 0 bytes
 .../ui-components/main/qml/images/clear.png        | Bin 429 -> 0 bytes
 .../main/qml/images/lineedit-bg-focus.png          | Bin 526 -> 0 bytes
 .../ui-components/main/qml/images/lineedit-bg.png  | Bin 426 -> 0 bytes
 .../declarative/ui-components/main/qml/main.qml    |  99 -----------
 .../ui-components/main/qml/main/ScrollBar.qml      |  74 ++++++++
 .../ui-components/main/qml/main/SearchBox.qml      | 109 ++++++++++++
 .../ui-components/main/qml/main/TabWidget.qml      | 102 +++++++++++
 .../main/qml/main/content/ProgressBar.qml          |  83 +++++++++
 .../main/qml/main/content/Spinner.qml              |  70 ++++++++
 .../main/qml/main/content/background.png           | Bin 0 -> 426 bytes
 .../main/qml/main/content/spinner-bg.png           | Bin 0 -> 345 bytes
 .../main/qml/main/content/spinner-select.png       | Bin 0 -> 320 bytes
 .../ui-components/main/qml/main/images/clear.png   | Bin 0 -> 429 bytes
 .../main/qml/main/images/lineedit-bg-focus.png     | Bin 0 -> 526 bytes
 .../main/qml/main/images/lineedit-bg.png           | Bin 0 -> 426 bytes
 .../ui-components/main/qml/main/main.qml           |  99 +++++++++++
 .../main/qml/main/pics/niagara_falls.jpg           | Bin 0 -> 100161 bytes
 .../ui-components/main/qml/main/tab.png            | Bin 0 -> 507 bytes
 .../ui-components/main/qml/pics/niagara_falls.jpg  | Bin 100161 -> 0 bytes
 .../ui-components/main/qml/progressbar.qmlproject  |  16 --
 .../ui-components/main/qml/scrollbar.qmlproject    |  16 --
 .../ui-components/main/qml/searchbox.qmlproject    |  16 --
 .../ui-components/main/qml/spinner.qmlproject      |  16 --
 .../declarative/ui-components/main/qml/tab.png     | Bin 507 -> 0 bytes
 .../ui-components/main/qml/tabwidget.qmlproject    |  16 --
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 39 files changed, 556 insertions(+), 1050 deletions(-)
 create mode 100644 examples/declarative/ui-components/main/main.qmlproject
 delete mode 100644 examples/declarative/ui-components/main/qml/ScrollBar.qml
 delete mode 100644 examples/declarative/ui-components/main/qml/SearchBox.qml
 delete mode 100644 examples/declarative/ui-components/main/qml/TabWidget.qml
 delete mode 100644 examples/declarative/ui-components/main/qml/content/ProgressBar.qml
 delete mode 100644 examples/declarative/ui-components/main/qml/content/Spinner.qml
 delete mode 100644 examples/declarative/ui-components/main/qml/content/background.png
 delete mode 100644 examples/declarative/ui-components/main/qml/content/spinner-bg.png
 delete mode 100644 examples/declarative/ui-components/main/qml/content/spinner-select.png
 delete mode 100644 examples/declarative/ui-components/main/qml/images/clear.png
 delete mode 100644 examples/declarative/ui-components/main/qml/images/lineedit-bg-focus.png
 delete mode 100644 examples/declarative/ui-components/main/qml/images/lineedit-bg.png
 delete mode 100644 examples/declarative/ui-components/main/qml/main.qml
 create mode 100644 examples/declarative/ui-components/main/qml/main/ScrollBar.qml
 create mode 100644 examples/declarative/ui-components/main/qml/main/SearchBox.qml
 create mode 100644 examples/declarative/ui-components/main/qml/main/TabWidget.qml
 create mode 100644 examples/declarative/ui-components/main/qml/main/content/ProgressBar.qml
 create mode 100644 examples/declarative/ui-components/main/qml/main/content/Spinner.qml
 create mode 100644 examples/declarative/ui-components/main/qml/main/content/background.png
 create mode 100644 examples/declarative/ui-components/main/qml/main/content/spinner-bg.png
 create mode 100644 examples/declarative/ui-components/main/qml/main/content/spinner-select.png
 create mode 100644 examples/declarative/ui-components/main/qml/main/images/clear.png
 create mode 100644 examples/declarative/ui-components/main/qml/main/images/lineedit-bg-focus.png
 create mode 100644 examples/declarative/ui-components/main/qml/main/images/lineedit-bg.png
 create mode 100644 examples/declarative/ui-components/main/qml/main/main.qml
 create mode 100644 examples/declarative/ui-components/main/qml/main/pics/niagara_falls.jpg
 create mode 100644 examples/declarative/ui-components/main/qml/main/tab.png
 delete mode 100644 examples/declarative/ui-components/main/qml/pics/niagara_falls.jpg
 delete mode 100644 examples/declarative/ui-components/main/qml/progressbar.qmlproject
 delete mode 100644 examples/declarative/ui-components/main/qml/scrollbar.qmlproject
 delete mode 100644 examples/declarative/ui-components/main/qml/searchbox.qmlproject
 delete mode 100644 examples/declarative/ui-components/main/qml/spinner.qmlproject
 delete mode 100644 examples/declarative/ui-components/main/qml/tab.png
 delete mode 100644 examples/declarative/ui-components/main/qml/tabwidget.qmlproject
 delete mode 100644 examples/declarative/ui-components/main/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/ui-components/main/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/ui-components/main/qmlapplicationviewer/qmlapplicationviewer.pri

diff --git a/examples/declarative/ui-components/main/main.cpp b/examples/declarative/ui-components/main/main.cpp
index d60f16d..29adb15 100644
--- a/examples/declarative/ui-components/main/main.cpp
+++ b/examples/declarative/ui-components/main/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/main.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/main/main.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/ui-components/main/main.pro b/examples/declarative/ui-components/main/main.pro
index cf172ab..60b0ed5 100644
--- a/examples/declarative/ui-components/main/main.pro
+++ b/examples/declarative/ui-components/main/main.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/main
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE647B679
 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/ui-components/main/main.qmlproject b/examples/declarative/ui-components/main/main.qmlproject
new file mode 100644
index 0000000..91ddfd4
--- /dev/null
+++ b/examples/declarative/ui-components/main/main.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/main"
+    }
+    JavaScriptFiles {
+        directory: "qml/main"
+    }
+    ImageFiles {
+        directory: "qml/main"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/ui-components/main/qml/ScrollBar.qml b/examples/declarative/ui-components/main/qml/ScrollBar.qml
deleted file mode 100644
index faa501a..0000000
--- a/examples/declarative/ui-components/main/qml/ScrollBar.qml
+++ /dev/null
@@ -1,74 +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
-
-Item {
-    id: scrollBar
-
-    // The properties that define the scrollbar's state.
-    // position and pageSize are in the range 0.0 - 1.0.  They are relative to the
-    // height of the page, i.e. a pageSize of 0.5 means that you can see 50%
-    // of the height of the view.
-    // orientation can be either Qt.Vertical or Qt.Horizontal
-    property real position
-    property real pageSize
-    property variant orientation : Qt.Vertical
-
-    // A light, semi-transparent background
-    Rectangle {
-        id: background
-        anchors.fill: parent
-        radius: orientation == Qt.Vertical ? (width/2 - 1) : (height/2 - 1)
-        color: "white"
-        opacity: 0.3
-    }
-
-    // Size the bar to the required size, depending upon the orientation.
-    Rectangle {
-        x: orientation == Qt.Vertical ? 1 : (scrollBar.position * (scrollBar.width-2) + 1)
-        y: orientation == Qt.Vertical ? (scrollBar.position * (scrollBar.height-2) + 1) : 1
-        width: orientation == Qt.Vertical ? (parent.width-2) : (scrollBar.pageSize * (scrollBar.width-2))
-        height: orientation == Qt.Vertical ? (scrollBar.pageSize * (scrollBar.height-2)) : (parent.height-2)
-        radius: orientation == Qt.Vertical ? (width/2 - 1) : (height/2 - 1)
-        color: "black"
-        opacity: 0.7
-    }
-}
diff --git a/examples/declarative/ui-components/main/qml/SearchBox.qml b/examples/declarative/ui-components/main/qml/SearchBox.qml
deleted file mode 100644
index f54954a..0000000
--- a/examples/declarative/ui-components/main/qml/SearchBox.qml
+++ /dev/null
@@ -1,109 +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
-
-FocusScope {
-    id: focusScope
-    width: 250; height: 28
-
-    BorderImage {
-        source: "images/lineedit-bg.png"
-        width: parent.width; height: parent.height
-        border { left: 4; top: 4; right: 4; bottom: 4 }
-    }
-
-    BorderImage {
-        source: "images/lineedit-bg-focus.png"
-        width: parent.width; height: parent.height
-        border { left: 4; top: 4; right: 4; bottom: 4 }
-        visible: parent.activeFocus ? true : false
-    }
-
-    Text {
-        id: typeSomething
-        anchors.fill: parent; anchors.leftMargin: 8
-        verticalAlignment: Text.AlignVCenter
-        text: "Type something..."
-        color: "gray"
-        font.italic: true
-    }
-
-    MouseArea { 
-        anchors.fill: parent
-        onClicked: { focusScope.focus = true; textInput.openSoftwareInputPanel(); } 
-    }
-
-    TextInput {
-        id: textInput
-        anchors { left: parent.left; leftMargin: 8; right: clear.left; rightMargin: 8; verticalCenter: parent.verticalCenter }
-        focus: true
-        selectByMouse: true
-    }
-
-    Image {
-        id: clear
-        anchors { right: parent.right; rightMargin: 8; verticalCenter: parent.verticalCenter }
-        source: "images/clear.png"
-        opacity: 0
-
-        MouseArea { 
-            anchors.fill: parent
-            onClicked: { textInput.text = ''; focusScope.focus = true; textInput.openSoftwareInputPanel(); }
-        }
-    }
-
-    states: State {
-        name: "hasText"; when: textInput.text != ''
-        PropertyChanges { target: typeSomething; opacity: 0 }
-        PropertyChanges { target: clear; opacity: 1 }
-    }
-
-    transitions: [
-        Transition {
-            from: ""; to: "hasText"
-            NumberAnimation { exclude: typeSomething; properties: "opacity" }
-        },
-        Transition {
-            from: "hasText"; to: ""
-            NumberAnimation { properties: "opacity" }
-        }
-    ]
-}
diff --git a/examples/declarative/ui-components/main/qml/TabWidget.qml b/examples/declarative/ui-components/main/qml/TabWidget.qml
deleted file mode 100644
index f066fd2..0000000
--- a/examples/declarative/ui-components/main/qml/TabWidget.qml
+++ /dev/null
@@ -1,102 +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
-
-Item {
-    id: tabWidget
-
-    // Setting the default property to stack.children means any child items
-    // of the TabWidget are actually added to the 'stack' item's children.
-    // See the "Extending Types from QML" documentation for details on default
-    // properties.
-    default property alias content: stack.children
-
-    property int current: 0
-
-    onCurrentChanged: setOpacities()
-    Component.onCompleted: setOpacities()
-
-    function setOpacities() {
-        for (var i = 0; i < stack.children.length; ++i) {
-            stack.children[i].opacity = (i == current ? 1 : 0)
-        }
-    }
-
-    Row {
-        id: header
-
-        Repeater {
-            model: stack.children.length
-            delegate: Rectangle {
-                width: tabWidget.width / stack.children.length; height: 36
-
-                Rectangle {
-                    width: parent.width; height: 1
-                    anchors { bottom: parent.bottom; bottomMargin: 1 }
-                    color: "#acb2c2"
-                }
-                BorderImage {
-                    anchors { fill: parent; leftMargin: 2; topMargin: 5; rightMargin: 1 }
-                    border { left: 7; right: 7 }
-                    source: "tab.png"
-                    visible: tabWidget.current == index
-                }
-                Text {
-                    horizontalAlignment: Qt.AlignHCenter; verticalAlignment: Qt.AlignVCenter
-                    anchors.fill: parent
-                    text: stack.children[index].title
-                    elide: Text.ElideRight
-                    font.bold: tabWidget.current == index
-                }
-                MouseArea {
-                    anchors.fill: parent
-                    onClicked: tabWidget.current = index
-                }
-            }
-        }
-    }
-
-    Item {
-        id: stack
-        width: tabWidget.width
-        anchors.top: header.bottom; anchors.bottom: tabWidget.bottom
-    }
-}
diff --git a/examples/declarative/ui-components/main/qml/content/ProgressBar.qml b/examples/declarative/ui-components/main/qml/content/ProgressBar.qml
deleted file mode 100644
index e92342a..0000000
--- a/examples/declarative/ui-components/main/qml/content/ProgressBar.qml
+++ /dev/null
@@ -1,83 +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
-
-Item {
-    id: progressbar
-
-    property int minimum: 0
-    property int maximum: 100
-    property int value: 0
-    property alias color: gradient1.color
-    property alias secondColor: gradient2.color
-
-    width: 250; height: 23
-    clip: true
-
-    BorderImage {
-        source: "background.png"
-        width: parent.width; height: parent.height
-        border { left: 4; top: 4; right: 4; bottom: 4 }
-    }
-
-    Rectangle {
-        id: highlight
-
-        property int widthDest: ((progressbar.width * (value - minimum)) / (maximum - minimum) - 6)
-
-        width: highlight.widthDest
-        Behavior on width { SmoothedAnimation { velocity: 1200 } }
-
-        anchors { left: parent.left; top: parent.top; bottom: parent.bottom; margins: 3 }
-        radius: 1
-        gradient: Gradient {
-            GradientStop { id: gradient1; position: 0.0 }
-            GradientStop { id: gradient2; position: 1.0 }
-        }
-
-    }
-    Text {
-        anchors { right: highlight.right; rightMargin: 6; verticalCenter: parent.verticalCenter }
-        color: "white"
-        font.bold: true
-        text: Math.floor((value - minimum) / (maximum - minimum) * 100) + '%'
-    }
-}
diff --git a/examples/declarative/ui-components/main/qml/content/Spinner.qml b/examples/declarative/ui-components/main/qml/content/Spinner.qml
deleted file mode 100644
index 853c787..0000000
--- a/examples/declarative/ui-components/main/qml/content/Spinner.qml
+++ /dev/null
@@ -1,70 +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
-
-Image {
-    property alias model: view.model
-    property alias delegate: view.delegate
-    property alias currentIndex: view.currentIndex
-    property real itemHeight: 30
-
-    source: "spinner-bg.png"
-    clip: true
-
-    PathView {
-        id: view
-        anchors.fill: parent
-
-        pathItemCount: height/itemHeight
-        preferredHighlightBegin: 0.5
-        preferredHighlightEnd: 0.5
-        highlight: Image { source: "spinner-select.png"; width: view.width; height: itemHeight+4 }
-        dragMargin: view.width/2
-
-        path: Path {
-            startX: view.width/2; startY: -itemHeight/2
-            PathLine { x: view.width/2; y: view.pathItemCount*itemHeight + itemHeight }
-        }
-    }
-
-    Keys.onDownPressed: view.incrementCurrentIndex()
-    Keys.onUpPressed: view.decrementCurrentIndex()
-}
diff --git a/examples/declarative/ui-components/main/qml/content/background.png b/examples/declarative/ui-components/main/qml/content/background.png
deleted file mode 100644
index 9044226..0000000
Binary files a/examples/declarative/ui-components/main/qml/content/background.png and /dev/null differ
diff --git a/examples/declarative/ui-components/main/qml/content/spinner-bg.png b/examples/declarative/ui-components/main/qml/content/spinner-bg.png
deleted file mode 100644
index b3556f1..0000000
Binary files a/examples/declarative/ui-components/main/qml/content/spinner-bg.png and /dev/null differ
diff --git a/examples/declarative/ui-components/main/qml/content/spinner-select.png b/examples/declarative/ui-components/main/qml/content/spinner-select.png
deleted file mode 100644
index 95a17a1..0000000
Binary files a/examples/declarative/ui-components/main/qml/content/spinner-select.png and /dev/null differ
diff --git a/examples/declarative/ui-components/main/qml/images/clear.png b/examples/declarative/ui-components/main/qml/images/clear.png
deleted file mode 100644
index 91eb270..0000000
Binary files a/examples/declarative/ui-components/main/qml/images/clear.png and /dev/null differ
diff --git a/examples/declarative/ui-components/main/qml/images/lineedit-bg-focus.png b/examples/declarative/ui-components/main/qml/images/lineedit-bg-focus.png
deleted file mode 100644
index bbfac38..0000000
Binary files a/examples/declarative/ui-components/main/qml/images/lineedit-bg-focus.png and /dev/null differ
diff --git a/examples/declarative/ui-components/main/qml/images/lineedit-bg.png b/examples/declarative/ui-components/main/qml/images/lineedit-bg.png
deleted file mode 100644
index 9044226..0000000
Binary files a/examples/declarative/ui-components/main/qml/images/lineedit-bg.png and /dev/null differ
diff --git a/examples/declarative/ui-components/main/qml/main.qml b/examples/declarative/ui-components/main/qml/main.qml
deleted file mode 100644
index 842ef1a..0000000
--- a/examples/declarative/ui-components/main/qml/main.qml
+++ /dev/null
@@ -1,99 +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
-
-TabWidget {
-    id: tabs
-    width: 640; height: 480
-
-    Rectangle {
-        property string title: "Red"
-        anchors.fill: parent
-        color: "#e3e3e3"
-
-        Rectangle {
-            anchors.fill: parent; anchors.margins: 20
-            color: "#ff7f7f"
-            Text {
-                width: parent.width - 20
-                anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
-                text: "Roses are red"
-                font.pixelSize: 20
-                wrapMode: Text.WordWrap
-            }
-        }
-    }
-
-    Rectangle {
-        property string title: "Green"
-        anchors.fill: parent
-        color: "#e3e3e3"
-
-        Rectangle {
-            anchors.fill: parent; anchors.margins: 20
-            color: "#7fff7f"
-            Text {
-                width: parent.width - 20
-                anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
-                text: "Flower stems are green"
-                font.pixelSize: 20
-                wrapMode: Text.WordWrap
-            }
-        }
-    }
-
-    Rectangle {
-        property string title: "Blue"
-        anchors.fill: parent; color: "#e3e3e3"
-
-        Rectangle {
-            anchors.fill: parent; anchors.margins: 20
-            color: "#7f7fff"
-            Text {
-                width: parent.width - 20
-                anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
-                text: "Violets are blue"
-                font.pixelSize: 20
-                wrapMode: Text.WordWrap
-            }
-        }
-    }
-}
diff --git a/examples/declarative/ui-components/main/qml/main/ScrollBar.qml b/examples/declarative/ui-components/main/qml/main/ScrollBar.qml
new file mode 100644
index 0000000..faa501a
--- /dev/null
+++ b/examples/declarative/ui-components/main/qml/main/ScrollBar.qml
@@ -0,0 +1,74 @@
+/****************************************************************************
+**
+** 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
+
+Item {
+    id: scrollBar
+
+    // The properties that define the scrollbar's state.
+    // position and pageSize are in the range 0.0 - 1.0.  They are relative to the
+    // height of the page, i.e. a pageSize of 0.5 means that you can see 50%
+    // of the height of the view.
+    // orientation can be either Qt.Vertical or Qt.Horizontal
+    property real position
+    property real pageSize
+    property variant orientation : Qt.Vertical
+
+    // A light, semi-transparent background
+    Rectangle {
+        id: background
+        anchors.fill: parent
+        radius: orientation == Qt.Vertical ? (width/2 - 1) : (height/2 - 1)
+        color: "white"
+        opacity: 0.3
+    }
+
+    // Size the bar to the required size, depending upon the orientation.
+    Rectangle {
+        x: orientation == Qt.Vertical ? 1 : (scrollBar.position * (scrollBar.width-2) + 1)
+        y: orientation == Qt.Vertical ? (scrollBar.position * (scrollBar.height-2) + 1) : 1
+        width: orientation == Qt.Vertical ? (parent.width-2) : (scrollBar.pageSize * (scrollBar.width-2))
+        height: orientation == Qt.Vertical ? (scrollBar.pageSize * (scrollBar.height-2)) : (parent.height-2)
+        radius: orientation == Qt.Vertical ? (width/2 - 1) : (height/2 - 1)
+        color: "black"
+        opacity: 0.7
+    }
+}
diff --git a/examples/declarative/ui-components/main/qml/main/SearchBox.qml b/examples/declarative/ui-components/main/qml/main/SearchBox.qml
new file mode 100644
index 0000000..f54954a
--- /dev/null
+++ b/examples/declarative/ui-components/main/qml/main/SearchBox.qml
@@ -0,0 +1,109 @@
+/****************************************************************************
+**
+** 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
+
+FocusScope {
+    id: focusScope
+    width: 250; height: 28
+
+    BorderImage {
+        source: "images/lineedit-bg.png"
+        width: parent.width; height: parent.height
+        border { left: 4; top: 4; right: 4; bottom: 4 }
+    }
+
+    BorderImage {
+        source: "images/lineedit-bg-focus.png"
+        width: parent.width; height: parent.height
+        border { left: 4; top: 4; right: 4; bottom: 4 }
+        visible: parent.activeFocus ? true : false
+    }
+
+    Text {
+        id: typeSomething
+        anchors.fill: parent; anchors.leftMargin: 8
+        verticalAlignment: Text.AlignVCenter
+        text: "Type something..."
+        color: "gray"
+        font.italic: true
+    }
+
+    MouseArea { 
+        anchors.fill: parent
+        onClicked: { focusScope.focus = true; textInput.openSoftwareInputPanel(); } 
+    }
+
+    TextInput {
+        id: textInput
+        anchors { left: parent.left; leftMargin: 8; right: clear.left; rightMargin: 8; verticalCenter: parent.verticalCenter }
+        focus: true
+        selectByMouse: true
+    }
+
+    Image {
+        id: clear
+        anchors { right: parent.right; rightMargin: 8; verticalCenter: parent.verticalCenter }
+        source: "images/clear.png"
+        opacity: 0
+
+        MouseArea { 
+            anchors.fill: parent
+            onClicked: { textInput.text = ''; focusScope.focus = true; textInput.openSoftwareInputPanel(); }
+        }
+    }
+
+    states: State {
+        name: "hasText"; when: textInput.text != ''
+        PropertyChanges { target: typeSomething; opacity: 0 }
+        PropertyChanges { target: clear; opacity: 1 }
+    }
+
+    transitions: [
+        Transition {
+            from: ""; to: "hasText"
+            NumberAnimation { exclude: typeSomething; properties: "opacity" }
+        },
+        Transition {
+            from: "hasText"; to: ""
+            NumberAnimation { properties: "opacity" }
+        }
+    ]
+}
diff --git a/examples/declarative/ui-components/main/qml/main/TabWidget.qml b/examples/declarative/ui-components/main/qml/main/TabWidget.qml
new file mode 100644
index 0000000..f066fd2
--- /dev/null
+++ b/examples/declarative/ui-components/main/qml/main/TabWidget.qml
@@ -0,0 +1,102 @@
+/****************************************************************************
+**
+** 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
+
+Item {
+    id: tabWidget
+
+    // Setting the default property to stack.children means any child items
+    // of the TabWidget are actually added to the 'stack' item's children.
+    // See the "Extending Types from QML" documentation for details on default
+    // properties.
+    default property alias content: stack.children
+
+    property int current: 0
+
+    onCurrentChanged: setOpacities()
+    Component.onCompleted: setOpacities()
+
+    function setOpacities() {
+        for (var i = 0; i < stack.children.length; ++i) {
+            stack.children[i].opacity = (i == current ? 1 : 0)
+        }
+    }
+
+    Row {
+        id: header
+
+        Repeater {
+            model: stack.children.length
+            delegate: Rectangle {
+                width: tabWidget.width / stack.children.length; height: 36
+
+                Rectangle {
+                    width: parent.width; height: 1
+                    anchors { bottom: parent.bottom; bottomMargin: 1 }
+                    color: "#acb2c2"
+                }
+                BorderImage {
+                    anchors { fill: parent; leftMargin: 2; topMargin: 5; rightMargin: 1 }
+                    border { left: 7; right: 7 }
+                    source: "tab.png"
+                    visible: tabWidget.current == index
+                }
+                Text {
+                    horizontalAlignment: Qt.AlignHCenter; verticalAlignment: Qt.AlignVCenter
+                    anchors.fill: parent
+                    text: stack.children[index].title
+                    elide: Text.ElideRight
+                    font.bold: tabWidget.current == index
+                }
+                MouseArea {
+                    anchors.fill: parent
+                    onClicked: tabWidget.current = index
+                }
+            }
+        }
+    }
+
+    Item {
+        id: stack
+        width: tabWidget.width
+        anchors.top: header.bottom; anchors.bottom: tabWidget.bottom
+    }
+}
diff --git a/examples/declarative/ui-components/main/qml/main/content/ProgressBar.qml b/examples/declarative/ui-components/main/qml/main/content/ProgressBar.qml
new file mode 100644
index 0000000..e92342a
--- /dev/null
+++ b/examples/declarative/ui-components/main/qml/main/content/ProgressBar.qml
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** 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
+
+Item {
+    id: progressbar
+
+    property int minimum: 0
+    property int maximum: 100
+    property int value: 0
+    property alias color: gradient1.color
+    property alias secondColor: gradient2.color
+
+    width: 250; height: 23
+    clip: true
+
+    BorderImage {
+        source: "background.png"
+        width: parent.width; height: parent.height
+        border { left: 4; top: 4; right: 4; bottom: 4 }
+    }
+
+    Rectangle {
+        id: highlight
+
+        property int widthDest: ((progressbar.width * (value - minimum)) / (maximum - minimum) - 6)
+
+        width: highlight.widthDest
+        Behavior on width { SmoothedAnimation { velocity: 1200 } }
+
+        anchors { left: parent.left; top: parent.top; bottom: parent.bottom; margins: 3 }
+        radius: 1
+        gradient: Gradient {
+            GradientStop { id: gradient1; position: 0.0 }
+            GradientStop { id: gradient2; position: 1.0 }
+        }
+
+    }
+    Text {
+        anchors { right: highlight.right; rightMargin: 6; verticalCenter: parent.verticalCenter }
+        color: "white"
+        font.bold: true
+        text: Math.floor((value - minimum) / (maximum - minimum) * 100) + '%'
+    }
+}
diff --git a/examples/declarative/ui-components/main/qml/main/content/Spinner.qml b/examples/declarative/ui-components/main/qml/main/content/Spinner.qml
new file mode 100644
index 0000000..853c787
--- /dev/null
+++ b/examples/declarative/ui-components/main/qml/main/content/Spinner.qml
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** 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
+
+Image {
+    property alias model: view.model
+    property alias delegate: view.delegate
+    property alias currentIndex: view.currentIndex
+    property real itemHeight: 30
+
+    source: "spinner-bg.png"
+    clip: true
+
+    PathView {
+        id: view
+        anchors.fill: parent
+
+        pathItemCount: height/itemHeight
+        preferredHighlightBegin: 0.5
+        preferredHighlightEnd: 0.5
+        highlight: Image { source: "spinner-select.png"; width: view.width; height: itemHeight+4 }
+        dragMargin: view.width/2
+
+        path: Path {
+            startX: view.width/2; startY: -itemHeight/2
+            PathLine { x: view.width/2; y: view.pathItemCount*itemHeight + itemHeight }
+        }
+    }
+
+    Keys.onDownPressed: view.incrementCurrentIndex()
+    Keys.onUpPressed: view.decrementCurrentIndex()
+}
diff --git a/examples/declarative/ui-components/main/qml/main/content/background.png b/examples/declarative/ui-components/main/qml/main/content/background.png
new file mode 100644
index 0000000..9044226
Binary files /dev/null and b/examples/declarative/ui-components/main/qml/main/content/background.png differ
diff --git a/examples/declarative/ui-components/main/qml/main/content/spinner-bg.png b/examples/declarative/ui-components/main/qml/main/content/spinner-bg.png
new file mode 100644
index 0000000..b3556f1
Binary files /dev/null and b/examples/declarative/ui-components/main/qml/main/content/spinner-bg.png differ
diff --git a/examples/declarative/ui-components/main/qml/main/content/spinner-select.png b/examples/declarative/ui-components/main/qml/main/content/spinner-select.png
new file mode 100644
index 0000000..95a17a1
Binary files /dev/null and b/examples/declarative/ui-components/main/qml/main/content/spinner-select.png differ
diff --git a/examples/declarative/ui-components/main/qml/main/images/clear.png b/examples/declarative/ui-components/main/qml/main/images/clear.png
new file mode 100644
index 0000000..91eb270
Binary files /dev/null and b/examples/declarative/ui-components/main/qml/main/images/clear.png differ
diff --git a/examples/declarative/ui-components/main/qml/main/images/lineedit-bg-focus.png b/examples/declarative/ui-components/main/qml/main/images/lineedit-bg-focus.png
new file mode 100644
index 0000000..bbfac38
Binary files /dev/null and b/examples/declarative/ui-components/main/qml/main/images/lineedit-bg-focus.png differ
diff --git a/examples/declarative/ui-components/main/qml/main/images/lineedit-bg.png b/examples/declarative/ui-components/main/qml/main/images/lineedit-bg.png
new file mode 100644
index 0000000..9044226
Binary files /dev/null and b/examples/declarative/ui-components/main/qml/main/images/lineedit-bg.png differ
diff --git a/examples/declarative/ui-components/main/qml/main/main.qml b/examples/declarative/ui-components/main/qml/main/main.qml
new file mode 100644
index 0000000..842ef1a
--- /dev/null
+++ b/examples/declarative/ui-components/main/qml/main/main.qml
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** 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
+
+TabWidget {
+    id: tabs
+    width: 640; height: 480
+
+    Rectangle {
+        property string title: "Red"
+        anchors.fill: parent
+        color: "#e3e3e3"
+
+        Rectangle {
+            anchors.fill: parent; anchors.margins: 20
+            color: "#ff7f7f"
+            Text {
+                width: parent.width - 20
+                anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
+                text: "Roses are red"
+                font.pixelSize: 20
+                wrapMode: Text.WordWrap
+            }
+        }
+    }
+
+    Rectangle {
+        property string title: "Green"
+        anchors.fill: parent
+        color: "#e3e3e3"
+
+        Rectangle {
+            anchors.fill: parent; anchors.margins: 20
+            color: "#7fff7f"
+            Text {
+                width: parent.width - 20
+                anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
+                text: "Flower stems are green"
+                font.pixelSize: 20
+                wrapMode: Text.WordWrap
+            }
+        }
+    }
+
+    Rectangle {
+        property string title: "Blue"
+        anchors.fill: parent; color: "#e3e3e3"
+
+        Rectangle {
+            anchors.fill: parent; anchors.margins: 20
+            color: "#7f7fff"
+            Text {
+                width: parent.width - 20
+                anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
+                text: "Violets are blue"
+                font.pixelSize: 20
+                wrapMode: Text.WordWrap
+            }
+        }
+    }
+}
diff --git a/examples/declarative/ui-components/main/qml/main/pics/niagara_falls.jpg b/examples/declarative/ui-components/main/qml/main/pics/niagara_falls.jpg
new file mode 100644
index 0000000..d255543
Binary files /dev/null and b/examples/declarative/ui-components/main/qml/main/pics/niagara_falls.jpg differ
diff --git a/examples/declarative/ui-components/main/qml/main/tab.png b/examples/declarative/ui-components/main/qml/main/tab.png
new file mode 100644
index 0000000..ad80216
Binary files /dev/null and b/examples/declarative/ui-components/main/qml/main/tab.png differ
diff --git a/examples/declarative/ui-components/main/qml/pics/niagara_falls.jpg b/examples/declarative/ui-components/main/qml/pics/niagara_falls.jpg
deleted file mode 100644
index d255543..0000000
Binary files a/examples/declarative/ui-components/main/qml/pics/niagara_falls.jpg and /dev/null differ
diff --git a/examples/declarative/ui-components/main/qml/progressbar.qmlproject b/examples/declarative/ui-components/main/qml/progressbar.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/ui-components/main/qml/progressbar.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/ui-components/main/qml/scrollbar.qmlproject b/examples/declarative/ui-components/main/qml/scrollbar.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/ui-components/main/qml/scrollbar.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/ui-components/main/qml/searchbox.qmlproject b/examples/declarative/ui-components/main/qml/searchbox.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/ui-components/main/qml/searchbox.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/ui-components/main/qml/spinner.qmlproject b/examples/declarative/ui-components/main/qml/spinner.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/ui-components/main/qml/spinner.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/ui-components/main/qml/tab.png b/examples/declarative/ui-components/main/qml/tab.png
deleted file mode 100644
index ad80216..0000000
Binary files a/examples/declarative/ui-components/main/qml/tab.png and /dev/null differ
diff --git a/examples/declarative/ui-components/main/qml/tabwidget.qmlproject b/examples/declarative/ui-components/main/qml/tabwidget.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/ui-components/main/qml/tabwidget.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/ui-components/main/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/ui-components/main/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/ui-components/main/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/ui-components/main/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/ui-components/main/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/ui-components/main/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/ui-components/main/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/ui-components/main/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/ui-components/main/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)
-}
-- 
cgit v0.12


From 309be039218ef6bb8fdc97833d3e4b98ffe20037 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:06 +0100
Subject: ui-components/progressbar example modifications

Modified the example 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>
---
 .../progressbar/content/ProgressBar.qml            |  83 ---------
 .../declarative/ui-components/progressbar/main.cpp |   2 +-
 .../declarative/ui-components/progressbar/main.qml |  73 --------
 .../ui-components/progressbar/progressbar.pro      |   4 +-
 .../progressbar/progressbar.qmlproject             |  16 ++
 .../progressbar/qml/content/ProgressBar.qml        |  83 ---------
 .../progressbar/qml/content/background.png         | Bin 426 -> 0 bytes
 .../ui-components/progressbar/qml/main.qml         |  73 --------
 .../progressbar/qml/progressbar.qmlproject         |  16 --
 .../qml/progressbar/content/ProgressBar.qml        |  83 +++++++++
 .../qml/progressbar/content/background.png         | Bin 0 -> 426 bytes
 .../progressbar/qml/progressbar/main.qml           |  73 ++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 15 files changed, 175 insertions(+), 761 deletions(-)
 delete mode 100644 examples/declarative/ui-components/progressbar/content/ProgressBar.qml
 delete mode 100644 examples/declarative/ui-components/progressbar/main.qml
 create mode 100644 examples/declarative/ui-components/progressbar/progressbar.qmlproject
 delete mode 100644 examples/declarative/ui-components/progressbar/qml/content/ProgressBar.qml
 delete mode 100644 examples/declarative/ui-components/progressbar/qml/content/background.png
 delete mode 100644 examples/declarative/ui-components/progressbar/qml/main.qml
 delete mode 100644 examples/declarative/ui-components/progressbar/qml/progressbar.qmlproject
 create mode 100644 examples/declarative/ui-components/progressbar/qml/progressbar/content/ProgressBar.qml
 create mode 100644 examples/declarative/ui-components/progressbar/qml/progressbar/content/background.png
 create mode 100644 examples/declarative/ui-components/progressbar/qml/progressbar/main.qml
 delete mode 100644 examples/declarative/ui-components/progressbar/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/ui-components/progressbar/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/ui-components/progressbar/qmlapplicationviewer/qmlapplicationviewer.pri

diff --git a/examples/declarative/ui-components/progressbar/content/ProgressBar.qml b/examples/declarative/ui-components/progressbar/content/ProgressBar.qml
deleted file mode 100644
index 75dc488..0000000
--- a/examples/declarative/ui-components/progressbar/content/ProgressBar.qml
+++ /dev/null
@@ -1,83 +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
-
-Item {
-    id: progressbar
-
-    property int minimum: 0
-    property int maximum: 100
-    property int value: 0
-    property alias color: gradient1.color
-    property alias secondColor: gradient2.color
-
-    width: 250; height: 23
-    clip: true
-
-    BorderImage {
-        source: "background.png"
-        width: parent.width; height: parent.height
-        border { left: 4; top: 4; right: 4; bottom: 4 }
-    }
-
-    Rectangle {
-        id: highlight
-
-        property int widthDest: ((progressbar.width * (value - minimum)) / (maximum - minimum) - 6)
-
-        width: highlight.widthDest
-        Behavior on width { SmoothedAnimation { velocity: 1200 } }
-
-        anchors { left: parent.left; top: parent.top; bottom: parent.bottom; margins: 3 }
-        radius: 1
-        gradient: Gradient {
-            GradientStop { id: gradient1; position: 0.0 }
-            GradientStop { id: gradient2; position: 1.0 }
-        }
-
-    }
-    Text {
-        anchors { right: highlight.right; rightMargin: 6; verticalCenter: parent.verticalCenter }
-        color: "white"
-        font.bold: true
-        text: Math.floor((value - minimum) / (maximum - minimum) * 100) + '%'
-    }
-}
diff --git a/examples/declarative/ui-components/progressbar/main.cpp b/examples/declarative/ui-components/progressbar/main.cpp
index be38af0..b0e94d1 100644
--- a/examples/declarative/ui-components/progressbar/main.cpp
+++ b/examples/declarative/ui-components/progressbar/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/main.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/progressbar/main.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/ui-components/progressbar/main.qml b/examples/declarative/ui-components/progressbar/main.qml
deleted file mode 100644
index 313aaa3..0000000
--- a/examples/declarative/ui-components/progressbar/main.qml
+++ /dev/null
@@ -1,73 +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
-import "content"
-
-Rectangle {
-    id: main
-
-    width: 600; height: 405
-    color: "#edecec"
-
-    Flickable {
-        anchors.fill: parent
-        contentHeight: column.height + 20
-
-        Column {
-            id: column
-            x: 10; y: 10
-            spacing: 10
-
-            Repeater {
-                model: 25
-
-                ProgressBar {
-                    property int r: Math.floor(Math.random() * 5000 + 1000)
-                    width: main.width - 20
-
-                    NumberAnimation on value { duration: r; from: 0; to: 100; loops: Animation.Infinite }
-                    ColorAnimation on color { duration: r; from: "lightsteelblue"; to: "thistle"; loops: Animation.Infinite }
-                    ColorAnimation on secondColor { duration: r; from: "steelblue"; to: "#CD96CD"; loops: Animation.Infinite }
-                }
-            }
-        }
-    }
-}
diff --git a/examples/declarative/ui-components/progressbar/progressbar.pro b/examples/declarative/ui-components/progressbar/progressbar.pro
index aae34b0..38eef3c 100644
--- a/examples/declarative/ui-components/progressbar/progressbar.pro
+++ b/examples/declarative/ui-components/progressbar/progressbar.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/progressbar
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEAA2206D
 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/ui-components/progressbar/progressbar.qmlproject b/examples/declarative/ui-components/progressbar/progressbar.qmlproject
new file mode 100644
index 0000000..5b431ea
--- /dev/null
+++ b/examples/declarative/ui-components/progressbar/progressbar.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/progressbar"
+    }
+    JavaScriptFiles {
+        directory: "qml/progressbar"
+    }
+    ImageFiles {
+        directory: "qml/progressbar"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/ui-components/progressbar/qml/content/ProgressBar.qml b/examples/declarative/ui-components/progressbar/qml/content/ProgressBar.qml
deleted file mode 100644
index e92342a..0000000
--- a/examples/declarative/ui-components/progressbar/qml/content/ProgressBar.qml
+++ /dev/null
@@ -1,83 +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
-
-Item {
-    id: progressbar
-
-    property int minimum: 0
-    property int maximum: 100
-    property int value: 0
-    property alias color: gradient1.color
-    property alias secondColor: gradient2.color
-
-    width: 250; height: 23
-    clip: true
-
-    BorderImage {
-        source: "background.png"
-        width: parent.width; height: parent.height
-        border { left: 4; top: 4; right: 4; bottom: 4 }
-    }
-
-    Rectangle {
-        id: highlight
-
-        property int widthDest: ((progressbar.width * (value - minimum)) / (maximum - minimum) - 6)
-
-        width: highlight.widthDest
-        Behavior on width { SmoothedAnimation { velocity: 1200 } }
-
-        anchors { left: parent.left; top: parent.top; bottom: parent.bottom; margins: 3 }
-        radius: 1
-        gradient: Gradient {
-            GradientStop { id: gradient1; position: 0.0 }
-            GradientStop { id: gradient2; position: 1.0 }
-        }
-
-    }
-    Text {
-        anchors { right: highlight.right; rightMargin: 6; verticalCenter: parent.verticalCenter }
-        color: "white"
-        font.bold: true
-        text: Math.floor((value - minimum) / (maximum - minimum) * 100) + '%'
-    }
-}
diff --git a/examples/declarative/ui-components/progressbar/qml/content/background.png b/examples/declarative/ui-components/progressbar/qml/content/background.png
deleted file mode 100644
index 9044226..0000000
Binary files a/examples/declarative/ui-components/progressbar/qml/content/background.png and /dev/null differ
diff --git a/examples/declarative/ui-components/progressbar/qml/main.qml b/examples/declarative/ui-components/progressbar/qml/main.qml
deleted file mode 100644
index a805a7e..0000000
--- a/examples/declarative/ui-components/progressbar/qml/main.qml
+++ /dev/null
@@ -1,73 +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
-import "content"
-
-Rectangle {
-    id: main
-
-    width: 600; height: 405
-    color: "#edecec"
-
-    Flickable {
-        anchors.fill: parent
-        contentHeight: column.height + 20
-
-        Column {
-            id: column
-            x: 10; y: 10
-            spacing: 10
-
-            Repeater {
-                model: 25
-
-                ProgressBar {
-                    property int r: Math.floor(Math.random() * 5000 + 1000)
-                    width: main.width - 20
-
-                    NumberAnimation on value { duration: r; from: 0; to: 100; loops: Animation.Infinite }
-                    ColorAnimation on color { duration: r; from: "lightsteelblue"; to: "thistle"; loops: Animation.Infinite }
-                    ColorAnimation on secondColor { duration: r; from: "steelblue"; to: "#CD96CD"; loops: Animation.Infinite }
-                }
-            }
-        }
-    }
-}
diff --git a/examples/declarative/ui-components/progressbar/qml/progressbar.qmlproject b/examples/declarative/ui-components/progressbar/qml/progressbar.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/ui-components/progressbar/qml/progressbar.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/ui-components/progressbar/qml/progressbar/content/ProgressBar.qml b/examples/declarative/ui-components/progressbar/qml/progressbar/content/ProgressBar.qml
new file mode 100644
index 0000000..e92342a
--- /dev/null
+++ b/examples/declarative/ui-components/progressbar/qml/progressbar/content/ProgressBar.qml
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** 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
+
+Item {
+    id: progressbar
+
+    property int minimum: 0
+    property int maximum: 100
+    property int value: 0
+    property alias color: gradient1.color
+    property alias secondColor: gradient2.color
+
+    width: 250; height: 23
+    clip: true
+
+    BorderImage {
+        source: "background.png"
+        width: parent.width; height: parent.height
+        border { left: 4; top: 4; right: 4; bottom: 4 }
+    }
+
+    Rectangle {
+        id: highlight
+
+        property int widthDest: ((progressbar.width * (value - minimum)) / (maximum - minimum) - 6)
+
+        width: highlight.widthDest
+        Behavior on width { SmoothedAnimation { velocity: 1200 } }
+
+        anchors { left: parent.left; top: parent.top; bottom: parent.bottom; margins: 3 }
+        radius: 1
+        gradient: Gradient {
+            GradientStop { id: gradient1; position: 0.0 }
+            GradientStop { id: gradient2; position: 1.0 }
+        }
+
+    }
+    Text {
+        anchors { right: highlight.right; rightMargin: 6; verticalCenter: parent.verticalCenter }
+        color: "white"
+        font.bold: true
+        text: Math.floor((value - minimum) / (maximum - minimum) * 100) + '%'
+    }
+}
diff --git a/examples/declarative/ui-components/progressbar/qml/progressbar/content/background.png b/examples/declarative/ui-components/progressbar/qml/progressbar/content/background.png
new file mode 100644
index 0000000..9044226
Binary files /dev/null and b/examples/declarative/ui-components/progressbar/qml/progressbar/content/background.png differ
diff --git a/examples/declarative/ui-components/progressbar/qml/progressbar/main.qml b/examples/declarative/ui-components/progressbar/qml/progressbar/main.qml
new file mode 100644
index 0000000..a805a7e
--- /dev/null
+++ b/examples/declarative/ui-components/progressbar/qml/progressbar/main.qml
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+Rectangle {
+    id: main
+
+    width: 600; height: 405
+    color: "#edecec"
+
+    Flickable {
+        anchors.fill: parent
+        contentHeight: column.height + 20
+
+        Column {
+            id: column
+            x: 10; y: 10
+            spacing: 10
+
+            Repeater {
+                model: 25
+
+                ProgressBar {
+                    property int r: Math.floor(Math.random() * 5000 + 1000)
+                    width: main.width - 20
+
+                    NumberAnimation on value { duration: r; from: 0; to: 100; loops: Animation.Infinite }
+                    ColorAnimation on color { duration: r; from: "lightsteelblue"; to: "thistle"; loops: Animation.Infinite }
+                    ColorAnimation on secondColor { duration: r; from: "steelblue"; to: "#CD96CD"; loops: Animation.Infinite }
+                }
+            }
+        }
+    }
+}
diff --git a/examples/declarative/ui-components/progressbar/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/ui-components/progressbar/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/ui-components/progressbar/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/ui-components/progressbar/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/ui-components/progressbar/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/ui-components/progressbar/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/ui-components/progressbar/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/ui-components/progressbar/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/ui-components/progressbar/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)
-}
-- 
cgit v0.12


From 27e49a8b5c513fb4315dc039dd7aaa186e869123 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:07 +0100
Subject: ui-components/scrollbar example modifications

Modified the example 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>
---
 .../ui-components/scrollbar/ScrollBar.qml          |  74 ----------------
 .../declarative/ui-components/scrollbar/main.cpp   |  54 ++++++++++++
 .../declarative/ui-components/scrollbar/main.qml   |  93 ---------------------
 .../scrollbar/qml/scrollbar/ScrollBar.qml          |  74 ++++++++++++++++
 .../ui-components/scrollbar/qml/scrollbar/main.qml |  93 +++++++++++++++++++++
 .../scrollbar/qml/scrollbar/niagara_falls.jpg      | Bin 0 -> 100161 bytes
 .../ui-components/scrollbar/scrollbar.desktop      |  11 +++
 .../ui-components/scrollbar/scrollbar.pro          |  37 ++++++++
 .../ui-components/scrollbar/scrollbar.qmlproject   |   6 +-
 .../ui-components/scrollbar/scrollbar.svg          |  93 +++++++++++++++++++++
 .../ui-components/scrollbar/scrollbar64.png        | Bin 0 -> 3400 bytes
 .../ui-components/scrollbar/scrollbar80.png        | Bin 0 -> 4945 bytes
 .../scrollbar/scrollbar_harmattan.desktop          |  11 +++
 13 files changed, 376 insertions(+), 170 deletions(-)
 delete mode 100644 examples/declarative/ui-components/scrollbar/ScrollBar.qml
 create mode 100644 examples/declarative/ui-components/scrollbar/main.cpp
 delete mode 100644 examples/declarative/ui-components/scrollbar/main.qml
 create mode 100644 examples/declarative/ui-components/scrollbar/qml/scrollbar/ScrollBar.qml
 create mode 100644 examples/declarative/ui-components/scrollbar/qml/scrollbar/main.qml
 create mode 100644 examples/declarative/ui-components/scrollbar/qml/scrollbar/niagara_falls.jpg
 create mode 100644 examples/declarative/ui-components/scrollbar/scrollbar.desktop
 create mode 100644 examples/declarative/ui-components/scrollbar/scrollbar.pro
 create mode 100644 examples/declarative/ui-components/scrollbar/scrollbar.svg
 create mode 100644 examples/declarative/ui-components/scrollbar/scrollbar64.png
 create mode 100644 examples/declarative/ui-components/scrollbar/scrollbar80.png
 create mode 100644 examples/declarative/ui-components/scrollbar/scrollbar_harmattan.desktop

diff --git a/examples/declarative/ui-components/scrollbar/ScrollBar.qml b/examples/declarative/ui-components/scrollbar/ScrollBar.qml
deleted file mode 100644
index 63dd0bd..0000000
--- a/examples/declarative/ui-components/scrollbar/ScrollBar.qml
+++ /dev/null
@@ -1,74 +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
-
-Item {
-    id: scrollBar
-
-    // The properties that define the scrollbar's state.
-    // position and pageSize are in the range 0.0 - 1.0.  They are relative to the
-    // height of the page, i.e. a pageSize of 0.5 means that you can see 50%
-    // of the height of the view.
-    // orientation can be either Qt.Vertical or Qt.Horizontal
-    property real position
-    property real pageSize
-    property variant orientation : Qt.Vertical
-
-    // A light, semi-transparent background
-    Rectangle {
-        id: background
-        anchors.fill: parent
-        radius: orientation == Qt.Vertical ? (width/2 - 1) : (height/2 - 1)
-        color: "white"
-        opacity: 0.3
-    }
-
-    // Size the bar to the required size, depending upon the orientation.
-    Rectangle {
-        x: orientation == Qt.Vertical ? 1 : (scrollBar.position * (scrollBar.width-2) + 1)
-        y: orientation == Qt.Vertical ? (scrollBar.position * (scrollBar.height-2) + 1) : 1
-        width: orientation == Qt.Vertical ? (parent.width-2) : (scrollBar.pageSize * (scrollBar.width-2))
-        height: orientation == Qt.Vertical ? (scrollBar.pageSize * (scrollBar.height-2)) : (parent.height-2)
-        radius: orientation == Qt.Vertical ? (width/2 - 1) : (height/2 - 1)
-        color: "black"
-        opacity: 0.7
-    }
-}
diff --git a/examples/declarative/ui-components/scrollbar/main.cpp b/examples/declarative/ui-components/scrollbar/main.cpp
new file mode 100644
index 0000000..e8c2816
--- /dev/null
+++ b/examples/declarative/ui-components/scrollbar/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include "qmlapplicationviewer.h"
+#include <QtGui/QApplication>
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/scrollbar/main.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/examples/declarative/ui-components/scrollbar/main.qml b/examples/declarative/ui-components/scrollbar/main.qml
deleted file mode 100644
index f282dc4..0000000
--- a/examples/declarative/ui-components/scrollbar/main.qml
+++ /dev/null
@@ -1,93 +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 {
-    width: 640
-    height: 480
-
-    // Create a flickable to view a large image.
-    Flickable {
-        id: view
-        anchors.fill: parent
-        contentWidth: picture.width
-        contentHeight: picture.height
-
-        Image {
-            id: picture
-            source: "pics/niagara_falls.jpg"
-            asynchronous: true
-        }
-
-        // Only show the scrollbars when the view is moving.
-        states: State {
-            name: "ShowBars"
-            when: view.movingVertically || view.movingHorizontally
-            PropertyChanges { target: verticalScrollBar; opacity: 1 }
-            PropertyChanges { target: horizontalScrollBar; opacity: 1 }
-        }
-
-        transitions: Transition {
-            NumberAnimation { properties: "opacity"; duration: 400 }
-        }
-    }
-
-    // Attach scrollbars to the right and bottom edges of the view.
-    ScrollBar {
-        id: verticalScrollBar
-        width: 12; height: view.height-12
-        anchors.right: view.right
-        opacity: 0
-        orientation: Qt.Vertical
-        position: view.visibleArea.yPosition
-        pageSize: view.visibleArea.heightRatio
-    }
-
-    ScrollBar {
-        id: horizontalScrollBar
-        width: view.width-12; height: 12
-        anchors.bottom: view.bottom
-        opacity: 0
-        orientation: Qt.Horizontal
-        position: view.visibleArea.xPosition
-        pageSize: view.visibleArea.widthRatio
-    }
-}
diff --git a/examples/declarative/ui-components/scrollbar/qml/scrollbar/ScrollBar.qml b/examples/declarative/ui-components/scrollbar/qml/scrollbar/ScrollBar.qml
new file mode 100644
index 0000000..63dd0bd
--- /dev/null
+++ b/examples/declarative/ui-components/scrollbar/qml/scrollbar/ScrollBar.qml
@@ -0,0 +1,74 @@
+/****************************************************************************
+**
+** 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
+
+Item {
+    id: scrollBar
+
+    // The properties that define the scrollbar's state.
+    // position and pageSize are in the range 0.0 - 1.0.  They are relative to the
+    // height of the page, i.e. a pageSize of 0.5 means that you can see 50%
+    // of the height of the view.
+    // orientation can be either Qt.Vertical or Qt.Horizontal
+    property real position
+    property real pageSize
+    property variant orientation : Qt.Vertical
+
+    // A light, semi-transparent background
+    Rectangle {
+        id: background
+        anchors.fill: parent
+        radius: orientation == Qt.Vertical ? (width/2 - 1) : (height/2 - 1)
+        color: "white"
+        opacity: 0.3
+    }
+
+    // Size the bar to the required size, depending upon the orientation.
+    Rectangle {
+        x: orientation == Qt.Vertical ? 1 : (scrollBar.position * (scrollBar.width-2) + 1)
+        y: orientation == Qt.Vertical ? (scrollBar.position * (scrollBar.height-2) + 1) : 1
+        width: orientation == Qt.Vertical ? (parent.width-2) : (scrollBar.pageSize * (scrollBar.width-2))
+        height: orientation == Qt.Vertical ? (scrollBar.pageSize * (scrollBar.height-2)) : (parent.height-2)
+        radius: orientation == Qt.Vertical ? (width/2 - 1) : (height/2 - 1)
+        color: "black"
+        opacity: 0.7
+    }
+}
diff --git a/examples/declarative/ui-components/scrollbar/qml/scrollbar/main.qml b/examples/declarative/ui-components/scrollbar/qml/scrollbar/main.qml
new file mode 100644
index 0000000..e64e1d7
--- /dev/null
+++ b/examples/declarative/ui-components/scrollbar/qml/scrollbar/main.qml
@@ -0,0 +1,93 @@
+/****************************************************************************
+**
+** 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 {
+    width: 640
+    height: 480
+
+    // Create a flickable to view a large image.
+    Flickable {
+        id: view
+        anchors.fill: parent
+        contentWidth: picture.width
+        contentHeight: picture.height
+
+        Image {
+            id: picture
+            source: "niagara_falls.jpg"
+            asynchronous: true
+        }
+
+        // Only show the scrollbars when the view is moving.
+        states: State {
+            name: "ShowBars"
+            when: view.movingVertically || view.movingHorizontally
+            PropertyChanges { target: verticalScrollBar; opacity: 1 }
+            PropertyChanges { target: horizontalScrollBar; opacity: 1 }
+        }
+
+        transitions: Transition {
+            NumberAnimation { properties: "opacity"; duration: 400 }
+        }
+    }
+
+    // Attach scrollbars to the right and bottom edges of the view.
+    ScrollBar {
+        id: verticalScrollBar
+        width: 12; height: view.height-12
+        anchors.right: view.right
+        opacity: 0
+        orientation: Qt.Vertical
+        position: view.visibleArea.yPosition
+        pageSize: view.visibleArea.heightRatio
+    }
+
+    ScrollBar {
+        id: horizontalScrollBar
+        width: view.width-12; height: 12
+        anchors.bottom: view.bottom
+        opacity: 0
+        orientation: Qt.Horizontal
+        position: view.visibleArea.xPosition
+        pageSize: view.visibleArea.widthRatio
+    }
+}
diff --git a/examples/declarative/ui-components/scrollbar/qml/scrollbar/niagara_falls.jpg b/examples/declarative/ui-components/scrollbar/qml/scrollbar/niagara_falls.jpg
new file mode 100644
index 0000000..d255543
Binary files /dev/null and b/examples/declarative/ui-components/scrollbar/qml/scrollbar/niagara_falls.jpg differ
diff --git a/examples/declarative/ui-components/scrollbar/scrollbar.desktop b/examples/declarative/ui-components/scrollbar/scrollbar.desktop
new file mode 100644
index 0000000..191b0c2
--- /dev/null
+++ b/examples/declarative/ui-components/scrollbar/scrollbar.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=scrollbar
+Exec=/opt/scrollbar/bin/scrollbar
+Icon=scrollbar64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/ui-components/scrollbar/scrollbar.pro b/examples/declarative/ui-components/scrollbar/scrollbar.pro
new file mode 100644
index 0000000..b0cdaca
--- /dev/null
+++ b/examples/declarative/ui-components/scrollbar/scrollbar.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/scrollbar
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xECE44DA2
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/ui-components/scrollbar/scrollbar.qmlproject b/examples/declarative/ui-components/scrollbar/scrollbar.qmlproject
index d4909f8..c777c2e 100644
--- a/examples/declarative/ui-components/scrollbar/scrollbar.qmlproject
+++ b/examples/declarative/ui-components/scrollbar/scrollbar.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/scrollbar"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/scrollbar"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/scrollbar"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/examples/declarative/ui-components/scrollbar/scrollbar.svg b/examples/declarative/ui-components/scrollbar/scrollbar.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/examples/declarative/ui-components/scrollbar/scrollbar.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/examples/declarative/ui-components/scrollbar/scrollbar64.png b/examples/declarative/ui-components/scrollbar/scrollbar64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/examples/declarative/ui-components/scrollbar/scrollbar64.png differ
diff --git a/examples/declarative/ui-components/scrollbar/scrollbar80.png b/examples/declarative/ui-components/scrollbar/scrollbar80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/examples/declarative/ui-components/scrollbar/scrollbar80.png differ
diff --git a/examples/declarative/ui-components/scrollbar/scrollbar_harmattan.desktop b/examples/declarative/ui-components/scrollbar/scrollbar_harmattan.desktop
new file mode 100644
index 0000000..55ec39a
--- /dev/null
+++ b/examples/declarative/ui-components/scrollbar/scrollbar_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=scrollbar
+Exec=/usr/bin/single-instance /opt/scrollbar/bin/scrollbar
+Icon=/usr/share/icons/hicolor/80x80/apps/scrollbar80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
-- 
cgit v0.12


From b0c82f18400d110618b37eeb96e8e82430e20347 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:08 +0100
Subject: ui-components/searchbox example modifications

Modified the example 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>
---
 .../ui-components/searchbox/SearchBox.qml          | 109 ---------------------
 .../declarative/ui-components/searchbox/main.cpp   |  54 ++++++++++
 .../declarative/ui-components/searchbox/main.qml   |  60 ------------
 .../searchbox/qml/searchbox/SearchBox.qml          | 109 +++++++++++++++++++++
 .../searchbox/qml/searchbox/images/clear.png       | Bin 0 -> 429 bytes
 .../qml/searchbox/images/lineedit-bg-focus.png     | Bin 0 -> 526 bytes
 .../searchbox/qml/searchbox/images/lineedit-bg.png | Bin 0 -> 426 bytes
 .../ui-components/searchbox/qml/searchbox/main.qml |  60 ++++++++++++
 .../ui-components/searchbox/searchbox.desktop      |  11 +++
 .../ui-components/searchbox/searchbox.pro          |  37 +++++++
 .../ui-components/searchbox/searchbox.qmlproject   |   6 +-
 .../ui-components/searchbox/searchbox.svg          |  93 ++++++++++++++++++
 .../ui-components/searchbox/searchbox64.png        | Bin 0 -> 3400 bytes
 .../ui-components/searchbox/searchbox80.png        | Bin 0 -> 4945 bytes
 .../searchbox/searchbox_harmattan.desktop          |  11 +++
 15 files changed, 378 insertions(+), 172 deletions(-)
 delete mode 100644 examples/declarative/ui-components/searchbox/SearchBox.qml
 create mode 100644 examples/declarative/ui-components/searchbox/main.cpp
 delete mode 100644 examples/declarative/ui-components/searchbox/main.qml
 create mode 100644 examples/declarative/ui-components/searchbox/qml/searchbox/SearchBox.qml
 create mode 100644 examples/declarative/ui-components/searchbox/qml/searchbox/images/clear.png
 create mode 100644 examples/declarative/ui-components/searchbox/qml/searchbox/images/lineedit-bg-focus.png
 create mode 100644 examples/declarative/ui-components/searchbox/qml/searchbox/images/lineedit-bg.png
 create mode 100644 examples/declarative/ui-components/searchbox/qml/searchbox/main.qml
 create mode 100644 examples/declarative/ui-components/searchbox/searchbox.desktop
 create mode 100644 examples/declarative/ui-components/searchbox/searchbox.pro
 create mode 100644 examples/declarative/ui-components/searchbox/searchbox.svg
 create mode 100644 examples/declarative/ui-components/searchbox/searchbox64.png
 create mode 100644 examples/declarative/ui-components/searchbox/searchbox80.png
 create mode 100644 examples/declarative/ui-components/searchbox/searchbox_harmattan.desktop

diff --git a/examples/declarative/ui-components/searchbox/SearchBox.qml b/examples/declarative/ui-components/searchbox/SearchBox.qml
deleted file mode 100644
index de190d3..0000000
--- a/examples/declarative/ui-components/searchbox/SearchBox.qml
+++ /dev/null
@@ -1,109 +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
-
-FocusScope {
-    id: focusScope
-    width: 250; height: 28
-
-    BorderImage {
-        source: "images/lineedit-bg.png"
-        width: parent.width; height: parent.height
-        border { left: 4; top: 4; right: 4; bottom: 4 }
-    }
-
-    BorderImage {
-        source: "images/lineedit-bg-focus.png"
-        width: parent.width; height: parent.height
-        border { left: 4; top: 4; right: 4; bottom: 4 }
-        visible: parent.activeFocus ? true : false
-    }
-
-    Text {
-        id: typeSomething
-        anchors.fill: parent; anchors.leftMargin: 8
-        verticalAlignment: Text.AlignVCenter
-        text: "Type something..."
-        color: "gray"
-        font.italic: true
-    }
-
-    MouseArea { 
-        anchors.fill: parent
-        onClicked: { focusScope.focus = true; textInput.openSoftwareInputPanel(); } 
-    }
-
-    TextInput {
-        id: textInput
-        anchors { left: parent.left; leftMargin: 8; right: clear.left; rightMargin: 8; verticalCenter: parent.verticalCenter }
-        focus: true
-        selectByMouse: true
-    }
-
-    Image {
-        id: clear
-        anchors { right: parent.right; rightMargin: 8; verticalCenter: parent.verticalCenter }
-        source: "images/clear.png"
-        opacity: 0
-
-        MouseArea { 
-            anchors.fill: parent
-            onClicked: { textInput.text = ''; focusScope.focus = true; textInput.openSoftwareInputPanel(); }
-        }
-    }
-
-    states: State {
-        name: "hasText"; when: textInput.text != ''
-        PropertyChanges { target: typeSomething; opacity: 0 }
-        PropertyChanges { target: clear; opacity: 1 }
-    }
-
-    transitions: [
-        Transition {
-            from: ""; to: "hasText"
-            NumberAnimation { exclude: typeSomething; properties: "opacity" }
-        },
-        Transition {
-            from: "hasText"; to: ""
-            NumberAnimation { properties: "opacity" }
-        }
-    ]
-}
diff --git a/examples/declarative/ui-components/searchbox/main.cpp b/examples/declarative/ui-components/searchbox/main.cpp
new file mode 100644
index 0000000..72d9882
--- /dev/null
+++ b/examples/declarative/ui-components/searchbox/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include "qmlapplicationviewer.h"
+#include <QtGui/QApplication>
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/searchbox/main.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/examples/declarative/ui-components/searchbox/main.qml b/examples/declarative/ui-components/searchbox/main.qml
deleted file mode 100644
index fbcafa2..0000000
--- a/examples/declarative/ui-components/searchbox/main.qml
+++ /dev/null
@@ -1,60 +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: 500; height: 250
-    color: "#edecec"
-
-    MouseArea {
-        anchors.fill: parent
-        onClicked: page.focus = false;
-    }
-    Column {
-        anchors { horizontalCenter: parent.horizontalCenter; verticalCenter: parent.verticalCenter }
-        spacing: 10
-
-        SearchBox { id: search1; KeyNavigation.tab: search2; KeyNavigation.backtab: search3; focus: true }
-        SearchBox { id: search2; KeyNavigation.tab: search3; KeyNavigation.backtab: search1 }
-        SearchBox { id: search3; KeyNavigation.tab: search1; KeyNavigation.backtab: search2 }
-    }
-}
diff --git a/examples/declarative/ui-components/searchbox/qml/searchbox/SearchBox.qml b/examples/declarative/ui-components/searchbox/qml/searchbox/SearchBox.qml
new file mode 100644
index 0000000..de190d3
--- /dev/null
+++ b/examples/declarative/ui-components/searchbox/qml/searchbox/SearchBox.qml
@@ -0,0 +1,109 @@
+/****************************************************************************
+**
+** 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
+
+FocusScope {
+    id: focusScope
+    width: 250; height: 28
+
+    BorderImage {
+        source: "images/lineedit-bg.png"
+        width: parent.width; height: parent.height
+        border { left: 4; top: 4; right: 4; bottom: 4 }
+    }
+
+    BorderImage {
+        source: "images/lineedit-bg-focus.png"
+        width: parent.width; height: parent.height
+        border { left: 4; top: 4; right: 4; bottom: 4 }
+        visible: parent.activeFocus ? true : false
+    }
+
+    Text {
+        id: typeSomething
+        anchors.fill: parent; anchors.leftMargin: 8
+        verticalAlignment: Text.AlignVCenter
+        text: "Type something..."
+        color: "gray"
+        font.italic: true
+    }
+
+    MouseArea { 
+        anchors.fill: parent
+        onClicked: { focusScope.focus = true; textInput.openSoftwareInputPanel(); } 
+    }
+
+    TextInput {
+        id: textInput
+        anchors { left: parent.left; leftMargin: 8; right: clear.left; rightMargin: 8; verticalCenter: parent.verticalCenter }
+        focus: true
+        selectByMouse: true
+    }
+
+    Image {
+        id: clear
+        anchors { right: parent.right; rightMargin: 8; verticalCenter: parent.verticalCenter }
+        source: "images/clear.png"
+        opacity: 0
+
+        MouseArea { 
+            anchors.fill: parent
+            onClicked: { textInput.text = ''; focusScope.focus = true; textInput.openSoftwareInputPanel(); }
+        }
+    }
+
+    states: State {
+        name: "hasText"; when: textInput.text != ''
+        PropertyChanges { target: typeSomething; opacity: 0 }
+        PropertyChanges { target: clear; opacity: 1 }
+    }
+
+    transitions: [
+        Transition {
+            from: ""; to: "hasText"
+            NumberAnimation { exclude: typeSomething; properties: "opacity" }
+        },
+        Transition {
+            from: "hasText"; to: ""
+            NumberAnimation { properties: "opacity" }
+        }
+    ]
+}
diff --git a/examples/declarative/ui-components/searchbox/qml/searchbox/images/clear.png b/examples/declarative/ui-components/searchbox/qml/searchbox/images/clear.png
new file mode 100644
index 0000000..91eb270
Binary files /dev/null and b/examples/declarative/ui-components/searchbox/qml/searchbox/images/clear.png differ
diff --git a/examples/declarative/ui-components/searchbox/qml/searchbox/images/lineedit-bg-focus.png b/examples/declarative/ui-components/searchbox/qml/searchbox/images/lineedit-bg-focus.png
new file mode 100644
index 0000000..bbfac38
Binary files /dev/null and b/examples/declarative/ui-components/searchbox/qml/searchbox/images/lineedit-bg-focus.png differ
diff --git a/examples/declarative/ui-components/searchbox/qml/searchbox/images/lineedit-bg.png b/examples/declarative/ui-components/searchbox/qml/searchbox/images/lineedit-bg.png
new file mode 100644
index 0000000..9044226
Binary files /dev/null and b/examples/declarative/ui-components/searchbox/qml/searchbox/images/lineedit-bg.png differ
diff --git a/examples/declarative/ui-components/searchbox/qml/searchbox/main.qml b/examples/declarative/ui-components/searchbox/qml/searchbox/main.qml
new file mode 100644
index 0000000..fbcafa2
--- /dev/null
+++ b/examples/declarative/ui-components/searchbox/qml/searchbox/main.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** 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: 500; height: 250
+    color: "#edecec"
+
+    MouseArea {
+        anchors.fill: parent
+        onClicked: page.focus = false;
+    }
+    Column {
+        anchors { horizontalCenter: parent.horizontalCenter; verticalCenter: parent.verticalCenter }
+        spacing: 10
+
+        SearchBox { id: search1; KeyNavigation.tab: search2; KeyNavigation.backtab: search3; focus: true }
+        SearchBox { id: search2; KeyNavigation.tab: search3; KeyNavigation.backtab: search1 }
+        SearchBox { id: search3; KeyNavigation.tab: search1; KeyNavigation.backtab: search2 }
+    }
+}
diff --git a/examples/declarative/ui-components/searchbox/searchbox.desktop b/examples/declarative/ui-components/searchbox/searchbox.desktop
new file mode 100644
index 0000000..bc25618
--- /dev/null
+++ b/examples/declarative/ui-components/searchbox/searchbox.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=searchbox
+Exec=/opt/searchbox/bin/searchbox
+Icon=searchbox64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/ui-components/searchbox/searchbox.pro b/examples/declarative/ui-components/searchbox/searchbox.pro
new file mode 100644
index 0000000..f64718a
--- /dev/null
+++ b/examples/declarative/ui-components/searchbox/searchbox.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/searchbox
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xEE81B300
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/ui-components/searchbox/searchbox.qmlproject b/examples/declarative/ui-components/searchbox/searchbox.qmlproject
index d4909f8..65543be 100644
--- a/examples/declarative/ui-components/searchbox/searchbox.qmlproject
+++ b/examples/declarative/ui-components/searchbox/searchbox.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/searchbox"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/searchbox"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/searchbox"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/examples/declarative/ui-components/searchbox/searchbox.svg b/examples/declarative/ui-components/searchbox/searchbox.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/examples/declarative/ui-components/searchbox/searchbox.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/examples/declarative/ui-components/searchbox/searchbox64.png b/examples/declarative/ui-components/searchbox/searchbox64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/examples/declarative/ui-components/searchbox/searchbox64.png differ
diff --git a/examples/declarative/ui-components/searchbox/searchbox80.png b/examples/declarative/ui-components/searchbox/searchbox80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/examples/declarative/ui-components/searchbox/searchbox80.png differ
diff --git a/examples/declarative/ui-components/searchbox/searchbox_harmattan.desktop b/examples/declarative/ui-components/searchbox/searchbox_harmattan.desktop
new file mode 100644
index 0000000..c57f4a6
--- /dev/null
+++ b/examples/declarative/ui-components/searchbox/searchbox_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=searchbox
+Exec=/usr/bin/single-instance /opt/searchbox/bin/searchbox
+Icon=/usr/share/icons/hicolor/80x80/apps/searchbox80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
-- 
cgit v0.12


From d405e49af2266debf618f0b6aaacf9dce103026f Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:08 +0100
Subject: ui-components/slideswitch example modifications

Modified the example 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>
---
 .../ui-components/slideswitch/content/Switch.qml   | 117 ---
 .../declarative/ui-components/slideswitch/main.cpp |   2 +-
 .../slideswitch/qml/content/Switch.qml             | 117 ---
 .../slideswitch/qml/content/background.svg         |  23 -
 .../ui-components/slideswitch/qml/content/knob.svg | 867 ---------------------
 .../ui-components/slideswitch/qml/slideswitch.qml  |  51 --
 .../slideswitch/qml/slideswitch.qmlproject         |  16 -
 .../slideswitch/qml/slideswitch/content/Switch.qml | 117 +++
 .../qml/slideswitch/content/background.svg         |  23 +
 .../slideswitch/qml/slideswitch/content/knob.svg   | 867 +++++++++++++++++++++
 .../slideswitch/qml/slideswitch/slideswitch.qml    |  51 ++
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 -----
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 --
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----
 .../ui-components/slideswitch/slideswitch.pro      |   4 +-
 .../ui-components/slideswitch/slideswitch.qml      |  51 --
 .../slideswitch/slideswitch.qmlproject             |  16 +
 17 files changed, 1077 insertions(+), 1675 deletions(-)
 delete mode 100644 examples/declarative/ui-components/slideswitch/content/Switch.qml
 delete mode 100644 examples/declarative/ui-components/slideswitch/qml/content/Switch.qml
 delete mode 100644 examples/declarative/ui-components/slideswitch/qml/content/background.svg
 delete mode 100644 examples/declarative/ui-components/slideswitch/qml/content/knob.svg
 delete mode 100644 examples/declarative/ui-components/slideswitch/qml/slideswitch.qml
 delete mode 100644 examples/declarative/ui-components/slideswitch/qml/slideswitch.qmlproject
 create mode 100644 examples/declarative/ui-components/slideswitch/qml/slideswitch/content/Switch.qml
 create mode 100644 examples/declarative/ui-components/slideswitch/qml/slideswitch/content/background.svg
 create mode 100644 examples/declarative/ui-components/slideswitch/qml/slideswitch/content/knob.svg
 create mode 100644 examples/declarative/ui-components/slideswitch/qml/slideswitch/slideswitch.qml
 delete mode 100644 examples/declarative/ui-components/slideswitch/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/ui-components/slideswitch/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/ui-components/slideswitch/qmlapplicationviewer/qmlapplicationviewer.pri
 delete mode 100644 examples/declarative/ui-components/slideswitch/slideswitch.qml
 create mode 100644 examples/declarative/ui-components/slideswitch/slideswitch.qmlproject

diff --git a/examples/declarative/ui-components/slideswitch/content/Switch.qml b/examples/declarative/ui-components/slideswitch/content/Switch.qml
deleted file mode 100644
index 311b162..0000000
--- a/examples/declarative/ui-components/slideswitch/content/Switch.qml
+++ /dev/null
@@ -1,117 +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$
-**
-****************************************************************************/
-
-//![0]
-import QtQuick 1.0
-
-Item {
-    id: toggleswitch
-    width: background.width; height: background.height
-
-//![1]
-    property bool on: false
-//![1]
-
-//![2]
-    function toggle() {
-        if (toggleswitch.state == "on")
-            toggleswitch.state = "off";
-        else 
-            toggleswitch.state = "on";
-    }
-//![2]
-
-//![3]
-    function releaseSwitch() {
-        if (knob.x == 1) {
-            if (toggleswitch.state == "off") return;
-        }
-        if (knob.x == 78) {
-            if (toggleswitch.state == "on") return;
-        }
-        toggle();
-    }
-//![3]
-
-//![4]
-    Image {
-        id: background
-        source: "background.svg"
-        MouseArea { anchors.fill: parent; onClicked: toggle() }
-    }
-//![4]
-
-//![5]
-    Image {
-        id: knob
-        x: 1; y: 2
-        source: "knob.svg"
-
-        MouseArea {
-            anchors.fill: parent
-            drag.target: knob; drag.axis: Drag.XAxis; drag.minimumX: 1; drag.maximumX: 78
-            onClicked: toggle()
-            onReleased: releaseSwitch()
-        }
-    }
-//![5]
-
-//![6]
-    states: [
-        State {
-            name: "on"
-            PropertyChanges { target: knob; x: 78 }
-            PropertyChanges { target: toggleswitch; on: true }
-        },
-        State {
-            name: "off"
-            PropertyChanges { target: knob; x: 1 }
-            PropertyChanges { target: toggleswitch; on: false }
-        }
-    ]
-//![6]
-
-//![7]
-    transitions: Transition {
-        NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad; duration: 200 }
-    }
-//![7]
-}
-//![0]
diff --git a/examples/declarative/ui-components/slideswitch/main.cpp b/examples/declarative/ui-components/slideswitch/main.cpp
index ca3ffe9..4bcbff6 100644
--- a/examples/declarative/ui-components/slideswitch/main.cpp
+++ b/examples/declarative/ui-components/slideswitch/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/slideswitch.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/slideswitch/slideswitch.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/ui-components/slideswitch/qml/content/Switch.qml b/examples/declarative/ui-components/slideswitch/qml/content/Switch.qml
deleted file mode 100644
index 06d7a2b..0000000
--- a/examples/declarative/ui-components/slideswitch/qml/content/Switch.qml
+++ /dev/null
@@ -1,117 +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$
-**
-****************************************************************************/
-
-//![0]
-import QtQuick 1.0
-
-Item {
-    id: toggleswitch
-    width: background.width; height: background.height
-
-//![1]
-    property bool on: false
-//![1]
-
-//![2]
-    function toggle() {
-        if (toggleswitch.state == "on")
-            toggleswitch.state = "off";
-        else 
-            toggleswitch.state = "on";
-    }
-//![2]
-
-//![3]
-    function releaseSwitch() {
-        if (knob.x == 1) {
-            if (toggleswitch.state == "off") return;
-        }
-        if (knob.x == 78) {
-            if (toggleswitch.state == "on") return;
-        }
-        toggle();
-    }
-//![3]
-
-//![4]
-    Image {
-        id: background
-        source: "background.svg"
-        MouseArea { anchors.fill: parent; onClicked: toggle() }
-    }
-//![4]
-
-//![5]
-    Image {
-        id: knob
-        x: 1; y: 2
-        source: "knob.svg"
-
-        MouseArea {
-            anchors.fill: parent
-            drag.target: knob; drag.axis: Drag.XAxis; drag.minimumX: 1; drag.maximumX: 78
-            onClicked: toggle()
-            onReleased: releaseSwitch()
-        }
-    }
-//![5]
-
-//![6]
-    states: [
-        State {
-            name: "on"
-            PropertyChanges { target: knob; x: 78 }
-            PropertyChanges { target: toggleswitch; on: true }
-        },
-        State {
-            name: "off"
-            PropertyChanges { target: knob; x: 1 }
-            PropertyChanges { target: toggleswitch; on: false }
-        }
-    ]
-//![6]
-
-//![7]
-    transitions: Transition {
-        NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad; duration: 200 }
-    }
-//![7]
-}
-//![0]
diff --git a/examples/declarative/ui-components/slideswitch/qml/content/background.svg b/examples/declarative/ui-components/slideswitch/qml/content/background.svg
deleted file mode 100644
index f920d3e..0000000
--- a/examples/declarative/ui-components/slideswitch/qml/content/background.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="130px" height="56px" viewBox="0 0 130 56" enable-background="new 0 0 130 56" xml:space="preserve">
-<defs>
-</defs>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-37.5005" y1="-66" x2="-37.5005" y2="-121.9985" gradientTransform="matrix(1 0 0 -1 102.5 -66)">
-	<stop  offset="0.0056" style="stop-color:#000000"/>
-	<stop  offset="1" style="stop-color:#EAECEF"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M101.998,55.998H28c-15.439,0-28-12.562-28-28C0,12.56,12.561,0,28,0h73.998
-	c15.439,0,28,12.559,28,27.998C129.998,43.438,117.438,55.998,101.998,55.998L101.998,55.998z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-5.5" y1="-132.1338" x2="-69.5002" y2="-55.8613" gradientTransform="matrix(1 0 0 -1 102.5 -66)">
-	<stop  offset="0.0056" style="stop-color:#000000"/>
-	<stop  offset="1" style="stop-color:#828385"/>
-</linearGradient>
-<path fill="url(#SVGID_2_)" d="M127.999,27.998c0,14.359-11.642,26-26,26h-74c-14.359,0-26-11.641-26-26l0,0
-	c0-14.359,11.641-26,26-26h74C116.357,1.998,127.999,13.639,127.999,27.998L127.999,27.998z"/>
-</svg>
diff --git a/examples/declarative/ui-components/slideswitch/qml/content/knob.svg b/examples/declarative/ui-components/slideswitch/qml/content/knob.svg
deleted file mode 100644
index fb69337..0000000
--- a/examples/declarative/ui-components/slideswitch/qml/content/knob.svg
+++ /dev/null
@@ -1,867 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In  -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.1"
-   x="0px"
-   y="0px"
-   width="52px"
-   height="52px"
-   viewBox="0 0 52 52"
-   enable-background="new 0 0 52 52"
-   xml:space="preserve"
-   id="svg3883"
-   sodipodi:version="0.32"
-   inkscape:version="0.44.1"
-   sodipodi:docname="knob_on.svg"
-   sodipodi:docbase="/local/axel/embeddedwidgets/embeddedstories/skins/svgslideswitch/MetallicBrush"><metadata
-   id="metadata4200"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
-   inkscape:window-height="640"
-   inkscape:window-width="937"
-   inkscape:pageshadow="2"
-   inkscape:pageopacity="0.0"
-   guidetolerance="10.0"
-   gridtolerance="10.0"
-   objecttolerance="10.0"
-   borderopacity="1.0"
-   bordercolor="#666666"
-   pagecolor="#ffffff"
-   id="base"
-   inkscape:zoom="8.3653846"
-   inkscape:cx="26.000002"
-   inkscape:cy="26"
-   inkscape:window-x="0"
-   inkscape:window-y="0"
-   inkscape:current-layer="svg3883" />
-<defs
-   id="defs3885">
-</defs>
-<linearGradient
-   id="SVGID_1_"
-   gradientUnits="userSpaceOnUse"
-   x1="-59.7866"
-   y1="-115.917"
-   x2="-93.2123"
-   y2="-76.0818"
-   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
-	<stop
-   offset="0.0056"
-   style="stop-color:#000000"
-   id="stop3888" />
-	<stop
-   offset="1"
-   style="stop-color:#EAECEF"
-   id="stop3890" />
-</linearGradient>
-<circle
-   cx="26"
-   cy="26"
-   r="26"
-   id="circle3892"
-   style="fill:url(#SVGID_1_)"
-   sodipodi:cx="26"
-   sodipodi:cy="26"
-   sodipodi:rx="26"
-   sodipodi:ry="26"
-   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
-   id="SVGID_2_"
-   gradientUnits="userSpaceOnUse"
-   x1="-100.5"
-   y1="-96"
-   x2="-52.5"
-   y2="-96"
-   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
-	<stop
-   offset="0.0056"
-   style="stop-color:#8AADCE"
-   id="stop3895" />
-	<stop
-   offset="0.5"
-   style="stop-color:#EAECEF"
-   id="stop3897" />
-	<stop
-   offset="0.6043"
-   style="stop-color:#E7EAED"
-   id="stop3899" />
-	<stop
-   offset="0.6751"
-   style="stop-color:#DEE4E7"
-   id="stop3901" />
-	<stop
-   offset="0.7358"
-   style="stop-color:#CFD9DD"
-   id="stop3903" />
-	<stop
-   offset="0.791"
-   style="stop-color:#B9CACF"
-   id="stop3905" />
-	<stop
-   offset="0.8425"
-   style="stop-color:#9EB6BD"
-   id="stop3907" />
-	<stop
-   offset="0.891"
-   style="stop-color:#7B9EA7"
-   id="stop3909" />
-	<stop
-   offset="0.9374"
-   style="stop-color:#53828C"
-   id="stop3911" />
-	<stop
-   offset="0.9809"
-   style="stop-color:#25626E"
-   id="stop3913" />
-	<stop
-   offset="1"
-   style="stop-color:#0E525F"
-   id="stop3915" />
-</linearGradient>
-<circle
-   cx="26"
-   cy="26"
-   r="24"
-   id="circle3917"
-   style="fill:url(#SVGID_2_)"
-   sodipodi:cx="26"
-   sodipodi:cy="26"
-   sodipodi:rx="24"
-   sodipodi:ry="24"
-   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
-   id="SVGID_3_"
-   gradientUnits="userSpaceOnUse"
-   x1="-98.6328"
-   y1="-96"
-   x2="-54.3672"
-   y2="-96"
-   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
-	<stop
-   offset="0.0056"
-   style="stop-color:#8AADCE"
-   id="stop3920" />
-	<stop
-   offset="0.073"
-   style="stop-color:#8FAECB"
-   id="stop3922" />
-	<stop
-   offset="0.5"
-   style="stop-color:#EAECEF"
-   id="stop3924" />
-	<stop
-   offset="0.5902"
-   style="stop-color:#E7E9ED"
-   id="stop3926" />
-	<stop
-   offset="0.618"
-   style="stop-color:#E4E7EB"
-   id="stop3928" />
-	<stop
-   offset="0.6697"
-   style="stop-color:#E0E4E9"
-   id="stop3930" />
-	<stop
-   offset="0.7211"
-   style="stop-color:#D4DCE1"
-   id="stop3932" />
-	<stop
-   offset="0.7722"
-   style="stop-color:#C0CFD5"
-   id="stop3934" />
-	<stop
-   offset="0.809"
-   style="stop-color:#ADC2C9"
-   id="stop3936" />
-	<stop
-   offset="1"
-   style="stop-color:#0E525F"
-   id="stop3938" />
-</linearGradient>
-<circle
-   cx="26"
-   cy="26"
-   r="22.132999"
-   id="circle3940"
-   style="fill:url(#SVGID_3_)"
-   sodipodi:cx="26"
-   sodipodi:cy="26"
-   sodipodi:rx="22.132999"
-   sodipodi:ry="22.132999"
-   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
-   id="SVGID_4_"
-   gradientUnits="userSpaceOnUse"
-   x1="-96.7671"
-   y1="-96"
-   x2="-56.2324"
-   y2="-96"
-   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
-	<stop
-   offset="0.0056"
-   style="stop-color:#8AADCE"
-   id="stop3943" />
-	<stop
-   offset="0.073"
-   style="stop-color:#86A7C4"
-   id="stop3945" />
-	<stop
-   offset="0.5"
-   style="stop-color:#EAECEF"
-   id="stop3947" />
-	<stop
-   offset="0.577"
-   style="stop-color:#E7EAED"
-   id="stop3949" />
-	<stop
-   offset="0.618"
-   style="stop-color:#E1E6EA"
-   id="stop3951" />
-	<stop
-   offset="0.6697"
-   style="stop-color:#DDE3E8"
-   id="stop3953" />
-	<stop
-   offset="0.7211"
-   style="stop-color:#D1DBE1"
-   id="stop3955" />
-	<stop
-   offset="0.7722"
-   style="stop-color:#BDCDD5"
-   id="stop3957" />
-	<stop
-   offset="0.809"
-   style="stop-color:#AAC0CA"
-   id="stop3959" />
-	<stop
-   offset="1"
-   style="stop-color:#0E525F"
-   id="stop3961" />
-</linearGradient>
-<circle
-   cx="26"
-   cy="26"
-   r="20.267"
-   id="circle3963"
-   style="fill:url(#SVGID_4_)"
-   sodipodi:cx="26"
-   sodipodi:cy="26"
-   sodipodi:rx="20.267"
-   sodipodi:ry="20.267"
-   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
-   id="SVGID_5_"
-   gradientUnits="userSpaceOnUse"
-   x1="-94.8999"
-   y1="-96"
-   x2="-58.0996"
-   y2="-96"
-   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
-	<stop
-   offset="0.0056"
-   style="stop-color:#8AADCE"
-   id="stop3966" />
-	<stop
-   offset="0.073"
-   style="stop-color:#7E9FBC"
-   id="stop3968" />
-	<stop
-   offset="0.5"
-   style="stop-color:#EAECEF"
-   id="stop3970" />
-	<stop
-   offset="0.5709"
-   style="stop-color:#E6E9ED"
-   id="stop3972" />
-	<stop
-   offset="0.618"
-   style="stop-color:#DFE4E9"
-   id="stop3974" />
-	<stop
-   offset="0.6687"
-   style="stop-color:#DBE1E7"
-   id="stop3976" />
-	<stop
-   offset="0.7193"
-   style="stop-color:#CFD9E0"
-   id="stop3978" />
-	<stop
-   offset="0.7695"
-   style="stop-color:#BBCCD6"
-   id="stop3980" />
-	<stop
-   offset="0.809"
-   style="stop-color:#A6BECA"
-   id="stop3982" />
-	<stop
-   offset="1"
-   style="stop-color:#0E525F"
-   id="stop3984" />
-</linearGradient>
-<circle
-   cx="26"
-   cy="26"
-   r="18.4"
-   id="circle3986"
-   style="fill:url(#SVGID_5_)"
-   sodipodi:cx="26"
-   sodipodi:cy="26"
-   sodipodi:rx="18.4"
-   sodipodi:ry="18.4"
-   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
-   id="SVGID_6_"
-   gradientUnits="userSpaceOnUse"
-   x1="-93.0332"
-   y1="-96"
-   x2="-59.9668"
-   y2="-96"
-   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
-	<stop
-   offset="0.0056"
-   style="stop-color:#8AADCE"
-   id="stop3989" />
-	<stop
-   offset="0.073"
-   style="stop-color:#7697B4"
-   id="stop3991" />
-	<stop
-   offset="0.5"
-   style="stop-color:#EAECEF"
-   id="stop3993" />
-	<stop
-   offset="0.5636"
-   style="stop-color:#E6E9ED"
-   id="stop3995" />
-	<stop
-   offset="0.618"
-   style="stop-color:#DCE2E8"
-   id="stop3997" />
-	<stop
-   offset="0.6687"
-   style="stop-color:#D8DFE6"
-   id="stop3999" />
-	<stop
-   offset="0.7193"
-   style="stop-color:#CCD7E0"
-   id="stop4001" />
-	<stop
-   offset="0.7695"
-   style="stop-color:#B8CAD5"
-   id="stop4003" />
-	<stop
-   offset="0.809"
-   style="stop-color:#A3BCCA"
-   id="stop4005" />
-	<stop
-   offset="1"
-   style="stop-color:#0E525F"
-   id="stop4007" />
-</linearGradient>
-<circle
-   cx="26"
-   cy="26"
-   r="16.533001"
-   id="circle4009"
-   style="fill:url(#SVGID_6_)"
-   sodipodi:cx="26"
-   sodipodi:cy="26"
-   sodipodi:rx="16.533001"
-   sodipodi:ry="16.533001"
-   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
-   id="SVGID_7_"
-   gradientUnits="userSpaceOnUse"
-   x1="-91.167"
-   y1="-96"
-   x2="-61.833"
-   y2="-96"
-   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
-	<stop
-   offset="0.0056"
-   style="stop-color:#8AADCE"
-   id="stop4012" />
-	<stop
-   offset="0.073"
-   style="stop-color:#6D8FAD"
-   id="stop4014" />
-	<stop
-   offset="0.5"
-   style="stop-color:#EAECEF"
-   id="stop4016" />
-	<stop
-   offset="0.5605"
-   style="stop-color:#E5E8EC"
-   id="stop4018" />
-	<stop
-   offset="0.618"
-   style="stop-color:#DAE1E7"
-   id="stop4020" />
-	<stop
-   offset="0.6679"
-   style="stop-color:#D6DEE5"
-   id="stop4022" />
-	<stop
-   offset="0.7175"
-   style="stop-color:#CAD6DF"
-   id="stop4024" />
-	<stop
-   offset="0.7669"
-   style="stop-color:#B6C9D6"
-   id="stop4026" />
-	<stop
-   offset="0.809"
-   style="stop-color:#9FBACB"
-   id="stop4028" />
-	<stop
-   offset="1"
-   style="stop-color:#0E525F"
-   id="stop4030" />
-</linearGradient>
-<circle
-   cx="26"
-   cy="26"
-   r="14.667"
-   id="circle4032"
-   style="fill:url(#SVGID_7_)"
-   sodipodi:cx="26"
-   sodipodi:cy="26"
-   sodipodi:rx="14.667"
-   sodipodi:ry="14.667"
-   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
-   id="SVGID_8_"
-   gradientUnits="userSpaceOnUse"
-   x1="-89.2998"
-   y1="-96"
-   x2="-63.7002"
-   y2="-96"
-   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
-	<stop
-   offset="0.0056"
-   style="stop-color:#8AADCE"
-   id="stop4035" />
-	<stop
-   offset="0.073"
-   style="stop-color:#6587A5"
-   id="stop4037" />
-	<stop
-   offset="0.5"
-   style="stop-color:#EAECEF"
-   id="stop4039" />
-	<stop
-   offset="0.5588"
-   style="stop-color:#E4E8EC"
-   id="stop4041" />
-	<stop
-   offset="0.618"
-   style="stop-color:#D8DFE7"
-   id="stop4043" />
-	<stop
-   offset="0.6675"
-   style="stop-color:#D4DCE5"
-   id="stop4045" />
-	<stop
-   offset="0.7167"
-   style="stop-color:#C8D5E0"
-   id="stop4047" />
-	<stop
-   offset="0.7657"
-   style="stop-color:#B4C8D6"
-   id="stop4049" />
-	<stop
-   offset="0.809"
-   style="stop-color:#9CB8CB"
-   id="stop4051" />
-	<stop
-   offset="1"
-   style="stop-color:#0E525F"
-   id="stop4053" />
-</linearGradient>
-<circle
-   cx="26"
-   cy="26"
-   r="12.8"
-   id="circle4055"
-   style="fill:url(#SVGID_8_)"
-   sodipodi:cx="26"
-   sodipodi:cy="26"
-   sodipodi:rx="12.8"
-   sodipodi:ry="12.8"
-   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
-   id="SVGID_9_"
-   gradientUnits="userSpaceOnUse"
-   x1="-87.4331"
-   y1="-96"
-   x2="-65.5664"
-   y2="-96"
-   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
-	<stop
-   offset="0.0056"
-   style="stop-color:#8AADCE"
-   id="stop4058" />
-	<stop
-   offset="0.073"
-   style="stop-color:#5D809D"
-   id="stop4060" />
-	<stop
-   offset="0.5"
-   style="stop-color:#EAECEF"
-   id="stop4062" />
-	<stop
-   offset="0.5567"
-   style="stop-color:#E3E7EC"
-   id="stop4064" />
-	<stop
-   offset="0.618"
-   style="stop-color:#D5DDE6"
-   id="stop4066" />
-	<stop
-   offset="0.6671"
-   style="stop-color:#D1DAE4"
-   id="stop4068" />
-	<stop
-   offset="0.7159"
-   style="stop-color:#C5D3DF"
-   id="stop4070" />
-	<stop
-   offset="0.7645"
-   style="stop-color:#B1C6D6"
-   id="stop4072" />
-	<stop
-   offset="0.809"
-   style="stop-color:#98B5CB"
-   id="stop4074" />
-	<stop
-   offset="1"
-   style="stop-color:#0E525F"
-   id="stop4076" />
-</linearGradient>
-<circle
-   cx="26"
-   cy="26"
-   r="10.933"
-   id="circle4078"
-   style="fill:url(#SVGID_9_)"
-   sodipodi:cx="26"
-   sodipodi:cy="26"
-   sodipodi:rx="10.933"
-   sodipodi:ry="10.933"
-   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
-   id="SVGID_10_"
-   gradientUnits="userSpaceOnUse"
-   x1="-85.5659"
-   y1="-96"
-   x2="-67.4336"
-   y2="-96"
-   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
-	<stop
-   offset="0.0056"
-   style="stop-color:#8AADCE"
-   id="stop4081" />
-	<stop
-   offset="0.073"
-   style="stop-color:#547896"
-   id="stop4083" />
-	<stop
-   offset="0.5"
-   style="stop-color:#EAECEF"
-   id="stop4085" />
-	<stop
-   offset="0.5588"
-   style="stop-color:#E1E6EB"
-   id="stop4087" />
-	<stop
-   offset="0.618"
-   style="stop-color:#D3DCE5"
-   id="stop4089" />
-	<stop
-   offset="0.6663"
-   style="stop-color:#CFD9E3"
-   id="stop4091" />
-	<stop
-   offset="0.7143"
-   style="stop-color:#C3D2DF"
-   id="stop4093" />
-	<stop
-   offset="0.7621"
-   style="stop-color:#AFC5D7"
-   id="stop4095" />
-	<stop
-   offset="0.809"
-   style="stop-color:#94B3CC"
-   id="stop4097" />
-	<stop
-   offset="1"
-   style="stop-color:#0E525F"
-   id="stop4099" />
-</linearGradient>
-<circle
-   cx="26"
-   cy="26"
-   r="9.066"
-   id="circle4101"
-   style="fill:url(#SVGID_10_)"
-   sodipodi:cx="26"
-   sodipodi:cy="26"
-   sodipodi:rx="9.066"
-   sodipodi:ry="9.066"
-   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
-   id="SVGID_11_"
-   gradientUnits="userSpaceOnUse"
-   x1="-83.7002"
-   y1="-96"
-   x2="-69.2998"
-   y2="-96"
-   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
-	<stop
-   offset="0.0056"
-   style="stop-color:#8AADCE"
-   id="stop4104" />
-	<stop
-   offset="0.073"
-   style="stop-color:#4C708E"
-   id="stop4106" />
-	<stop
-   offset="0.5"
-   style="stop-color:#EAECEF"
-   id="stop4108" />
-	<stop
-   offset="0.5625"
-   style="stop-color:#DEE4EA"
-   id="stop4110" />
-	<stop
-   offset="0.618"
-   style="stop-color:#D0DAE4"
-   id="stop4112" />
-	<stop
-   offset="0.6663"
-   style="stop-color:#CCD7E2"
-   id="stop4114" />
-	<stop
-   offset="0.7143"
-   style="stop-color:#C0D0DE"
-   id="stop4116" />
-	<stop
-   offset="0.7621"
-   style="stop-color:#ACC3D6"
-   id="stop4118" />
-	<stop
-   offset="0.809"
-   style="stop-color:#91B1CC"
-   id="stop4120" />
-	<stop
-   offset="1"
-   style="stop-color:#0E525F"
-   id="stop4122" />
-</linearGradient>
-<circle
-   cx="26"
-   cy="26"
-   r="7.1999998"
-   id="circle4124"
-   style="fill:url(#SVGID_11_)"
-   sodipodi:cx="26"
-   sodipodi:cy="26"
-   sodipodi:rx="7.1999998"
-   sodipodi:ry="7.1999998"
-   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
-   id="SVGID_12_"
-   gradientUnits="userSpaceOnUse"
-   x1="-81.833"
-   y1="-96"
-   x2="-71.167"
-   y2="-96"
-   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
-	<stop
-   offset="0.0056"
-   style="stop-color:#8AADCE"
-   id="stop4127" />
-	<stop
-   offset="0.073"
-   style="stop-color:#446986"
-   id="stop4129" />
-	<stop
-   offset="0.5"
-   style="stop-color:#EAECEF"
-   id="stop4131" />
-	<stop
-   offset="0.5757"
-   style="stop-color:#D9E0E8"
-   id="stop4133" />
-	<stop
-   offset="0.618"
-   style="stop-color:#CED8E3"
-   id="stop4135" />
-	<stop
-   offset="0.6655"
-   style="stop-color:#CAD5E2"
-   id="stop4137" />
-	<stop
-   offset="0.7129"
-   style="stop-color:#BECEDD"
-   id="stop4139" />
-	<stop
-   offset="0.7601"
-   style="stop-color:#AAC1D6"
-   id="stop4141" />
-	<stop
-   offset="0.807"
-   style="stop-color:#8EB0CC"
-   id="stop4143" />
-	<stop
-   offset="0.809"
-   style="stop-color:#8DAFCC"
-   id="stop4145" />
-	<stop
-   offset="1"
-   style="stop-color:#0E525F"
-   id="stop4147" />
-</linearGradient>
-<circle
-   cx="26"
-   cy="26"
-   r="5.3330002"
-   id="circle4149"
-   style="fill:url(#SVGID_12_)"
-   sodipodi:cx="26"
-   sodipodi:cy="26"
-   sodipodi:rx="5.3330002"
-   sodipodi:ry="5.3330002"
-   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
-   id="SVGID_13_"
-   gradientUnits="userSpaceOnUse"
-   x1="-79.9658"
-   y1="-96"
-   x2="-73.0342"
-   y2="-96"
-   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
-	<stop
-   offset="0.0056"
-   style="stop-color:#8AADCE"
-   id="stop4152" />
-	<stop
-   offset="0.073"
-   style="stop-color:#3B617F"
-   id="stop4154" />
-	<stop
-   offset="0.5"
-   style="stop-color:#EAECEF"
-   id="stop4156" />
-	<stop
-   offset="0.6087"
-   style="stop-color:#CED9E3"
-   id="stop4158" />
-	<stop
-   offset="0.618"
-   style="stop-color:#CBD7E2"
-   id="stop4160" />
-	<stop
-   offset="0.6655"
-   style="stop-color:#C7D4E1"
-   id="stop4162" />
-	<stop
-   offset="0.7129"
-   style="stop-color:#BBCDDD"
-   id="stop4164" />
-	<stop
-   offset="0.7601"
-   style="stop-color:#A7C0D6"
-   id="stop4166" />
-	<stop
-   offset="0.807"
-   style="stop-color:#8BAECD"
-   id="stop4168" />
-	<stop
-   offset="0.809"
-   style="stop-color:#8AADCD"
-   id="stop4170" />
-	<stop
-   offset="1"
-   style="stop-color:#0E525F"
-   id="stop4172" />
-</linearGradient>
-<circle
-   cx="26"
-   cy="26"
-   r="3.4660001"
-   id="circle4174"
-   style="fill:url(#SVGID_13_)"
-   sodipodi:cx="26"
-   sodipodi:cy="26"
-   sodipodi:rx="3.4660001"
-   sodipodi:ry="3.4660001"
-   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
-   id="SVGID_14_"
-   gradientUnits="userSpaceOnUse"
-   x1="-78.1001"
-   y1="-96"
-   x2="-74.9004"
-   y2="-96"
-   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
-	<stop
-   offset="0.0056"
-   style="stop-color:#8AADCE"
-   id="stop4177" />
-	<stop
-   offset="0.073"
-   style="stop-color:#335977"
-   id="stop4179" />
-	<stop
-   offset="0.5"
-   style="stop-color:#EAECEF"
-   id="stop4181" />
-	<stop
-   offset="0.618"
-   style="stop-color:#C9D5E1"
-   id="stop4183" />
-	<stop
-   offset="0.6648"
-   style="stop-color:#C5D3E0"
-   id="stop4185" />
-	<stop
-   offset="0.7114"
-   style="stop-color:#B9CBDC"
-   id="stop4187" />
-	<stop
-   offset="0.758"
-   style="stop-color:#A5BFD6"
-   id="stop4189" />
-	<stop
-   offset="0.8042"
-   style="stop-color:#89ADCE"
-   id="stop4191" />
-	<stop
-   offset="0.809"
-   style="stop-color:#86ABCD"
-   id="stop4193" />
-	<stop
-   offset="1"
-   style="stop-color:#0E525F"
-   id="stop4195" />
-</linearGradient>
-<circle
-   cx="26"
-   cy="26"
-   r="1.6"
-   id="circle4197"
-   style="fill:url(#SVGID_14_)"
-   sodipodi:cx="26"
-   sodipodi:cy="26"
-   sodipodi:rx="1.6"
-   sodipodi:ry="1.6"
-   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-</svg>
\ No newline at end of file
diff --git a/examples/declarative/ui-components/slideswitch/qml/slideswitch.qml b/examples/declarative/ui-components/slideswitch/qml/slideswitch.qml
deleted file mode 100644
index 0472f9f..0000000
--- a/examples/declarative/ui-components/slideswitch/qml/slideswitch.qml
+++ /dev/null
@@ -1,51 +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
-import "content"
-
-Rectangle {
-    color: "white"
-    width: 400; height: 250
-
-//![0]
-    Switch { anchors.centerIn: parent; on: false }
-//![0]
-}
diff --git a/examples/declarative/ui-components/slideswitch/qml/slideswitch.qmlproject b/examples/declarative/ui-components/slideswitch/qml/slideswitch.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/ui-components/slideswitch/qml/slideswitch.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/ui-components/slideswitch/qml/slideswitch/content/Switch.qml b/examples/declarative/ui-components/slideswitch/qml/slideswitch/content/Switch.qml
new file mode 100644
index 0000000..06d7a2b
--- /dev/null
+++ b/examples/declarative/ui-components/slideswitch/qml/slideswitch/content/Switch.qml
@@ -0,0 +1,117 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+//![0]
+import QtQuick 1.0
+
+Item {
+    id: toggleswitch
+    width: background.width; height: background.height
+
+//![1]
+    property bool on: false
+//![1]
+
+//![2]
+    function toggle() {
+        if (toggleswitch.state == "on")
+            toggleswitch.state = "off";
+        else 
+            toggleswitch.state = "on";
+    }
+//![2]
+
+//![3]
+    function releaseSwitch() {
+        if (knob.x == 1) {
+            if (toggleswitch.state == "off") return;
+        }
+        if (knob.x == 78) {
+            if (toggleswitch.state == "on") return;
+        }
+        toggle();
+    }
+//![3]
+
+//![4]
+    Image {
+        id: background
+        source: "background.svg"
+        MouseArea { anchors.fill: parent; onClicked: toggle() }
+    }
+//![4]
+
+//![5]
+    Image {
+        id: knob
+        x: 1; y: 2
+        source: "knob.svg"
+
+        MouseArea {
+            anchors.fill: parent
+            drag.target: knob; drag.axis: Drag.XAxis; drag.minimumX: 1; drag.maximumX: 78
+            onClicked: toggle()
+            onReleased: releaseSwitch()
+        }
+    }
+//![5]
+
+//![6]
+    states: [
+        State {
+            name: "on"
+            PropertyChanges { target: knob; x: 78 }
+            PropertyChanges { target: toggleswitch; on: true }
+        },
+        State {
+            name: "off"
+            PropertyChanges { target: knob; x: 1 }
+            PropertyChanges { target: toggleswitch; on: false }
+        }
+    ]
+//![6]
+
+//![7]
+    transitions: Transition {
+        NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad; duration: 200 }
+    }
+//![7]
+}
+//![0]
diff --git a/examples/declarative/ui-components/slideswitch/qml/slideswitch/content/background.svg b/examples/declarative/ui-components/slideswitch/qml/slideswitch/content/background.svg
new file mode 100644
index 0000000..f920d3e
--- /dev/null
+++ b/examples/declarative/ui-components/slideswitch/qml/slideswitch/content/background.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="130px" height="56px" viewBox="0 0 130 56" enable-background="new 0 0 130 56" xml:space="preserve">
+<defs>
+</defs>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-37.5005" y1="-66" x2="-37.5005" y2="-121.9985" gradientTransform="matrix(1 0 0 -1 102.5 -66)">
+	<stop  offset="0.0056" style="stop-color:#000000"/>
+	<stop  offset="1" style="stop-color:#EAECEF"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M101.998,55.998H28c-15.439,0-28-12.562-28-28C0,12.56,12.561,0,28,0h73.998
+	c15.439,0,28,12.559,28,27.998C129.998,43.438,117.438,55.998,101.998,55.998L101.998,55.998z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-5.5" y1="-132.1338" x2="-69.5002" y2="-55.8613" gradientTransform="matrix(1 0 0 -1 102.5 -66)">
+	<stop  offset="0.0056" style="stop-color:#000000"/>
+	<stop  offset="1" style="stop-color:#828385"/>
+</linearGradient>
+<path fill="url(#SVGID_2_)" d="M127.999,27.998c0,14.359-11.642,26-26,26h-74c-14.359,0-26-11.641-26-26l0,0
+	c0-14.359,11.641-26,26-26h74C116.357,1.998,127.999,13.639,127.999,27.998L127.999,27.998z"/>
+</svg>
diff --git a/examples/declarative/ui-components/slideswitch/qml/slideswitch/content/knob.svg b/examples/declarative/ui-components/slideswitch/qml/slideswitch/content/knob.svg
new file mode 100644
index 0000000..fb69337
--- /dev/null
+++ b/examples/declarative/ui-components/slideswitch/qml/slideswitch/content/knob.svg
@@ -0,0 +1,867 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In  -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   x="0px"
+   y="0px"
+   width="52px"
+   height="52px"
+   viewBox="0 0 52 52"
+   enable-background="new 0 0 52 52"
+   xml:space="preserve"
+   id="svg3883"
+   sodipodi:version="0.32"
+   inkscape:version="0.44.1"
+   sodipodi:docname="knob_on.svg"
+   sodipodi:docbase="/local/axel/embeddedwidgets/embeddedstories/skins/svgslideswitch/MetallicBrush"><metadata
+   id="metadata4200"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+   inkscape:window-height="640"
+   inkscape:window-width="937"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   inkscape:zoom="8.3653846"
+   inkscape:cx="26.000002"
+   inkscape:cy="26"
+   inkscape:window-x="0"
+   inkscape:window-y="0"
+   inkscape:current-layer="svg3883" />
+<defs
+   id="defs3885">
+</defs>
+<linearGradient
+   id="SVGID_1_"
+   gradientUnits="userSpaceOnUse"
+   x1="-59.7866"
+   y1="-115.917"
+   x2="-93.2123"
+   y2="-76.0818"
+   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
+	<stop
+   offset="0.0056"
+   style="stop-color:#000000"
+   id="stop3888" />
+	<stop
+   offset="1"
+   style="stop-color:#EAECEF"
+   id="stop3890" />
+</linearGradient>
+<circle
+   cx="26"
+   cy="26"
+   r="26"
+   id="circle3892"
+   style="fill:url(#SVGID_1_)"
+   sodipodi:cx="26"
+   sodipodi:cy="26"
+   sodipodi:rx="26"
+   sodipodi:ry="26"
+   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
+<linearGradient
+   id="SVGID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="-100.5"
+   y1="-96"
+   x2="-52.5"
+   y2="-96"
+   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
+	<stop
+   offset="0.0056"
+   style="stop-color:#8AADCE"
+   id="stop3895" />
+	<stop
+   offset="0.5"
+   style="stop-color:#EAECEF"
+   id="stop3897" />
+	<stop
+   offset="0.6043"
+   style="stop-color:#E7EAED"
+   id="stop3899" />
+	<stop
+   offset="0.6751"
+   style="stop-color:#DEE4E7"
+   id="stop3901" />
+	<stop
+   offset="0.7358"
+   style="stop-color:#CFD9DD"
+   id="stop3903" />
+	<stop
+   offset="0.791"
+   style="stop-color:#B9CACF"
+   id="stop3905" />
+	<stop
+   offset="0.8425"
+   style="stop-color:#9EB6BD"
+   id="stop3907" />
+	<stop
+   offset="0.891"
+   style="stop-color:#7B9EA7"
+   id="stop3909" />
+	<stop
+   offset="0.9374"
+   style="stop-color:#53828C"
+   id="stop3911" />
+	<stop
+   offset="0.9809"
+   style="stop-color:#25626E"
+   id="stop3913" />
+	<stop
+   offset="1"
+   style="stop-color:#0E525F"
+   id="stop3915" />
+</linearGradient>
+<circle
+   cx="26"
+   cy="26"
+   r="24"
+   id="circle3917"
+   style="fill:url(#SVGID_2_)"
+   sodipodi:cx="26"
+   sodipodi:cy="26"
+   sodipodi:rx="24"
+   sodipodi:ry="24"
+   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
+<linearGradient
+   id="SVGID_3_"
+   gradientUnits="userSpaceOnUse"
+   x1="-98.6328"
+   y1="-96"
+   x2="-54.3672"
+   y2="-96"
+   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
+	<stop
+   offset="0.0056"
+   style="stop-color:#8AADCE"
+   id="stop3920" />
+	<stop
+   offset="0.073"
+   style="stop-color:#8FAECB"
+   id="stop3922" />
+	<stop
+   offset="0.5"
+   style="stop-color:#EAECEF"
+   id="stop3924" />
+	<stop
+   offset="0.5902"
+   style="stop-color:#E7E9ED"
+   id="stop3926" />
+	<stop
+   offset="0.618"
+   style="stop-color:#E4E7EB"
+   id="stop3928" />
+	<stop
+   offset="0.6697"
+   style="stop-color:#E0E4E9"
+   id="stop3930" />
+	<stop
+   offset="0.7211"
+   style="stop-color:#D4DCE1"
+   id="stop3932" />
+	<stop
+   offset="0.7722"
+   style="stop-color:#C0CFD5"
+   id="stop3934" />
+	<stop
+   offset="0.809"
+   style="stop-color:#ADC2C9"
+   id="stop3936" />
+	<stop
+   offset="1"
+   style="stop-color:#0E525F"
+   id="stop3938" />
+</linearGradient>
+<circle
+   cx="26"
+   cy="26"
+   r="22.132999"
+   id="circle3940"
+   style="fill:url(#SVGID_3_)"
+   sodipodi:cx="26"
+   sodipodi:cy="26"
+   sodipodi:rx="22.132999"
+   sodipodi:ry="22.132999"
+   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
+<linearGradient
+   id="SVGID_4_"
+   gradientUnits="userSpaceOnUse"
+   x1="-96.7671"
+   y1="-96"
+   x2="-56.2324"
+   y2="-96"
+   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
+	<stop
+   offset="0.0056"
+   style="stop-color:#8AADCE"
+   id="stop3943" />
+	<stop
+   offset="0.073"
+   style="stop-color:#86A7C4"
+   id="stop3945" />
+	<stop
+   offset="0.5"
+   style="stop-color:#EAECEF"
+   id="stop3947" />
+	<stop
+   offset="0.577"
+   style="stop-color:#E7EAED"
+   id="stop3949" />
+	<stop
+   offset="0.618"
+   style="stop-color:#E1E6EA"
+   id="stop3951" />
+	<stop
+   offset="0.6697"
+   style="stop-color:#DDE3E8"
+   id="stop3953" />
+	<stop
+   offset="0.7211"
+   style="stop-color:#D1DBE1"
+   id="stop3955" />
+	<stop
+   offset="0.7722"
+   style="stop-color:#BDCDD5"
+   id="stop3957" />
+	<stop
+   offset="0.809"
+   style="stop-color:#AAC0CA"
+   id="stop3959" />
+	<stop
+   offset="1"
+   style="stop-color:#0E525F"
+   id="stop3961" />
+</linearGradient>
+<circle
+   cx="26"
+   cy="26"
+   r="20.267"
+   id="circle3963"
+   style="fill:url(#SVGID_4_)"
+   sodipodi:cx="26"
+   sodipodi:cy="26"
+   sodipodi:rx="20.267"
+   sodipodi:ry="20.267"
+   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
+<linearGradient
+   id="SVGID_5_"
+   gradientUnits="userSpaceOnUse"
+   x1="-94.8999"
+   y1="-96"
+   x2="-58.0996"
+   y2="-96"
+   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
+	<stop
+   offset="0.0056"
+   style="stop-color:#8AADCE"
+   id="stop3966" />
+	<stop
+   offset="0.073"
+   style="stop-color:#7E9FBC"
+   id="stop3968" />
+	<stop
+   offset="0.5"
+   style="stop-color:#EAECEF"
+   id="stop3970" />
+	<stop
+   offset="0.5709"
+   style="stop-color:#E6E9ED"
+   id="stop3972" />
+	<stop
+   offset="0.618"
+   style="stop-color:#DFE4E9"
+   id="stop3974" />
+	<stop
+   offset="0.6687"
+   style="stop-color:#DBE1E7"
+   id="stop3976" />
+	<stop
+   offset="0.7193"
+   style="stop-color:#CFD9E0"
+   id="stop3978" />
+	<stop
+   offset="0.7695"
+   style="stop-color:#BBCCD6"
+   id="stop3980" />
+	<stop
+   offset="0.809"
+   style="stop-color:#A6BECA"
+   id="stop3982" />
+	<stop
+   offset="1"
+   style="stop-color:#0E525F"
+   id="stop3984" />
+</linearGradient>
+<circle
+   cx="26"
+   cy="26"
+   r="18.4"
+   id="circle3986"
+   style="fill:url(#SVGID_5_)"
+   sodipodi:cx="26"
+   sodipodi:cy="26"
+   sodipodi:rx="18.4"
+   sodipodi:ry="18.4"
+   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
+<linearGradient
+   id="SVGID_6_"
+   gradientUnits="userSpaceOnUse"
+   x1="-93.0332"
+   y1="-96"
+   x2="-59.9668"
+   y2="-96"
+   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
+	<stop
+   offset="0.0056"
+   style="stop-color:#8AADCE"
+   id="stop3989" />
+	<stop
+   offset="0.073"
+   style="stop-color:#7697B4"
+   id="stop3991" />
+	<stop
+   offset="0.5"
+   style="stop-color:#EAECEF"
+   id="stop3993" />
+	<stop
+   offset="0.5636"
+   style="stop-color:#E6E9ED"
+   id="stop3995" />
+	<stop
+   offset="0.618"
+   style="stop-color:#DCE2E8"
+   id="stop3997" />
+	<stop
+   offset="0.6687"
+   style="stop-color:#D8DFE6"
+   id="stop3999" />
+	<stop
+   offset="0.7193"
+   style="stop-color:#CCD7E0"
+   id="stop4001" />
+	<stop
+   offset="0.7695"
+   style="stop-color:#B8CAD5"
+   id="stop4003" />
+	<stop
+   offset="0.809"
+   style="stop-color:#A3BCCA"
+   id="stop4005" />
+	<stop
+   offset="1"
+   style="stop-color:#0E525F"
+   id="stop4007" />
+</linearGradient>
+<circle
+   cx="26"
+   cy="26"
+   r="16.533001"
+   id="circle4009"
+   style="fill:url(#SVGID_6_)"
+   sodipodi:cx="26"
+   sodipodi:cy="26"
+   sodipodi:rx="16.533001"
+   sodipodi:ry="16.533001"
+   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
+<linearGradient
+   id="SVGID_7_"
+   gradientUnits="userSpaceOnUse"
+   x1="-91.167"
+   y1="-96"
+   x2="-61.833"
+   y2="-96"
+   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
+	<stop
+   offset="0.0056"
+   style="stop-color:#8AADCE"
+   id="stop4012" />
+	<stop
+   offset="0.073"
+   style="stop-color:#6D8FAD"
+   id="stop4014" />
+	<stop
+   offset="0.5"
+   style="stop-color:#EAECEF"
+   id="stop4016" />
+	<stop
+   offset="0.5605"
+   style="stop-color:#E5E8EC"
+   id="stop4018" />
+	<stop
+   offset="0.618"
+   style="stop-color:#DAE1E7"
+   id="stop4020" />
+	<stop
+   offset="0.6679"
+   style="stop-color:#D6DEE5"
+   id="stop4022" />
+	<stop
+   offset="0.7175"
+   style="stop-color:#CAD6DF"
+   id="stop4024" />
+	<stop
+   offset="0.7669"
+   style="stop-color:#B6C9D6"
+   id="stop4026" />
+	<stop
+   offset="0.809"
+   style="stop-color:#9FBACB"
+   id="stop4028" />
+	<stop
+   offset="1"
+   style="stop-color:#0E525F"
+   id="stop4030" />
+</linearGradient>
+<circle
+   cx="26"
+   cy="26"
+   r="14.667"
+   id="circle4032"
+   style="fill:url(#SVGID_7_)"
+   sodipodi:cx="26"
+   sodipodi:cy="26"
+   sodipodi:rx="14.667"
+   sodipodi:ry="14.667"
+   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
+<linearGradient
+   id="SVGID_8_"
+   gradientUnits="userSpaceOnUse"
+   x1="-89.2998"
+   y1="-96"
+   x2="-63.7002"
+   y2="-96"
+   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
+	<stop
+   offset="0.0056"
+   style="stop-color:#8AADCE"
+   id="stop4035" />
+	<stop
+   offset="0.073"
+   style="stop-color:#6587A5"
+   id="stop4037" />
+	<stop
+   offset="0.5"
+   style="stop-color:#EAECEF"
+   id="stop4039" />
+	<stop
+   offset="0.5588"
+   style="stop-color:#E4E8EC"
+   id="stop4041" />
+	<stop
+   offset="0.618"
+   style="stop-color:#D8DFE7"
+   id="stop4043" />
+	<stop
+   offset="0.6675"
+   style="stop-color:#D4DCE5"
+   id="stop4045" />
+	<stop
+   offset="0.7167"
+   style="stop-color:#C8D5E0"
+   id="stop4047" />
+	<stop
+   offset="0.7657"
+   style="stop-color:#B4C8D6"
+   id="stop4049" />
+	<stop
+   offset="0.809"
+   style="stop-color:#9CB8CB"
+   id="stop4051" />
+	<stop
+   offset="1"
+   style="stop-color:#0E525F"
+   id="stop4053" />
+</linearGradient>
+<circle
+   cx="26"
+   cy="26"
+   r="12.8"
+   id="circle4055"
+   style="fill:url(#SVGID_8_)"
+   sodipodi:cx="26"
+   sodipodi:cy="26"
+   sodipodi:rx="12.8"
+   sodipodi:ry="12.8"
+   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
+<linearGradient
+   id="SVGID_9_"
+   gradientUnits="userSpaceOnUse"
+   x1="-87.4331"
+   y1="-96"
+   x2="-65.5664"
+   y2="-96"
+   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
+	<stop
+   offset="0.0056"
+   style="stop-color:#8AADCE"
+   id="stop4058" />
+	<stop
+   offset="0.073"
+   style="stop-color:#5D809D"
+   id="stop4060" />
+	<stop
+   offset="0.5"
+   style="stop-color:#EAECEF"
+   id="stop4062" />
+	<stop
+   offset="0.5567"
+   style="stop-color:#E3E7EC"
+   id="stop4064" />
+	<stop
+   offset="0.618"
+   style="stop-color:#D5DDE6"
+   id="stop4066" />
+	<stop
+   offset="0.6671"
+   style="stop-color:#D1DAE4"
+   id="stop4068" />
+	<stop
+   offset="0.7159"
+   style="stop-color:#C5D3DF"
+   id="stop4070" />
+	<stop
+   offset="0.7645"
+   style="stop-color:#B1C6D6"
+   id="stop4072" />
+	<stop
+   offset="0.809"
+   style="stop-color:#98B5CB"
+   id="stop4074" />
+	<stop
+   offset="1"
+   style="stop-color:#0E525F"
+   id="stop4076" />
+</linearGradient>
+<circle
+   cx="26"
+   cy="26"
+   r="10.933"
+   id="circle4078"
+   style="fill:url(#SVGID_9_)"
+   sodipodi:cx="26"
+   sodipodi:cy="26"
+   sodipodi:rx="10.933"
+   sodipodi:ry="10.933"
+   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
+<linearGradient
+   id="SVGID_10_"
+   gradientUnits="userSpaceOnUse"
+   x1="-85.5659"
+   y1="-96"
+   x2="-67.4336"
+   y2="-96"
+   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
+	<stop
+   offset="0.0056"
+   style="stop-color:#8AADCE"
+   id="stop4081" />
+	<stop
+   offset="0.073"
+   style="stop-color:#547896"
+   id="stop4083" />
+	<stop
+   offset="0.5"
+   style="stop-color:#EAECEF"
+   id="stop4085" />
+	<stop
+   offset="0.5588"
+   style="stop-color:#E1E6EB"
+   id="stop4087" />
+	<stop
+   offset="0.618"
+   style="stop-color:#D3DCE5"
+   id="stop4089" />
+	<stop
+   offset="0.6663"
+   style="stop-color:#CFD9E3"
+   id="stop4091" />
+	<stop
+   offset="0.7143"
+   style="stop-color:#C3D2DF"
+   id="stop4093" />
+	<stop
+   offset="0.7621"
+   style="stop-color:#AFC5D7"
+   id="stop4095" />
+	<stop
+   offset="0.809"
+   style="stop-color:#94B3CC"
+   id="stop4097" />
+	<stop
+   offset="1"
+   style="stop-color:#0E525F"
+   id="stop4099" />
+</linearGradient>
+<circle
+   cx="26"
+   cy="26"
+   r="9.066"
+   id="circle4101"
+   style="fill:url(#SVGID_10_)"
+   sodipodi:cx="26"
+   sodipodi:cy="26"
+   sodipodi:rx="9.066"
+   sodipodi:ry="9.066"
+   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
+<linearGradient
+   id="SVGID_11_"
+   gradientUnits="userSpaceOnUse"
+   x1="-83.7002"
+   y1="-96"
+   x2="-69.2998"
+   y2="-96"
+   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
+	<stop
+   offset="0.0056"
+   style="stop-color:#8AADCE"
+   id="stop4104" />
+	<stop
+   offset="0.073"
+   style="stop-color:#4C708E"
+   id="stop4106" />
+	<stop
+   offset="0.5"
+   style="stop-color:#EAECEF"
+   id="stop4108" />
+	<stop
+   offset="0.5625"
+   style="stop-color:#DEE4EA"
+   id="stop4110" />
+	<stop
+   offset="0.618"
+   style="stop-color:#D0DAE4"
+   id="stop4112" />
+	<stop
+   offset="0.6663"
+   style="stop-color:#CCD7E2"
+   id="stop4114" />
+	<stop
+   offset="0.7143"
+   style="stop-color:#C0D0DE"
+   id="stop4116" />
+	<stop
+   offset="0.7621"
+   style="stop-color:#ACC3D6"
+   id="stop4118" />
+	<stop
+   offset="0.809"
+   style="stop-color:#91B1CC"
+   id="stop4120" />
+	<stop
+   offset="1"
+   style="stop-color:#0E525F"
+   id="stop4122" />
+</linearGradient>
+<circle
+   cx="26"
+   cy="26"
+   r="7.1999998"
+   id="circle4124"
+   style="fill:url(#SVGID_11_)"
+   sodipodi:cx="26"
+   sodipodi:cy="26"
+   sodipodi:rx="7.1999998"
+   sodipodi:ry="7.1999998"
+   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
+<linearGradient
+   id="SVGID_12_"
+   gradientUnits="userSpaceOnUse"
+   x1="-81.833"
+   y1="-96"
+   x2="-71.167"
+   y2="-96"
+   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
+	<stop
+   offset="0.0056"
+   style="stop-color:#8AADCE"
+   id="stop4127" />
+	<stop
+   offset="0.073"
+   style="stop-color:#446986"
+   id="stop4129" />
+	<stop
+   offset="0.5"
+   style="stop-color:#EAECEF"
+   id="stop4131" />
+	<stop
+   offset="0.5757"
+   style="stop-color:#D9E0E8"
+   id="stop4133" />
+	<stop
+   offset="0.618"
+   style="stop-color:#CED8E3"
+   id="stop4135" />
+	<stop
+   offset="0.6655"
+   style="stop-color:#CAD5E2"
+   id="stop4137" />
+	<stop
+   offset="0.7129"
+   style="stop-color:#BECEDD"
+   id="stop4139" />
+	<stop
+   offset="0.7601"
+   style="stop-color:#AAC1D6"
+   id="stop4141" />
+	<stop
+   offset="0.807"
+   style="stop-color:#8EB0CC"
+   id="stop4143" />
+	<stop
+   offset="0.809"
+   style="stop-color:#8DAFCC"
+   id="stop4145" />
+	<stop
+   offset="1"
+   style="stop-color:#0E525F"
+   id="stop4147" />
+</linearGradient>
+<circle
+   cx="26"
+   cy="26"
+   r="5.3330002"
+   id="circle4149"
+   style="fill:url(#SVGID_12_)"
+   sodipodi:cx="26"
+   sodipodi:cy="26"
+   sodipodi:rx="5.3330002"
+   sodipodi:ry="5.3330002"
+   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
+<linearGradient
+   id="SVGID_13_"
+   gradientUnits="userSpaceOnUse"
+   x1="-79.9658"
+   y1="-96"
+   x2="-73.0342"
+   y2="-96"
+   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
+	<stop
+   offset="0.0056"
+   style="stop-color:#8AADCE"
+   id="stop4152" />
+	<stop
+   offset="0.073"
+   style="stop-color:#3B617F"
+   id="stop4154" />
+	<stop
+   offset="0.5"
+   style="stop-color:#EAECEF"
+   id="stop4156" />
+	<stop
+   offset="0.6087"
+   style="stop-color:#CED9E3"
+   id="stop4158" />
+	<stop
+   offset="0.618"
+   style="stop-color:#CBD7E2"
+   id="stop4160" />
+	<stop
+   offset="0.6655"
+   style="stop-color:#C7D4E1"
+   id="stop4162" />
+	<stop
+   offset="0.7129"
+   style="stop-color:#BBCDDD"
+   id="stop4164" />
+	<stop
+   offset="0.7601"
+   style="stop-color:#A7C0D6"
+   id="stop4166" />
+	<stop
+   offset="0.807"
+   style="stop-color:#8BAECD"
+   id="stop4168" />
+	<stop
+   offset="0.809"
+   style="stop-color:#8AADCD"
+   id="stop4170" />
+	<stop
+   offset="1"
+   style="stop-color:#0E525F"
+   id="stop4172" />
+</linearGradient>
+<circle
+   cx="26"
+   cy="26"
+   r="3.4660001"
+   id="circle4174"
+   style="fill:url(#SVGID_13_)"
+   sodipodi:cx="26"
+   sodipodi:cy="26"
+   sodipodi:rx="3.4660001"
+   sodipodi:ry="3.4660001"
+   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
+<linearGradient
+   id="SVGID_14_"
+   gradientUnits="userSpaceOnUse"
+   x1="-78.1001"
+   y1="-96"
+   x2="-74.9004"
+   y2="-96"
+   gradientTransform="matrix(1,0,0,-1,102.5,-70)">
+	<stop
+   offset="0.0056"
+   style="stop-color:#8AADCE"
+   id="stop4177" />
+	<stop
+   offset="0.073"
+   style="stop-color:#335977"
+   id="stop4179" />
+	<stop
+   offset="0.5"
+   style="stop-color:#EAECEF"
+   id="stop4181" />
+	<stop
+   offset="0.618"
+   style="stop-color:#C9D5E1"
+   id="stop4183" />
+	<stop
+   offset="0.6648"
+   style="stop-color:#C5D3E0"
+   id="stop4185" />
+	<stop
+   offset="0.7114"
+   style="stop-color:#B9CBDC"
+   id="stop4187" />
+	<stop
+   offset="0.758"
+   style="stop-color:#A5BFD6"
+   id="stop4189" />
+	<stop
+   offset="0.8042"
+   style="stop-color:#89ADCE"
+   id="stop4191" />
+	<stop
+   offset="0.809"
+   style="stop-color:#86ABCD"
+   id="stop4193" />
+	<stop
+   offset="1"
+   style="stop-color:#0E525F"
+   id="stop4195" />
+</linearGradient>
+<circle
+   cx="26"
+   cy="26"
+   r="1.6"
+   id="circle4197"
+   style="fill:url(#SVGID_14_)"
+   sodipodi:cx="26"
+   sodipodi:cy="26"
+   sodipodi:rx="1.6"
+   sodipodi:ry="1.6"
+   transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
+</svg>
\ No newline at end of file
diff --git a/examples/declarative/ui-components/slideswitch/qml/slideswitch/slideswitch.qml b/examples/declarative/ui-components/slideswitch/qml/slideswitch/slideswitch.qml
new file mode 100644
index 0000000..0472f9f
--- /dev/null
+++ b/examples/declarative/ui-components/slideswitch/qml/slideswitch/slideswitch.qml
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** 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
+import "content"
+
+Rectangle {
+    color: "white"
+    width: 400; height: 250
+
+//![0]
+    Switch { anchors.centerIn: parent; on: false }
+//![0]
+}
diff --git a/examples/declarative/ui-components/slideswitch/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/ui-components/slideswitch/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/ui-components/slideswitch/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/ui-components/slideswitch/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/ui-components/slideswitch/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/ui-components/slideswitch/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/ui-components/slideswitch/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/ui-components/slideswitch/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/ui-components/slideswitch/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/ui-components/slideswitch/slideswitch.pro b/examples/declarative/ui-components/slideswitch/slideswitch.pro
index 230281b..c4dbec1 100644
--- a/examples/declarative/ui-components/slideswitch/slideswitch.pro
+++ b/examples/declarative/ui-components/slideswitch/slideswitch.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/slideswitch
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xEAB2005A
 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/ui-components/slideswitch/slideswitch.qml b/examples/declarative/ui-components/slideswitch/slideswitch.qml
deleted file mode 100644
index 0a869b5..0000000
--- a/examples/declarative/ui-components/slideswitch/slideswitch.qml
+++ /dev/null
@@ -1,51 +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
-import "content"
-
-Rectangle {
-    color: "white"
-    width: 400; height: 250
-
-//![0]
-    Switch { anchors.centerIn: parent; on: false }
-//![0]
-}
diff --git a/examples/declarative/ui-components/slideswitch/slideswitch.qmlproject b/examples/declarative/ui-components/slideswitch/slideswitch.qmlproject
new file mode 100644
index 0000000..f0a23e0
--- /dev/null
+++ b/examples/declarative/ui-components/slideswitch/slideswitch.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/slideswitch"
+    }
+    JavaScriptFiles {
+        directory: "qml/slideswitch"
+    }
+    ImageFiles {
+        directory: "qml/slideswitch"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
-- 
cgit v0.12


From eb5b52e9e48d7c5b25302d0c6fbff1b82e4a0464 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:09 +0100
Subject: ui-components/spinner example modifications

Modified the example 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>
---
 .../ui-components/spinner/content/Spinner.qml      |  70 ----------------
 .../declarative/ui-components/spinner/main.cpp     |  54 ++++++++++++
 .../declarative/ui-components/spinner/main.qml     |  61 --------------
 .../ui-components/spinner/qml/spinner/main.qml     |  61 ++++++++++++++
 .../ui-components/spinner/spinner.desktop          |  11 +++
 .../declarative/ui-components/spinner/spinner.pro  |  37 ++++++++
 .../ui-components/spinner/spinner.qmlproject       |   6 +-
 .../declarative/ui-components/spinner/spinner.svg  |  93 +++++++++++++++++++++
 .../ui-components/spinner/spinner64.png            | Bin 0 -> 3400 bytes
 .../ui-components/spinner/spinner80.png            | Bin 0 -> 4945 bytes
 .../spinner/spinner_harmattan.desktop              |  11 +++
 11 files changed, 270 insertions(+), 134 deletions(-)
 delete mode 100644 examples/declarative/ui-components/spinner/content/Spinner.qml
 create mode 100644 examples/declarative/ui-components/spinner/main.cpp
 delete mode 100644 examples/declarative/ui-components/spinner/main.qml
 create mode 100644 examples/declarative/ui-components/spinner/qml/spinner/main.qml
 create mode 100644 examples/declarative/ui-components/spinner/spinner.desktop
 create mode 100644 examples/declarative/ui-components/spinner/spinner.pro
 create mode 100644 examples/declarative/ui-components/spinner/spinner.svg
 create mode 100644 examples/declarative/ui-components/spinner/spinner64.png
 create mode 100644 examples/declarative/ui-components/spinner/spinner80.png
 create mode 100644 examples/declarative/ui-components/spinner/spinner_harmattan.desktop

diff --git a/examples/declarative/ui-components/spinner/content/Spinner.qml b/examples/declarative/ui-components/spinner/content/Spinner.qml
deleted file mode 100644
index 73b6431..0000000
--- a/examples/declarative/ui-components/spinner/content/Spinner.qml
+++ /dev/null
@@ -1,70 +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
-
-Image {
-    property alias model: view.model
-    property alias delegate: view.delegate
-    property alias currentIndex: view.currentIndex
-    property real itemHeight: 30
-
-    source: "spinner-bg.png"
-    clip: true
-
-    PathView {
-        id: view
-        anchors.fill: parent
-
-        pathItemCount: height/itemHeight
-        preferredHighlightBegin: 0.5
-        preferredHighlightEnd: 0.5
-        highlight: Image { source: "spinner-select.png"; width: view.width; height: itemHeight+4 }
-        dragMargin: view.width/2
-
-        path: Path {
-            startX: view.width/2; startY: -itemHeight/2
-            PathLine { x: view.width/2; y: view.pathItemCount*itemHeight + itemHeight }
-        }
-    }
-
-    Keys.onDownPressed: view.incrementCurrentIndex()
-    Keys.onUpPressed: view.decrementCurrentIndex()
-}
diff --git a/examples/declarative/ui-components/spinner/main.cpp b/examples/declarative/ui-components/spinner/main.cpp
new file mode 100644
index 0000000..969d963
--- /dev/null
+++ b/examples/declarative/ui-components/spinner/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include "qmlapplicationviewer.h"
+#include <QtGui/QApplication>
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/spinner/main.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/examples/declarative/ui-components/spinner/main.qml b/examples/declarative/ui-components/spinner/main.qml
deleted file mode 100644
index 89333ec..0000000
--- a/examples/declarative/ui-components/spinner/main.qml
+++ /dev/null
@@ -1,61 +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
-import "content"
-
-Rectangle {
-    width: 240; height: 320
-
-    Column {
-        y: 20; x: 20; spacing: 20
-
-        Spinner {
-            id: spinner
-            width: 200; height: 240
-            focus: true
-            model: 20
-            itemHeight: 30
-            delegate: Text { font.pixelSize: 25; text: index; height: 30 }
-        }
-
-        Text { text: "Current item index: " + spinner.currentIndex }
-    }
-}
diff --git a/examples/declarative/ui-components/spinner/qml/spinner/main.qml b/examples/declarative/ui-components/spinner/qml/spinner/main.qml
new file mode 100644
index 0000000..69c6131
--- /dev/null
+++ b/examples/declarative/ui-components/spinner/qml/spinner/main.qml
@@ -0,0 +1,61 @@
+/****************************************************************************
+**
+** 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
+import "../../content"
+
+Rectangle {
+    width: 240; height: 320
+
+    Column {
+        y: 20; x: 20; spacing: 20
+
+        Spinner {
+            id: spinner
+            width: 200; height: 240
+            focus: true
+            model: 20
+            itemHeight: 30
+            delegate: Text { font.pixelSize: 25; text: index; height: 30 }
+        }
+
+        Text { text: "Current item index: " + spinner.currentIndex }
+    }
+}
diff --git a/examples/declarative/ui-components/spinner/spinner.desktop b/examples/declarative/ui-components/spinner/spinner.desktop
new file mode 100644
index 0000000..34003eb
--- /dev/null
+++ b/examples/declarative/ui-components/spinner/spinner.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=spinner
+Exec=/opt/spinner/bin/spinner
+Icon=spinner64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/ui-components/spinner/spinner.pro b/examples/declarative/ui-components/spinner/spinner.pro
new file mode 100644
index 0000000..ffb0f76
--- /dev/null
+++ b/examples/declarative/ui-components/spinner/spinner.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/spinner
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xEEEC8761
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/ui-components/spinner/spinner.qmlproject b/examples/declarative/ui-components/spinner/spinner.qmlproject
index d4909f8..2b40309 100644
--- a/examples/declarative/ui-components/spinner/spinner.qmlproject
+++ b/examples/declarative/ui-components/spinner/spinner.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/spinner"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/spinner"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/spinner"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/examples/declarative/ui-components/spinner/spinner.svg b/examples/declarative/ui-components/spinner/spinner.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/examples/declarative/ui-components/spinner/spinner.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/examples/declarative/ui-components/spinner/spinner64.png b/examples/declarative/ui-components/spinner/spinner64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/examples/declarative/ui-components/spinner/spinner64.png differ
diff --git a/examples/declarative/ui-components/spinner/spinner80.png b/examples/declarative/ui-components/spinner/spinner80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/examples/declarative/ui-components/spinner/spinner80.png differ
diff --git a/examples/declarative/ui-components/spinner/spinner_harmattan.desktop b/examples/declarative/ui-components/spinner/spinner_harmattan.desktop
new file mode 100644
index 0000000..0b4c13b
--- /dev/null
+++ b/examples/declarative/ui-components/spinner/spinner_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=spinner
+Exec=/usr/bin/single-instance /opt/spinner/bin/spinner
+Icon=/usr/share/icons/hicolor/80x80/apps/spinner80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
-- 
cgit v0.12


From 86d16bedd3b02745392ef7d7414716e89cbc9832 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:10 +0100
Subject: ui-components/tabwidget example modifications

Modified the example 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>
---
 .../ui-components/tabwidget/TabWidget.qml          | 102 ---------------------
 .../declarative/ui-components/tabwidget/main.cpp   |  54 +++++++++++
 .../declarative/ui-components/tabwidget/main.qml   |  99 --------------------
 .../tabwidget/qml/tabwidget/TabWidget.qml          | 102 +++++++++++++++++++++
 .../ui-components/tabwidget/qml/tabwidget/main.qml |  99 ++++++++++++++++++++
 .../ui-components/tabwidget/qml/tabwidget/tab.png  | Bin 0 -> 507 bytes
 .../ui-components/tabwidget/tabwidget.desktop      |  11 +++
 .../ui-components/tabwidget/tabwidget.pro          |  37 ++++++++
 .../ui-components/tabwidget/tabwidget.qmlproject   |   6 +-
 .../ui-components/tabwidget/tabwidget.svg          |  93 +++++++++++++++++++
 .../ui-components/tabwidget/tabwidget64.png        | Bin 0 -> 3400 bytes
 .../ui-components/tabwidget/tabwidget80.png        | Bin 0 -> 4945 bytes
 .../tabwidget/tabwidget_harmattan.desktop          |  11 +++
 13 files changed, 410 insertions(+), 204 deletions(-)
 delete mode 100644 examples/declarative/ui-components/tabwidget/TabWidget.qml
 create mode 100644 examples/declarative/ui-components/tabwidget/main.cpp
 delete mode 100644 examples/declarative/ui-components/tabwidget/main.qml
 create mode 100644 examples/declarative/ui-components/tabwidget/qml/tabwidget/TabWidget.qml
 create mode 100644 examples/declarative/ui-components/tabwidget/qml/tabwidget/main.qml
 create mode 100644 examples/declarative/ui-components/tabwidget/qml/tabwidget/tab.png
 create mode 100644 examples/declarative/ui-components/tabwidget/tabwidget.desktop
 create mode 100644 examples/declarative/ui-components/tabwidget/tabwidget.pro
 create mode 100644 examples/declarative/ui-components/tabwidget/tabwidget.svg
 create mode 100644 examples/declarative/ui-components/tabwidget/tabwidget64.png
 create mode 100644 examples/declarative/ui-components/tabwidget/tabwidget80.png
 create mode 100644 examples/declarative/ui-components/tabwidget/tabwidget_harmattan.desktop

diff --git a/examples/declarative/ui-components/tabwidget/TabWidget.qml b/examples/declarative/ui-components/tabwidget/TabWidget.qml
deleted file mode 100644
index fe838b5..0000000
--- a/examples/declarative/ui-components/tabwidget/TabWidget.qml
+++ /dev/null
@@ -1,102 +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
-
-Item {
-    id: tabWidget
-
-    // Setting the default property to stack.children means any child items
-    // of the TabWidget are actually added to the 'stack' item's children.
-    // See the "Property Binding"
-    // documentation for details on default properties.
-    default property alias content: stack.children
-
-    property int current: 0
-
-    onCurrentChanged: setOpacities()
-    Component.onCompleted: setOpacities()
-
-    function setOpacities() {
-        for (var i = 0; i < stack.children.length; ++i) {
-            stack.children[i].opacity = (i == current ? 1 : 0)
-        }
-    }
-
-    Row {
-        id: header
-
-        Repeater {
-            model: stack.children.length
-            delegate: Rectangle {
-                width: tabWidget.width / stack.children.length; height: 36
-
-                Rectangle {
-                    width: parent.width; height: 1
-                    anchors { bottom: parent.bottom; bottomMargin: 1 }
-                    color: "#acb2c2"
-                }
-                BorderImage {
-                    anchors { fill: parent; leftMargin: 2; topMargin: 5; rightMargin: 1 }
-                    border { left: 7; right: 7 }
-                    source: "tab.png"
-                    visible: tabWidget.current == index
-                }
-                Text {
-                    horizontalAlignment: Qt.AlignHCenter; verticalAlignment: Qt.AlignVCenter
-                    anchors.fill: parent
-                    text: stack.children[index].title
-                    elide: Text.ElideRight
-                    font.bold: tabWidget.current == index
-                }
-                MouseArea {
-                    anchors.fill: parent
-                    onClicked: tabWidget.current = index
-                }
-            }
-        }
-    }
-
-    Item {
-        id: stack
-        width: tabWidget.width
-        anchors.top: header.bottom; anchors.bottom: tabWidget.bottom
-    }
-}
diff --git a/examples/declarative/ui-components/tabwidget/main.cpp b/examples/declarative/ui-components/tabwidget/main.cpp
new file mode 100644
index 0000000..4cb15f7
--- /dev/null
+++ b/examples/declarative/ui-components/tabwidget/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include "qmlapplicationviewer.h"
+#include <QtGui/QApplication>
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/tabwidget/main.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/examples/declarative/ui-components/tabwidget/main.qml b/examples/declarative/ui-components/tabwidget/main.qml
deleted file mode 100644
index 9367862..0000000
--- a/examples/declarative/ui-components/tabwidget/main.qml
+++ /dev/null
@@ -1,99 +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
-
-TabWidget {
-    id: tabs
-    width: 640; height: 480
-
-    Rectangle {
-        property string title: "Red"
-        anchors.fill: parent
-        color: "#e3e3e3"
-
-        Rectangle {
-            anchors.fill: parent; anchors.margins: 20
-            color: "#ff7f7f"
-            Text {
-                width: parent.width - 20
-                anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
-                text: "Roses are red"
-                font.pixelSize: 20
-                wrapMode: Text.WordWrap
-            }
-        }
-    }
-
-    Rectangle {
-        property string title: "Green"
-        anchors.fill: parent
-        color: "#e3e3e3"
-
-        Rectangle {
-            anchors.fill: parent; anchors.margins: 20
-            color: "#7fff7f"
-            Text {
-                width: parent.width - 20
-                anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
-                text: "Flower stems are green"
-                font.pixelSize: 20
-                wrapMode: Text.WordWrap
-            }
-        }
-    }
-
-    Rectangle {
-        property string title: "Blue"
-        anchors.fill: parent; color: "#e3e3e3"
-
-        Rectangle {
-            anchors.fill: parent; anchors.margins: 20
-            color: "#7f7fff"
-            Text {
-                width: parent.width - 20
-                anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
-                text: "Violets are blue"
-                font.pixelSize: 20
-                wrapMode: Text.WordWrap
-            }
-        }
-    }
-}
diff --git a/examples/declarative/ui-components/tabwidget/qml/tabwidget/TabWidget.qml b/examples/declarative/ui-components/tabwidget/qml/tabwidget/TabWidget.qml
new file mode 100644
index 0000000..fe838b5
--- /dev/null
+++ b/examples/declarative/ui-components/tabwidget/qml/tabwidget/TabWidget.qml
@@ -0,0 +1,102 @@
+/****************************************************************************
+**
+** 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
+
+Item {
+    id: tabWidget
+
+    // Setting the default property to stack.children means any child items
+    // of the TabWidget are actually added to the 'stack' item's children.
+    // See the "Property Binding"
+    // documentation for details on default properties.
+    default property alias content: stack.children
+
+    property int current: 0
+
+    onCurrentChanged: setOpacities()
+    Component.onCompleted: setOpacities()
+
+    function setOpacities() {
+        for (var i = 0; i < stack.children.length; ++i) {
+            stack.children[i].opacity = (i == current ? 1 : 0)
+        }
+    }
+
+    Row {
+        id: header
+
+        Repeater {
+            model: stack.children.length
+            delegate: Rectangle {
+                width: tabWidget.width / stack.children.length; height: 36
+
+                Rectangle {
+                    width: parent.width; height: 1
+                    anchors { bottom: parent.bottom; bottomMargin: 1 }
+                    color: "#acb2c2"
+                }
+                BorderImage {
+                    anchors { fill: parent; leftMargin: 2; topMargin: 5; rightMargin: 1 }
+                    border { left: 7; right: 7 }
+                    source: "tab.png"
+                    visible: tabWidget.current == index
+                }
+                Text {
+                    horizontalAlignment: Qt.AlignHCenter; verticalAlignment: Qt.AlignVCenter
+                    anchors.fill: parent
+                    text: stack.children[index].title
+                    elide: Text.ElideRight
+                    font.bold: tabWidget.current == index
+                }
+                MouseArea {
+                    anchors.fill: parent
+                    onClicked: tabWidget.current = index
+                }
+            }
+        }
+    }
+
+    Item {
+        id: stack
+        width: tabWidget.width
+        anchors.top: header.bottom; anchors.bottom: tabWidget.bottom
+    }
+}
diff --git a/examples/declarative/ui-components/tabwidget/qml/tabwidget/main.qml b/examples/declarative/ui-components/tabwidget/qml/tabwidget/main.qml
new file mode 100644
index 0000000..9367862
--- /dev/null
+++ b/examples/declarative/ui-components/tabwidget/qml/tabwidget/main.qml
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** 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
+
+TabWidget {
+    id: tabs
+    width: 640; height: 480
+
+    Rectangle {
+        property string title: "Red"
+        anchors.fill: parent
+        color: "#e3e3e3"
+
+        Rectangle {
+            anchors.fill: parent; anchors.margins: 20
+            color: "#ff7f7f"
+            Text {
+                width: parent.width - 20
+                anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
+                text: "Roses are red"
+                font.pixelSize: 20
+                wrapMode: Text.WordWrap
+            }
+        }
+    }
+
+    Rectangle {
+        property string title: "Green"
+        anchors.fill: parent
+        color: "#e3e3e3"
+
+        Rectangle {
+            anchors.fill: parent; anchors.margins: 20
+            color: "#7fff7f"
+            Text {
+                width: parent.width - 20
+                anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
+                text: "Flower stems are green"
+                font.pixelSize: 20
+                wrapMode: Text.WordWrap
+            }
+        }
+    }
+
+    Rectangle {
+        property string title: "Blue"
+        anchors.fill: parent; color: "#e3e3e3"
+
+        Rectangle {
+            anchors.fill: parent; anchors.margins: 20
+            color: "#7f7fff"
+            Text {
+                width: parent.width - 20
+                anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
+                text: "Violets are blue"
+                font.pixelSize: 20
+                wrapMode: Text.WordWrap
+            }
+        }
+    }
+}
diff --git a/examples/declarative/ui-components/tabwidget/qml/tabwidget/tab.png b/examples/declarative/ui-components/tabwidget/qml/tabwidget/tab.png
new file mode 100644
index 0000000..ad80216
Binary files /dev/null and b/examples/declarative/ui-components/tabwidget/qml/tabwidget/tab.png differ
diff --git a/examples/declarative/ui-components/tabwidget/tabwidget.desktop b/examples/declarative/ui-components/tabwidget/tabwidget.desktop
new file mode 100644
index 0000000..91d9888
--- /dev/null
+++ b/examples/declarative/ui-components/tabwidget/tabwidget.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=tabwidget
+Exec=/opt/tabwidget/bin/tabwidget
+Icon=tabwidget64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/examples/declarative/ui-components/tabwidget/tabwidget.pro b/examples/declarative/ui-components/tabwidget/tabwidget.pro
new file mode 100644
index 0000000..04d1027
--- /dev/null
+++ b/examples/declarative/ui-components/tabwidget/tabwidget.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/tabwidget
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xEDBDFC1B
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/examples/declarative/ui-components/tabwidget/tabwidget.qmlproject b/examples/declarative/ui-components/tabwidget/tabwidget.qmlproject
index d4909f8..efeeb5e 100644
--- a/examples/declarative/ui-components/tabwidget/tabwidget.qmlproject
+++ b/examples/declarative/ui-components/tabwidget/tabwidget.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/tabwidget"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/tabwidget"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/tabwidget"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/examples/declarative/ui-components/tabwidget/tabwidget.svg b/examples/declarative/ui-components/tabwidget/tabwidget.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/examples/declarative/ui-components/tabwidget/tabwidget.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/examples/declarative/ui-components/tabwidget/tabwidget64.png b/examples/declarative/ui-components/tabwidget/tabwidget64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/examples/declarative/ui-components/tabwidget/tabwidget64.png differ
diff --git a/examples/declarative/ui-components/tabwidget/tabwidget80.png b/examples/declarative/ui-components/tabwidget/tabwidget80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/examples/declarative/ui-components/tabwidget/tabwidget80.png differ
diff --git a/examples/declarative/ui-components/tabwidget/tabwidget_harmattan.desktop b/examples/declarative/ui-components/tabwidget/tabwidget_harmattan.desktop
new file mode 100644
index 0000000..6603ac5
--- /dev/null
+++ b/examples/declarative/ui-components/tabwidget/tabwidget_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=tabwidget
+Exec=/usr/bin/single-instance /opt/tabwidget/bin/tabwidget
+Icon=/usr/share/icons/hicolor/80x80/apps/tabwidget80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
-- 
cgit v0.12


From 56727869e517ac83a134be54adc21c7fd0aa8e8f Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:11 +0100
Subject: xml/xmlhttprequestexample example modifications

Modified the example 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>
---
 .../xml/xmlhttprequest-example/main.cpp            |   2 +-
 .../xml/xmlhttprequest-example/qml/data.xml        |   5 -
 .../qml/xmlhttprequest-example.qml                 |  95 ----------
 .../qml/xmlhttprequest-example/data.xml            |   5 +
 .../xmlhttprequest-example.qml                     |  95 ++++++++++
 .../qml/xmlhttprequest.qmlproject                  |  16 --
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  79 ---------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 154 ----------------
 .../xmlhttprequest.qmlproject                      |  16 ++
 .../xmlhttprequestexample.pro                      |   4 +-
 11 files changed, 119 insertions(+), 549 deletions(-)
 delete mode 100644 examples/declarative/xml/xmlhttprequest-example/qml/data.xml
 delete mode 100644 examples/declarative/xml/xmlhttprequest-example/qml/xmlhttprequest-example.qml
 create mode 100644 examples/declarative/xml/xmlhttprequest-example/qml/xmlhttprequest-example/data.xml
 create mode 100644 examples/declarative/xml/xmlhttprequest-example/qml/xmlhttprequest-example/xmlhttprequest-example.qml
 delete mode 100644 examples/declarative/xml/xmlhttprequest-example/qml/xmlhttprequest.qmlproject
 delete mode 100644 examples/declarative/xml/xmlhttprequest-example/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/declarative/xml/xmlhttprequest-example/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/declarative/xml/xmlhttprequest-example/qmlapplicationviewer/qmlapplicationviewer.pri
 create mode 100644 examples/declarative/xml/xmlhttprequest-example/xmlhttprequest.qmlproject

diff --git a/examples/declarative/xml/xmlhttprequest-example/main.cpp b/examples/declarative/xml/xmlhttprequest-example/main.cpp
index fd768da..3339dc5 100644
--- a/examples/declarative/xml/xmlhttprequest-example/main.cpp
+++ b/examples/declarative/xml/xmlhttprequest-example/main.cpp
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
 
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
-    viewer.setMainQmlFile(QLatin1String("qml/qml/xmlhttprequest-example.qml"));
+    viewer.setMainQmlFile(QLatin1String("qml/xmlhttprequest-example/xmlhttprequest-example.qml"));
     viewer.showExpanded();
 
     return app.exec();
diff --git a/examples/declarative/xml/xmlhttprequest-example/qml/data.xml b/examples/declarative/xml/xmlhttprequest-example/qml/data.xml
deleted file mode 100644
index 8b7f1e1..0000000
--- a/examples/declarative/xml/xmlhttprequest-example/qml/data.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<data>
-    <element1 />
-    <element2 />
-</data>
-
diff --git a/examples/declarative/xml/xmlhttprequest-example/qml/xmlhttprequest-example.qml b/examples/declarative/xml/xmlhttprequest-example/qml/xmlhttprequest-example.qml
deleted file mode 100644
index 78f93b5..0000000
--- a/examples/declarative/xml/xmlhttprequest-example/qml/xmlhttprequest-example.qml
+++ /dev/null
@@ -1,95 +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 {
-    width: 350; height: 400
-
-    function showRequestInfo(text) {
-        log.text = log.text + "\n" + text
-        console.log(text)
-    }
-
-    Text { id: log; anchors.fill: parent; anchors.margins: 10 }
-
-    Rectangle {
-        id: button
-        anchors.horizontalCenter: parent.horizontalCenter; anchors.bottom: parent.bottom; anchors.margins: 10
-        width: buttonText.width + 10; height: buttonText.height + 10
-        border.width: mouseArea.pressed ? 2 : 1
-        radius : 5; smooth: true
-
-        Text { id: buttonText; anchors.centerIn: parent; text: "Request data.xml" }
-
-        MouseArea {
-            id: mouseArea
-            anchors.fill: parent
-            onClicked: {
-                log.text = ""
-                console.log("\n")
-
-                var doc = new XMLHttpRequest();
-                doc.onreadystatechange = function() {
-                    if (doc.readyState == XMLHttpRequest.HEADERS_RECEIVED) {
-                        showRequestInfo("Headers -->");
-                        showRequestInfo(doc.getAllResponseHeaders ());
-                        showRequestInfo("Last modified -->");
-                        showRequestInfo(doc.getResponseHeader ("Last-Modified"));
-
-                    } else if (doc.readyState == XMLHttpRequest.DONE) {
-                        var a = doc.responseXML.documentElement;
-                        for (var ii = 0; ii < a.childNodes.length; ++ii) {
-                            showRequestInfo(a.childNodes[ii].nodeName);
-                        }
-                        showRequestInfo("Headers -->");
-                        showRequestInfo(doc.getAllResponseHeaders ());
-                        showRequestInfo("Last modified -->");
-                        showRequestInfo(doc.getResponseHeader ("Last-Modified"));
-                    }
-                }
-
-                doc.open("GET", "data.xml");
-                doc.send();
-            }
-        }
-    }
-}
-
diff --git a/examples/declarative/xml/xmlhttprequest-example/qml/xmlhttprequest-example/data.xml b/examples/declarative/xml/xmlhttprequest-example/qml/xmlhttprequest-example/data.xml
new file mode 100644
index 0000000..8b7f1e1
--- /dev/null
+++ b/examples/declarative/xml/xmlhttprequest-example/qml/xmlhttprequest-example/data.xml
@@ -0,0 +1,5 @@
+<data>
+    <element1 />
+    <element2 />
+</data>
+
diff --git a/examples/declarative/xml/xmlhttprequest-example/qml/xmlhttprequest-example/xmlhttprequest-example.qml b/examples/declarative/xml/xmlhttprequest-example/qml/xmlhttprequest-example/xmlhttprequest-example.qml
new file mode 100644
index 0000000..78f93b5
--- /dev/null
+++ b/examples/declarative/xml/xmlhttprequest-example/qml/xmlhttprequest-example/xmlhttprequest-example.qml
@@ -0,0 +1,95 @@
+/****************************************************************************
+**
+** 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 {
+    width: 350; height: 400
+
+    function showRequestInfo(text) {
+        log.text = log.text + "\n" + text
+        console.log(text)
+    }
+
+    Text { id: log; anchors.fill: parent; anchors.margins: 10 }
+
+    Rectangle {
+        id: button
+        anchors.horizontalCenter: parent.horizontalCenter; anchors.bottom: parent.bottom; anchors.margins: 10
+        width: buttonText.width + 10; height: buttonText.height + 10
+        border.width: mouseArea.pressed ? 2 : 1
+        radius : 5; smooth: true
+
+        Text { id: buttonText; anchors.centerIn: parent; text: "Request data.xml" }
+
+        MouseArea {
+            id: mouseArea
+            anchors.fill: parent
+            onClicked: {
+                log.text = ""
+                console.log("\n")
+
+                var doc = new XMLHttpRequest();
+                doc.onreadystatechange = function() {
+                    if (doc.readyState == XMLHttpRequest.HEADERS_RECEIVED) {
+                        showRequestInfo("Headers -->");
+                        showRequestInfo(doc.getAllResponseHeaders ());
+                        showRequestInfo("Last modified -->");
+                        showRequestInfo(doc.getResponseHeader ("Last-Modified"));
+
+                    } else if (doc.readyState == XMLHttpRequest.DONE) {
+                        var a = doc.responseXML.documentElement;
+                        for (var ii = 0; ii < a.childNodes.length; ++ii) {
+                            showRequestInfo(a.childNodes[ii].nodeName);
+                        }
+                        showRequestInfo("Headers -->");
+                        showRequestInfo(doc.getAllResponseHeaders ());
+                        showRequestInfo("Last modified -->");
+                        showRequestInfo(doc.getResponseHeader ("Last-Modified"));
+                    }
+                }
+
+                doc.open("GET", "data.xml");
+                doc.send();
+            }
+        }
+    }
+}
+
diff --git a/examples/declarative/xml/xmlhttprequest-example/qml/xmlhttprequest.qmlproject b/examples/declarative/xml/xmlhttprequest-example/qml/xmlhttprequest.qmlproject
deleted file mode 100644
index d4909f8..0000000
--- a/examples/declarative/xml/xmlhttprequest-example/qml/xmlhttprequest.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/xml/xmlhttprequest-example/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/declarative/xml/xmlhttprequest-example/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 411a04c..0000000
--- a/examples/declarative/xml/xmlhttprequest-example/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/xml/xmlhttprequest-example/qmlapplicationviewer/qmlapplicationviewer.h b/examples/declarative/xml/xmlhttprequest-example/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index f5b24b0..0000000
--- a/examples/declarative/xml/xmlhttprequest-example/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/xml/xmlhttprequest-example/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/declarative/xml/xmlhttprequest-example/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index 1c0c7ed..0000000
--- a/examples/declarative/xml/xmlhttprequest-example/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/xml/xmlhttprequest-example/xmlhttprequest.qmlproject b/examples/declarative/xml/xmlhttprequest-example/xmlhttprequest.qmlproject
new file mode 100644
index 0000000..8d28749
--- /dev/null
+++ b/examples/declarative/xml/xmlhttprequest-example/xmlhttprequest.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+    /* Include .qml, .js, and image files from current directory and subdirectories */
+    QmlFiles {
+        directory: "qml/xmlhttprequest-example"
+    }
+    JavaScriptFiles {
+        directory: "qml/xmlhttprequest-example"
+    }
+    ImageFiles {
+        directory: "qml/xmlhttprequest-example"
+    }
+    /* List of plugin directories passed to QML runtime */
+    // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/xml/xmlhttprequest-example/xmlhttprequestexample.pro b/examples/declarative/xml/xmlhttprequest-example/xmlhttprequestexample.pro
index 687c8ca..c953e33 100644
--- a/examples/declarative/xml/xmlhttprequest-example/xmlhttprequestexample.pro
+++ b/examples/declarative/xml/xmlhttprequest-example/xmlhttprequestexample.pro
@@ -1,5 +1,5 @@
 # Add more folders to ship with the application, here
-folder_01.source = qml
+folder_01.source = qml/xmlhttprequest-example
 folder_01.target = qml
 DEPLOYMENTFOLDERS = folder_01
 
@@ -35,5 +35,5 @@ symbian:TARGET.UID3 = 0xE83495FC
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(qmlapplicationviewer/qmlapplicationviewer.pri)
+include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
-- 
cgit v0.12


From 0e3acd1a858248d899372f3a1dcb29e5a03d2fbc Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:12 +0100
Subject: demos/declarative/calculator example modifications

Modified the example 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>
---
 demos/declarative/calculator/Core/Button.qml       |  80 ----------
 demos/declarative/calculator/Core/Display.qml      |  68 ---------
 demos/declarative/calculator/Core/calculator.js    |  91 ------------
 .../declarative/calculator/Core/images/button-.png | Bin 1288 -> 0 bytes
 .../calculator/Core/images/button-blue.png         | Bin 1565 -> 0 bytes
 .../calculator/Core/images/button-green.png        | Bin 1543 -> 0 bytes
 .../calculator/Core/images/button-purple.png       | Bin 1566 -> 0 bytes
 .../calculator/Core/images/button-red.png          | Bin 1586 -> 0 bytes
 .../declarative/calculator/Core/images/display.png | Bin 998 -> 0 bytes
 demos/declarative/calculator/Core/qmldir           |   2 -
 demos/declarative/calculator/calculator.desktop    |  11 ++
 demos/declarative/calculator/calculator.pro        |  37 +++++
 demos/declarative/calculator/calculator.qml        | 162 ---------------------
 demos/declarative/calculator/calculator.qmlproject |   6 +-
 demos/declarative/calculator/calculator.svg        |  93 ++++++++++++
 demos/declarative/calculator/calculator64.png      | Bin 0 -> 3400 bytes
 demos/declarative/calculator/calculator80.png      | Bin 0 -> 4945 bytes
 .../calculator/calculator_harmattan.desktop        |  11 ++
 demos/declarative/calculator/main.cpp              |  54 +++++++
 .../qml/calculator/CalculatorCore/Button.qml       |  80 ++++++++++
 .../qml/calculator/CalculatorCore/Display.qml      |  68 +++++++++
 .../qml/calculator/CalculatorCore/calculator.js    |  91 ++++++++++++
 .../calculator/CalculatorCore/images/button-.png   | Bin 0 -> 1288 bytes
 .../CalculatorCore/images/button-blue.png          | Bin 0 -> 1565 bytes
 .../CalculatorCore/images/button-green.png         | Bin 0 -> 1543 bytes
 .../CalculatorCore/images/button-purple.png        | Bin 0 -> 1566 bytes
 .../CalculatorCore/images/button-red.png           | Bin 0 -> 1586 bytes
 .../calculator/CalculatorCore/images/display.png   | Bin 0 -> 998 bytes
 .../qml/calculator/CalculatorCore/qmldir           |   2 +
 .../calculator/qml/calculator/calculator.qml       | 162 +++++++++++++++++++++
 30 files changed, 612 insertions(+), 406 deletions(-)
 delete mode 100644 demos/declarative/calculator/Core/Button.qml
 delete mode 100644 demos/declarative/calculator/Core/Display.qml
 delete mode 100644 demos/declarative/calculator/Core/calculator.js
 delete mode 100644 demos/declarative/calculator/Core/images/button-.png
 delete mode 100644 demos/declarative/calculator/Core/images/button-blue.png
 delete mode 100644 demos/declarative/calculator/Core/images/button-green.png
 delete mode 100644 demos/declarative/calculator/Core/images/button-purple.png
 delete mode 100644 demos/declarative/calculator/Core/images/button-red.png
 delete mode 100644 demos/declarative/calculator/Core/images/display.png
 delete mode 100644 demos/declarative/calculator/Core/qmldir
 create mode 100644 demos/declarative/calculator/calculator.desktop
 create mode 100644 demos/declarative/calculator/calculator.pro
 delete mode 100644 demos/declarative/calculator/calculator.qml
 create mode 100644 demos/declarative/calculator/calculator.svg
 create mode 100644 demos/declarative/calculator/calculator64.png
 create mode 100644 demos/declarative/calculator/calculator80.png
 create mode 100644 demos/declarative/calculator/calculator_harmattan.desktop
 create mode 100644 demos/declarative/calculator/main.cpp
 create mode 100644 demos/declarative/calculator/qml/calculator/CalculatorCore/Button.qml
 create mode 100644 demos/declarative/calculator/qml/calculator/CalculatorCore/Display.qml
 create mode 100644 demos/declarative/calculator/qml/calculator/CalculatorCore/calculator.js
 create mode 100644 demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-.png
 create mode 100644 demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-blue.png
 create mode 100644 demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-green.png
 create mode 100644 demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-purple.png
 create mode 100644 demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-red.png
 create mode 100644 demos/declarative/calculator/qml/calculator/CalculatorCore/images/display.png
 create mode 100644 demos/declarative/calculator/qml/calculator/CalculatorCore/qmldir
 create mode 100644 demos/declarative/calculator/qml/calculator/calculator.qml

diff --git a/demos/declarative/calculator/Core/Button.qml b/demos/declarative/calculator/Core/Button.qml
deleted file mode 100644
index c5ec39c..0000000
--- a/demos/declarative/calculator/Core/Button.qml
+++ /dev/null
@@ -1,80 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-BorderImage {
-    id: button
-
-    property alias operation: buttonText.text
-    property string color: ""
-
-    signal clicked
-
-    source: "images/button-" + color + ".png"; clip: true
-    border { left: 10; top: 10; right: 10; bottom: 10 }
-
-    Rectangle {
-        id: shade
-        anchors.fill: button; radius: 10; color: "black"; opacity: 0
-    }
-
-    Text {
-        id: buttonText
-        anchors.centerIn: parent; anchors.verticalCenterOffset: -1
-        font.pixelSize: parent.width > parent.height ? parent.height * .5 : parent.width * .5
-        style: Text.Sunken; color: "white"; styleColor: "black"; smooth: true
-    }
-
-    MouseArea {
-        id: mouseArea
-        anchors.fill: parent
-        onClicked: {
-            doOp(operation)
-            button.clicked()
-        }
-    }
-
-    states: State {
-        name: "pressed"; when: mouseArea.pressed == true
-        PropertyChanges { target: shade; opacity: .4 }
-    }
-}
diff --git a/demos/declarative/calculator/Core/Display.qml b/demos/declarative/calculator/Core/Display.qml
deleted file mode 100644
index 5e27897..0000000
--- a/demos/declarative/calculator/Core/Display.qml
+++ /dev/null
@@ -1,68 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-BorderImage {
-    id: image
-
-    property alias text : displayText.text
-    property alias currentOperation : operationText
-
-    source: "images/display.png"
-    border { left: 10; top: 10; right: 10; bottom: 10 }
-
-    Text {
-        id: displayText
-        anchors {
-            right: parent.right; verticalCenter: parent.verticalCenter; verticalCenterOffset: -1
-            rightMargin: 6; left: operationText.right
-        }
-        font.pixelSize: parent.height * .6; text: "0"; horizontalAlignment: Text.AlignRight; elide: Text.ElideRight
-        color: "#343434"; smooth: true; font.bold: true
-    }
-    Text {
-        id: operationText
-        font.bold: true; font.pixelSize: parent.height * .7
-        color: "#343434"; smooth: true
-        anchors { left: parent.left; leftMargin: 6; verticalCenterOffset: -3; verticalCenter: parent.verticalCenter }
-    }
-}
diff --git a/demos/declarative/calculator/Core/calculator.js b/demos/declarative/calculator/Core/calculator.js
deleted file mode 100644
index 7c363c7..0000000
--- a/demos/declarative/calculator/Core/calculator.js
+++ /dev/null
@@ -1,91 +0,0 @@
-
-var curVal = 0
-var memory = 0
-var lastOp = ""
-var timer = 0
-
-function disabled(op) {
-    if (op == "." && display.text.toString().search(/\./) != -1) {
-        return true
-    } else if (op == squareRoot &&  display.text.toString().search(/-/) != -1) {
-        return true
-    } else {
-        return false
-    }
-}
-
-function doOperation(op) {
-    if (disabled(op)) {
-        return
-    }
-
-    if (op.toString().length==1 && ((op >= "0" && op <= "9") || op==".") ) {
-        if (display.text.toString().length >= 14)
-            return; // No arbitrary length numbers
-        if (lastOp.toString().length == 1 && ((lastOp >= "0" && lastOp <= "9") || lastOp == ".") ) {
-            display.text = display.text + op.toString()
-        } else {
-            display.text = op
-        }
-        lastOp = op
-        return
-    }
-    lastOp = op
-
-    if (display.currentOperation.text == "+") {
-        display.text = Number(display.text.valueOf()) + Number(curVal.valueOf())
-    } else if (display.currentOperation.text == "-") {
-        display.text = Number(curVal) - Number(display.text.valueOf())
-    } else if (display.currentOperation.text == multiplication) {
-        display.text = Number(curVal) * Number(display.text.valueOf())
-    } else if (display.currentOperation.text == division) {
-        display.text = Number(Number(curVal) / Number(display.text.valueOf())).toString()
-    } else if (display.currentOperation.text == "=") {
-    }
-
-    if (op == "+" || op == "-" || op == multiplication || op == division) {
-        display.currentOperation.text = op
-        curVal = display.text.valueOf()
-        return
-    }
-
-    curVal = 0
-    display.currentOperation.text = ""
-
-    if (op == "1/x") {
-        display.text = (1 / display.text.valueOf()).toString()
-    } else if (op == "x^2") {
-        display.text = (display.text.valueOf() * display.text.valueOf()).toString()
-    } else if (op == "Abs") {
-        display.text = (Math.abs(display.text.valueOf())).toString()
-    } else if (op == "Int") {
-        display.text = (Math.floor(display.text.valueOf())).toString()
-    } else if (op == plusminus) {
-        display.text = (display.text.valueOf() * -1).toString()
-    } else if (op == squareRoot) {
-        display.text = (Math.sqrt(display.text.valueOf())).toString()
-    } else if (op == "mc") {
-        memory = 0;
-    } else if (op == "m+") {
-        memory += display.text.valueOf()
-    } else if (op == "mr") {
-        display.text = memory.toString()
-    } else if (op == "m-") {
-        memory = display.text.valueOf()
-    } else if (op == leftArrow) {
-        display.text = display.text.toString().slice(0, -1)
-        if (display.text.length == 0) {
-            display.text = "0"
-        }
-    } else if (op == "Off") {
-        Qt.quit();
-    } else if (op == "C") {
-        display.text = "0"
-    } else if (op == "AC") {
-        curVal = 0
-        memory = 0
-        lastOp = ""
-        display.text ="0"
-    }
-}
-
diff --git a/demos/declarative/calculator/Core/images/button-.png b/demos/declarative/calculator/Core/images/button-.png
deleted file mode 100644
index 544e514..0000000
Binary files a/demos/declarative/calculator/Core/images/button-.png and /dev/null differ
diff --git a/demos/declarative/calculator/Core/images/button-blue.png b/demos/declarative/calculator/Core/images/button-blue.png
deleted file mode 100644
index 5f92de3..0000000
Binary files a/demos/declarative/calculator/Core/images/button-blue.png and /dev/null differ
diff --git a/demos/declarative/calculator/Core/images/button-green.png b/demos/declarative/calculator/Core/images/button-green.png
deleted file mode 100644
index 36c9391..0000000
Binary files a/demos/declarative/calculator/Core/images/button-green.png and /dev/null differ
diff --git a/demos/declarative/calculator/Core/images/button-purple.png b/demos/declarative/calculator/Core/images/button-purple.png
deleted file mode 100644
index 347cbbe..0000000
Binary files a/demos/declarative/calculator/Core/images/button-purple.png and /dev/null differ
diff --git a/demos/declarative/calculator/Core/images/button-red.png b/demos/declarative/calculator/Core/images/button-red.png
deleted file mode 100644
index 3b33589..0000000
Binary files a/demos/declarative/calculator/Core/images/button-red.png and /dev/null differ
diff --git a/demos/declarative/calculator/Core/images/display.png b/demos/declarative/calculator/Core/images/display.png
deleted file mode 100644
index 9507f43..0000000
Binary files a/demos/declarative/calculator/Core/images/display.png and /dev/null differ
diff --git a/demos/declarative/calculator/Core/qmldir b/demos/declarative/calculator/Core/qmldir
deleted file mode 100644
index a926b93..0000000
--- a/demos/declarative/calculator/Core/qmldir
+++ /dev/null
@@ -1,2 +0,0 @@
-Button Button.qml
-Display Display.qml
diff --git a/demos/declarative/calculator/calculator.desktop b/demos/declarative/calculator/calculator.desktop
new file mode 100644
index 0000000..854120f
--- /dev/null
+++ b/demos/declarative/calculator/calculator.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=calculator
+Exec=/opt/calculator/bin/calculator
+Icon=calculator64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/demos/declarative/calculator/calculator.pro b/demos/declarative/calculator/calculator.pro
new file mode 100644
index 0000000..697a0d8
--- /dev/null
+++ b/demos/declarative/calculator/calculator.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/calculator
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE8BEAB39
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/demos/declarative/calculator/calculator.qml b/demos/declarative/calculator/calculator.qml
deleted file mode 100644
index c844c71..0000000
--- a/demos/declarative/calculator/calculator.qml
+++ /dev/null
@@ -1,162 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import "Core"
-import "Core/calculator.js" as CalcEngine
-
-Rectangle {
-    id: window
-
-    width: 360; height: 480
-    color: "#282828"
-
-    property string rotateLeft: "\u2939"
-    property string rotateRight: "\u2935"
-    property string leftArrow: "\u2190"
-    property string division : "\u00f7"
-    property string multiplication : "\u00d7"
-    property string squareRoot : "\u221a"
-    property string plusminus : "\u00b1"
-
-    function doOp(operation) { CalcEngine.doOperation(operation) }
-
-    Item {
-        id: main
-        state: "orientation " + runtime.orientation
-
-        property bool landscapeWindow: window.width > window.height 
-        property real baseWidth: landscapeWindow ? window.height : window.width
-        property real baseHeight: landscapeWindow ? window.width : window.height
-        property real rotationDelta: landscapeWindow ? -90 : 0
-
-        rotation: rotationDelta
-        width: main.baseWidth
-        height: main.baseHeight
-        anchors.centerIn: parent
-
-        Column {
-            id: box; spacing: 8
-
-            anchors { fill: parent; topMargin: 6; bottomMargin: 6; leftMargin: 6; rightMargin: 6 }
-
-            Display {
-                id: display
-                width: box.width-3
-                height: 64
-            }
-
-            Column {
-                id: column; spacing: 6
-
-                property real h: ((box.height - 72) / 6) - ((spacing * (6 - 1)) / 6)
-                property real w: (box.width / 4) - ((spacing * (4 - 1)) / 4)
-
-                Row {
-                    spacing: 6
-                    Button { width: column.w; height: column.h; color: 'purple'; operation: "Off" }
-                    Button { width: column.w; height: column.h; color: 'purple'; operation: leftArrow }
-                    Button { width: column.w; height: column.h; color: 'purple'; operation: "C" }
-                    Button { width: column.w; height: column.h; color: 'purple'; operation: "AC" }
-                }
-
-                Row {
-                    spacing: 6
-                    property real w: (box.width / 4) - ((spacing * (4 - 1)) / 4)
-
-                    Button { width: column.w; height: column.h; color: 'green'; operation: "mc" }
-                    Button { width: column.w; height: column.h; color: 'green'; operation: "m+" }
-                    Button { width: column.w; height: column.h; color: 'green'; operation: "m-" }
-                    Button { width: column.w; height: column.h; color: 'green'; operation: "mr" }
-                }
-
-                Grid {
-                    id: grid; rows: 5; columns: 5; spacing: 6
-
-                    property real w: (box.width / columns) - ((spacing * (columns - 1)) / columns)
-
-                    Button { width: grid.w; height: column.h; operation: "7"; color: 'blue' }
-                    Button { width: grid.w; height: column.h; operation: "8"; color: 'blue' }
-                    Button { width: grid.w; height: column.h; operation: "9"; color: 'blue' }
-                    Button { width: grid.w; height: column.h; operation: division }
-                    Button { width: grid.w; height: column.h; operation: squareRoot }
-                    Button { width: grid.w; height: column.h; operation: "4"; color: 'blue' }
-                    Button { width: grid.w; height: column.h; operation: "5"; color: 'blue' }
-                    Button { width: grid.w; height: column.h; operation: "6"; color: 'blue' }
-                    Button { width: grid.w; height: column.h; operation: multiplication }
-                    Button { width: grid.w; height: column.h; operation: "x^2" }
-                    Button { width: grid.w; height: column.h; operation: "1"; color: 'blue' }
-                    Button { width: grid.w; height: column.h; operation: "2"; color: 'blue' }
-                    Button { width: grid.w; height: column.h; operation: "3"; color: 'blue' }
-                    Button { width: grid.w; height: column.h; operation: "-" }
-                    Button { width: grid.w; height: column.h; operation: "1/x" }
-                    Button { width: grid.w; height: column.h; operation: "0"; color: 'blue' }
-                    Button { width: grid.w; height: column.h; operation: "." }
-                    Button { width: grid.w; height: column.h; operation: plusminus }
-                    Button { width: grid.w; height: column.h; operation: "+" }
-                    Button { width: grid.w; height: column.h; operation: "="; color: 'red' }
-                }
-            }
-        }
-
-        states: [
-            State {
-                name: "orientation " + Orientation.Landscape
-                PropertyChanges { target: main; rotation: 90 + rotationDelta; width: main.baseHeight; height: main.baseWidth }
-            },
-            State {
-                name: "orientation " + Orientation.PortraitInverted
-                PropertyChanges { target: main; rotation: 180 + rotationDelta; }
-            },
-            State {
-                name: "orientation " + Orientation.LandscapeInverted
-                PropertyChanges { target: main; rotation: 270 + rotationDelta; width: main.baseHeight; height: main.baseWidth }
-            }
-        ]
-
-        transitions: Transition {
-            SequentialAnimation {
-                RotationAnimation { direction: RotationAnimation.Shortest; duration: 300; easing.type: Easing.InOutQuint  }
-                NumberAnimation { properties: "x,y,width,height"; duration: 300; easing.type: Easing.InOutQuint }
-            }
-        }
-    }
-}
diff --git a/demos/declarative/calculator/calculator.qmlproject b/demos/declarative/calculator/calculator.qmlproject
index d4909f8..88ca3ca 100644
--- a/demos/declarative/calculator/calculator.qmlproject
+++ b/demos/declarative/calculator/calculator.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/calculator"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/calculator"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/calculator"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/demos/declarative/calculator/calculator.svg b/demos/declarative/calculator/calculator.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/demos/declarative/calculator/calculator.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/demos/declarative/calculator/calculator64.png b/demos/declarative/calculator/calculator64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/demos/declarative/calculator/calculator64.png differ
diff --git a/demos/declarative/calculator/calculator80.png b/demos/declarative/calculator/calculator80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/demos/declarative/calculator/calculator80.png differ
diff --git a/demos/declarative/calculator/calculator_harmattan.desktop b/demos/declarative/calculator/calculator_harmattan.desktop
new file mode 100644
index 0000000..574521d
--- /dev/null
+++ b/demos/declarative/calculator/calculator_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=calculator
+Exec=/usr/bin/single-instance /opt/calculator/bin/calculator
+Icon=/usr/share/icons/hicolor/80x80/apps/calculator80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/demos/declarative/calculator/main.cpp b/demos/declarative/calculator/main.cpp
new file mode 100644
index 0000000..4d29e0b
--- /dev/null
+++ b/demos/declarative/calculator/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include "qmlapplicationviewer.h"
+#include <QtGui/QApplication>
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
+    viewer.setMainQmlFile(QLatin1String("qml/calculator/calculator.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/demos/declarative/calculator/qml/calculator/CalculatorCore/Button.qml b/demos/declarative/calculator/qml/calculator/CalculatorCore/Button.qml
new file mode 100644
index 0000000..c5ec39c
--- /dev/null
+++ b/demos/declarative/calculator/qml/calculator/CalculatorCore/Button.qml
@@ -0,0 +1,80 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+BorderImage {
+    id: button
+
+    property alias operation: buttonText.text
+    property string color: ""
+
+    signal clicked
+
+    source: "images/button-" + color + ".png"; clip: true
+    border { left: 10; top: 10; right: 10; bottom: 10 }
+
+    Rectangle {
+        id: shade
+        anchors.fill: button; radius: 10; color: "black"; opacity: 0
+    }
+
+    Text {
+        id: buttonText
+        anchors.centerIn: parent; anchors.verticalCenterOffset: -1
+        font.pixelSize: parent.width > parent.height ? parent.height * .5 : parent.width * .5
+        style: Text.Sunken; color: "white"; styleColor: "black"; smooth: true
+    }
+
+    MouseArea {
+        id: mouseArea
+        anchors.fill: parent
+        onClicked: {
+            doOp(operation)
+            button.clicked()
+        }
+    }
+
+    states: State {
+        name: "pressed"; when: mouseArea.pressed == true
+        PropertyChanges { target: shade; opacity: .4 }
+    }
+}
diff --git a/demos/declarative/calculator/qml/calculator/CalculatorCore/Display.qml b/demos/declarative/calculator/qml/calculator/CalculatorCore/Display.qml
new file mode 100644
index 0000000..5e27897
--- /dev/null
+++ b/demos/declarative/calculator/qml/calculator/CalculatorCore/Display.qml
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+BorderImage {
+    id: image
+
+    property alias text : displayText.text
+    property alias currentOperation : operationText
+
+    source: "images/display.png"
+    border { left: 10; top: 10; right: 10; bottom: 10 }
+
+    Text {
+        id: displayText
+        anchors {
+            right: parent.right; verticalCenter: parent.verticalCenter; verticalCenterOffset: -1
+            rightMargin: 6; left: operationText.right
+        }
+        font.pixelSize: parent.height * .6; text: "0"; horizontalAlignment: Text.AlignRight; elide: Text.ElideRight
+        color: "#343434"; smooth: true; font.bold: true
+    }
+    Text {
+        id: operationText
+        font.bold: true; font.pixelSize: parent.height * .7
+        color: "#343434"; smooth: true
+        anchors { left: parent.left; leftMargin: 6; verticalCenterOffset: -3; verticalCenter: parent.verticalCenter }
+    }
+}
diff --git a/demos/declarative/calculator/qml/calculator/CalculatorCore/calculator.js b/demos/declarative/calculator/qml/calculator/CalculatorCore/calculator.js
new file mode 100644
index 0000000..7c363c7
--- /dev/null
+++ b/demos/declarative/calculator/qml/calculator/CalculatorCore/calculator.js
@@ -0,0 +1,91 @@
+
+var curVal = 0
+var memory = 0
+var lastOp = ""
+var timer = 0
+
+function disabled(op) {
+    if (op == "." && display.text.toString().search(/\./) != -1) {
+        return true
+    } else if (op == squareRoot &&  display.text.toString().search(/-/) != -1) {
+        return true
+    } else {
+        return false
+    }
+}
+
+function doOperation(op) {
+    if (disabled(op)) {
+        return
+    }
+
+    if (op.toString().length==1 && ((op >= "0" && op <= "9") || op==".") ) {
+        if (display.text.toString().length >= 14)
+            return; // No arbitrary length numbers
+        if (lastOp.toString().length == 1 && ((lastOp >= "0" && lastOp <= "9") || lastOp == ".") ) {
+            display.text = display.text + op.toString()
+        } else {
+            display.text = op
+        }
+        lastOp = op
+        return
+    }
+    lastOp = op
+
+    if (display.currentOperation.text == "+") {
+        display.text = Number(display.text.valueOf()) + Number(curVal.valueOf())
+    } else if (display.currentOperation.text == "-") {
+        display.text = Number(curVal) - Number(display.text.valueOf())
+    } else if (display.currentOperation.text == multiplication) {
+        display.text = Number(curVal) * Number(display.text.valueOf())
+    } else if (display.currentOperation.text == division) {
+        display.text = Number(Number(curVal) / Number(display.text.valueOf())).toString()
+    } else if (display.currentOperation.text == "=") {
+    }
+
+    if (op == "+" || op == "-" || op == multiplication || op == division) {
+        display.currentOperation.text = op
+        curVal = display.text.valueOf()
+        return
+    }
+
+    curVal = 0
+    display.currentOperation.text = ""
+
+    if (op == "1/x") {
+        display.text = (1 / display.text.valueOf()).toString()
+    } else if (op == "x^2") {
+        display.text = (display.text.valueOf() * display.text.valueOf()).toString()
+    } else if (op == "Abs") {
+        display.text = (Math.abs(display.text.valueOf())).toString()
+    } else if (op == "Int") {
+        display.text = (Math.floor(display.text.valueOf())).toString()
+    } else if (op == plusminus) {
+        display.text = (display.text.valueOf() * -1).toString()
+    } else if (op == squareRoot) {
+        display.text = (Math.sqrt(display.text.valueOf())).toString()
+    } else if (op == "mc") {
+        memory = 0;
+    } else if (op == "m+") {
+        memory += display.text.valueOf()
+    } else if (op == "mr") {
+        display.text = memory.toString()
+    } else if (op == "m-") {
+        memory = display.text.valueOf()
+    } else if (op == leftArrow) {
+        display.text = display.text.toString().slice(0, -1)
+        if (display.text.length == 0) {
+            display.text = "0"
+        }
+    } else if (op == "Off") {
+        Qt.quit();
+    } else if (op == "C") {
+        display.text = "0"
+    } else if (op == "AC") {
+        curVal = 0
+        memory = 0
+        lastOp = ""
+        display.text ="0"
+    }
+}
+
diff --git a/demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-.png b/demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-.png
new file mode 100644
index 0000000..544e514
Binary files /dev/null and b/demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-.png differ
diff --git a/demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-blue.png b/demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-blue.png
new file mode 100644
index 0000000..5f92de3
Binary files /dev/null and b/demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-blue.png differ
diff --git a/demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-green.png b/demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-green.png
new file mode 100644
index 0000000..36c9391
Binary files /dev/null and b/demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-green.png differ
diff --git a/demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-purple.png b/demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-purple.png
new file mode 100644
index 0000000..347cbbe
Binary files /dev/null and b/demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-purple.png differ
diff --git a/demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-red.png b/demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-red.png
new file mode 100644
index 0000000..3b33589
Binary files /dev/null and b/demos/declarative/calculator/qml/calculator/CalculatorCore/images/button-red.png differ
diff --git a/demos/declarative/calculator/qml/calculator/CalculatorCore/images/display.png b/demos/declarative/calculator/qml/calculator/CalculatorCore/images/display.png
new file mode 100644
index 0000000..9507f43
Binary files /dev/null and b/demos/declarative/calculator/qml/calculator/CalculatorCore/images/display.png differ
diff --git a/demos/declarative/calculator/qml/calculator/CalculatorCore/qmldir b/demos/declarative/calculator/qml/calculator/CalculatorCore/qmldir
new file mode 100644
index 0000000..a926b93
--- /dev/null
+++ b/demos/declarative/calculator/qml/calculator/CalculatorCore/qmldir
@@ -0,0 +1,2 @@
+Button Button.qml
+Display Display.qml
diff --git a/demos/declarative/calculator/qml/calculator/calculator.qml b/demos/declarative/calculator/qml/calculator/calculator.qml
new file mode 100644
index 0000000..51fd1e6
--- /dev/null
+++ b/demos/declarative/calculator/qml/calculator/calculator.qml
@@ -0,0 +1,162 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import "CalculatorCore"
+import "CalculatorCore/calculator.js" as CalcEngine
+
+Rectangle {
+    id: window
+
+    width: 360; height: 480
+    color: "#282828"
+
+    property string rotateLeft: "\u2939"
+    property string rotateRight: "\u2935"
+    property string leftArrow: "\u2190"
+    property string division : "\u00f7"
+    property string multiplication : "\u00d7"
+    property string squareRoot : "\u221a"
+    property string plusminus : "\u00b1"
+
+    function doOp(operation) { CalcEngine.doOperation(operation) }
+
+    Item {
+        id: main
+        state: "orientation " + runtime.orientation
+
+        property bool landscapeWindow: window.width > window.height 
+        property real baseWidth: landscapeWindow ? window.height : window.width
+        property real baseHeight: landscapeWindow ? window.width : window.height
+        property real rotationDelta: landscapeWindow ? -90 : 0
+
+        rotation: rotationDelta
+        width: main.baseWidth
+        height: main.baseHeight
+        anchors.centerIn: parent
+
+        Column {
+            id: box; spacing: 8
+
+            anchors { fill: parent; topMargin: 6; bottomMargin: 6; leftMargin: 6; rightMargin: 6 }
+
+            Display {
+                id: display
+                width: box.width-3
+                height: 64
+            }
+
+            Column {
+                id: column; spacing: 6
+
+                property real h: ((box.height - 72) / 6) - ((spacing * (6 - 1)) / 6)
+                property real w: (box.width / 4) - ((spacing * (4 - 1)) / 4)
+
+                Row {
+                    spacing: 6
+                    Button { width: column.w; height: column.h; color: 'purple'; operation: "Off" }
+                    Button { width: column.w; height: column.h; color: 'purple'; operation: leftArrow }
+                    Button { width: column.w; height: column.h; color: 'purple'; operation: "C" }
+                    Button { width: column.w; height: column.h; color: 'purple'; operation: "AC" }
+                }
+
+                Row {
+                    spacing: 6
+                    property real w: (box.width / 4) - ((spacing * (4 - 1)) / 4)
+
+                    Button { width: column.w; height: column.h; color: 'green'; operation: "mc" }
+                    Button { width: column.w; height: column.h; color: 'green'; operation: "m+" }
+                    Button { width: column.w; height: column.h; color: 'green'; operation: "m-" }
+                    Button { width: column.w; height: column.h; color: 'green'; operation: "mr" }
+                }
+
+                Grid {
+                    id: grid; rows: 5; columns: 5; spacing: 6
+
+                    property real w: (box.width / columns) - ((spacing * (columns - 1)) / columns)
+
+                    Button { width: grid.w; height: column.h; operation: "7"; color: 'blue' }
+                    Button { width: grid.w; height: column.h; operation: "8"; color: 'blue' }
+                    Button { width: grid.w; height: column.h; operation: "9"; color: 'blue' }
+                    Button { width: grid.w; height: column.h; operation: division }
+                    Button { width: grid.w; height: column.h; operation: squareRoot }
+                    Button { width: grid.w; height: column.h; operation: "4"; color: 'blue' }
+                    Button { width: grid.w; height: column.h; operation: "5"; color: 'blue' }
+                    Button { width: grid.w; height: column.h; operation: "6"; color: 'blue' }
+                    Button { width: grid.w; height: column.h; operation: multiplication }
+                    Button { width: grid.w; height: column.h; operation: "x^2" }
+                    Button { width: grid.w; height: column.h; operation: "1"; color: 'blue' }
+                    Button { width: grid.w; height: column.h; operation: "2"; color: 'blue' }
+                    Button { width: grid.w; height: column.h; operation: "3"; color: 'blue' }
+                    Button { width: grid.w; height: column.h; operation: "-" }
+                    Button { width: grid.w; height: column.h; operation: "1/x" }
+                    Button { width: grid.w; height: column.h; operation: "0"; color: 'blue' }
+                    Button { width: grid.w; height: column.h; operation: "." }
+                    Button { width: grid.w; height: column.h; operation: plusminus }
+                    Button { width: grid.w; height: column.h; operation: "+" }
+                    Button { width: grid.w; height: column.h; operation: "="; color: 'red' }
+                }
+            }
+        }
+
+        states: [
+            State {
+                name: "orientation " + Orientation.Landscape
+                PropertyChanges { target: main; rotation: 90 + rotationDelta; width: main.baseHeight; height: main.baseWidth }
+            },
+            State {
+                name: "orientation " + Orientation.PortraitInverted
+                PropertyChanges { target: main; rotation: 180 + rotationDelta; }
+            },
+            State {
+                name: "orientation " + Orientation.LandscapeInverted
+                PropertyChanges { target: main; rotation: 270 + rotationDelta; width: main.baseHeight; height: main.baseWidth }
+            }
+        ]
+
+        transitions: Transition {
+            SequentialAnimation {
+                RotationAnimation { direction: RotationAnimation.Shortest; duration: 300; easing.type: Easing.InOutQuint  }
+                NumberAnimation { properties: "x,y,width,height"; duration: 300; easing.type: Easing.InOutQuint }
+            }
+        }
+    }
+}
-- 
cgit v0.12


From 00be4d1b8ffea62423413241ed5ec33c55ed5bce Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:13 +0100
Subject: demos/declarative/flickr example modifications

Modified the example 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>
---
 demos/declarative/flickr/common/Progress.qml       |  73 --------
 demos/declarative/flickr/common/RssModel.qml       |  66 --------
 demos/declarative/flickr/common/ScrollBar.qml      |  81 ---------
 demos/declarative/flickr/common/Slider.qml         |  91 ----------
 demos/declarative/flickr/common/qmldir             |  10 --
 demos/declarative/flickr/flickr-90.qml             |  52 ------
 demos/declarative/flickr/flickr.desktop            |  11 ++
 demos/declarative/flickr/flickr.pro                |  37 ++++
 demos/declarative/flickr/flickr.qml                | 125 --------------
 demos/declarative/flickr/flickr.qmlproject         |   6 +-
 demos/declarative/flickr/flickr.svg                |  93 +++++++++++
 demos/declarative/flickr/flickr64.png              | Bin 0 -> 3400 bytes
 demos/declarative/flickr/flickr80.png              | Bin 0 -> 4945 bytes
 demos/declarative/flickr/flickr_harmattan.desktop  |  11 ++
 demos/declarative/flickr/main.cpp                  |  54 ++++++
 demos/declarative/flickr/mobile/Button.qml         |  79 ---------
 demos/declarative/flickr/mobile/GridDelegate.qml   | 111 ------------
 demos/declarative/flickr/mobile/ImageDetails.qml   | 186 ---------------------
 demos/declarative/flickr/mobile/ListDelegate.qml   |  64 -------
 demos/declarative/flickr/mobile/TitleBar.qml       | 128 --------------
 demos/declarative/flickr/mobile/ToolBar.qml        |  69 --------
 demos/declarative/flickr/mobile/images/gloss.png   | Bin 1236 -> 0 bytes
 .../declarative/flickr/mobile/images/lineedit.png  | Bin 1415 -> 0 bytes
 .../declarative/flickr/mobile/images/lineedit.sci  |   5 -
 demos/declarative/flickr/mobile/images/quit.png    | Bin 2369 -> 0 bytes
 demos/declarative/flickr/mobile/images/stripes.png | Bin 257 -> 0 bytes
 .../declarative/flickr/mobile/images/titlebar.png  | Bin 1436 -> 0 bytes
 .../declarative/flickr/mobile/images/titlebar.sci  |   5 -
 .../flickr/mobile/images/toolbutton.png            | Bin 2550 -> 0 bytes
 .../flickr/mobile/images/toolbutton.sci            |   5 -
 .../flickr/qml/flickr/common/Progress.qml          |  73 ++++++++
 .../flickr/qml/flickr/common/RssModel.qml          |  66 ++++++++
 .../flickr/qml/flickr/common/ScrollBar.qml         |  81 +++++++++
 .../flickr/qml/flickr/common/Slider.qml            |  91 ++++++++++
 demos/declarative/flickr/qml/flickr/common/qmldir  |  10 ++
 demos/declarative/flickr/qml/flickr/flickr-90.qml  |  52 ++++++
 demos/declarative/flickr/qml/flickr/flickr.qml     | 125 ++++++++++++++
 .../flickr/qml/flickr/mobile/Button.qml            |  79 +++++++++
 .../flickr/qml/flickr/mobile/GridDelegate.qml      | 111 ++++++++++++
 .../flickr/qml/flickr/mobile/ImageDetails.qml      | 186 +++++++++++++++++++++
 .../flickr/qml/flickr/mobile/ListDelegate.qml      |  64 +++++++
 .../flickr/qml/flickr/mobile/TitleBar.qml          | 128 ++++++++++++++
 .../flickr/qml/flickr/mobile/ToolBar.qml           |  69 ++++++++
 .../flickr/qml/flickr/mobile/images/gloss.png      | Bin 0 -> 1236 bytes
 .../flickr/qml/flickr/mobile/images/lineedit.png   | Bin 0 -> 1415 bytes
 .../flickr/qml/flickr/mobile/images/lineedit.sci   |   5 +
 .../flickr/qml/flickr/mobile/images/quit.png       | Bin 0 -> 2369 bytes
 .../flickr/qml/flickr/mobile/images/stripes.png    | Bin 0 -> 257 bytes
 .../flickr/qml/flickr/mobile/images/titlebar.png   | Bin 0 -> 1436 bytes
 .../flickr/qml/flickr/mobile/images/titlebar.sci   |   5 +
 .../flickr/qml/flickr/mobile/images/toolbutton.png | Bin 0 -> 2550 bytes
 .../flickr/qml/flickr/mobile/images/toolbutton.sci |   5 +
 52 files changed, 1359 insertions(+), 1153 deletions(-)
 delete mode 100644 demos/declarative/flickr/common/Progress.qml
 delete mode 100644 demos/declarative/flickr/common/RssModel.qml
 delete mode 100644 demos/declarative/flickr/common/ScrollBar.qml
 delete mode 100644 demos/declarative/flickr/common/Slider.qml
 delete mode 100644 demos/declarative/flickr/common/qmldir
 delete mode 100644 demos/declarative/flickr/flickr-90.qml
 create mode 100644 demos/declarative/flickr/flickr.desktop
 create mode 100644 demos/declarative/flickr/flickr.pro
 delete mode 100644 demos/declarative/flickr/flickr.qml
 create mode 100644 demos/declarative/flickr/flickr.svg
 create mode 100644 demos/declarative/flickr/flickr64.png
 create mode 100644 demos/declarative/flickr/flickr80.png
 create mode 100644 demos/declarative/flickr/flickr_harmattan.desktop
 create mode 100644 demos/declarative/flickr/main.cpp
 delete mode 100644 demos/declarative/flickr/mobile/Button.qml
 delete mode 100644 demos/declarative/flickr/mobile/GridDelegate.qml
 delete mode 100644 demos/declarative/flickr/mobile/ImageDetails.qml
 delete mode 100644 demos/declarative/flickr/mobile/ListDelegate.qml
 delete mode 100644 demos/declarative/flickr/mobile/TitleBar.qml
 delete mode 100644 demos/declarative/flickr/mobile/ToolBar.qml
 delete mode 100644 demos/declarative/flickr/mobile/images/gloss.png
 delete mode 100644 demos/declarative/flickr/mobile/images/lineedit.png
 delete mode 100644 demos/declarative/flickr/mobile/images/lineedit.sci
 delete mode 100644 demos/declarative/flickr/mobile/images/quit.png
 delete mode 100644 demos/declarative/flickr/mobile/images/stripes.png
 delete mode 100644 demos/declarative/flickr/mobile/images/titlebar.png
 delete mode 100644 demos/declarative/flickr/mobile/images/titlebar.sci
 delete mode 100644 demos/declarative/flickr/mobile/images/toolbutton.png
 delete mode 100644 demos/declarative/flickr/mobile/images/toolbutton.sci
 create mode 100644 demos/declarative/flickr/qml/flickr/common/Progress.qml
 create mode 100644 demos/declarative/flickr/qml/flickr/common/RssModel.qml
 create mode 100644 demos/declarative/flickr/qml/flickr/common/ScrollBar.qml
 create mode 100644 demos/declarative/flickr/qml/flickr/common/Slider.qml
 create mode 100644 demos/declarative/flickr/qml/flickr/common/qmldir
 create mode 100644 demos/declarative/flickr/qml/flickr/flickr-90.qml
 create mode 100644 demos/declarative/flickr/qml/flickr/flickr.qml
 create mode 100644 demos/declarative/flickr/qml/flickr/mobile/Button.qml
 create mode 100644 demos/declarative/flickr/qml/flickr/mobile/GridDelegate.qml
 create mode 100644 demos/declarative/flickr/qml/flickr/mobile/ImageDetails.qml
 create mode 100644 demos/declarative/flickr/qml/flickr/mobile/ListDelegate.qml
 create mode 100644 demos/declarative/flickr/qml/flickr/mobile/TitleBar.qml
 create mode 100644 demos/declarative/flickr/qml/flickr/mobile/ToolBar.qml
 create mode 100644 demos/declarative/flickr/qml/flickr/mobile/images/gloss.png
 create mode 100644 demos/declarative/flickr/qml/flickr/mobile/images/lineedit.png
 create mode 100644 demos/declarative/flickr/qml/flickr/mobile/images/lineedit.sci
 create mode 100644 demos/declarative/flickr/qml/flickr/mobile/images/quit.png
 create mode 100644 demos/declarative/flickr/qml/flickr/mobile/images/stripes.png
 create mode 100644 demos/declarative/flickr/qml/flickr/mobile/images/titlebar.png
 create mode 100644 demos/declarative/flickr/qml/flickr/mobile/images/titlebar.sci
 create mode 100644 demos/declarative/flickr/qml/flickr/mobile/images/toolbutton.png
 create mode 100644 demos/declarative/flickr/qml/flickr/mobile/images/toolbutton.sci

diff --git a/demos/declarative/flickr/common/Progress.qml b/demos/declarative/flickr/common/Progress.qml
deleted file mode 100644
index 2d584f6..0000000
--- a/demos/declarative/flickr/common/Progress.qml
+++ /dev/null
@@ -1,73 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    property variant progress: 0
-
-    Rectangle {
-        anchors.fill: parent; smooth: true
-        border.color: "white"; border.width: 0; radius: height/2 - 2
-        gradient: Gradient {
-            GradientStop { position: 0; color: "#66343434" }
-            GradientStop { position: 1.0; color: "#66000000" }
-        }
-    }
-
-    Rectangle {
-        y: 2; height: parent.height-4;
-        x: 2; width: Math.max(parent.width * progress - 4, 0);
-        opacity: width < 1 ? 0 : 1; smooth: true
-        gradient: Gradient {
-            GradientStop { position: 0; color: "lightsteelblue" }
-            GradientStop { position: 1.0; color: "steelblue" }
-        }
-        radius: height/2 - 2
-    }
-
-    Text {
-        text: Math.round(progress * 100) + "%"
-        anchors.horizontalCenter: parent.horizontalCenter
-        anchors.verticalCenter: parent.verticalCenter
-        color: "white"; font.bold: true; font.pixelSize: 15
-    }
-}
diff --git a/demos/declarative/flickr/common/RssModel.qml b/demos/declarative/flickr/common/RssModel.qml
deleted file mode 100644
index 069918e..0000000
--- a/demos/declarative/flickr/common/RssModel.qml
+++ /dev/null
@@ -1,66 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-XmlListModel {
-    property string tags : ""
-
-    function commasep(x)
-    {
-        return x.replace(' ',',');
-    }
-
-    source: "http://api.flickr.com/services/feeds/photos_public.gne?"+(tags ? "tags="+commasep(tags)+"&" : "")+"format=rss2"
-    query: "/rss/channel/item"
-    namespaceDeclarations: "declare namespace media=\"http://search.yahoo.com/mrss/\";"
-
-    XmlRole { name: "title"; query: "title/string()" }
-    XmlRole { name: "imagePath"; query: "media:thumbnail/@url/string()" }
-    XmlRole { name: "url"; query: "media:content/@url/string()" }
-    XmlRole { name: "description"; query: "description/string()" }
-    XmlRole { name: "tags"; query: "media:category/string()" }
-    XmlRole { name: "photoWidth"; query: "media:content/@width/string()" }
-    XmlRole { name: "photoHeight"; query: "media:content/@height/string()" }
-    XmlRole { name: "photoType"; query: "media:content/@type/string()" }
-    XmlRole { name: "photoAuthor"; query: "author/string()" }
-    XmlRole { name: "photoDate"; query: "pubDate/string()" }
-}
diff --git a/demos/declarative/flickr/common/ScrollBar.qml b/demos/declarative/flickr/common/ScrollBar.qml
deleted file mode 100644
index d100f12..0000000
--- a/demos/declarative/flickr/common/ScrollBar.qml
+++ /dev/null
@@ -1,81 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: container
-
-    property variant flickableArea
-
-    Rectangle {
-        radius: 5
-        color: "black"
-        opacity: 0.3
-        border.color: "white"
-        border.width: 2
-        x: 0
-        y: flickableArea.visibleArea.yPosition * container.height
-        width: parent.width
-        height: flickableArea.visibleArea.heightRatio * container.height
-    }
-    states: [
-        State {
-            name: "show"
-            when: flickableArea.movingVertically
-            PropertyChanges {
-                target: container
-                opacity: 1
-            }
-        }
-    ]
-    transitions: [
-        Transition {
-            from: "*"
-            to: "*"
-            NumberAnimation {
-                target: container
-                properties: "opacity"
-                duration: 400
-            }
-        }
-    ]
-}
diff --git a/demos/declarative/flickr/common/Slider.qml b/demos/declarative/flickr/common/Slider.qml
deleted file mode 100644
index f821f11..0000000
--- a/demos/declarative/flickr/common/Slider.qml
+++ /dev/null
@@ -1,91 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: slider; width: 400; height: 16
-
-    // value is read/write.
-    property real value: 1
-    onValueChanged: updatePos();
-    property real maximum: 1
-    property real minimum: 1
-    property int xMax: width - handle.width - 4
-    onXMaxChanged: updatePos();
-    onMinimumChanged: updatePos();
-
-    function updatePos() {
-        if (maximum > minimum) {
-            var pos = 2 + (value - minimum) * slider.xMax / (maximum - minimum);
-            pos = Math.min(pos, width - handle.width - 2);
-            pos = Math.max(pos, 2);
-            handle.x = pos;
-        } else {
-            handle.x = 2;
-        }
-    }
-
-    Rectangle {
-        anchors.fill: parent
-        border.color: "white"; border.width: 0; radius: 8
-        gradient: Gradient {
-            GradientStop { position: 0.0; color: "#66343434" }
-            GradientStop { position: 1.0; color: "#66000000" }
-        }
-    }
-
-    Rectangle {
-        id: handle; smooth: true
-        y: 2; width: 30; height: slider.height-4; radius: 6
-        gradient: Gradient {
-            GradientStop { position: 0.0; color: "lightgray" }
-            GradientStop { position: 1.0; color: "gray" }
-        }
-
-        MouseArea {
-            id: mouse
-            anchors.fill: parent; drag.target: parent
-            drag.axis: Drag.XAxis; drag.minimumX: 2; drag.maximumX: slider.xMax+2
-            onPositionChanged: { value = (maximum - minimum) * (handle.x-2) / slider.xMax + minimum; }
-        }
-    }
-}
diff --git a/demos/declarative/flickr/common/qmldir b/demos/declarative/flickr/common/qmldir
deleted file mode 100644
index adc2479..0000000
--- a/demos/declarative/flickr/common/qmldir
+++ /dev/null
@@ -1,10 +0,0 @@
-ImageDetails ImageDetails.qml
-LikeOMeter LikeOMeter.qml
-Loading Loading.qml
-MediaButton MediaButton.qml
-MediaLineEdit MediaLineEdit.qml
-Progress Progress.qml
-RssModel RssModel.qml
-ScrollBar ScrollBar.qml
-Slider Slider.qml
-Star Star.qml
diff --git a/demos/declarative/flickr/flickr-90.qml b/demos/declarative/flickr/flickr-90.qml
deleted file mode 100644
index df6828d..0000000
--- a/demos/declarative/flickr/flickr-90.qml
+++ /dev/null
@@ -1,52 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    width: 480; height: 320
-
-    Loader {
-        y: 320; rotation: -90
-        transformOrigin: Item.TopLeft
-        source: "flickr.qml"
-    }
-}
diff --git a/demos/declarative/flickr/flickr.desktop b/demos/declarative/flickr/flickr.desktop
new file mode 100644
index 0000000..8467f39
--- /dev/null
+++ b/demos/declarative/flickr/flickr.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=flickr
+Exec=/opt/flickr/bin/flickr
+Icon=flickr64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/demos/declarative/flickr/flickr.pro b/demos/declarative/flickr/flickr.pro
new file mode 100644
index 0000000..30206f8
--- /dev/null
+++ b/demos/declarative/flickr/flickr.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/flickr
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE6E2201E
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/demos/declarative/flickr/flickr.qml b/demos/declarative/flickr/flickr.qml
deleted file mode 100644
index 1719640..0000000
--- a/demos/declarative/flickr/flickr.qml
+++ /dev/null
@@ -1,125 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import "common" as Common
-import "mobile" as Mobile
-
-Item {
-    id: screen; width: 320; height: 480
-    property bool inListView : false
-
-    Rectangle {
-        id: background
-        anchors.fill: parent; color: "#343434";
-
-        Image { source: "mobile/images/stripes.png"; fillMode: Image.Tile; anchors.fill: parent; opacity: 0.3 }
-
-        Common.RssModel { id: rssModel }
-
-        Item {
-            id: views
-            width: parent.width
-            anchors.top: titleBar.bottom; anchors.bottom: toolBar.top
-
-            GridView {
-                id: photoGridView; model: rssModel; delegate: Mobile.GridDelegate {}
-                cacheBuffer: 1000
-                cellWidth: (parent.width-2)/4; cellHeight: cellWidth; width: parent.width; height: parent.height
-            }
-
-            ListView {
-                id: photoListView; model: rssModel; delegate: Mobile.ListDelegate { }
-                width: parent.width; height: parent.height; x: -(parent.width * 1.5); cacheBuffer: 100;
-            }
-
-            states: State {
-                name: "ListView"; when: screen.inListView == true
-                PropertyChanges { target: photoListView; x: 0 }
-                PropertyChanges { target: photoGridView; x: -(parent.width * 1.5) }
-            }
-
-            transitions: Transition {
-                NumberAnimation { properties: "x"; duration: 500; easing.type: Easing.InOutQuad }
-            }
-
-            Mobile.ImageDetails { id: imageDetails; width: parent.width; anchors.left: views.right; height: parent.height }
-
-            Item { id: foreground; anchors.fill: parent }
-        }
-
-        Mobile.TitleBar { id: titleBar; width: parent.width; height: 40; opacity: 0.9 }
-
-        Mobile.ToolBar {
-            id: toolBar
-            height: 40; anchors.bottom: parent.bottom; width: parent.width; opacity: 0.9
-            button1Label: "Update"; button2Label: "View mode"
-            onButton1Clicked: rssModel.reload()
-            onButton2Clicked: if (screen.inListView == true) screen.inListView = false; else screen.inListView = true
-        }
-
-        Connections {
-            target: imageDetails
-            onClosed: {
-                if (background.state == "DetailedView") {
-                    background.state = '';
-                    imageDetails.photoUrl = "";
-                }
-            }
-        }
-
-        states: State {
-            name: "DetailedView"
-            PropertyChanges { target: views; x: -parent.width }
-            PropertyChanges { target: toolBar; button1Label: "View..." }
-            PropertyChanges {
-                target: toolBar
-                onButton1Clicked: if (imageDetails.state=='') imageDetails.state='Back'; else imageDetails.state=''
-            }
-            PropertyChanges { target: toolBar; button2Label: "Back" }
-            PropertyChanges { target: toolBar; onButton2Clicked: imageDetails.closed() }
-        }
-
-        transitions: Transition {
-            NumberAnimation { properties: "x"; duration: 500; easing.type: Easing.InOutQuad }
-        }
-    }
-}
diff --git a/demos/declarative/flickr/flickr.qmlproject b/demos/declarative/flickr/flickr.qmlproject
index d4909f8..3a6d821 100644
--- a/demos/declarative/flickr/flickr.qmlproject
+++ b/demos/declarative/flickr/flickr.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/flickr"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/flickr"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/flickr"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/demos/declarative/flickr/flickr.svg b/demos/declarative/flickr/flickr.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/demos/declarative/flickr/flickr.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/demos/declarative/flickr/flickr64.png b/demos/declarative/flickr/flickr64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/demos/declarative/flickr/flickr64.png differ
diff --git a/demos/declarative/flickr/flickr80.png b/demos/declarative/flickr/flickr80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/demos/declarative/flickr/flickr80.png differ
diff --git a/demos/declarative/flickr/flickr_harmattan.desktop b/demos/declarative/flickr/flickr_harmattan.desktop
new file mode 100644
index 0000000..19cf626
--- /dev/null
+++ b/demos/declarative/flickr/flickr_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=flickr
+Exec=/usr/bin/single-instance /opt/flickr/bin/flickr
+Icon=/usr/share/icons/hicolor/80x80/apps/flickr80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/demos/declarative/flickr/main.cpp b/demos/declarative/flickr/main.cpp
new file mode 100644
index 0000000..721e297
--- /dev/null
+++ b/demos/declarative/flickr/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include "qmlapplicationviewer.h"
+#include <QtGui/QApplication>
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
+    viewer.setMainQmlFile(QLatin1String("qml/flickr/flickr.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/demos/declarative/flickr/mobile/Button.qml b/demos/declarative/flickr/mobile/Button.qml
deleted file mode 100644
index 35364ed..0000000
--- a/demos/declarative/flickr/mobile/Button.qml
+++ /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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: container
-
-    signal clicked
-
-    property string text
-
-    BorderImage {
-        id: buttonImage
-        source: "images/toolbutton.sci"
-        width: container.width; height: container.height
-    }
-    BorderImage {
-        id: pressed
-        opacity: 0
-        source: "images/toolbutton.sci"
-        width: container.width; height: container.height
-    }
-    MouseArea {
-        id: mouseRegion
-        anchors.fill: buttonImage
-        onClicked: { container.clicked(); }
-    }
-    Text {
-        color: "white"
-        anchors.centerIn: buttonImage; font.bold: true; font.pixelSize: 15
-        text: container.text; style: Text.Raised; styleColor: "black"
-    }
-    states: [
-        State {
-            name: "Pressed"
-            when: mouseRegion.pressed == true
-            PropertyChanges { target: pressed; opacity: 1 }
-        }
-    ]
-}
diff --git a/demos/declarative/flickr/mobile/GridDelegate.qml b/demos/declarative/flickr/mobile/GridDelegate.qml
deleted file mode 100644
index dc39e88..0000000
--- a/demos/declarative/flickr/mobile/GridDelegate.qml
+++ /dev/null
@@ -1,111 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: wrapper; width: GridView.view.cellWidth; height: GridView.view.cellHeight
-
-    function photoClicked() {
-        imageDetails.photoTitle = title;
-        imageDetails.photoTags = tags;
-        imageDetails.photoWidth = photoWidth;
-        imageDetails.photoHeight = photoHeight;
-        imageDetails.photoType = photoType;
-        imageDetails.photoAuthor = photoAuthor;
-        imageDetails.photoDate = photoDate;
-        imageDetails.photoUrl = url;
-        imageDetails.rating = 0;
-        scaleMe.state = "Details";
-    }
-
-    Item {
-        anchors.centerIn: parent
-        scale: 0.0
-        Behavior on scale { NumberAnimation { easing.type: Easing.InOutQuad} }
-        id: scaleMe
-
-        Item {
-            width: 77; height: 77; anchors.centerIn: parent
-            Rectangle {
-                id: whiteRect; width: 77; height: 77; color: "#dddddd"; smooth: true
-                Image { id: thumb; source: imagePath; x: 1; y: 1; smooth: true }
-                Image { source: "images/gloss.png" }
-            }
-        }
-
-        Connections {
-            target: toolBar
-            onButton2Clicked: if (scaleMe.state == 'Details' ) scaleMe.state = 'Show'
-        }
-
-        states: [
-            State {
-                name: "Show"; when: thumb.status == Image.Ready
-                PropertyChanges { target: scaleMe; scale: 1 }
-            },
-            State {
-                name: "Details"
-                PropertyChanges { target: scaleMe; scale: 1 }
-                ParentChange { target: whiteRect; x: 10; y: 20; parent: imageDetails.frontContainer }
-                PropertyChanges { target: background; state: "DetailedView" }
-            }
-        ]
-        transitions: [
-            Transition {
-                from: "Show"; to: "Details"
-                ParentAnimation {
-                    via: foreground
-                    NumberAnimation { properties: "x,y"; duration: 500; easing.type: Easing.InOutQuad }
-                }
-            },
-            Transition {
-                from: "Details"; to: "Show"
-                ParentAnimation {
-                    via: foreground
-                    NumberAnimation { properties: "x,y"; duration: 500; easing.type: Easing.InOutQuad }
-                }
-            }
-        ]
-    }
-    MouseArea { anchors.fill: wrapper; onClicked: photoClicked() }
-}
-
diff --git a/demos/declarative/flickr/mobile/ImageDetails.qml b/demos/declarative/flickr/mobile/ImageDetails.qml
deleted file mode 100644
index 3a290fc..0000000
--- a/demos/declarative/flickr/mobile/ImageDetails.qml
+++ /dev/null
@@ -1,186 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import "../common" as Common
-
-Flipable {
-    id: container
-
-    property alias frontContainer: containerFront
-    property string photoTitle: ""
-    property string photoTags: ""
-    property int photoWidth
-    property int photoHeight
-    property string photoType
-    property string photoAuthor
-    property string photoDate
-    property string photoUrl
-    property int rating: 2
-    property variant prevScale: 1.0
-
-    signal closed
-
-    transform: Rotation {
-        id: itemRotation
-        origin.x: container.width / 2;
-        axis.y: 1; axis.z: 0
-    }
-
-    front: Item {
-        id: containerFront; anchors.fill: container
-
-        Rectangle {
-            anchors.fill: parent
-            color: "black"; opacity: 0.4
-        }
-
-        Column {
-            spacing: 10
-            anchors {
-                left: parent.left; leftMargin: 10
-                right: parent.right; rightMargin: 10
-                top: parent.top; topMargin: 120
-            }
-            Text { font.bold: true; color: "white"; elide: Text.ElideRight; text: container.photoTitle; width: parent.width }
-            Text { color: "white"; elide: Text.ElideRight; text: "Size: " + container.photoWidth + 'x' + container.photoHeight; width: parent.width }
-            Text { color: "white"; elide: Text.ElideRight; text: "Type: " + container.photoType; width: parent.width }
-            Text { color: "white"; elide: Text.ElideRight; text: "Author: " + container.photoAuthor; width: parent.width }
-            Text { color: "white"; elide: Text.ElideRight; text: "Published: " + container.photoDate; width: parent.width }
-            Text { color: "white"; elide: Text.ElideRight; text: container.photoTags == "" ? "" : "Tags: "; width: parent.width }
-            Text { color: "white"; elide: Text.ElideRight; text: container.photoTags; width: parent.width }
-        }
-    }
-
-    back: Item {
-        anchors.fill: container
-
-        Rectangle { anchors.fill: parent; color: "black"; opacity: 0.4 }
-
-        Common.Progress {
-            anchors.centerIn: parent; width: 200; height: 22
-            progress: bigImage.progress; visible: bigImage.status != Image.Ready
-        }
-
-        Flickable {
-            id: flickable; anchors.fill: parent; clip: true
-            contentWidth: imageContainer.width; contentHeight: imageContainer.height
-
-            function updateMinimumScale() {
-                if (bigImage.status == Image.Ready && bigImage.width != 0) {
-                    slider.minimum = Math.min(flickable.width / bigImage.width, flickable.height / bigImage.height);
-                    if (bigImage.width * slider.value > flickable.width) {
-                        var xoff = (flickable.width/2 + flickable.contentX) * slider.value / prevScale;
-                        flickable.contentX = xoff - flickable.width/2;
-                    }
-                    if (bigImage.height * slider.value > flickable.height) {
-                        var yoff = (flickable.height/2 + flickable.contentY) * slider.value / prevScale;
-                        flickable.contentY = yoff - flickable.height/2;
-                    }
-                    prevScale = slider.value;
-                }
-            }
-
-            onWidthChanged: updateMinimumScale()
-            onHeightChanged: updateMinimumScale()
-
-            Item {
-                id: imageContainer
-                width: Math.max(bigImage.width * bigImage.scale, flickable.width);
-                height: Math.max(bigImage.height * bigImage.scale, flickable.height);
-
-                Image {
-                    id: bigImage; source: container.photoUrl; scale: slider.value
-                    anchors.centerIn: parent; smooth: !flickable.movingVertically
-                    onStatusChanged : {
-                        // Default scale shows the entire image.
-                        if (bigImage.status == Image.Ready && bigImage.width != 0) {
-                            slider.minimum = Math.min(flickable.width / bigImage.width, flickable.height / bigImage.height);
-                            prevScale = Math.min(slider.minimum, 1);
-                            slider.value = prevScale;
-                        }
-                    }
-                }
-            }
-        }
-
-        Text {
-            text: "Image Unavailable"
-            visible: bigImage.status == Image.Error
-            anchors.centerIn: parent; color: "white"; font.bold: true
-        }
-
-        Common.Slider {
-            id: slider; visible: { bigImage.status == Image.Ready && maximum > minimum }
-            anchors {
-                bottom: parent.bottom; bottomMargin: 65
-                left: parent.left; leftMargin: 25
-                right: parent.right; rightMargin: 25
-            }
-            onValueChanged: {
-                if (bigImage.width * value > flickable.width) {
-                    var xoff = (flickable.width/2 + flickable.contentX) * value / prevScale;
-                    flickable.contentX = xoff - flickable.width/2;
-                }
-                if (bigImage.height * value > flickable.height) {
-                    var yoff = (flickable.height/2 + flickable.contentY) * value / prevScale;
-                    flickable.contentY = yoff - flickable.height/2;
-                }
-                prevScale = value;
-            }
-        }
-    }
-
-    states: State {
-        name: "Back"
-        PropertyChanges { target: itemRotation; angle: 180 }
-        PropertyChanges { target: toolBar; button2Visible: false }
-        PropertyChanges { target: toolBar; button1Label: "Back" }
-    }
-
-    transitions: Transition {
-        SequentialAnimation {
-            PropertyAction { target: bigImage; property: "smooth"; value: false }
-            NumberAnimation { easing.type: Easing.InOutQuad; properties: "angle"; duration: 500 }
-            PropertyAction { target: bigImage; property: "smooth"; value: !flickable.movingVertically }
-        }
-    }
-}
diff --git a/demos/declarative/flickr/mobile/ListDelegate.qml b/demos/declarative/flickr/mobile/ListDelegate.qml
deleted file mode 100644
index 17453c0..0000000
--- a/demos/declarative/flickr/mobile/ListDelegate.qml
+++ /dev/null
@@ -1,64 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Component {
-    Item {
-        id: wrapper; width: wrapper.ListView.view.width; height: 86
-        Item {
-            id: moveMe
-            Rectangle { color: "black"; opacity: index % 2 ? 0.2 : 0.4; height: 84; width: wrapper.width; y: 1 }
-            Rectangle {
-                x: 6; y: 4; width: 77; height: 77; color: "white"; smooth: true
-
-                Image { source: imagePath; x: 1; y: 1 }
-                Image { source: "images/gloss.png" }
-            }
-            Column {
-                x: 92; width: wrapper.ListView.view.width - 95; y: 15; spacing: 2
-                Text { text: title; color: "white"; width: parent.width; font.pixelSize: 14; font.bold: true; elide: Text.ElideRight; style: Text.Raised; styleColor: "black" }
-                Text { text: photoAuthor; width: parent.width; font.pixelSize: 14; elide: Text.ElideLeft; color: "#cccccc"; style: Text.Raised; styleColor: "black" }
-                Text { text: photoDate; width: parent.width; font.pixelSize: 14; elide: Text.ElideRight; color: "#cccccc"; style: Text.Raised; styleColor: "black" }
-            }
-        }
-    }
-}
diff --git a/demos/declarative/flickr/mobile/TitleBar.qml b/demos/declarative/flickr/mobile/TitleBar.qml
deleted file mode 100644
index 7facea1..0000000
--- a/demos/declarative/flickr/mobile/TitleBar.qml
+++ /dev/null
@@ -1,128 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: titleBar
-    property string untaggedString: "Uploads from everyone"
-    property string taggedString: "Recent uploads tagged "
-
-    BorderImage { source: "images/titlebar.sci"; width: parent.width; height: parent.height + 14; y: -7 }
-
-    Item {
-        id: container
-        width: (parent.width * 2) - 55 ; height: parent.height
-
-        function accept() {
-            imageDetails.closed()
-            titleBar.state = ""
-            background.state = ""
-            rssModel.tags = editor.text
-        }
-
-        Image {
-            id: quitButton
-            anchors.left: parent.left//; anchors.leftMargin: 0
-            anchors.verticalCenter: parent.verticalCenter
-            source: "images/quit.png"
-            MouseArea {
-                anchors.fill: parent
-                onClicked: Qt.quit()
-            }
-        }
-
-        Text {
-            id: categoryText
-            anchors {
-                left: quitButton.right; right: tagButton.left; leftMargin: 10; rightMargin: 10
-                verticalCenter: parent.verticalCenter
-            }
-            elide: Text.ElideLeft
-            text: (rssModel.tags=="" ? untaggedString : taggedString + rssModel.tags)
-            font.bold: true; font.pixelSize: 15; color: "White"; style: Text.Raised; styleColor: "Black"
-        }
-
-        Button {
-            id: tagButton; x: titleBar.width - 50; width: 45; height: 32; text: "..."
-            onClicked: if (titleBar.state == "Tags") container.accept(); else titleBar.state = "Tags"
-            anchors.verticalCenter: parent.verticalCenter
-        }
-
-        Item {
-            id: lineEdit
-            y: 4; height: parent.height - 9
-            anchors { left: tagButton.right; leftMargin: 5; right: parent.right; rightMargin: 5 }
-
-            BorderImage { source: "images/lineedit.sci"; anchors.fill: parent }
-
-            TextInput {
-                id: editor
-                anchors {
-                    left: parent.left; right: parent.right; leftMargin: 10; rightMargin: 10
-                    verticalCenter: parent.verticalCenter
-                }
-                cursorVisible: true; font.bold: true
-                color: "#151515"; selectionColor: "Green"
-            }
-
-            Keys.forwardTo: [ (returnKey), (editor)]
-
-            Item {
-                id: returnKey
-                Keys.onReturnPressed: container.accept()
-                Keys.onEnterPressed: container.accept()
-                Keys.onEscapePressed: titleBar.state = ""
-            }
-        }
-    }
-
-    states: State {
-        name: "Tags"
-        PropertyChanges { target: container; x: -tagButton.x + 5 }
-        PropertyChanges { target: tagButton; text: "OK" }
-        PropertyChanges { target: editor; focus: true }
-    }
-
-    transitions: Transition {
-        NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad }
-    }
-}
diff --git a/demos/declarative/flickr/mobile/ToolBar.qml b/demos/declarative/flickr/mobile/ToolBar.qml
deleted file mode 100644
index c4ff4fc..0000000
--- a/demos/declarative/flickr/mobile/ToolBar.qml
+++ /dev/null
@@ -1,69 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: toolbar
-
-    property alias button1Label: button1.text
-    property alias button2Label: button2.text
-    property alias button2Visible: button2.visible
-
-    signal button1Clicked
-    signal button2Clicked
-
-    BorderImage { source: "images/titlebar.sci"; width: parent.width; height: parent.height + 14; y: -7 }
-
-    Row {
-        anchors.right: parent.right; anchors.rightMargin: 5; y: 3; height: 32; spacing: 30
-        Button {
-            id: button1
-            width: 140; height: 32
-            onClicked: toolbar.button1Clicked()
-        }
-
-        Button {
-            id: button2; width: 140; height: 32
-            onClicked: toolbar.button2Clicked()
-        }
-    }
-}
diff --git a/demos/declarative/flickr/mobile/images/gloss.png b/demos/declarative/flickr/mobile/images/gloss.png
deleted file mode 100644
index 5d370cd..0000000
Binary files a/demos/declarative/flickr/mobile/images/gloss.png and /dev/null differ
diff --git a/demos/declarative/flickr/mobile/images/lineedit.png b/demos/declarative/flickr/mobile/images/lineedit.png
deleted file mode 100644
index 2cc38dc..0000000
Binary files a/demos/declarative/flickr/mobile/images/lineedit.png and /dev/null differ
diff --git a/demos/declarative/flickr/mobile/images/lineedit.sci b/demos/declarative/flickr/mobile/images/lineedit.sci
deleted file mode 100644
index 054bff7..0000000
--- a/demos/declarative/flickr/mobile/images/lineedit.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-border.left: 10
-border.top: 10
-border.bottom: 10
-border.right: 10
-source: lineedit.png
diff --git a/demos/declarative/flickr/mobile/images/quit.png b/demos/declarative/flickr/mobile/images/quit.png
deleted file mode 100644
index 5bda1b6..0000000
Binary files a/demos/declarative/flickr/mobile/images/quit.png and /dev/null differ
diff --git a/demos/declarative/flickr/mobile/images/stripes.png b/demos/declarative/flickr/mobile/images/stripes.png
deleted file mode 100644
index 9f36727..0000000
Binary files a/demos/declarative/flickr/mobile/images/stripes.png and /dev/null differ
diff --git a/demos/declarative/flickr/mobile/images/titlebar.png b/demos/declarative/flickr/mobile/images/titlebar.png
deleted file mode 100644
index 51c9008..0000000
Binary files a/demos/declarative/flickr/mobile/images/titlebar.png and /dev/null differ
diff --git a/demos/declarative/flickr/mobile/images/titlebar.sci b/demos/declarative/flickr/mobile/images/titlebar.sci
deleted file mode 100644
index 0418d94..0000000
--- a/demos/declarative/flickr/mobile/images/titlebar.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-border.left: 10
-border.top: 12
-border.bottom: 12
-border.right: 10
-source: titlebar.png
diff --git a/demos/declarative/flickr/mobile/images/toolbutton.png b/demos/declarative/flickr/mobile/images/toolbutton.png
deleted file mode 100644
index 1131001..0000000
Binary files a/demos/declarative/flickr/mobile/images/toolbutton.png and /dev/null differ
diff --git a/demos/declarative/flickr/mobile/images/toolbutton.sci b/demos/declarative/flickr/mobile/images/toolbutton.sci
deleted file mode 100644
index 9e4f965..0000000
--- a/demos/declarative/flickr/mobile/images/toolbutton.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-border.left: 15
-border.top: 4
-border.bottom: 4
-border.right: 15
-source: toolbutton.png
diff --git a/demos/declarative/flickr/qml/flickr/common/Progress.qml b/demos/declarative/flickr/qml/flickr/common/Progress.qml
new file mode 100644
index 0000000..2d584f6
--- /dev/null
+++ b/demos/declarative/flickr/qml/flickr/common/Progress.qml
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    property variant progress: 0
+
+    Rectangle {
+        anchors.fill: parent; smooth: true
+        border.color: "white"; border.width: 0; radius: height/2 - 2
+        gradient: Gradient {
+            GradientStop { position: 0; color: "#66343434" }
+            GradientStop { position: 1.0; color: "#66000000" }
+        }
+    }
+
+    Rectangle {
+        y: 2; height: parent.height-4;
+        x: 2; width: Math.max(parent.width * progress - 4, 0);
+        opacity: width < 1 ? 0 : 1; smooth: true
+        gradient: Gradient {
+            GradientStop { position: 0; color: "lightsteelblue" }
+            GradientStop { position: 1.0; color: "steelblue" }
+        }
+        radius: height/2 - 2
+    }
+
+    Text {
+        text: Math.round(progress * 100) + "%"
+        anchors.horizontalCenter: parent.horizontalCenter
+        anchors.verticalCenter: parent.verticalCenter
+        color: "white"; font.bold: true; font.pixelSize: 15
+    }
+}
diff --git a/demos/declarative/flickr/qml/flickr/common/RssModel.qml b/demos/declarative/flickr/qml/flickr/common/RssModel.qml
new file mode 100644
index 0000000..069918e
--- /dev/null
+++ b/demos/declarative/flickr/qml/flickr/common/RssModel.qml
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+XmlListModel {
+    property string tags : ""
+
+    function commasep(x)
+    {
+        return x.replace(' ',',');
+    }
+
+    source: "http://api.flickr.com/services/feeds/photos_public.gne?"+(tags ? "tags="+commasep(tags)+"&" : "")+"format=rss2"
+    query: "/rss/channel/item"
+    namespaceDeclarations: "declare namespace media=\"http://search.yahoo.com/mrss/\";"
+
+    XmlRole { name: "title"; query: "title/string()" }
+    XmlRole { name: "imagePath"; query: "media:thumbnail/@url/string()" }
+    XmlRole { name: "url"; query: "media:content/@url/string()" }
+    XmlRole { name: "description"; query: "description/string()" }
+    XmlRole { name: "tags"; query: "media:category/string()" }
+    XmlRole { name: "photoWidth"; query: "media:content/@width/string()" }
+    XmlRole { name: "photoHeight"; query: "media:content/@height/string()" }
+    XmlRole { name: "photoType"; query: "media:content/@type/string()" }
+    XmlRole { name: "photoAuthor"; query: "author/string()" }
+    XmlRole { name: "photoDate"; query: "pubDate/string()" }
+}
diff --git a/demos/declarative/flickr/qml/flickr/common/ScrollBar.qml b/demos/declarative/flickr/qml/flickr/common/ScrollBar.qml
new file mode 100644
index 0000000..d100f12
--- /dev/null
+++ b/demos/declarative/flickr/qml/flickr/common/ScrollBar.qml
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: container
+
+    property variant flickableArea
+
+    Rectangle {
+        radius: 5
+        color: "black"
+        opacity: 0.3
+        border.color: "white"
+        border.width: 2
+        x: 0
+        y: flickableArea.visibleArea.yPosition * container.height
+        width: parent.width
+        height: flickableArea.visibleArea.heightRatio * container.height
+    }
+    states: [
+        State {
+            name: "show"
+            when: flickableArea.movingVertically
+            PropertyChanges {
+                target: container
+                opacity: 1
+            }
+        }
+    ]
+    transitions: [
+        Transition {
+            from: "*"
+            to: "*"
+            NumberAnimation {
+                target: container
+                properties: "opacity"
+                duration: 400
+            }
+        }
+    ]
+}
diff --git a/demos/declarative/flickr/qml/flickr/common/Slider.qml b/demos/declarative/flickr/qml/flickr/common/Slider.qml
new file mode 100644
index 0000000..f821f11
--- /dev/null
+++ b/demos/declarative/flickr/qml/flickr/common/Slider.qml
@@ -0,0 +1,91 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: slider; width: 400; height: 16
+
+    // value is read/write.
+    property real value: 1
+    onValueChanged: updatePos();
+    property real maximum: 1
+    property real minimum: 1
+    property int xMax: width - handle.width - 4
+    onXMaxChanged: updatePos();
+    onMinimumChanged: updatePos();
+
+    function updatePos() {
+        if (maximum > minimum) {
+            var pos = 2 + (value - minimum) * slider.xMax / (maximum - minimum);
+            pos = Math.min(pos, width - handle.width - 2);
+            pos = Math.max(pos, 2);
+            handle.x = pos;
+        } else {
+            handle.x = 2;
+        }
+    }
+
+    Rectangle {
+        anchors.fill: parent
+        border.color: "white"; border.width: 0; radius: 8
+        gradient: Gradient {
+            GradientStop { position: 0.0; color: "#66343434" }
+            GradientStop { position: 1.0; color: "#66000000" }
+        }
+    }
+
+    Rectangle {
+        id: handle; smooth: true
+        y: 2; width: 30; height: slider.height-4; radius: 6
+        gradient: Gradient {
+            GradientStop { position: 0.0; color: "lightgray" }
+            GradientStop { position: 1.0; color: "gray" }
+        }
+
+        MouseArea {
+            id: mouse
+            anchors.fill: parent; drag.target: parent
+            drag.axis: Drag.XAxis; drag.minimumX: 2; drag.maximumX: slider.xMax+2
+            onPositionChanged: { value = (maximum - minimum) * (handle.x-2) / slider.xMax + minimum; }
+        }
+    }
+}
diff --git a/demos/declarative/flickr/qml/flickr/common/qmldir b/demos/declarative/flickr/qml/flickr/common/qmldir
new file mode 100644
index 0000000..adc2479
--- /dev/null
+++ b/demos/declarative/flickr/qml/flickr/common/qmldir
@@ -0,0 +1,10 @@
+ImageDetails ImageDetails.qml
+LikeOMeter LikeOMeter.qml
+Loading Loading.qml
+MediaButton MediaButton.qml
+MediaLineEdit MediaLineEdit.qml
+Progress Progress.qml
+RssModel RssModel.qml
+ScrollBar ScrollBar.qml
+Slider Slider.qml
+Star Star.qml
diff --git a/demos/declarative/flickr/qml/flickr/flickr-90.qml b/demos/declarative/flickr/qml/flickr/flickr-90.qml
new file mode 100644
index 0000000..df6828d
--- /dev/null
+++ b/demos/declarative/flickr/qml/flickr/flickr-90.qml
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    width: 480; height: 320
+
+    Loader {
+        y: 320; rotation: -90
+        transformOrigin: Item.TopLeft
+        source: "flickr.qml"
+    }
+}
diff --git a/demos/declarative/flickr/qml/flickr/flickr.qml b/demos/declarative/flickr/qml/flickr/flickr.qml
new file mode 100644
index 0000000..1719640
--- /dev/null
+++ b/demos/declarative/flickr/qml/flickr/flickr.qml
@@ -0,0 +1,125 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import "common" as Common
+import "mobile" as Mobile
+
+Item {
+    id: screen; width: 320; height: 480
+    property bool inListView : false
+
+    Rectangle {
+        id: background
+        anchors.fill: parent; color: "#343434";
+
+        Image { source: "mobile/images/stripes.png"; fillMode: Image.Tile; anchors.fill: parent; opacity: 0.3 }
+
+        Common.RssModel { id: rssModel }
+
+        Item {
+            id: views
+            width: parent.width
+            anchors.top: titleBar.bottom; anchors.bottom: toolBar.top
+
+            GridView {
+                id: photoGridView; model: rssModel; delegate: Mobile.GridDelegate {}
+                cacheBuffer: 1000
+                cellWidth: (parent.width-2)/4; cellHeight: cellWidth; width: parent.width; height: parent.height
+            }
+
+            ListView {
+                id: photoListView; model: rssModel; delegate: Mobile.ListDelegate { }
+                width: parent.width; height: parent.height; x: -(parent.width * 1.5); cacheBuffer: 100;
+            }
+
+            states: State {
+                name: "ListView"; when: screen.inListView == true
+                PropertyChanges { target: photoListView; x: 0 }
+                PropertyChanges { target: photoGridView; x: -(parent.width * 1.5) }
+            }
+
+            transitions: Transition {
+                NumberAnimation { properties: "x"; duration: 500; easing.type: Easing.InOutQuad }
+            }
+
+            Mobile.ImageDetails { id: imageDetails; width: parent.width; anchors.left: views.right; height: parent.height }
+
+            Item { id: foreground; anchors.fill: parent }
+        }
+
+        Mobile.TitleBar { id: titleBar; width: parent.width; height: 40; opacity: 0.9 }
+
+        Mobile.ToolBar {
+            id: toolBar
+            height: 40; anchors.bottom: parent.bottom; width: parent.width; opacity: 0.9
+            button1Label: "Update"; button2Label: "View mode"
+            onButton1Clicked: rssModel.reload()
+            onButton2Clicked: if (screen.inListView == true) screen.inListView = false; else screen.inListView = true
+        }
+
+        Connections {
+            target: imageDetails
+            onClosed: {
+                if (background.state == "DetailedView") {
+                    background.state = '';
+                    imageDetails.photoUrl = "";
+                }
+            }
+        }
+
+        states: State {
+            name: "DetailedView"
+            PropertyChanges { target: views; x: -parent.width }
+            PropertyChanges { target: toolBar; button1Label: "View..." }
+            PropertyChanges {
+                target: toolBar
+                onButton1Clicked: if (imageDetails.state=='') imageDetails.state='Back'; else imageDetails.state=''
+            }
+            PropertyChanges { target: toolBar; button2Label: "Back" }
+            PropertyChanges { target: toolBar; onButton2Clicked: imageDetails.closed() }
+        }
+
+        transitions: Transition {
+            NumberAnimation { properties: "x"; duration: 500; easing.type: Easing.InOutQuad }
+        }
+    }
+}
diff --git a/demos/declarative/flickr/qml/flickr/mobile/Button.qml b/demos/declarative/flickr/qml/flickr/mobile/Button.qml
new file mode 100644
index 0000000..35364ed
--- /dev/null
+++ b/demos/declarative/flickr/qml/flickr/mobile/Button.qml
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: container
+
+    signal clicked
+
+    property string text
+
+    BorderImage {
+        id: buttonImage
+        source: "images/toolbutton.sci"
+        width: container.width; height: container.height
+    }
+    BorderImage {
+        id: pressed
+        opacity: 0
+        source: "images/toolbutton.sci"
+        width: container.width; height: container.height
+    }
+    MouseArea {
+        id: mouseRegion
+        anchors.fill: buttonImage
+        onClicked: { container.clicked(); }
+    }
+    Text {
+        color: "white"
+        anchors.centerIn: buttonImage; font.bold: true; font.pixelSize: 15
+        text: container.text; style: Text.Raised; styleColor: "black"
+    }
+    states: [
+        State {
+            name: "Pressed"
+            when: mouseRegion.pressed == true
+            PropertyChanges { target: pressed; opacity: 1 }
+        }
+    ]
+}
diff --git a/demos/declarative/flickr/qml/flickr/mobile/GridDelegate.qml b/demos/declarative/flickr/qml/flickr/mobile/GridDelegate.qml
new file mode 100644
index 0000000..dc39e88
--- /dev/null
+++ b/demos/declarative/flickr/qml/flickr/mobile/GridDelegate.qml
@@ -0,0 +1,111 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: wrapper; width: GridView.view.cellWidth; height: GridView.view.cellHeight
+
+    function photoClicked() {
+        imageDetails.photoTitle = title;
+        imageDetails.photoTags = tags;
+        imageDetails.photoWidth = photoWidth;
+        imageDetails.photoHeight = photoHeight;
+        imageDetails.photoType = photoType;
+        imageDetails.photoAuthor = photoAuthor;
+        imageDetails.photoDate = photoDate;
+        imageDetails.photoUrl = url;
+        imageDetails.rating = 0;
+        scaleMe.state = "Details";
+    }
+
+    Item {
+        anchors.centerIn: parent
+        scale: 0.0
+        Behavior on scale { NumberAnimation { easing.type: Easing.InOutQuad} }
+        id: scaleMe
+
+        Item {
+            width: 77; height: 77; anchors.centerIn: parent
+            Rectangle {
+                id: whiteRect; width: 77; height: 77; color: "#dddddd"; smooth: true
+                Image { id: thumb; source: imagePath; x: 1; y: 1; smooth: true }
+                Image { source: "images/gloss.png" }
+            }
+        }
+
+        Connections {
+            target: toolBar
+            onButton2Clicked: if (scaleMe.state == 'Details' ) scaleMe.state = 'Show'
+        }
+
+        states: [
+            State {
+                name: "Show"; when: thumb.status == Image.Ready
+                PropertyChanges { target: scaleMe; scale: 1 }
+            },
+            State {
+                name: "Details"
+                PropertyChanges { target: scaleMe; scale: 1 }
+                ParentChange { target: whiteRect; x: 10; y: 20; parent: imageDetails.frontContainer }
+                PropertyChanges { target: background; state: "DetailedView" }
+            }
+        ]
+        transitions: [
+            Transition {
+                from: "Show"; to: "Details"
+                ParentAnimation {
+                    via: foreground
+                    NumberAnimation { properties: "x,y"; duration: 500; easing.type: Easing.InOutQuad }
+                }
+            },
+            Transition {
+                from: "Details"; to: "Show"
+                ParentAnimation {
+                    via: foreground
+                    NumberAnimation { properties: "x,y"; duration: 500; easing.type: Easing.InOutQuad }
+                }
+            }
+        ]
+    }
+    MouseArea { anchors.fill: wrapper; onClicked: photoClicked() }
+}
+
diff --git a/demos/declarative/flickr/qml/flickr/mobile/ImageDetails.qml b/demos/declarative/flickr/qml/flickr/mobile/ImageDetails.qml
new file mode 100644
index 0000000..3a290fc
--- /dev/null
+++ b/demos/declarative/flickr/qml/flickr/mobile/ImageDetails.qml
@@ -0,0 +1,186 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import "../common" as Common
+
+Flipable {
+    id: container
+
+    property alias frontContainer: containerFront
+    property string photoTitle: ""
+    property string photoTags: ""
+    property int photoWidth
+    property int photoHeight
+    property string photoType
+    property string photoAuthor
+    property string photoDate
+    property string photoUrl
+    property int rating: 2
+    property variant prevScale: 1.0
+
+    signal closed
+
+    transform: Rotation {
+        id: itemRotation
+        origin.x: container.width / 2;
+        axis.y: 1; axis.z: 0
+    }
+
+    front: Item {
+        id: containerFront; anchors.fill: container
+
+        Rectangle {
+            anchors.fill: parent
+            color: "black"; opacity: 0.4
+        }
+
+        Column {
+            spacing: 10
+            anchors {
+                left: parent.left; leftMargin: 10
+                right: parent.right; rightMargin: 10
+                top: parent.top; topMargin: 120
+            }
+            Text { font.bold: true; color: "white"; elide: Text.ElideRight; text: container.photoTitle; width: parent.width }
+            Text { color: "white"; elide: Text.ElideRight; text: "Size: " + container.photoWidth + 'x' + container.photoHeight; width: parent.width }
+            Text { color: "white"; elide: Text.ElideRight; text: "Type: " + container.photoType; width: parent.width }
+            Text { color: "white"; elide: Text.ElideRight; text: "Author: " + container.photoAuthor; width: parent.width }
+            Text { color: "white"; elide: Text.ElideRight; text: "Published: " + container.photoDate; width: parent.width }
+            Text { color: "white"; elide: Text.ElideRight; text: container.photoTags == "" ? "" : "Tags: "; width: parent.width }
+            Text { color: "white"; elide: Text.ElideRight; text: container.photoTags; width: parent.width }
+        }
+    }
+
+    back: Item {
+        anchors.fill: container
+
+        Rectangle { anchors.fill: parent; color: "black"; opacity: 0.4 }
+
+        Common.Progress {
+            anchors.centerIn: parent; width: 200; height: 22
+            progress: bigImage.progress; visible: bigImage.status != Image.Ready
+        }
+
+        Flickable {
+            id: flickable; anchors.fill: parent; clip: true
+            contentWidth: imageContainer.width; contentHeight: imageContainer.height
+
+            function updateMinimumScale() {
+                if (bigImage.status == Image.Ready && bigImage.width != 0) {
+                    slider.minimum = Math.min(flickable.width / bigImage.width, flickable.height / bigImage.height);
+                    if (bigImage.width * slider.value > flickable.width) {
+                        var xoff = (flickable.width/2 + flickable.contentX) * slider.value / prevScale;
+                        flickable.contentX = xoff - flickable.width/2;
+                    }
+                    if (bigImage.height * slider.value > flickable.height) {
+                        var yoff = (flickable.height/2 + flickable.contentY) * slider.value / prevScale;
+                        flickable.contentY = yoff - flickable.height/2;
+                    }
+                    prevScale = slider.value;
+                }
+            }
+
+            onWidthChanged: updateMinimumScale()
+            onHeightChanged: updateMinimumScale()
+
+            Item {
+                id: imageContainer
+                width: Math.max(bigImage.width * bigImage.scale, flickable.width);
+                height: Math.max(bigImage.height * bigImage.scale, flickable.height);
+
+                Image {
+                    id: bigImage; source: container.photoUrl; scale: slider.value
+                    anchors.centerIn: parent; smooth: !flickable.movingVertically
+                    onStatusChanged : {
+                        // Default scale shows the entire image.
+                        if (bigImage.status == Image.Ready && bigImage.width != 0) {
+                            slider.minimum = Math.min(flickable.width / bigImage.width, flickable.height / bigImage.height);
+                            prevScale = Math.min(slider.minimum, 1);
+                            slider.value = prevScale;
+                        }
+                    }
+                }
+            }
+        }
+
+        Text {
+            text: "Image Unavailable"
+            visible: bigImage.status == Image.Error
+            anchors.centerIn: parent; color: "white"; font.bold: true
+        }
+
+        Common.Slider {
+            id: slider; visible: { bigImage.status == Image.Ready && maximum > minimum }
+            anchors {
+                bottom: parent.bottom; bottomMargin: 65
+                left: parent.left; leftMargin: 25
+                right: parent.right; rightMargin: 25
+            }
+            onValueChanged: {
+                if (bigImage.width * value > flickable.width) {
+                    var xoff = (flickable.width/2 + flickable.contentX) * value / prevScale;
+                    flickable.contentX = xoff - flickable.width/2;
+                }
+                if (bigImage.height * value > flickable.height) {
+                    var yoff = (flickable.height/2 + flickable.contentY) * value / prevScale;
+                    flickable.contentY = yoff - flickable.height/2;
+                }
+                prevScale = value;
+            }
+        }
+    }
+
+    states: State {
+        name: "Back"
+        PropertyChanges { target: itemRotation; angle: 180 }
+        PropertyChanges { target: toolBar; button2Visible: false }
+        PropertyChanges { target: toolBar; button1Label: "Back" }
+    }
+
+    transitions: Transition {
+        SequentialAnimation {
+            PropertyAction { target: bigImage; property: "smooth"; value: false }
+            NumberAnimation { easing.type: Easing.InOutQuad; properties: "angle"; duration: 500 }
+            PropertyAction { target: bigImage; property: "smooth"; value: !flickable.movingVertically }
+        }
+    }
+}
diff --git a/demos/declarative/flickr/qml/flickr/mobile/ListDelegate.qml b/demos/declarative/flickr/qml/flickr/mobile/ListDelegate.qml
new file mode 100644
index 0000000..17453c0
--- /dev/null
+++ b/demos/declarative/flickr/qml/flickr/mobile/ListDelegate.qml
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Component {
+    Item {
+        id: wrapper; width: wrapper.ListView.view.width; height: 86
+        Item {
+            id: moveMe
+            Rectangle { color: "black"; opacity: index % 2 ? 0.2 : 0.4; height: 84; width: wrapper.width; y: 1 }
+            Rectangle {
+                x: 6; y: 4; width: 77; height: 77; color: "white"; smooth: true
+
+                Image { source: imagePath; x: 1; y: 1 }
+                Image { source: "images/gloss.png" }
+            }
+            Column {
+                x: 92; width: wrapper.ListView.view.width - 95; y: 15; spacing: 2
+                Text { text: title; color: "white"; width: parent.width; font.pixelSize: 14; font.bold: true; elide: Text.ElideRight; style: Text.Raised; styleColor: "black" }
+                Text { text: photoAuthor; width: parent.width; font.pixelSize: 14; elide: Text.ElideLeft; color: "#cccccc"; style: Text.Raised; styleColor: "black" }
+                Text { text: photoDate; width: parent.width; font.pixelSize: 14; elide: Text.ElideRight; color: "#cccccc"; style: Text.Raised; styleColor: "black" }
+            }
+        }
+    }
+}
diff --git a/demos/declarative/flickr/qml/flickr/mobile/TitleBar.qml b/demos/declarative/flickr/qml/flickr/mobile/TitleBar.qml
new file mode 100644
index 0000000..7facea1
--- /dev/null
+++ b/demos/declarative/flickr/qml/flickr/mobile/TitleBar.qml
@@ -0,0 +1,128 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: titleBar
+    property string untaggedString: "Uploads from everyone"
+    property string taggedString: "Recent uploads tagged "
+
+    BorderImage { source: "images/titlebar.sci"; width: parent.width; height: parent.height + 14; y: -7 }
+
+    Item {
+        id: container
+        width: (parent.width * 2) - 55 ; height: parent.height
+
+        function accept() {
+            imageDetails.closed()
+            titleBar.state = ""
+            background.state = ""
+            rssModel.tags = editor.text
+        }
+
+        Image {
+            id: quitButton
+            anchors.left: parent.left//; anchors.leftMargin: 0
+            anchors.verticalCenter: parent.verticalCenter
+            source: "images/quit.png"
+            MouseArea {
+                anchors.fill: parent
+                onClicked: Qt.quit()
+            }
+        }
+
+        Text {
+            id: categoryText
+            anchors {
+                left: quitButton.right; right: tagButton.left; leftMargin: 10; rightMargin: 10
+                verticalCenter: parent.verticalCenter
+            }
+            elide: Text.ElideLeft
+            text: (rssModel.tags=="" ? untaggedString : taggedString + rssModel.tags)
+            font.bold: true; font.pixelSize: 15; color: "White"; style: Text.Raised; styleColor: "Black"
+        }
+
+        Button {
+            id: tagButton; x: titleBar.width - 50; width: 45; height: 32; text: "..."
+            onClicked: if (titleBar.state == "Tags") container.accept(); else titleBar.state = "Tags"
+            anchors.verticalCenter: parent.verticalCenter
+        }
+
+        Item {
+            id: lineEdit
+            y: 4; height: parent.height - 9
+            anchors { left: tagButton.right; leftMargin: 5; right: parent.right; rightMargin: 5 }
+
+            BorderImage { source: "images/lineedit.sci"; anchors.fill: parent }
+
+            TextInput {
+                id: editor
+                anchors {
+                    left: parent.left; right: parent.right; leftMargin: 10; rightMargin: 10
+                    verticalCenter: parent.verticalCenter
+                }
+                cursorVisible: true; font.bold: true
+                color: "#151515"; selectionColor: "Green"
+            }
+
+            Keys.forwardTo: [ (returnKey), (editor)]
+
+            Item {
+                id: returnKey
+                Keys.onReturnPressed: container.accept()
+                Keys.onEnterPressed: container.accept()
+                Keys.onEscapePressed: titleBar.state = ""
+            }
+        }
+    }
+
+    states: State {
+        name: "Tags"
+        PropertyChanges { target: container; x: -tagButton.x + 5 }
+        PropertyChanges { target: tagButton; text: "OK" }
+        PropertyChanges { target: editor; focus: true }
+    }
+
+    transitions: Transition {
+        NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad }
+    }
+}
diff --git a/demos/declarative/flickr/qml/flickr/mobile/ToolBar.qml b/demos/declarative/flickr/qml/flickr/mobile/ToolBar.qml
new file mode 100644
index 0000000..c4ff4fc
--- /dev/null
+++ b/demos/declarative/flickr/qml/flickr/mobile/ToolBar.qml
@@ -0,0 +1,69 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: toolbar
+
+    property alias button1Label: button1.text
+    property alias button2Label: button2.text
+    property alias button2Visible: button2.visible
+
+    signal button1Clicked
+    signal button2Clicked
+
+    BorderImage { source: "images/titlebar.sci"; width: parent.width; height: parent.height + 14; y: -7 }
+
+    Row {
+        anchors.right: parent.right; anchors.rightMargin: 5; y: 3; height: 32; spacing: 30
+        Button {
+            id: button1
+            width: 140; height: 32
+            onClicked: toolbar.button1Clicked()
+        }
+
+        Button {
+            id: button2; width: 140; height: 32
+            onClicked: toolbar.button2Clicked()
+        }
+    }
+}
diff --git a/demos/declarative/flickr/qml/flickr/mobile/images/gloss.png b/demos/declarative/flickr/qml/flickr/mobile/images/gloss.png
new file mode 100644
index 0000000..5d370cd
Binary files /dev/null and b/demos/declarative/flickr/qml/flickr/mobile/images/gloss.png differ
diff --git a/demos/declarative/flickr/qml/flickr/mobile/images/lineedit.png b/demos/declarative/flickr/qml/flickr/mobile/images/lineedit.png
new file mode 100644
index 0000000..2cc38dc
Binary files /dev/null and b/demos/declarative/flickr/qml/flickr/mobile/images/lineedit.png differ
diff --git a/demos/declarative/flickr/qml/flickr/mobile/images/lineedit.sci b/demos/declarative/flickr/qml/flickr/mobile/images/lineedit.sci
new file mode 100644
index 0000000..054bff7
--- /dev/null
+++ b/demos/declarative/flickr/qml/flickr/mobile/images/lineedit.sci
@@ -0,0 +1,5 @@
+border.left: 10
+border.top: 10
+border.bottom: 10
+border.right: 10
+source: lineedit.png
diff --git a/demos/declarative/flickr/qml/flickr/mobile/images/quit.png b/demos/declarative/flickr/qml/flickr/mobile/images/quit.png
new file mode 100644
index 0000000..5bda1b6
Binary files /dev/null and b/demos/declarative/flickr/qml/flickr/mobile/images/quit.png differ
diff --git a/demos/declarative/flickr/qml/flickr/mobile/images/stripes.png b/demos/declarative/flickr/qml/flickr/mobile/images/stripes.png
new file mode 100644
index 0000000..9f36727
Binary files /dev/null and b/demos/declarative/flickr/qml/flickr/mobile/images/stripes.png differ
diff --git a/demos/declarative/flickr/qml/flickr/mobile/images/titlebar.png b/demos/declarative/flickr/qml/flickr/mobile/images/titlebar.png
new file mode 100644
index 0000000..51c9008
Binary files /dev/null and b/demos/declarative/flickr/qml/flickr/mobile/images/titlebar.png differ
diff --git a/demos/declarative/flickr/qml/flickr/mobile/images/titlebar.sci b/demos/declarative/flickr/qml/flickr/mobile/images/titlebar.sci
new file mode 100644
index 0000000..0418d94
--- /dev/null
+++ b/demos/declarative/flickr/qml/flickr/mobile/images/titlebar.sci
@@ -0,0 +1,5 @@
+border.left: 10
+border.top: 12
+border.bottom: 12
+border.right: 10
+source: titlebar.png
diff --git a/demos/declarative/flickr/qml/flickr/mobile/images/toolbutton.png b/demos/declarative/flickr/qml/flickr/mobile/images/toolbutton.png
new file mode 100644
index 0000000..1131001
Binary files /dev/null and b/demos/declarative/flickr/qml/flickr/mobile/images/toolbutton.png differ
diff --git a/demos/declarative/flickr/qml/flickr/mobile/images/toolbutton.sci b/demos/declarative/flickr/qml/flickr/mobile/images/toolbutton.sci
new file mode 100644
index 0000000..9e4f965
--- /dev/null
+++ b/demos/declarative/flickr/qml/flickr/mobile/images/toolbutton.sci
@@ -0,0 +1,5 @@
+border.left: 15
+border.top: 4
+border.bottom: 4
+border.right: 15
+source: toolbutton.png
-- 
cgit v0.12


From 9b5bb1b8b1acd1deb2ce653ab1a4095a0e503306 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:14 +0100
Subject: demos/declarative/minehunt example modifications

Modified the example 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>
---
 .../minehunt/MinehuntCore/Explosion.qml            |  66 -----------
 demos/declarative/minehunt/MinehuntCore/Tile.qml   | 128 ---------------------
 .../minehunt/MinehuntCore/pics/back.png            | Bin 558 -> 0 bytes
 .../minehunt/MinehuntCore/pics/background.png      | Bin 313930 -> 0 bytes
 .../minehunt/MinehuntCore/pics/bomb-color.png      | Bin 284 -> 0 bytes
 .../minehunt/MinehuntCore/pics/bomb.png            | Bin 535 -> 0 bytes
 .../minehunt/MinehuntCore/pics/face-sad.png        | Bin 14844 -> 0 bytes
 .../minehunt/MinehuntCore/pics/face-smile-big.png  | Bin 13810 -> 0 bytes
 .../minehunt/MinehuntCore/pics/face-smile.png      | Bin 15408 -> 0 bytes
 .../minehunt/MinehuntCore/pics/flag-color.png      | Bin 219 -> 0 bytes
 .../minehunt/MinehuntCore/pics/flag.png            | Bin 196 -> 0 bytes
 .../minehunt/MinehuntCore/pics/front.png           | Bin 580 -> 0 bytes
 .../minehunt/MinehuntCore/pics/quit.png            | Bin 583 -> 0 bytes
 .../minehunt/MinehuntCore/pics/star.png            | Bin 2677 -> 0 bytes
 demos/declarative/minehunt/MinehuntCore/qmldir     |   2 -
 demos/declarative/minehunt/main.cpp                |  29 ++---
 demos/declarative/minehunt/minehunt.pro            |  49 ++++++--
 demos/declarative/minehunt/minehunt.qml            | 112 ------------------
 demos/declarative/minehunt/minehunt.qmlproject     |   6 +-
 .../qml/minehunt/MinehuntCore/Explosion.qml        |  65 +++++++++++
 .../minehunt/qml/minehunt/MinehuntCore/Tile.qml    | 128 +++++++++++++++++++++
 .../qml/minehunt/MinehuntCore/pics/back.png        | Bin 0 -> 558 bytes
 .../qml/minehunt/MinehuntCore/pics/background.png  | Bin 0 -> 313930 bytes
 .../qml/minehunt/MinehuntCore/pics/bomb-color.png  | Bin 0 -> 284 bytes
 .../qml/minehunt/MinehuntCore/pics/bomb.png        | Bin 0 -> 535 bytes
 .../qml/minehunt/MinehuntCore/pics/face-sad.png    | Bin 0 -> 14844 bytes
 .../minehunt/MinehuntCore/pics/face-smile-big.png  | Bin 0 -> 13810 bytes
 .../qml/minehunt/MinehuntCore/pics/face-smile.png  | Bin 0 -> 15408 bytes
 .../qml/minehunt/MinehuntCore/pics/flag-color.png  | Bin 0 -> 219 bytes
 .../qml/minehunt/MinehuntCore/pics/flag.png        | Bin 0 -> 196 bytes
 .../qml/minehunt/MinehuntCore/pics/front.png       | Bin 0 -> 580 bytes
 .../qml/minehunt/MinehuntCore/pics/quit.png        | Bin 0 -> 583 bytes
 .../qml/minehunt/MinehuntCore/pics/star.png        | Bin 0 -> 2677 bytes
 .../declarative/minehunt/qml/minehunt/minehunt.qml | 112 ++++++++++++++++++
 34 files changed, 355 insertions(+), 342 deletions(-)
 delete mode 100644 demos/declarative/minehunt/MinehuntCore/Explosion.qml
 delete mode 100644 demos/declarative/minehunt/MinehuntCore/Tile.qml
 delete mode 100644 demos/declarative/minehunt/MinehuntCore/pics/back.png
 delete mode 100644 demos/declarative/minehunt/MinehuntCore/pics/background.png
 delete mode 100644 demos/declarative/minehunt/MinehuntCore/pics/bomb-color.png
 delete mode 100644 demos/declarative/minehunt/MinehuntCore/pics/bomb.png
 delete mode 100644 demos/declarative/minehunt/MinehuntCore/pics/face-sad.png
 delete mode 100644 demos/declarative/minehunt/MinehuntCore/pics/face-smile-big.png
 delete mode 100644 demos/declarative/minehunt/MinehuntCore/pics/face-smile.png
 delete mode 100644 demos/declarative/minehunt/MinehuntCore/pics/flag-color.png
 delete mode 100644 demos/declarative/minehunt/MinehuntCore/pics/flag.png
 delete mode 100644 demos/declarative/minehunt/MinehuntCore/pics/front.png
 delete mode 100644 demos/declarative/minehunt/MinehuntCore/pics/quit.png
 delete mode 100644 demos/declarative/minehunt/MinehuntCore/pics/star.png
 delete mode 100644 demos/declarative/minehunt/MinehuntCore/qmldir
 delete mode 100644 demos/declarative/minehunt/minehunt.qml
 create mode 100644 demos/declarative/minehunt/qml/minehunt/MinehuntCore/Explosion.qml
 create mode 100644 demos/declarative/minehunt/qml/minehunt/MinehuntCore/Tile.qml
 create mode 100644 demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/back.png
 create mode 100644 demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/background.png
 create mode 100644 demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/bomb-color.png
 create mode 100644 demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/bomb.png
 create mode 100644 demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/face-sad.png
 create mode 100644 demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/face-smile-big.png
 create mode 100644 demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/face-smile.png
 create mode 100644 demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/flag-color.png
 create mode 100644 demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/flag.png
 create mode 100644 demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/front.png
 create mode 100644 demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/quit.png
 create mode 100644 demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/star.png
 create mode 100644 demos/declarative/minehunt/qml/minehunt/minehunt.qml

diff --git a/demos/declarative/minehunt/MinehuntCore/Explosion.qml b/demos/declarative/minehunt/MinehuntCore/Explosion.qml
deleted file mode 100644
index a5f3f1b..0000000
--- a/demos/declarative/minehunt/MinehuntCore/Explosion.qml
+++ /dev/null
@@ -1,66 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import Qt.labs.particles 1.0
-
-Item {
-    property bool explode : false
-
-    Particles {
-        id: particles
-        width: 40
-        height: 40
-        lifeSpan: 1000
-        lifeSpanDeviation: 0
-        source: "pics/star.png"
-        count: 0
-        angle: 270
-        angleDeviation: 360
-        velocity: 100
-        velocityDeviation: 20
-        z: 100
-    }
-    states: State { name: "exploding"; when: explode
-        StateChangeScript {script: particles.burst(200); }
-    }
-
-}
diff --git a/demos/declarative/minehunt/MinehuntCore/Tile.qml b/demos/declarative/minehunt/MinehuntCore/Tile.qml
deleted file mode 100644
index 90247f8..0000000
--- a/demos/declarative/minehunt/MinehuntCore/Tile.qml
+++ /dev/null
@@ -1,128 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Flipable {
-    id: flipable
-    property int angle: 0
-
-    width: 40;  height: 40
-    transform: Rotation { origin.x: 20; origin.y: 20; axis.x: 1; axis.z: 0; angle: flipable.angle }
-
-    front: Image {
-        source: "pics/front.png"; width: 40; height: 40
-
-        Image {
-            anchors.centerIn: parent
-            source: "pics/flag.png"; opacity: modelData.hasFlag
-
-            Behavior on opacity { NumberAnimation {} }
-        }
-    }
-
-    back: Image {
-        source: "pics/back.png"
-        width: 40; height: 40
-
-        Text {
-            anchors.centerIn: parent
-            text: modelData.hint; color: "white"; font.bold: true
-            opacity: !modelData.hasMine && modelData.hint > 0
-        }
-
-        Image {
-            anchors.centerIn: parent
-            source: "pics/bomb.png"; opacity: modelData.hasMine
-        }
-
-        Explosion { id: expl }
-    }
-
-    states: State {
-        name: "back"; when: modelData.flipped
-        PropertyChanges { target: flipable; angle: 180 }
-    }
-
-    property real pauseDur: 250
-    transitions: Transition {
-        SequentialAnimation {
-            ScriptAction {
-                script: {
-                    var ret = Math.abs(flipable.x - field.clickx)
-                        + Math.abs(flipable.y - field.clicky);
-                    if (modelData.hasMine && modelData.flipped)
-                        pauseDur = ret * 3
-                    else
-                        pauseDur = ret
-                }
-            }
-            PauseAnimation {
-                duration: pauseDur
-            }
-            RotationAnimation { easing.type: Easing.InOutQuad }
-            ScriptAction { script: if (modelData.hasMine && modelData.flipped) { expl.explode = true } }
-        }
-    }
-
-    MouseArea {
-        anchors.fill: parent
-        acceptedButtons: Qt.LeftButton | Qt.RightButton
-        onClicked: {
-            field.clickx = flipable.x
-            field.clicky = flipable.y
-            var row = Math.floor(index / 9)
-            var col = index - (Math.floor(index / 9) * 9)
-            if (mouse.button == undefined || mouse.button == Qt.RightButton) {
-                flag(row, col)
-            } else {
-                flip(row, col)
-            }
-        }
-        onPressAndHold: {
-            field.clickx = flipable.x
-            field.clicky = flipable.y
-            var row = Math.floor(index / 9)
-            var col = index - (Math.floor(index / 9) * 9)
-            flag(row, col)
-        }
-    }
-}
diff --git a/demos/declarative/minehunt/MinehuntCore/pics/back.png b/demos/declarative/minehunt/MinehuntCore/pics/back.png
deleted file mode 100644
index f6b3f0b..0000000
Binary files a/demos/declarative/minehunt/MinehuntCore/pics/back.png and /dev/null differ
diff --git a/demos/declarative/minehunt/MinehuntCore/pics/background.png b/demos/declarative/minehunt/MinehuntCore/pics/background.png
deleted file mode 100644
index 3734a27..0000000
Binary files a/demos/declarative/minehunt/MinehuntCore/pics/background.png and /dev/null differ
diff --git a/demos/declarative/minehunt/MinehuntCore/pics/bomb-color.png b/demos/declarative/minehunt/MinehuntCore/pics/bomb-color.png
deleted file mode 100644
index 61ad0a9..0000000
Binary files a/demos/declarative/minehunt/MinehuntCore/pics/bomb-color.png and /dev/null differ
diff --git a/demos/declarative/minehunt/MinehuntCore/pics/bomb.png b/demos/declarative/minehunt/MinehuntCore/pics/bomb.png
deleted file mode 100644
index a992575..0000000
Binary files a/demos/declarative/minehunt/MinehuntCore/pics/bomb.png and /dev/null differ
diff --git a/demos/declarative/minehunt/MinehuntCore/pics/face-sad.png b/demos/declarative/minehunt/MinehuntCore/pics/face-sad.png
deleted file mode 100644
index cf00aaf..0000000
Binary files a/demos/declarative/minehunt/MinehuntCore/pics/face-sad.png and /dev/null differ
diff --git a/demos/declarative/minehunt/MinehuntCore/pics/face-smile-big.png b/demos/declarative/minehunt/MinehuntCore/pics/face-smile-big.png
deleted file mode 100644
index f9c2335..0000000
Binary files a/demos/declarative/minehunt/MinehuntCore/pics/face-smile-big.png and /dev/null differ
diff --git a/demos/declarative/minehunt/MinehuntCore/pics/face-smile.png b/demos/declarative/minehunt/MinehuntCore/pics/face-smile.png
deleted file mode 100644
index 3d66d72..0000000
Binary files a/demos/declarative/minehunt/MinehuntCore/pics/face-smile.png and /dev/null differ
diff --git a/demos/declarative/minehunt/MinehuntCore/pics/flag-color.png b/demos/declarative/minehunt/MinehuntCore/pics/flag-color.png
deleted file mode 100644
index aadad0f..0000000
Binary files a/demos/declarative/minehunt/MinehuntCore/pics/flag-color.png and /dev/null differ
diff --git a/demos/declarative/minehunt/MinehuntCore/pics/flag.png b/demos/declarative/minehunt/MinehuntCore/pics/flag.png
deleted file mode 100644
index 39cde4d..0000000
Binary files a/demos/declarative/minehunt/MinehuntCore/pics/flag.png and /dev/null differ
diff --git a/demos/declarative/minehunt/MinehuntCore/pics/front.png b/demos/declarative/minehunt/MinehuntCore/pics/front.png
deleted file mode 100644
index 834331b..0000000
Binary files a/demos/declarative/minehunt/MinehuntCore/pics/front.png and /dev/null differ
diff --git a/demos/declarative/minehunt/MinehuntCore/pics/quit.png b/demos/declarative/minehunt/MinehuntCore/pics/quit.png
deleted file mode 100644
index b822057..0000000
Binary files a/demos/declarative/minehunt/MinehuntCore/pics/quit.png and /dev/null differ
diff --git a/demos/declarative/minehunt/MinehuntCore/pics/star.png b/demos/declarative/minehunt/MinehuntCore/pics/star.png
deleted file mode 100644
index 3772359..0000000
Binary files a/demos/declarative/minehunt/MinehuntCore/pics/star.png and /dev/null differ
diff --git a/demos/declarative/minehunt/MinehuntCore/qmldir b/demos/declarative/minehunt/MinehuntCore/qmldir
deleted file mode 100644
index 81980e0..0000000
--- a/demos/declarative/minehunt/MinehuntCore/qmldir
+++ /dev/null
@@ -1,2 +0,0 @@
-Explosion 1.0 Explosion.qml
-Tile 1.0 Tile.qml
diff --git a/demos/declarative/minehunt/main.cpp b/demos/declarative/minehunt/main.cpp
index 9e7ab5f..909de51 100644
--- a/demos/declarative/minehunt/main.cpp
+++ b/demos/declarative/minehunt/main.cpp
@@ -39,33 +39,24 @@
 **
 ****************************************************************************/
 
+#include "qmlapplicationviewer.h"
+#include "minehunt.h"
 #include <QtGui/QApplication>
-#include <QtDeclarative/QDeclarativeView>
 #include <QtDeclarative/QDeclarativeContext>
 #include <QtDeclarative/QDeclarativeEngine>
 
-#include "minehunt.h"
-
 int main(int argc, char *argv[])
 {
     QApplication app(argc, argv);
-    QDeclarativeView canvas;
-    
+    QmlApplicationViewer viewer;
+
     qmlRegisterType<TileData>();
     MinehuntGame* game = new MinehuntGame();
-    
-#ifdef Q_OS_SYMBIAN
-    canvas.setResizeMode(QDeclarativeView::SizeRootObjectToView);
-#endif
-    canvas.engine()->rootContext()->setContextObject(game);        
-    canvas.setSource(QString("qrc:minehunt.qml"));
-    QObject::connect(canvas.engine(), SIGNAL(quit()), &app, SLOT(quit()));
-    
-#ifdef Q_OS_SYMBIAN
-    canvas.showFullScreen();
-#else
-    canvas.setGeometry(QRect(100, 100, 450, 450));
-    canvas.show();
-#endif
+
+    viewer.engine()->rootContext()->setContextObject(game);
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
+    viewer.setMainQmlFile(QLatin1String("qml/minehunt/minehunt.qml"));
+    viewer.showExpanded();
+
     return app.exec();
 }
diff --git a/demos/declarative/minehunt/minehunt.pro b/demos/declarative/minehunt/minehunt.pro
index d23bb05..4eed9c1 100644
--- a/demos/declarative/minehunt/minehunt.pro
+++ b/demos/declarative/minehunt/minehunt.pro
@@ -1,17 +1,20 @@
-TEMPLATE = app
-TARGET  = minehunt
-QT += declarative
+#TEMPLATE = app
+# Add more folders to ship with the application, here
+folder_01.source = qml/minehunt
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
 
-# Input
-HEADERS += minehunt.h
-SOURCES += main.cpp minehunt.cpp
-RESOURCES = minehunt.qrc
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
 
-sources.files = minehunt.qml minehunt.pro MinehuntCore
-sources.path = $$[QT_INSTALL_DEMOS]/declarative/minehunt
-target.path = $$[QT_INSTALL_DEMOS]/declarative/minehunt
+symbian:TARGET.UID3 = 0xE1CB8EBB
 
-INSTALLS = sources target
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
 
 symbian:{
     TARGET.EPOCALLOWDLLDATA = 1
@@ -20,4 +23,26 @@ symbian:{
     qmlminehuntfiles.files = MinehuntCore minehunt.qml
     DEPLOYMENT += qmlminehuntfiles
 }
- 
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# Input
+HEADERS += minehunt.h
+SOURCES += main.cpp minehunt.cpp
+RESOURCES = minehunt.qrc
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/demos/declarative/minehunt/minehunt.qml b/demos/declarative/minehunt/minehunt.qml
deleted file mode 100644
index 2129350..0000000
--- a/demos/declarative/minehunt/minehunt.qml
+++ /dev/null
@@ -1,112 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import "MinehuntCore" 1.0
-
-Item {
-    id: field
-    property int clickx: 0
-    property int clicky: 0
-
-    width: 450; height: 450
-
-    Image { source: "MinehuntCore/pics/background.png"; anchors.fill: parent; fillMode: Image.Tile }
-
-    Grid {
-        anchors.horizontalCenter: parent.horizontalCenter
-        columns: 9; spacing: 1
-
-        Repeater {
-            id: repeater
-            model: tiles
-            delegate: Tile {}
-        }
-    }
-
-    Row {
-        id: gamedata
-        x: 20; spacing: 20
-        anchors.bottom: field.bottom; anchors.bottomMargin: 15
-
-        Image {
-            source: "MinehuntCore/pics/quit.png"
-            scale: quitMouse.pressed ? 0.8 : 1.0
-            smooth: quitMouse.pressed
-            y: 10
-            MouseArea {
-                id: quitMouse
-                anchors.fill: parent
-                anchors.margins: -20
-                onClicked: Qt.quit()
-            }
-        }
-        Column {
-            spacing: 2
-            Image { source: "MinehuntCore/pics/bomb-color.png" }
-            Text { anchors.horizontalCenter: parent.horizontalCenter; color: "white"; text: numMines }
-        }
-
-        Column {
-            spacing: 2
-            Image { source: "MinehuntCore/pics/flag-color.png" }
-            Text { anchors.horizontalCenter: parent.horizontalCenter; color: "white"; text: numFlags }
-        }
-    }
-
-    Image {
-        anchors.bottom: field.bottom; anchors.bottomMargin: 15
-        anchors.right: field.right; anchors.rightMargin: 20
-        source: isPlaying ? 'MinehuntCore/pics/face-smile.png' :
-        hasWon ? 'MinehuntCore/pics/face-smile-big.png': 'MinehuntCore/pics/face-sad.png'
-
-        MouseArea { anchors.fill: parent; onPressed: reset() }
-    }
-    Text {
-        anchors.centerIn: parent; width: parent.width - 20
-        horizontalAlignment: Text.AlignHCenter
-        wrapMode: Text.WordWrap
-        text: "Minehunt demo has to be compiled to run.\n\nPlease see README."
-        color: "white"; font.bold: true; font.pixelSize: 14
-        visible: tiles == undefined
-    }
-
-}
diff --git a/demos/declarative/minehunt/minehunt.qmlproject b/demos/declarative/minehunt/minehunt.qmlproject
index d4909f8..1f8b659 100644
--- a/demos/declarative/minehunt/minehunt.qmlproject
+++ b/demos/declarative/minehunt/minehunt.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/minehunt"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/minehunt"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/minehunt"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/demos/declarative/minehunt/qml/minehunt/MinehuntCore/Explosion.qml b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/Explosion.qml
new file mode 100644
index 0000000..538d06b
--- /dev/null
+++ b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/Explosion.qml
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.labs.particles 1.0
+
+Item {
+    property bool explode : false
+
+    Particles {
+        id: particles
+        width: 40
+        height: 40
+        lifeSpan: 1000
+        lifeSpanDeviation: 0
+        source: "pics/star.png"
+        count: 0
+        angle: 270
+        angleDeviation: 360
+        velocity: 100
+        velocityDeviation: 20
+        z: 100
+    }
+    states: State { name: "exploding"; when: explode
+        StateChangeScript {script: particles.burst(200); }
+    }
+}
diff --git a/demos/declarative/minehunt/qml/minehunt/MinehuntCore/Tile.qml b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/Tile.qml
new file mode 100644
index 0000000..90247f8
--- /dev/null
+++ b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/Tile.qml
@@ -0,0 +1,128 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Flipable {
+    id: flipable
+    property int angle: 0
+
+    width: 40;  height: 40
+    transform: Rotation { origin.x: 20; origin.y: 20; axis.x: 1; axis.z: 0; angle: flipable.angle }
+
+    front: Image {
+        source: "pics/front.png"; width: 40; height: 40
+
+        Image {
+            anchors.centerIn: parent
+            source: "pics/flag.png"; opacity: modelData.hasFlag
+
+            Behavior on opacity { NumberAnimation {} }
+        }
+    }
+
+    back: Image {
+        source: "pics/back.png"
+        width: 40; height: 40
+
+        Text {
+            anchors.centerIn: parent
+            text: modelData.hint; color: "white"; font.bold: true
+            opacity: !modelData.hasMine && modelData.hint > 0
+        }
+
+        Image {
+            anchors.centerIn: parent
+            source: "pics/bomb.png"; opacity: modelData.hasMine
+        }
+
+        Explosion { id: expl }
+    }
+
+    states: State {
+        name: "back"; when: modelData.flipped
+        PropertyChanges { target: flipable; angle: 180 }
+    }
+
+    property real pauseDur: 250
+    transitions: Transition {
+        SequentialAnimation {
+            ScriptAction {
+                script: {
+                    var ret = Math.abs(flipable.x - field.clickx)
+                        + Math.abs(flipable.y - field.clicky);
+                    if (modelData.hasMine && modelData.flipped)
+                        pauseDur = ret * 3
+                    else
+                        pauseDur = ret
+                }
+            }
+            PauseAnimation {
+                duration: pauseDur
+            }
+            RotationAnimation { easing.type: Easing.InOutQuad }
+            ScriptAction { script: if (modelData.hasMine && modelData.flipped) { expl.explode = true } }
+        }
+    }
+
+    MouseArea {
+        anchors.fill: parent
+        acceptedButtons: Qt.LeftButton | Qt.RightButton
+        onClicked: {
+            field.clickx = flipable.x
+            field.clicky = flipable.y
+            var row = Math.floor(index / 9)
+            var col = index - (Math.floor(index / 9) * 9)
+            if (mouse.button == undefined || mouse.button == Qt.RightButton) {
+                flag(row, col)
+            } else {
+                flip(row, col)
+            }
+        }
+        onPressAndHold: {
+            field.clickx = flipable.x
+            field.clicky = flipable.y
+            var row = Math.floor(index / 9)
+            var col = index - (Math.floor(index / 9) * 9)
+            flag(row, col)
+        }
+    }
+}
diff --git a/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/back.png b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/back.png
new file mode 100644
index 0000000..f6b3f0b
Binary files /dev/null and b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/back.png differ
diff --git a/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/background.png b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/background.png
new file mode 100644
index 0000000..3734a27
Binary files /dev/null and b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/background.png differ
diff --git a/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/bomb-color.png b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/bomb-color.png
new file mode 100644
index 0000000..61ad0a9
Binary files /dev/null and b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/bomb-color.png differ
diff --git a/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/bomb.png b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/bomb.png
new file mode 100644
index 0000000..a992575
Binary files /dev/null and b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/bomb.png differ
diff --git a/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/face-sad.png b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/face-sad.png
new file mode 100644
index 0000000..cf00aaf
Binary files /dev/null and b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/face-sad.png differ
diff --git a/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/face-smile-big.png b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/face-smile-big.png
new file mode 100644
index 0000000..f9c2335
Binary files /dev/null and b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/face-smile-big.png differ
diff --git a/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/face-smile.png b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/face-smile.png
new file mode 100644
index 0000000..3d66d72
Binary files /dev/null and b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/face-smile.png differ
diff --git a/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/flag-color.png b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/flag-color.png
new file mode 100644
index 0000000..aadad0f
Binary files /dev/null and b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/flag-color.png differ
diff --git a/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/flag.png b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/flag.png
new file mode 100644
index 0000000..39cde4d
Binary files /dev/null and b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/flag.png differ
diff --git a/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/front.png b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/front.png
new file mode 100644
index 0000000..834331b
Binary files /dev/null and b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/front.png differ
diff --git a/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/quit.png b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/quit.png
new file mode 100644
index 0000000..b822057
Binary files /dev/null and b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/quit.png differ
diff --git a/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/star.png b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/star.png
new file mode 100644
index 0000000..3772359
Binary files /dev/null and b/demos/declarative/minehunt/qml/minehunt/MinehuntCore/pics/star.png differ
diff --git a/demos/declarative/minehunt/qml/minehunt/minehunt.qml b/demos/declarative/minehunt/qml/minehunt/minehunt.qml
new file mode 100644
index 0000000..c64f21d
--- /dev/null
+++ b/demos/declarative/minehunt/qml/minehunt/minehunt.qml
@@ -0,0 +1,112 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import "MinehuntCore"
+
+Item {
+    id: field
+    property int clickx: 0
+    property int clicky: 0
+
+    width: 450; height: 450
+
+    Image { source: "MinehuntCore/pics/background.png"; anchors.fill: parent; fillMode: Image.Tile }
+
+    Grid {
+        anchors.horizontalCenter: parent.horizontalCenter
+        columns: 9; spacing: 1
+
+        Repeater {
+            id: repeater
+            model: tiles
+            delegate: Tile {}
+        }
+    }
+
+    Row {
+        id: gamedata
+        x: 20; spacing: 20
+        anchors.bottom: field.bottom; anchors.bottomMargin: 15
+
+        Image {
+            source: "MinehuntCore/pics/quit.png"
+            scale: quitMouse.pressed ? 0.8 : 1.0
+            smooth: quitMouse.pressed
+            y: 10
+            MouseArea {
+                id: quitMouse
+                anchors.fill: parent
+                anchors.margins: -20
+                onClicked: Qt.quit()
+            }
+        }
+        Column {
+            spacing: 2
+            Image { source: "MinehuntCore/pics/bomb-color.png" }
+            Text { anchors.horizontalCenter: parent.horizontalCenter; color: "white"; text: numMines }
+        }
+
+        Column {
+            spacing: 2
+            Image { source: "MinehuntCore/pics/flag-color.png" }
+            Text { anchors.horizontalCenter: parent.horizontalCenter; color: "white"; text: numFlags }
+        }
+    }
+
+    Image {
+        anchors.bottom: field.bottom; anchors.bottomMargin: 15
+        anchors.right: field.right; anchors.rightMargin: 20
+        source: isPlaying ? 'MinehuntCore/pics/face-smile.png' :
+        hasWon ? 'MinehuntCore/pics/face-smile-big.png': 'MinehuntCore/pics/face-sad.png'
+
+        MouseArea { anchors.fill: parent; onPressed: reset() }
+    }
+    Text {
+        anchors.centerIn: parent; width: parent.width - 20
+        horizontalAlignment: Text.AlignHCenter
+        wrapMode: Text.WordWrap
+        text: "Minehunt demo has to be compiled to run.\n\nPlease see README."
+        color: "white"; font.bold: true; font.pixelSize: 14
+        visible: tiles == undefined
+    }
+
+}
-- 
cgit v0.12


From d2d2a71d8238b5d19178a1b67ae099eed5d4dda1 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:14 +0100
Subject: demos/declarative/photoviewer example modifications

Modified the example 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>
---
 .../photoviewer/PhotoViewerCore/AlbumDelegate.qml  | 146 ----------------
 .../photoviewer/PhotoViewerCore/BusyIndicator.qml  |  50 ------
 .../photoviewer/PhotoViewerCore/Button.qml         |  72 --------
 .../photoviewer/PhotoViewerCore/EditableButton.qml |  86 ----------
 .../photoviewer/PhotoViewerCore/PhotoDelegate.qml  | 188 ---------------------
 .../photoviewer/PhotoViewerCore/ProgressBar.qml    |  57 -------
 .../photoviewer/PhotoViewerCore/RssModel.qml       |  54 ------
 .../photoviewer/PhotoViewerCore/Tag.qml            |  91 ----------
 .../PhotoViewerCore/images/box-shadow.png          | Bin 588 -> 0 bytes
 .../photoviewer/PhotoViewerCore/images/busy.png    | Bin 2629 -> 0 bytes
 .../PhotoViewerCore/images/cardboard.png           | Bin 8844 -> 0 bytes
 .../declarative/photoviewer/PhotoViewerCore/qmldir |   8 -
 .../photoviewer/PhotoViewerCore/script/script.js   |  27 ---
 demos/declarative/photoviewer/i18n/base.ts         |  30 ----
 demos/declarative/photoviewer/i18n/qml_fr.qm       | Bin 268 -> 0 bytes
 demos/declarative/photoviewer/i18n/qml_fr.ts       |  30 ----
 demos/declarative/photoviewer/main.cpp             |  54 ++++++
 demos/declarative/photoviewer/photoviewer.desktop  |  11 ++
 demos/declarative/photoviewer/photoviewer.pro      |  37 ++++
 demos/declarative/photoviewer/photoviewer.qml      | 110 ------------
 .../declarative/photoviewer/photoviewer.qmlproject |   6 +-
 demos/declarative/photoviewer/photoviewer.svg      |  93 ++++++++++
 demos/declarative/photoviewer/photoviewer64.png    | Bin 0 -> 3400 bytes
 demos/declarative/photoviewer/photoviewer80.png    | Bin 0 -> 4945 bytes
 .../photoviewer/photoviewer_harmattan.desktop      |  11 ++
 .../photoviewer/PhotoViewerCore/AlbumDelegate.qml  | 146 ++++++++++++++++
 .../photoviewer/PhotoViewerCore/BusyIndicator.qml  |  50 ++++++
 .../qml/photoviewer/PhotoViewerCore/Button.qml     |  72 ++++++++
 .../photoviewer/PhotoViewerCore/EditableButton.qml |  86 ++++++++++
 .../photoviewer/PhotoViewerCore/PhotoDelegate.qml  | 188 +++++++++++++++++++++
 .../photoviewer/PhotoViewerCore/ProgressBar.qml    |  57 +++++++
 .../qml/photoviewer/PhotoViewerCore/RssModel.qml   |  54 ++++++
 .../qml/photoviewer/PhotoViewerCore/Tag.qml        |  91 ++++++++++
 .../PhotoViewerCore/images/box-shadow.png          | Bin 0 -> 588 bytes
 .../photoviewer/PhotoViewerCore/images/busy.png    | Bin 0 -> 2629 bytes
 .../PhotoViewerCore/images/cardboard.png           | Bin 0 -> 8844 bytes
 .../qml/photoviewer/PhotoViewerCore/qmldir         |   8 +
 .../photoviewer/PhotoViewerCore/script/script.js   |  27 +++
 .../photoviewer/qml/photoviewer/i18n/base.ts       |  30 ++++
 .../photoviewer/qml/photoviewer/i18n/qml_fr.qm     | Bin 0 -> 268 bytes
 .../photoviewer/qml/photoviewer/i18n/qml_fr.ts     |  30 ++++
 .../photoviewer/qml/photoviewer/photoviewer.qml    | 110 ++++++++++++
 42 files changed, 1158 insertions(+), 952 deletions(-)
 delete mode 100644 demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml
 delete mode 100644 demos/declarative/photoviewer/PhotoViewerCore/BusyIndicator.qml
 delete mode 100644 demos/declarative/photoviewer/PhotoViewerCore/Button.qml
 delete mode 100644 demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml
 delete mode 100644 demos/declarative/photoviewer/PhotoViewerCore/PhotoDelegate.qml
 delete mode 100644 demos/declarative/photoviewer/PhotoViewerCore/ProgressBar.qml
 delete mode 100644 demos/declarative/photoviewer/PhotoViewerCore/RssModel.qml
 delete mode 100644 demos/declarative/photoviewer/PhotoViewerCore/Tag.qml
 delete mode 100644 demos/declarative/photoviewer/PhotoViewerCore/images/box-shadow.png
 delete mode 100644 demos/declarative/photoviewer/PhotoViewerCore/images/busy.png
 delete mode 100644 demos/declarative/photoviewer/PhotoViewerCore/images/cardboard.png
 delete mode 100644 demos/declarative/photoviewer/PhotoViewerCore/qmldir
 delete mode 100644 demos/declarative/photoviewer/PhotoViewerCore/script/script.js
 delete mode 100644 demos/declarative/photoviewer/i18n/base.ts
 delete mode 100644 demos/declarative/photoviewer/i18n/qml_fr.qm
 delete mode 100644 demos/declarative/photoviewer/i18n/qml_fr.ts
 create mode 100644 demos/declarative/photoviewer/main.cpp
 create mode 100644 demos/declarative/photoviewer/photoviewer.desktop
 create mode 100644 demos/declarative/photoviewer/photoviewer.pro
 delete mode 100644 demos/declarative/photoviewer/photoviewer.qml
 create mode 100644 demos/declarative/photoviewer/photoviewer.svg
 create mode 100644 demos/declarative/photoviewer/photoviewer64.png
 create mode 100644 demos/declarative/photoviewer/photoviewer80.png
 create mode 100644 demos/declarative/photoviewer/photoviewer_harmattan.desktop
 create mode 100644 demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/AlbumDelegate.qml
 create mode 100644 demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/BusyIndicator.qml
 create mode 100644 demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/Button.qml
 create mode 100644 demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/EditableButton.qml
 create mode 100644 demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/PhotoDelegate.qml
 create mode 100644 demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/ProgressBar.qml
 create mode 100644 demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/RssModel.qml
 create mode 100644 demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/Tag.qml
 create mode 100644 demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/images/box-shadow.png
 create mode 100644 demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/images/busy.png
 create mode 100644 demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/images/cardboard.png
 create mode 100644 demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/qmldir
 create mode 100644 demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/script/script.js
 create mode 100644 demos/declarative/photoviewer/qml/photoviewer/i18n/base.ts
 create mode 100644 demos/declarative/photoviewer/qml/photoviewer/i18n/qml_fr.qm
 create mode 100644 demos/declarative/photoviewer/qml/photoviewer/i18n/qml_fr.ts
 create mode 100644 demos/declarative/photoviewer/qml/photoviewer/photoviewer.qml

diff --git a/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml b/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml
deleted file mode 100644
index 6100538..0000000
--- a/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml
+++ /dev/null
@@ -1,146 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Component {
-    id: albumDelegate
-    Package {
-
-        Item {
-            Package.name: 'browser'
-            GridView {
-                id: photosGridView; model: visualModel.parts.grid; width: mainWindow.width; height: mainWindow.height - 21
-                x: 0; y: 21; cellWidth: 160; cellHeight: 153; interactive: false
-                onCurrentIndexChanged: photosListView.positionViewAtIndex(currentIndex, ListView.Contain)
-            }
-        }
-
-        Item {
-            Package.name: 'fullscreen'
-            ListView {
-                id: photosListView; model: visualModel.parts.list; orientation: Qt.Horizontal
-                width: mainWindow.width; height: mainWindow.height; interactive: false
-                onCurrentIndexChanged: photosGridView.positionViewAtIndex(currentIndex, GridView.Contain)
-                highlightRangeMode: ListView.StrictlyEnforceRange; snapMode: ListView.SnapOneItem
-            }
-        }
-
-        Item {
-            Package.name: 'album'
-            id: albumWrapper; width: 210; height: 220
-
-            VisualDataModel {
-                id: visualModel; delegate: PhotoDelegate { }
-                model: RssModel { id: rssModel; tags: tag }
-            }
-
-            BusyIndicator {
-                id: busyIndicator
-                anchors { centerIn: parent; verticalCenterOffset: -20 }
-                on: rssModel.status != XmlListModel.Ready
-            }
-
-            PathView {
-                id: photosPathView; model: visualModel.parts.stack; pathItemCount: 5
-                visible: !busyIndicator.visible
-                anchors.centerIn: parent; anchors.verticalCenterOffset: -30
-                path: Path {
-                    PathAttribute { name: 'z'; value: 9999.0 }
-                    PathLine { x: 1; y: 1 }
-                    PathAttribute { name: 'z'; value: 0.0 }
-                }
-            }
-
-            MouseArea {
-                anchors.fill: parent
-                onClicked: mainWindow.editMode ? photosModel.remove(index) : albumWrapper.state = 'inGrid'
-            }
-
-            Tag {
-                anchors { horizontalCenter: parent.horizontalCenter; bottom: parent.bottom; bottomMargin: 10 }
-                frontLabel: tag; backLabel: qsTr("Remove"); flipped: mainWindow.editMode
-                onTagChanged: rssModel.tags = tag
-                onBackClicked: if (mainWindow.editMode) photosModel.remove(index);
-            }
-
-            states: [
-            State {
-                name: 'inGrid'
-                PropertyChanges { target: photosGridView; interactive: true }
-                PropertyChanges { target: albumsShade; opacity: 1 }
-                PropertyChanges { target: backButton; onClicked: albumWrapper.state = ''; y: 6 }
-            },
-            State {
-                name: 'fullscreen'; extend: 'inGrid'
-                PropertyChanges { target: photosGridView; interactive: false }
-                PropertyChanges { target: photosListView; interactive: true }
-                PropertyChanges { target: photosShade; opacity: 1 }
-                PropertyChanges { target: backButton; y: -backButton.height - 8 }
-            }
-            ]
-
-            GridView.onAdd: NumberAnimation {
-                target: albumWrapper; properties: "scale"; from: 0.0; to: 1.0; easing.type: Easing.OutQuad
-            }
-            GridView.onRemove: SequentialAnimation {
-                PropertyAction { target: albumWrapper; property: "GridView.delayRemove"; value: true }
-                NumberAnimation { target: albumWrapper; property: "scale"; from: 1.0; to: 0.0; easing.type: Easing.OutQuad }
-                PropertyAction { target: albumWrapper; property: "GridView.delayRemove"; value: false }
-            }
-
-            transitions: [
-            Transition {
-                from: '*'; to: 'inGrid'
-                SequentialAnimation {
-                    NumberAnimation { properties: 'opacity'; duration: 250 }
-                    PauseAnimation { duration: 350 }
-                    NumberAnimation { target: backButton; properties: "y"; duration: 200; easing.type: Easing.OutQuad }
-                }
-            },
-            Transition {
-                from: 'inGrid'; to: '*'
-                NumberAnimation { properties: "y,opacity"; easing.type: Easing.OutQuad; duration: 300 }
-            }
-            ]
-        }
-    }
-}
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/BusyIndicator.qml b/demos/declarative/photoviewer/PhotoViewerCore/BusyIndicator.qml
deleted file mode 100644
index 14eb643..0000000
--- a/demos/declarative/photoviewer/PhotoViewerCore/BusyIndicator.qml
+++ /dev/null
@@ -1,50 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Image {
-    id: container
-    property bool on: false
-
-    source: "images/busy.png"; visible: container.on
-    NumberAnimation on rotation { running: container.on; from: 0; to: 360; loops: Animation.Infinite; duration: 1200 }
-}
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/Button.qml b/demos/declarative/photoviewer/PhotoViewerCore/Button.qml
deleted file mode 100644
index 481bcc5..0000000
--- a/demos/declarative/photoviewer/PhotoViewerCore/Button.qml
+++ /dev/null
@@ -1,72 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: container
-
-    property alias label: labelText.text
-    property color tint: "transparent"
-    signal clicked
-
-    width: labelText.width + 70 ; height: labelText.height + 18
-
-    BorderImage {
-        anchors { fill: container; leftMargin: -6; topMargin: -6; rightMargin: -8; bottomMargin: -8 }
-        source: 'images/box-shadow.png'; smooth: true
-        border.left: 10; border.top: 10; border.right: 10; border.bottom: 10
-    }
-
-    Image { anchors.fill: parent; source: "images/cardboard.png"; smooth: true }
-
-    Rectangle {
-        anchors.fill: container; color: container.tint; visible: container.tint != ""
-        opacity: 0.25; smooth: true
-    }
-
-    Text { id: labelText; font.pixelSize: 15; anchors.centerIn: parent; smooth: true }
-
-    MouseArea {
-        anchors { fill: parent; leftMargin: -20; topMargin: -20; rightMargin: -20; bottomMargin: -20 }
-        onClicked: container.clicked()
-    }
-}
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml b/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml
deleted file mode 100644
index 9c47310..0000000
--- a/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml
+++ /dev/null
@@ -1,86 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: container
-
-    property string label
-    signal clicked
-    signal labelChanged(string label)
-
-    width: textInput.width + 70 ; height: textInput.height + 18
-
-    BorderImage {
-        anchors { fill: container; leftMargin: -6; topMargin: -6; rightMargin: -8; bottomMargin: -8 }
-        source: 'images/box-shadow.png'; smooth: true
-        border.left: 10; border.top: 10; border.right: 10; border.bottom: 10
-    }
-
-    Image { anchors.fill: parent; source: "images/cardboard.png"; smooth: true }
-
-    TextInput {
-        id: textInput; text: label; font.pixelSize: 15; anchors.centerIn: parent; smooth: true
-        Keys.onReturnPressed: {
-            container.labelChanged(textInput.text)
-            container.focus = true
-        }
-        Keys.onEnterPressed: {
-            container.labelChanged(textInput.text)
-            container.focus = true
-        }
-        Keys.onEscapePressed: {
-            textInput.text = container.label
-            container.focus = true
-        }
-    }
-
-    Rectangle {
-        anchors.fill: container; border.color: "steelblue"; border.width: 4
-        color: "transparent"; visible: textInput.focus; smooth: true
-    }
-
-    MouseArea {
-        anchors { fill: parent; leftMargin: -20; topMargin: -20; rightMargin: -20; bottomMargin: -20 }
-        onClicked: { textInput.forceActiveFocus(); textInput.openSoftwareInputPanel(); }
-    }
-}
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/PhotoDelegate.qml b/demos/declarative/photoviewer/PhotoViewerCore/PhotoDelegate.qml
deleted file mode 100644
index 4c1692c..0000000
--- a/demos/declarative/photoviewer/PhotoViewerCore/PhotoDelegate.qml
+++ /dev/null
@@ -1,188 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.1
-import "script/script.js" as Script
-
-Package {
-    Item { id: stackItem; Package.name: 'stack'; width: 160; height: 153; z: stackItem.PathView.z }
-    Item { id: listItem; Package.name: 'list'; width: mainWindow.width + 40; height: 153 }
-    Item { id: gridItem; Package.name: 'grid'; width: 160; height: 153 }
-
-    Item {
-        width: 160; height: 153
-
-        Item {
-            id: photoWrapper
-
-            property double randomAngle: Math.random() * (2 * 6 + 1) - 6
-            property double randomAngle2: Math.random() * (2 * 6 + 1) - 6
-
-            x: 0; y: 0; width: 140; height: 133
-            z: stackItem.PathView.z; rotation: photoWrapper.randomAngle
-
-            BorderImage {
-                anchors {
-                    fill: originalImage.status == Image.Ready ? border : placeHolder
-                    leftMargin: -6; topMargin: -6; rightMargin: -8; bottomMargin: -8
-                }
-                source: 'images/box-shadow.png'; smooth: true
-                border.left: 10; border.top: 10; border.right: 10; border.bottom: 10
-            }
-            Rectangle {
-                id: placeHolder
-
-                property int w: Script.getWidth(content)
-                property int h: Script.getHeight(content)
-                property double s: Script.calculateScale(w, h, photoWrapper.width)
-
-                color: 'white'; anchors.centerIn: parent; smooth: true
-                width:  w * s; height: h * s; visible: originalImage.status != Image.Ready
-                Rectangle {
-                    color: "#878787"; smooth: true
-                    anchors { fill: parent; topMargin: 3; bottomMargin: 3; leftMargin: 3; rightMargin: 3 }
-                }
-            }
-            Rectangle {
-                id: border; color: 'white'; anchors.centerIn: parent; smooth: true
-                width: originalImage.paintedWidth + 6; height: originalImage.paintedHeight + 6
-                visible: !placeHolder.visible
-            }
-            BusyIndicator { anchors.centerIn: parent; on: originalImage.status != Image.Ready }
-            Image {
-                id: originalImage; smooth: true; source: "http://" + Script.getImagePath(content); cache: false
-                fillMode: Image.PreserveAspectFit; width: photoWrapper.width; height: photoWrapper.height
-            }
-            Image {
-                id: hqImage; smooth: true; source: ""; visible: false; cache: false
-                fillMode: Image.PreserveAspectFit; width: photoWrapper.width; height: photoWrapper.height
-            }
-            Binding {
-                target: mainWindow; property: "downloadProgress"; value: hqImage.progress
-                when: listItem.ListView.isCurrentItem
-            }
-            Binding {
-                target: mainWindow; property: "imageLoading"
-                value: (hqImage.status == Image.Loading) ? 1 : 0; when: listItem.ListView.isCurrentItem
-            }
-            MouseArea {
-                width: originalImage.paintedWidth; height: originalImage.paintedHeight; anchors.centerIn: originalImage
-                onClicked: {
-                    if (albumWrapper.state == 'inGrid') {
-                        gridItem.GridView.view.currentIndex = index;
-                        albumWrapper.state = 'fullscreen'
-                    } else {
-                        gridItem.GridView.view.currentIndex = index;
-                        albumWrapper.state = 'inGrid'
-                    }
-                }
-            }
-
-            states: [
-            State {
-                name: 'stacked'; when: albumWrapper.state == ''
-                ParentChange { target: photoWrapper; parent: stackItem; x: 10; y: 10 }
-                PropertyChanges { target: photoWrapper; opacity: stackItem.PathView.onPath ? 1.0 : 0.0 }
-            },
-            State {
-                name: 'inGrid'; when: albumWrapper.state == 'inGrid'
-                ParentChange { target: photoWrapper; parent: gridItem; x: 10; y: 10; rotation: photoWrapper.randomAngle2 }
-            },
-            State {
-                name: 'fullscreen'; when: albumWrapper.state == 'fullscreen'
-                ParentChange {
-                    target: photoWrapper; parent: listItem; x: 0; y: 0; rotation: 0
-                    width: mainWindow.width; height: mainWindow.height
-                }
-                PropertyChanges { target: border; opacity: 0 }
-                PropertyChanges { target: hqImage; source: listItem.ListView.isCurrentItem ? hq : ""; visible: true }
-            }
-            ]
-
-            transitions: [
-            Transition {
-                from: 'stacked'; to: 'inGrid'
-                SequentialAnimation {
-                    PauseAnimation { duration: 10 * index }
-                    ParentAnimation {
-                        target: photoWrapper; via: foreground
-                        NumberAnimation {
-                            target: photoWrapper; properties: 'x,y,rotation,opacity'; duration: 600; easing.type: 'OutQuart'
-                        }
-                    }
-                }
-            },
-            Transition {
-                from: 'inGrid'; to: 'stacked'
-                ParentAnimation {
-                    target: photoWrapper; via: foreground
-                    NumberAnimation { properties: 'x,y,rotation,opacity'; duration: 600; easing.type: 'OutQuart' }
-                }
-            },
-            Transition {
-                from: 'inGrid'; to: 'fullscreen'
-                SequentialAnimation {
-                    PauseAnimation { duration: gridItem.GridView.isCurrentItem ? 0 : 600 }
-                    ParentAnimation {
-                        target: photoWrapper; via: foreground
-                        NumberAnimation {
-                            targets: [ photoWrapper, border ]
-                            properties: 'x,y,width,height,opacity,rotation'
-                            duration: gridItem.GridView.isCurrentItem ? 600 : 1; easing.type: 'OutQuart'
-                        }
-                    }
-                }
-            },
-            Transition {
-                from: 'fullscreen'; to: 'inGrid'
-                ParentAnimation {
-                    target: photoWrapper; via: foreground
-                    NumberAnimation {
-                        targets: [ photoWrapper, border ]
-                        properties: 'x,y,width,height,rotation,opacity'
-                        duration: gridItem.GridView.isCurrentItem ? 600 : 1; easing.type: 'OutQuart'
-                    }
-                }
-            }
-            ]
-        }
-    }
-}
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/ProgressBar.qml b/demos/declarative/photoviewer/PhotoViewerCore/ProgressBar.qml
deleted file mode 100644
index 805eac2..0000000
--- a/demos/declarative/photoviewer/PhotoViewerCore/ProgressBar.qml
+++ /dev/null
@@ -1,57 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: container
-
-    property real progress: 0
-
-    Behavior on opacity { NumberAnimation { duration: 600 } }
-
-    Rectangle { anchors.fill: parent; color: "black"; opacity: 0.5 }
-
-    Rectangle {
-        id: fill; color: "white"; height: container.height
-        width: container.width * container.progress
-    }
-}
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/RssModel.qml b/demos/declarative/photoviewer/PhotoViewerCore/RssModel.qml
deleted file mode 100644
index 9f6c004..0000000
--- a/demos/declarative/photoviewer/PhotoViewerCore/RssModel.qml
+++ /dev/null
@@ -1,54 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-XmlListModel {
-    property string tags : ""
-
-    source: "http://api.flickr.com/services/feeds/photos_public.gne?"+(tags ? "tags="+tags+"&" : "")
-    query: "/feed/entry"
-    namespaceDeclarations: "declare default element namespace 'http://www.w3.org/2005/Atom';"
-
-    XmlRole { name: "title"; query: "title/string()" }
-    XmlRole { name: "content"; query: "content/string()" }
-    XmlRole { name: "hq"; query: "link[@rel='enclosure']/@href/string()" }
-}
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml b/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml
deleted file mode 100644
index 486a28d..0000000
--- a/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml
+++ /dev/null
@@ -1,91 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Flipable {
-    id: flipable
-
-    property alias frontLabel: frontButton.label
-    property alias backLabel: backButton.label
-
-    property int angle: 0
-    property int randomAngle: Math.random() * (2 * 6 + 1) - 6
-    property bool flipped: false
-
-    signal frontClicked
-    signal backClicked
-    signal tagChanged(string tag)
-
-    front: EditableButton {
-        id: frontButton; rotation: flipable.randomAngle
-        anchors { centerIn: parent; verticalCenterOffset: -20 }
-        onClicked: flipable.frontClicked()
-        onLabelChanged: flipable.tagChanged(label)
-    }
-
-    back: Button {
-        id: backButton; tint: "red"; rotation: flipable.randomAngle
-        anchors { centerIn: parent; verticalCenterOffset: -20 }
-        onClicked: flipable.backClicked()
-    }
-
-    transform: Rotation {
-        origin.x: flipable.width / 2; origin.y: flipable.height / 2
-        axis.x: 0; axis.y: 1; axis.z: 0
-        angle: flipable.angle
-    }
-
-    states: State {
-        name: "back"; when: flipable.flipped
-        PropertyChanges { target: flipable; angle: 180 }
-    }
-
-    transitions: Transition {
-        ParallelAnimation {
-            NumberAnimation { properties: "angle"; duration: 400 }
-            SequentialAnimation {
-                NumberAnimation { target: flipable; property: "scale"; to: 0.8; duration: 200 }
-                NumberAnimation { target: flipable; property: "scale"; to: 1.0; duration: 200 }
-            }
-        }
-    }
-}
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/images/box-shadow.png b/demos/declarative/photoviewer/PhotoViewerCore/images/box-shadow.png
deleted file mode 100644
index 431af85..0000000
Binary files a/demos/declarative/photoviewer/PhotoViewerCore/images/box-shadow.png and /dev/null differ
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/images/busy.png b/demos/declarative/photoviewer/PhotoViewerCore/images/busy.png
deleted file mode 100644
index 664c2b1..0000000
Binary files a/demos/declarative/photoviewer/PhotoViewerCore/images/busy.png and /dev/null differ
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/images/cardboard.png b/demos/declarative/photoviewer/PhotoViewerCore/images/cardboard.png
deleted file mode 100644
index 1847ab5..0000000
Binary files a/demos/declarative/photoviewer/PhotoViewerCore/images/cardboard.png and /dev/null differ
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/qmldir b/demos/declarative/photoviewer/PhotoViewerCore/qmldir
deleted file mode 100644
index d3c247f..0000000
--- a/demos/declarative/photoviewer/PhotoViewerCore/qmldir
+++ /dev/null
@@ -1,8 +0,0 @@
-AlbumDelegate AlbumDelegate.qml
-PhotoDelegate PhotoDelegate.qml
-ProgressBar ProgressBar.qml
-RssModel RssModel.qml
-BusyIndicator BusyIndicator.qml
-EditableButton EditableButton.qml
-Button Button.qml
-Tag Tag.qml
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/script/script.js b/demos/declarative/photoviewer/PhotoViewerCore/script/script.js
deleted file mode 100644
index e8ef93a..0000000
--- a/demos/declarative/photoviewer/PhotoViewerCore/script/script.js
+++ /dev/null
@@ -1,27 +0,0 @@
-.pragma library
-
-function getWidth(string) {
-    return (string.match(/width=\"([0-9]+)\"/))[1]
-}
-
-function getHeight(string) {
-    return (string.match(/height=\"([0-9]+)\"/))[1]
-}
-
-function getImagePath(string) {
-    var pattern = /src=\"http:\/\/(\S+)\"/
-    return (string.match(pattern))[1]
-}
-
-function calculateScale(width, height, cellSize) {
-    var widthScale = (cellSize * 1.0) / width
-    var heightScale = (cellSize * 1.0) / height
-    var scale = 0
-
-    if (widthScale <= heightScale) {
-        scale = widthScale;
-    } else if (heightScale < widthScale) {
-        scale = heightScale;
-    }
-    return scale;
-}
diff --git a/demos/declarative/photoviewer/i18n/base.ts b/demos/declarative/photoviewer/i18n/base.ts
deleted file mode 100644
index 1accfd2..0000000
--- a/demos/declarative/photoviewer/i18n/base.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.0">
-<context>
-    <name>AlbumDelegate</name>
-    <message>
-        <location filename="../PhotoViewerCore/AlbumDelegate.qml" line="59"/>
-        <source>Remove</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>photoviewer</name>
-    <message>
-        <location filename="../photoviewer.qml" line="30"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../photoviewer.qml" line="39"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../photoviewer.qml" line="52"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-</TS>
diff --git a/demos/declarative/photoviewer/i18n/qml_fr.qm b/demos/declarative/photoviewer/i18n/qml_fr.qm
deleted file mode 100644
index c24fcbc..0000000
Binary files a/demos/declarative/photoviewer/i18n/qml_fr.qm and /dev/null differ
diff --git a/demos/declarative/photoviewer/i18n/qml_fr.ts b/demos/declarative/photoviewer/i18n/qml_fr.ts
deleted file mode 100644
index 9f892db..0000000
--- a/demos/declarative/photoviewer/i18n/qml_fr.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.0" language="fr_FR">
-<context>
-    <name>AlbumDelegate</name>
-    <message>
-        <location filename="../PhotoViewerCore/AlbumDelegate.qml" line="59"/>
-        <source>Remove</source>
-        <translation>Supprimer</translation>
-    </message>
-</context>
-<context>
-    <name>photoviewer</name>
-    <message>
-        <location filename="../photoviewer.qml" line="30"/>
-        <source>Add</source>
-        <translation>Ajouter</translation>
-    </message>
-    <message>
-        <location filename="../photoviewer.qml" line="39"/>
-        <source>Edit</source>
-        <translation>Éditer</translation>
-    </message>
-    <message>
-        <location filename="../photoviewer.qml" line="52"/>
-        <source>Back</source>
-        <translation>Retour</translation>
-    </message>
-</context>
-</TS>
diff --git a/demos/declarative/photoviewer/main.cpp b/demos/declarative/photoviewer/main.cpp
new file mode 100644
index 0000000..b75db82
--- /dev/null
+++ b/demos/declarative/photoviewer/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include "qmlapplicationviewer.h"
+#include <QtGui/QApplication>
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/photoviewer/photoviewer.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/demos/declarative/photoviewer/photoviewer.desktop b/demos/declarative/photoviewer/photoviewer.desktop
new file mode 100644
index 0000000..4246b9f
--- /dev/null
+++ b/demos/declarative/photoviewer/photoviewer.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=photoviewer
+Exec=/opt/photoviewer/bin/photoviewer
+Icon=photoviewer64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/demos/declarative/photoviewer/photoviewer.pro b/demos/declarative/photoviewer/photoviewer.pro
new file mode 100644
index 0000000..cdfab1e
--- /dev/null
+++ b/demos/declarative/photoviewer/photoviewer.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/photoviewer
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE93AD27B
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/demos/declarative/photoviewer/photoviewer.qml b/demos/declarative/photoviewer/photoviewer.qml
deleted file mode 100644
index d2eaa56..0000000
--- a/demos/declarative/photoviewer/photoviewer.qml
+++ /dev/null
@@ -1,110 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import "PhotoViewerCore"
-
-Rectangle {
-    id: mainWindow
-
-    property real downloadProgress: 0
-    property bool imageLoading: false
-    property bool editMode: false
-
-    width: 800; height: 480; color: "#d5d6d8"
-
-    ListModel {
-        id: photosModel
-        ListElement { tag: "Flowers" }
-        ListElement { tag: "Wildlife" }
-        ListElement { tag: "Prague" }
-    }
-
-    VisualDataModel { id: albumVisualModel; model: photosModel; delegate: AlbumDelegate {} }
-
-    GridView {
-        id: albumView; width: parent.width; height: parent.height; cellWidth: 210; cellHeight: 220
-        model: albumVisualModel.parts.album; visible: albumsShade.opacity != 1.0
-    }
-
-    Column {
-        spacing: 20; anchors { bottom: parent.bottom; right: parent.right; rightMargin: 20; bottomMargin: 20 }
-        Button {
-            id: newButton; label: qsTr("Add"); rotation: 3
-            anchors.horizontalCenter: parent.horizontalCenter
-            onClicked: {
-                mainWindow.editMode = false
-                photosModel.append( { tag: "" } )
-                albumView.positionViewAtIndex(albumView.count - 1, GridView.Contain)
-            }
-        }
-        Button {
-            id: deleteButton; label: qsTr("Edit"); rotation: -2;
-            onClicked: mainWindow.editMode = !mainWindow.editMode
-            anchors.horizontalCenter: parent.horizontalCenter
-        }
-        Button {
-            id: quitButton; label: qsTr("Quit"); rotation: -2;
-            onClicked: Qt.quit()
-            anchors.horizontalCenter: parent.horizontalCenter
-        }
-    }
-
-    Rectangle {
-        id: albumsShade; color: mainWindow.color
-        width: parent.width; height: parent.height; opacity: 0.0
-    }
-
-    ListView { anchors.fill: parent; model: albumVisualModel.parts.browser; interactive: false }
-
-    Button { id: backButton; label: qsTr("Back"); rotation: 3; x: parent.width - backButton.width - 6; y: -backButton.height - 8 }
-
-    Rectangle { id: photosShade; color: 'black'; width: parent.width; height: parent.height; opacity: 0; visible: opacity != 0.0 }
-
-    ListView { anchors.fill: parent; model: albumVisualModel.parts.fullscreen; interactive: false }
-
-    Item { id: foreground; anchors.fill: parent }
-
-    ProgressBar {
-        progress: mainWindow.downloadProgress; width: parent.width; height: 4
-        anchors.bottom: parent.bottom; opacity: mainWindow.imageLoading; visible: opacity != 0.0
-    }
-}
diff --git a/demos/declarative/photoviewer/photoviewer.qmlproject b/demos/declarative/photoviewer/photoviewer.qmlproject
index d4909f8..025a3a8 100644
--- a/demos/declarative/photoviewer/photoviewer.qmlproject
+++ b/demos/declarative/photoviewer/photoviewer.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/photoviewer"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/photoviewer"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/photoviewer"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/demos/declarative/photoviewer/photoviewer.svg b/demos/declarative/photoviewer/photoviewer.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/demos/declarative/photoviewer/photoviewer.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/demos/declarative/photoviewer/photoviewer64.png b/demos/declarative/photoviewer/photoviewer64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/demos/declarative/photoviewer/photoviewer64.png differ
diff --git a/demos/declarative/photoviewer/photoviewer80.png b/demos/declarative/photoviewer/photoviewer80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/demos/declarative/photoviewer/photoviewer80.png differ
diff --git a/demos/declarative/photoviewer/photoviewer_harmattan.desktop b/demos/declarative/photoviewer/photoviewer_harmattan.desktop
new file mode 100644
index 0000000..2dced14
--- /dev/null
+++ b/demos/declarative/photoviewer/photoviewer_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=photoviewer
+Exec=/usr/bin/single-instance /opt/photoviewer/bin/photoviewer
+Icon=/usr/share/icons/hicolor/80x80/apps/photoviewer80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/AlbumDelegate.qml b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/AlbumDelegate.qml
new file mode 100644
index 0000000..6100538
--- /dev/null
+++ b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/AlbumDelegate.qml
@@ -0,0 +1,146 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Component {
+    id: albumDelegate
+    Package {
+
+        Item {
+            Package.name: 'browser'
+            GridView {
+                id: photosGridView; model: visualModel.parts.grid; width: mainWindow.width; height: mainWindow.height - 21
+                x: 0; y: 21; cellWidth: 160; cellHeight: 153; interactive: false
+                onCurrentIndexChanged: photosListView.positionViewAtIndex(currentIndex, ListView.Contain)
+            }
+        }
+
+        Item {
+            Package.name: 'fullscreen'
+            ListView {
+                id: photosListView; model: visualModel.parts.list; orientation: Qt.Horizontal
+                width: mainWindow.width; height: mainWindow.height; interactive: false
+                onCurrentIndexChanged: photosGridView.positionViewAtIndex(currentIndex, GridView.Contain)
+                highlightRangeMode: ListView.StrictlyEnforceRange; snapMode: ListView.SnapOneItem
+            }
+        }
+
+        Item {
+            Package.name: 'album'
+            id: albumWrapper; width: 210; height: 220
+
+            VisualDataModel {
+                id: visualModel; delegate: PhotoDelegate { }
+                model: RssModel { id: rssModel; tags: tag }
+            }
+
+            BusyIndicator {
+                id: busyIndicator
+                anchors { centerIn: parent; verticalCenterOffset: -20 }
+                on: rssModel.status != XmlListModel.Ready
+            }
+
+            PathView {
+                id: photosPathView; model: visualModel.parts.stack; pathItemCount: 5
+                visible: !busyIndicator.visible
+                anchors.centerIn: parent; anchors.verticalCenterOffset: -30
+                path: Path {
+                    PathAttribute { name: 'z'; value: 9999.0 }
+                    PathLine { x: 1; y: 1 }
+                    PathAttribute { name: 'z'; value: 0.0 }
+                }
+            }
+
+            MouseArea {
+                anchors.fill: parent
+                onClicked: mainWindow.editMode ? photosModel.remove(index) : albumWrapper.state = 'inGrid'
+            }
+
+            Tag {
+                anchors { horizontalCenter: parent.horizontalCenter; bottom: parent.bottom; bottomMargin: 10 }
+                frontLabel: tag; backLabel: qsTr("Remove"); flipped: mainWindow.editMode
+                onTagChanged: rssModel.tags = tag
+                onBackClicked: if (mainWindow.editMode) photosModel.remove(index);
+            }
+
+            states: [
+            State {
+                name: 'inGrid'
+                PropertyChanges { target: photosGridView; interactive: true }
+                PropertyChanges { target: albumsShade; opacity: 1 }
+                PropertyChanges { target: backButton; onClicked: albumWrapper.state = ''; y: 6 }
+            },
+            State {
+                name: 'fullscreen'; extend: 'inGrid'
+                PropertyChanges { target: photosGridView; interactive: false }
+                PropertyChanges { target: photosListView; interactive: true }
+                PropertyChanges { target: photosShade; opacity: 1 }
+                PropertyChanges { target: backButton; y: -backButton.height - 8 }
+            }
+            ]
+
+            GridView.onAdd: NumberAnimation {
+                target: albumWrapper; properties: "scale"; from: 0.0; to: 1.0; easing.type: Easing.OutQuad
+            }
+            GridView.onRemove: SequentialAnimation {
+                PropertyAction { target: albumWrapper; property: "GridView.delayRemove"; value: true }
+                NumberAnimation { target: albumWrapper; property: "scale"; from: 1.0; to: 0.0; easing.type: Easing.OutQuad }
+                PropertyAction { target: albumWrapper; property: "GridView.delayRemove"; value: false }
+            }
+
+            transitions: [
+            Transition {
+                from: '*'; to: 'inGrid'
+                SequentialAnimation {
+                    NumberAnimation { properties: 'opacity'; duration: 250 }
+                    PauseAnimation { duration: 350 }
+                    NumberAnimation { target: backButton; properties: "y"; duration: 200; easing.type: Easing.OutQuad }
+                }
+            },
+            Transition {
+                from: 'inGrid'; to: '*'
+                NumberAnimation { properties: "y,opacity"; easing.type: Easing.OutQuad; duration: 300 }
+            }
+            ]
+        }
+    }
+}
diff --git a/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/BusyIndicator.qml b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/BusyIndicator.qml
new file mode 100644
index 0000000..14eb643
--- /dev/null
+++ b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/BusyIndicator.qml
@@ -0,0 +1,50 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Image {
+    id: container
+    property bool on: false
+
+    source: "images/busy.png"; visible: container.on
+    NumberAnimation on rotation { running: container.on; from: 0; to: 360; loops: Animation.Infinite; duration: 1200 }
+}
diff --git a/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/Button.qml b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/Button.qml
new file mode 100644
index 0000000..481bcc5
--- /dev/null
+++ b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/Button.qml
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: container
+
+    property alias label: labelText.text
+    property color tint: "transparent"
+    signal clicked
+
+    width: labelText.width + 70 ; height: labelText.height + 18
+
+    BorderImage {
+        anchors { fill: container; leftMargin: -6; topMargin: -6; rightMargin: -8; bottomMargin: -8 }
+        source: 'images/box-shadow.png'; smooth: true
+        border.left: 10; border.top: 10; border.right: 10; border.bottom: 10
+    }
+
+    Image { anchors.fill: parent; source: "images/cardboard.png"; smooth: true }
+
+    Rectangle {
+        anchors.fill: container; color: container.tint; visible: container.tint != ""
+        opacity: 0.25; smooth: true
+    }
+
+    Text { id: labelText; font.pixelSize: 15; anchors.centerIn: parent; smooth: true }
+
+    MouseArea {
+        anchors { fill: parent; leftMargin: -20; topMargin: -20; rightMargin: -20; bottomMargin: -20 }
+        onClicked: container.clicked()
+    }
+}
diff --git a/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/EditableButton.qml b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/EditableButton.qml
new file mode 100644
index 0000000..9c47310
--- /dev/null
+++ b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/EditableButton.qml
@@ -0,0 +1,86 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: container
+
+    property string label
+    signal clicked
+    signal labelChanged(string label)
+
+    width: textInput.width + 70 ; height: textInput.height + 18
+
+    BorderImage {
+        anchors { fill: container; leftMargin: -6; topMargin: -6; rightMargin: -8; bottomMargin: -8 }
+        source: 'images/box-shadow.png'; smooth: true
+        border.left: 10; border.top: 10; border.right: 10; border.bottom: 10
+    }
+
+    Image { anchors.fill: parent; source: "images/cardboard.png"; smooth: true }
+
+    TextInput {
+        id: textInput; text: label; font.pixelSize: 15; anchors.centerIn: parent; smooth: true
+        Keys.onReturnPressed: {
+            container.labelChanged(textInput.text)
+            container.focus = true
+        }
+        Keys.onEnterPressed: {
+            container.labelChanged(textInput.text)
+            container.focus = true
+        }
+        Keys.onEscapePressed: {
+            textInput.text = container.label
+            container.focus = true
+        }
+    }
+
+    Rectangle {
+        anchors.fill: container; border.color: "steelblue"; border.width: 4
+        color: "transparent"; visible: textInput.focus; smooth: true
+    }
+
+    MouseArea {
+        anchors { fill: parent; leftMargin: -20; topMargin: -20; rightMargin: -20; bottomMargin: -20 }
+        onClicked: { textInput.forceActiveFocus(); textInput.openSoftwareInputPanel(); }
+    }
+}
diff --git a/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/PhotoDelegate.qml b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/PhotoDelegate.qml
new file mode 100644
index 0000000..4c1692c
--- /dev/null
+++ b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/PhotoDelegate.qml
@@ -0,0 +1,188 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.1
+import "script/script.js" as Script
+
+Package {
+    Item { id: stackItem; Package.name: 'stack'; width: 160; height: 153; z: stackItem.PathView.z }
+    Item { id: listItem; Package.name: 'list'; width: mainWindow.width + 40; height: 153 }
+    Item { id: gridItem; Package.name: 'grid'; width: 160; height: 153 }
+
+    Item {
+        width: 160; height: 153
+
+        Item {
+            id: photoWrapper
+
+            property double randomAngle: Math.random() * (2 * 6 + 1) - 6
+            property double randomAngle2: Math.random() * (2 * 6 + 1) - 6
+
+            x: 0; y: 0; width: 140; height: 133
+            z: stackItem.PathView.z; rotation: photoWrapper.randomAngle
+
+            BorderImage {
+                anchors {
+                    fill: originalImage.status == Image.Ready ? border : placeHolder
+                    leftMargin: -6; topMargin: -6; rightMargin: -8; bottomMargin: -8
+                }
+                source: 'images/box-shadow.png'; smooth: true
+                border.left: 10; border.top: 10; border.right: 10; border.bottom: 10
+            }
+            Rectangle {
+                id: placeHolder
+
+                property int w: Script.getWidth(content)
+                property int h: Script.getHeight(content)
+                property double s: Script.calculateScale(w, h, photoWrapper.width)
+
+                color: 'white'; anchors.centerIn: parent; smooth: true
+                width:  w * s; height: h * s; visible: originalImage.status != Image.Ready
+                Rectangle {
+                    color: "#878787"; smooth: true
+                    anchors { fill: parent; topMargin: 3; bottomMargin: 3; leftMargin: 3; rightMargin: 3 }
+                }
+            }
+            Rectangle {
+                id: border; color: 'white'; anchors.centerIn: parent; smooth: true
+                width: originalImage.paintedWidth + 6; height: originalImage.paintedHeight + 6
+                visible: !placeHolder.visible
+            }
+            BusyIndicator { anchors.centerIn: parent; on: originalImage.status != Image.Ready }
+            Image {
+                id: originalImage; smooth: true; source: "http://" + Script.getImagePath(content); cache: false
+                fillMode: Image.PreserveAspectFit; width: photoWrapper.width; height: photoWrapper.height
+            }
+            Image {
+                id: hqImage; smooth: true; source: ""; visible: false; cache: false
+                fillMode: Image.PreserveAspectFit; width: photoWrapper.width; height: photoWrapper.height
+            }
+            Binding {
+                target: mainWindow; property: "downloadProgress"; value: hqImage.progress
+                when: listItem.ListView.isCurrentItem
+            }
+            Binding {
+                target: mainWindow; property: "imageLoading"
+                value: (hqImage.status == Image.Loading) ? 1 : 0; when: listItem.ListView.isCurrentItem
+            }
+            MouseArea {
+                width: originalImage.paintedWidth; height: originalImage.paintedHeight; anchors.centerIn: originalImage
+                onClicked: {
+                    if (albumWrapper.state == 'inGrid') {
+                        gridItem.GridView.view.currentIndex = index;
+                        albumWrapper.state = 'fullscreen'
+                    } else {
+                        gridItem.GridView.view.currentIndex = index;
+                        albumWrapper.state = 'inGrid'
+                    }
+                }
+            }
+
+            states: [
+            State {
+                name: 'stacked'; when: albumWrapper.state == ''
+                ParentChange { target: photoWrapper; parent: stackItem; x: 10; y: 10 }
+                PropertyChanges { target: photoWrapper; opacity: stackItem.PathView.onPath ? 1.0 : 0.0 }
+            },
+            State {
+                name: 'inGrid'; when: albumWrapper.state == 'inGrid'
+                ParentChange { target: photoWrapper; parent: gridItem; x: 10; y: 10; rotation: photoWrapper.randomAngle2 }
+            },
+            State {
+                name: 'fullscreen'; when: albumWrapper.state == 'fullscreen'
+                ParentChange {
+                    target: photoWrapper; parent: listItem; x: 0; y: 0; rotation: 0
+                    width: mainWindow.width; height: mainWindow.height
+                }
+                PropertyChanges { target: border; opacity: 0 }
+                PropertyChanges { target: hqImage; source: listItem.ListView.isCurrentItem ? hq : ""; visible: true }
+            }
+            ]
+
+            transitions: [
+            Transition {
+                from: 'stacked'; to: 'inGrid'
+                SequentialAnimation {
+                    PauseAnimation { duration: 10 * index }
+                    ParentAnimation {
+                        target: photoWrapper; via: foreground
+                        NumberAnimation {
+                            target: photoWrapper; properties: 'x,y,rotation,opacity'; duration: 600; easing.type: 'OutQuart'
+                        }
+                    }
+                }
+            },
+            Transition {
+                from: 'inGrid'; to: 'stacked'
+                ParentAnimation {
+                    target: photoWrapper; via: foreground
+                    NumberAnimation { properties: 'x,y,rotation,opacity'; duration: 600; easing.type: 'OutQuart' }
+                }
+            },
+            Transition {
+                from: 'inGrid'; to: 'fullscreen'
+                SequentialAnimation {
+                    PauseAnimation { duration: gridItem.GridView.isCurrentItem ? 0 : 600 }
+                    ParentAnimation {
+                        target: photoWrapper; via: foreground
+                        NumberAnimation {
+                            targets: [ photoWrapper, border ]
+                            properties: 'x,y,width,height,opacity,rotation'
+                            duration: gridItem.GridView.isCurrentItem ? 600 : 1; easing.type: 'OutQuart'
+                        }
+                    }
+                }
+            },
+            Transition {
+                from: 'fullscreen'; to: 'inGrid'
+                ParentAnimation {
+                    target: photoWrapper; via: foreground
+                    NumberAnimation {
+                        targets: [ photoWrapper, border ]
+                        properties: 'x,y,width,height,rotation,opacity'
+                        duration: gridItem.GridView.isCurrentItem ? 600 : 1; easing.type: 'OutQuart'
+                    }
+                }
+            }
+            ]
+        }
+    }
+}
diff --git a/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/ProgressBar.qml b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/ProgressBar.qml
new file mode 100644
index 0000000..805eac2
--- /dev/null
+++ b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/ProgressBar.qml
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: container
+
+    property real progress: 0
+
+    Behavior on opacity { NumberAnimation { duration: 600 } }
+
+    Rectangle { anchors.fill: parent; color: "black"; opacity: 0.5 }
+
+    Rectangle {
+        id: fill; color: "white"; height: container.height
+        width: container.width * container.progress
+    }
+}
diff --git a/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/RssModel.qml b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/RssModel.qml
new file mode 100644
index 0000000..9f6c004
--- /dev/null
+++ b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/RssModel.qml
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+XmlListModel {
+    property string tags : ""
+
+    source: "http://api.flickr.com/services/feeds/photos_public.gne?"+(tags ? "tags="+tags+"&" : "")
+    query: "/feed/entry"
+    namespaceDeclarations: "declare default element namespace 'http://www.w3.org/2005/Atom';"
+
+    XmlRole { name: "title"; query: "title/string()" }
+    XmlRole { name: "content"; query: "content/string()" }
+    XmlRole { name: "hq"; query: "link[@rel='enclosure']/@href/string()" }
+}
diff --git a/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/Tag.qml b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/Tag.qml
new file mode 100644
index 0000000..486a28d
--- /dev/null
+++ b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/Tag.qml
@@ -0,0 +1,91 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Flipable {
+    id: flipable
+
+    property alias frontLabel: frontButton.label
+    property alias backLabel: backButton.label
+
+    property int angle: 0
+    property int randomAngle: Math.random() * (2 * 6 + 1) - 6
+    property bool flipped: false
+
+    signal frontClicked
+    signal backClicked
+    signal tagChanged(string tag)
+
+    front: EditableButton {
+        id: frontButton; rotation: flipable.randomAngle
+        anchors { centerIn: parent; verticalCenterOffset: -20 }
+        onClicked: flipable.frontClicked()
+        onLabelChanged: flipable.tagChanged(label)
+    }
+
+    back: Button {
+        id: backButton; tint: "red"; rotation: flipable.randomAngle
+        anchors { centerIn: parent; verticalCenterOffset: -20 }
+        onClicked: flipable.backClicked()
+    }
+
+    transform: Rotation {
+        origin.x: flipable.width / 2; origin.y: flipable.height / 2
+        axis.x: 0; axis.y: 1; axis.z: 0
+        angle: flipable.angle
+    }
+
+    states: State {
+        name: "back"; when: flipable.flipped
+        PropertyChanges { target: flipable; angle: 180 }
+    }
+
+    transitions: Transition {
+        ParallelAnimation {
+            NumberAnimation { properties: "angle"; duration: 400 }
+            SequentialAnimation {
+                NumberAnimation { target: flipable; property: "scale"; to: 0.8; duration: 200 }
+                NumberAnimation { target: flipable; property: "scale"; to: 1.0; duration: 200 }
+            }
+        }
+    }
+}
diff --git a/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/images/box-shadow.png b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/images/box-shadow.png
new file mode 100644
index 0000000..431af85
Binary files /dev/null and b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/images/box-shadow.png differ
diff --git a/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/images/busy.png b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/images/busy.png
new file mode 100644
index 0000000..664c2b1
Binary files /dev/null and b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/images/busy.png differ
diff --git a/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/images/cardboard.png b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/images/cardboard.png
new file mode 100644
index 0000000..1847ab5
Binary files /dev/null and b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/images/cardboard.png differ
diff --git a/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/qmldir b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/qmldir
new file mode 100644
index 0000000..d3c247f
--- /dev/null
+++ b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/qmldir
@@ -0,0 +1,8 @@
+AlbumDelegate AlbumDelegate.qml
+PhotoDelegate PhotoDelegate.qml
+ProgressBar ProgressBar.qml
+RssModel RssModel.qml
+BusyIndicator BusyIndicator.qml
+EditableButton EditableButton.qml
+Button Button.qml
+Tag Tag.qml
diff --git a/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/script/script.js b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/script/script.js
new file mode 100644
index 0000000..e8ef93a
--- /dev/null
+++ b/demos/declarative/photoviewer/qml/photoviewer/PhotoViewerCore/script/script.js
@@ -0,0 +1,27 @@
+.pragma library
+
+function getWidth(string) {
+    return (string.match(/width=\"([0-9]+)\"/))[1]
+}
+
+function getHeight(string) {
+    return (string.match(/height=\"([0-9]+)\"/))[1]
+}
+
+function getImagePath(string) {
+    var pattern = /src=\"http:\/\/(\S+)\"/
+    return (string.match(pattern))[1]
+}
+
+function calculateScale(width, height, cellSize) {
+    var widthScale = (cellSize * 1.0) / width
+    var heightScale = (cellSize * 1.0) / height
+    var scale = 0
+
+    if (widthScale <= heightScale) {
+        scale = widthScale;
+    } else if (heightScale < widthScale) {
+        scale = heightScale;
+    }
+    return scale;
+}
diff --git a/demos/declarative/photoviewer/qml/photoviewer/i18n/base.ts b/demos/declarative/photoviewer/qml/photoviewer/i18n/base.ts
new file mode 100644
index 0000000..1accfd2
--- /dev/null
+++ b/demos/declarative/photoviewer/qml/photoviewer/i18n/base.ts
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+    <name>AlbumDelegate</name>
+    <message>
+        <location filename="../PhotoViewerCore/AlbumDelegate.qml" line="59"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>photoviewer</name>
+    <message>
+        <location filename="../photoviewer.qml" line="30"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../photoviewer.qml" line="39"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../photoviewer.qml" line="52"/>
+        <source>Back</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+</TS>
diff --git a/demos/declarative/photoviewer/qml/photoviewer/i18n/qml_fr.qm b/demos/declarative/photoviewer/qml/photoviewer/i18n/qml_fr.qm
new file mode 100644
index 0000000..c24fcbc
Binary files /dev/null and b/demos/declarative/photoviewer/qml/photoviewer/i18n/qml_fr.qm differ
diff --git a/demos/declarative/photoviewer/qml/photoviewer/i18n/qml_fr.ts b/demos/declarative/photoviewer/qml/photoviewer/i18n/qml_fr.ts
new file mode 100644
index 0000000..9f892db
--- /dev/null
+++ b/demos/declarative/photoviewer/qml/photoviewer/i18n/qml_fr.ts
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="fr_FR">
+<context>
+    <name>AlbumDelegate</name>
+    <message>
+        <location filename="../PhotoViewerCore/AlbumDelegate.qml" line="59"/>
+        <source>Remove</source>
+        <translation>Supprimer</translation>
+    </message>
+</context>
+<context>
+    <name>photoviewer</name>
+    <message>
+        <location filename="../photoviewer.qml" line="30"/>
+        <source>Add</source>
+        <translation>Ajouter</translation>
+    </message>
+    <message>
+        <location filename="../photoviewer.qml" line="39"/>
+        <source>Edit</source>
+        <translation>Éditer</translation>
+    </message>
+    <message>
+        <location filename="../photoviewer.qml" line="52"/>
+        <source>Back</source>
+        <translation>Retour</translation>
+    </message>
+</context>
+</TS>
diff --git a/demos/declarative/photoviewer/qml/photoviewer/photoviewer.qml b/demos/declarative/photoviewer/qml/photoviewer/photoviewer.qml
new file mode 100644
index 0000000..d2eaa56
--- /dev/null
+++ b/demos/declarative/photoviewer/qml/photoviewer/photoviewer.qml
@@ -0,0 +1,110 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import "PhotoViewerCore"
+
+Rectangle {
+    id: mainWindow
+
+    property real downloadProgress: 0
+    property bool imageLoading: false
+    property bool editMode: false
+
+    width: 800; height: 480; color: "#d5d6d8"
+
+    ListModel {
+        id: photosModel
+        ListElement { tag: "Flowers" }
+        ListElement { tag: "Wildlife" }
+        ListElement { tag: "Prague" }
+    }
+
+    VisualDataModel { id: albumVisualModel; model: photosModel; delegate: AlbumDelegate {} }
+
+    GridView {
+        id: albumView; width: parent.width; height: parent.height; cellWidth: 210; cellHeight: 220
+        model: albumVisualModel.parts.album; visible: albumsShade.opacity != 1.0
+    }
+
+    Column {
+        spacing: 20; anchors { bottom: parent.bottom; right: parent.right; rightMargin: 20; bottomMargin: 20 }
+        Button {
+            id: newButton; label: qsTr("Add"); rotation: 3
+            anchors.horizontalCenter: parent.horizontalCenter
+            onClicked: {
+                mainWindow.editMode = false
+                photosModel.append( { tag: "" } )
+                albumView.positionViewAtIndex(albumView.count - 1, GridView.Contain)
+            }
+        }
+        Button {
+            id: deleteButton; label: qsTr("Edit"); rotation: -2;
+            onClicked: mainWindow.editMode = !mainWindow.editMode
+            anchors.horizontalCenter: parent.horizontalCenter
+        }
+        Button {
+            id: quitButton; label: qsTr("Quit"); rotation: -2;
+            onClicked: Qt.quit()
+            anchors.horizontalCenter: parent.horizontalCenter
+        }
+    }
+
+    Rectangle {
+        id: albumsShade; color: mainWindow.color
+        width: parent.width; height: parent.height; opacity: 0.0
+    }
+
+    ListView { anchors.fill: parent; model: albumVisualModel.parts.browser; interactive: false }
+
+    Button { id: backButton; label: qsTr("Back"); rotation: 3; x: parent.width - backButton.width - 6; y: -backButton.height - 8 }
+
+    Rectangle { id: photosShade; color: 'black'; width: parent.width; height: parent.height; opacity: 0; visible: opacity != 0.0 }
+
+    ListView { anchors.fill: parent; model: albumVisualModel.parts.fullscreen; interactive: false }
+
+    Item { id: foreground; anchors.fill: parent }
+
+    ProgressBar {
+        progress: mainWindow.downloadProgress; width: parent.width; height: 4
+        anchors.bottom: parent.bottom; opacity: mainWindow.imageLoading; visible: opacity != 0.0
+    }
+}
-- 
cgit v0.12


From 366ba80785ef498d72a74c138fc7428b3cb1fbd6 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:15 +0100
Subject: demos/declarative/rssnews example modifications

Modified the example 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>
---
 .../declarative/rssnews/content/BusyIndicator.qml  |  53 ----------
 .../rssnews/content/CategoryDelegate.qml           |  82 ---------------
 demos/declarative/rssnews/content/NewsDelegate.qml |  71 -------------
 demos/declarative/rssnews/content/RssFeeds.qml     |  59 -----------
 demos/declarative/rssnews/content/ScrollBar.qml    | 107 --------------------
 demos/declarative/rssnews/content/images/busy.png  | Bin 2629 -> 0 bytes
 .../rssnews/content/images/scrollbar.png           | Bin 161 -> 0 bytes
 demos/declarative/rssnews/main.cpp                 |  54 ++++++++++
 .../rssnews/qml/rssnews/content/BusyIndicator.qml  |  53 ++++++++++
 .../qml/rssnews/content/CategoryDelegate.qml       |  82 +++++++++++++++
 .../rssnews/qml/rssnews/content/NewsDelegate.qml   |  71 +++++++++++++
 .../rssnews/qml/rssnews/content/RssFeeds.qml       |  59 +++++++++++
 .../rssnews/qml/rssnews/content/ScrollBar.qml      | 107 ++++++++++++++++++++
 .../rssnews/qml/rssnews/content/images/busy.png    | Bin 0 -> 2629 bytes
 .../qml/rssnews/content/images/scrollbar.png       | Bin 0 -> 161 bytes
 demos/declarative/rssnews/qml/rssnews/rssnews.qml  | 111 +++++++++++++++++++++
 demos/declarative/rssnews/rssnews.desktop          |  11 ++
 demos/declarative/rssnews/rssnews.pro              |  37 +++++++
 demos/declarative/rssnews/rssnews.qml              | 111 ---------------------
 demos/declarative/rssnews/rssnews.qmlproject       |   6 +-
 demos/declarative/rssnews/rssnews.svg              |  93 +++++++++++++++++
 demos/declarative/rssnews/rssnews64.png            | Bin 0 -> 3400 bytes
 demos/declarative/rssnews/rssnews80.png            | Bin 0 -> 4945 bytes
 .../declarative/rssnews/rssnews_harmattan.desktop  |  11 ++
 24 files changed, 692 insertions(+), 486 deletions(-)
 delete mode 100644 demos/declarative/rssnews/content/BusyIndicator.qml
 delete mode 100644 demos/declarative/rssnews/content/CategoryDelegate.qml
 delete mode 100644 demos/declarative/rssnews/content/NewsDelegate.qml
 delete mode 100644 demos/declarative/rssnews/content/RssFeeds.qml
 delete mode 100644 demos/declarative/rssnews/content/ScrollBar.qml
 delete mode 100644 demos/declarative/rssnews/content/images/busy.png
 delete mode 100644 demos/declarative/rssnews/content/images/scrollbar.png
 create mode 100644 demos/declarative/rssnews/main.cpp
 create mode 100644 demos/declarative/rssnews/qml/rssnews/content/BusyIndicator.qml
 create mode 100644 demos/declarative/rssnews/qml/rssnews/content/CategoryDelegate.qml
 create mode 100644 demos/declarative/rssnews/qml/rssnews/content/NewsDelegate.qml
 create mode 100644 demos/declarative/rssnews/qml/rssnews/content/RssFeeds.qml
 create mode 100644 demos/declarative/rssnews/qml/rssnews/content/ScrollBar.qml
 create mode 100644 demos/declarative/rssnews/qml/rssnews/content/images/busy.png
 create mode 100644 demos/declarative/rssnews/qml/rssnews/content/images/scrollbar.png
 create mode 100644 demos/declarative/rssnews/qml/rssnews/rssnews.qml
 create mode 100644 demos/declarative/rssnews/rssnews.desktop
 create mode 100644 demos/declarative/rssnews/rssnews.pro
 delete mode 100644 demos/declarative/rssnews/rssnews.qml
 create mode 100644 demos/declarative/rssnews/rssnews.svg
 create mode 100644 demos/declarative/rssnews/rssnews64.png
 create mode 100644 demos/declarative/rssnews/rssnews80.png
 create mode 100644 demos/declarative/rssnews/rssnews_harmattan.desktop

diff --git a/demos/declarative/rssnews/content/BusyIndicator.qml b/demos/declarative/rssnews/content/BusyIndicator.qml
deleted file mode 100644
index 3ee30d9..0000000
--- a/demos/declarative/rssnews/content/BusyIndicator.qml
+++ /dev/null
@@ -1,53 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Image {
-    id: container
-    property bool on: false
-
-    source: "images/busy.png"; visible: container.on
-
-    NumberAnimation on rotation {
-        running: container.on; from: 0; to: 360; loops: Animation.Infinite; duration: 1200
-    }
-}
diff --git a/demos/declarative/rssnews/content/CategoryDelegate.qml b/demos/declarative/rssnews/content/CategoryDelegate.qml
deleted file mode 100644
index 0ae9fbe..0000000
--- a/demos/declarative/rssnews/content/CategoryDelegate.qml
+++ /dev/null
@@ -1,82 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: delegate
-
-    width: delegate.ListView.view.width; height: 60
-
-    Text {
-        text: name
-        color: delegate.ListView.isCurrentItem ? "white" : "black"
-        font { family: "Helvetica"; pixelSize: 16; bold: true }
-        anchors {
-            left: parent.left; leftMargin: 15
-            verticalCenter: parent.verticalCenter
-        }
-    }
-
-    BusyIndicator {
-        scale: 0.6
-        on: delegate.ListView.isCurrentItem && window.loading
-        anchors { right: parent.right; rightMargin: 10; verticalCenter: parent.verticalCenter }
-    }
-
-    Rectangle {
-        width: delegate.width; height: 1; color: "#cccccc"
-        anchors.bottom: delegate.bottom
-        visible: delegate.ListView.isCurrentItem ? false : true
-    }
-    Rectangle {
-        width: delegate.width; height: 1; color: "white"
-        visible: delegate.ListView.isCurrentItem ? false : true
-    }
-
-    MouseArea {
-        anchors.fill: delegate
-        onClicked: {
-            delegate.ListView.view.currentIndex = index
-            window.currentFeed = feed
-        }
-    }
-}
diff --git a/demos/declarative/rssnews/content/NewsDelegate.qml b/demos/declarative/rssnews/content/NewsDelegate.qml
deleted file mode 100644
index 061abb2..0000000
--- a/demos/declarative/rssnews/content/NewsDelegate.qml
+++ /dev/null
@@ -1,71 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: delegate
-    height: column.height + 40
-    width: delegate.ListView.view.width
-
-    Column {
-        id: column
-        x: 20; y: 20
-        width: parent.width - 40
-
-        Text {
-            id: titleText
-            text: title; width: parent.width; wrapMode: Text.WordWrap
-            font { bold: true; family: "Helvetica"; pointSize: 16 }
-        }
-
-        Text {
-            id: descriptionText
-            width: parent.width; text: description
-            wrapMode: Text.WordWrap; font.family: "Helvetica"
-        }
-    }
-
-    Rectangle {
-        width: parent.width; height: 1; color: "#cccccc"
-        anchors.bottom: parent.bottom
-    }
-}
diff --git a/demos/declarative/rssnews/content/RssFeeds.qml b/demos/declarative/rssnews/content/RssFeeds.qml
deleted file mode 100644
index 09b1ad8..0000000
--- a/demos/declarative/rssnews/content/RssFeeds.qml
+++ /dev/null
@@ -1,59 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-ListModel {
-    id: rssFeeds
-
-    ListElement { name: "Top Stories"; feed: "rss.news.yahoo.com/rss/topstories" }
-    ListElement { name: "World"; feed: "rss.news.yahoo.com/rss/world" }
-    ListElement { name: "Europe"; feed: "rss.news.yahoo.com/rss/europe" }
-    ListElement { name: "Oceania"; feed: "rss.news.yahoo.com/rss/oceania" }
-    ListElement { name: "U.S. National"; feed: "rss.news.yahoo.com/rss/us" }
-    ListElement { name: "Politics"; feed: "rss.news.yahoo.com/rss/politics" }
-    ListElement { name: "Business"; feed: "rss.news.yahoo.com/rss/business" }
-    ListElement { name: "Technology"; feed: "rss.news.yahoo.com/rss/tech" }
-    ListElement { name: "Entertainment"; feed: "rss.news.yahoo.com/rss/entertainment" }
-    ListElement { name: "Health"; feed: "rss.news.yahoo.com/rss/health" }
-    ListElement { name: "Science"; feed: "rss.news.yahoo.com/rss/science" }
-    ListElement { name: "Sports"; feed: "rss.news.yahoo.com/rss/sports" }
-}
diff --git a/demos/declarative/rssnews/content/ScrollBar.qml b/demos/declarative/rssnews/content/ScrollBar.qml
deleted file mode 100644
index e54be7b..0000000
--- a/demos/declarative/rssnews/content/ScrollBar.qml
+++ /dev/null
@@ -1,107 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: container
-
-    property variant scrollArea
-    property variant orientation: Qt.Vertical
-
-    opacity: 0
-
-    function position()
-    {
-        var ny = 0;
-        if (container.orientation == Qt.Vertical)
-            ny = scrollArea.visibleArea.yPosition * container.height;
-        else
-            ny = scrollArea.visibleArea.xPosition * container.width;
-        if (ny > 2) return ny; else return 2;
-    }
-
-    function size()
-    {
-        var nh, ny;
-
-        if (container.orientation == Qt.Vertical)
-            nh = scrollArea.visibleArea.heightRatio * container.height;
-        else
-            nh = scrollArea.visibleArea.widthRatio * container.width;
-
-        if (container.orientation == Qt.Vertical)
-            ny = scrollArea.visibleArea.yPosition * container.height;
-        else
-            ny = scrollArea.visibleArea.xPosition * container.width;
-
-        if (ny > 3) {
-            var t;
-            if (container.orientation == Qt.Vertical)
-                t = Math.ceil(container.height - 3 - ny);
-            else
-                t = Math.ceil(container.width - 3 - ny);
-            if (nh > t) return t; else return nh;
-        } else return nh + ny;
-    }
-
-    Rectangle { anchors.fill: parent; color: "Black"; opacity: 0.3 }
-
-    BorderImage {
-        source: "images/scrollbar.png"
-        border { left: 1; right: 1; top: 1; bottom: 1 }
-        x: container.orientation == Qt.Vertical ? 2 : position()
-        width: container.orientation == Qt.Vertical ? container.width - 4 : size()
-        y: container.orientation == Qt.Vertical ? position() : 2
-        height: container.orientation == Qt.Vertical ? size() : container.height - 4
-    }
-
-    states: State {
-        name: "visible"
-        when: container.orientation == Qt.Vertical ? scrollArea.movingVertically : scrollArea.movingHorizontally
-        PropertyChanges { target: container; opacity: 1.0 }
-    }
-
-    transitions: Transition {
-        from: "visible"; to: ""
-        NumberAnimation { properties: "opacity"; duration: 600 }
-    }
-}
diff --git a/demos/declarative/rssnews/content/images/busy.png b/demos/declarative/rssnews/content/images/busy.png
deleted file mode 100644
index 664c2b1..0000000
Binary files a/demos/declarative/rssnews/content/images/busy.png and /dev/null differ
diff --git a/demos/declarative/rssnews/content/images/scrollbar.png b/demos/declarative/rssnews/content/images/scrollbar.png
deleted file mode 100644
index 0228dcf..0000000
Binary files a/demos/declarative/rssnews/content/images/scrollbar.png and /dev/null differ
diff --git a/demos/declarative/rssnews/main.cpp b/demos/declarative/rssnews/main.cpp
new file mode 100644
index 0000000..1939431
--- /dev/null
+++ b/demos/declarative/rssnews/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include "qmlapplicationviewer.h"
+#include <QtGui/QApplication>
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/rssnews/rssnews.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/demos/declarative/rssnews/qml/rssnews/content/BusyIndicator.qml b/demos/declarative/rssnews/qml/rssnews/content/BusyIndicator.qml
new file mode 100644
index 0000000..3ee30d9
--- /dev/null
+++ b/demos/declarative/rssnews/qml/rssnews/content/BusyIndicator.qml
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Image {
+    id: container
+    property bool on: false
+
+    source: "images/busy.png"; visible: container.on
+
+    NumberAnimation on rotation {
+        running: container.on; from: 0; to: 360; loops: Animation.Infinite; duration: 1200
+    }
+}
diff --git a/demos/declarative/rssnews/qml/rssnews/content/CategoryDelegate.qml b/demos/declarative/rssnews/qml/rssnews/content/CategoryDelegate.qml
new file mode 100644
index 0000000..0ae9fbe
--- /dev/null
+++ b/demos/declarative/rssnews/qml/rssnews/content/CategoryDelegate.qml
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: delegate
+
+    width: delegate.ListView.view.width; height: 60
+
+    Text {
+        text: name
+        color: delegate.ListView.isCurrentItem ? "white" : "black"
+        font { family: "Helvetica"; pixelSize: 16; bold: true }
+        anchors {
+            left: parent.left; leftMargin: 15
+            verticalCenter: parent.verticalCenter
+        }
+    }
+
+    BusyIndicator {
+        scale: 0.6
+        on: delegate.ListView.isCurrentItem && window.loading
+        anchors { right: parent.right; rightMargin: 10; verticalCenter: parent.verticalCenter }
+    }
+
+    Rectangle {
+        width: delegate.width; height: 1; color: "#cccccc"
+        anchors.bottom: delegate.bottom
+        visible: delegate.ListView.isCurrentItem ? false : true
+    }
+    Rectangle {
+        width: delegate.width; height: 1; color: "white"
+        visible: delegate.ListView.isCurrentItem ? false : true
+    }
+
+    MouseArea {
+        anchors.fill: delegate
+        onClicked: {
+            delegate.ListView.view.currentIndex = index
+            window.currentFeed = feed
+        }
+    }
+}
diff --git a/demos/declarative/rssnews/qml/rssnews/content/NewsDelegate.qml b/demos/declarative/rssnews/qml/rssnews/content/NewsDelegate.qml
new file mode 100644
index 0000000..061abb2
--- /dev/null
+++ b/demos/declarative/rssnews/qml/rssnews/content/NewsDelegate.qml
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: delegate
+    height: column.height + 40
+    width: delegate.ListView.view.width
+
+    Column {
+        id: column
+        x: 20; y: 20
+        width: parent.width - 40
+
+        Text {
+            id: titleText
+            text: title; width: parent.width; wrapMode: Text.WordWrap
+            font { bold: true; family: "Helvetica"; pointSize: 16 }
+        }
+
+        Text {
+            id: descriptionText
+            width: parent.width; text: description
+            wrapMode: Text.WordWrap; font.family: "Helvetica"
+        }
+    }
+
+    Rectangle {
+        width: parent.width; height: 1; color: "#cccccc"
+        anchors.bottom: parent.bottom
+    }
+}
diff --git a/demos/declarative/rssnews/qml/rssnews/content/RssFeeds.qml b/demos/declarative/rssnews/qml/rssnews/content/RssFeeds.qml
new file mode 100644
index 0000000..09b1ad8
--- /dev/null
+++ b/demos/declarative/rssnews/qml/rssnews/content/RssFeeds.qml
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+ListModel {
+    id: rssFeeds
+
+    ListElement { name: "Top Stories"; feed: "rss.news.yahoo.com/rss/topstories" }
+    ListElement { name: "World"; feed: "rss.news.yahoo.com/rss/world" }
+    ListElement { name: "Europe"; feed: "rss.news.yahoo.com/rss/europe" }
+    ListElement { name: "Oceania"; feed: "rss.news.yahoo.com/rss/oceania" }
+    ListElement { name: "U.S. National"; feed: "rss.news.yahoo.com/rss/us" }
+    ListElement { name: "Politics"; feed: "rss.news.yahoo.com/rss/politics" }
+    ListElement { name: "Business"; feed: "rss.news.yahoo.com/rss/business" }
+    ListElement { name: "Technology"; feed: "rss.news.yahoo.com/rss/tech" }
+    ListElement { name: "Entertainment"; feed: "rss.news.yahoo.com/rss/entertainment" }
+    ListElement { name: "Health"; feed: "rss.news.yahoo.com/rss/health" }
+    ListElement { name: "Science"; feed: "rss.news.yahoo.com/rss/science" }
+    ListElement { name: "Sports"; feed: "rss.news.yahoo.com/rss/sports" }
+}
diff --git a/demos/declarative/rssnews/qml/rssnews/content/ScrollBar.qml b/demos/declarative/rssnews/qml/rssnews/content/ScrollBar.qml
new file mode 100644
index 0000000..e54be7b
--- /dev/null
+++ b/demos/declarative/rssnews/qml/rssnews/content/ScrollBar.qml
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: container
+
+    property variant scrollArea
+    property variant orientation: Qt.Vertical
+
+    opacity: 0
+
+    function position()
+    {
+        var ny = 0;
+        if (container.orientation == Qt.Vertical)
+            ny = scrollArea.visibleArea.yPosition * container.height;
+        else
+            ny = scrollArea.visibleArea.xPosition * container.width;
+        if (ny > 2) return ny; else return 2;
+    }
+
+    function size()
+    {
+        var nh, ny;
+
+        if (container.orientation == Qt.Vertical)
+            nh = scrollArea.visibleArea.heightRatio * container.height;
+        else
+            nh = scrollArea.visibleArea.widthRatio * container.width;
+
+        if (container.orientation == Qt.Vertical)
+            ny = scrollArea.visibleArea.yPosition * container.height;
+        else
+            ny = scrollArea.visibleArea.xPosition * container.width;
+
+        if (ny > 3) {
+            var t;
+            if (container.orientation == Qt.Vertical)
+                t = Math.ceil(container.height - 3 - ny);
+            else
+                t = Math.ceil(container.width - 3 - ny);
+            if (nh > t) return t; else return nh;
+        } else return nh + ny;
+    }
+
+    Rectangle { anchors.fill: parent; color: "Black"; opacity: 0.3 }
+
+    BorderImage {
+        source: "images/scrollbar.png"
+        border { left: 1; right: 1; top: 1; bottom: 1 }
+        x: container.orientation == Qt.Vertical ? 2 : position()
+        width: container.orientation == Qt.Vertical ? container.width - 4 : size()
+        y: container.orientation == Qt.Vertical ? position() : 2
+        height: container.orientation == Qt.Vertical ? size() : container.height - 4
+    }
+
+    states: State {
+        name: "visible"
+        when: container.orientation == Qt.Vertical ? scrollArea.movingVertically : scrollArea.movingHorizontally
+        PropertyChanges { target: container; opacity: 1.0 }
+    }
+
+    transitions: Transition {
+        from: "visible"; to: ""
+        NumberAnimation { properties: "opacity"; duration: 600 }
+    }
+}
diff --git a/demos/declarative/rssnews/qml/rssnews/content/images/busy.png b/demos/declarative/rssnews/qml/rssnews/content/images/busy.png
new file mode 100644
index 0000000..664c2b1
Binary files /dev/null and b/demos/declarative/rssnews/qml/rssnews/content/images/busy.png differ
diff --git a/demos/declarative/rssnews/qml/rssnews/content/images/scrollbar.png b/demos/declarative/rssnews/qml/rssnews/content/images/scrollbar.png
new file mode 100644
index 0000000..0228dcf
Binary files /dev/null and b/demos/declarative/rssnews/qml/rssnews/content/images/scrollbar.png differ
diff --git a/demos/declarative/rssnews/qml/rssnews/rssnews.qml b/demos/declarative/rssnews/qml/rssnews/rssnews.qml
new file mode 100644
index 0000000..b2057a9
--- /dev/null
+++ b/demos/declarative/rssnews/qml/rssnews/rssnews.qml
@@ -0,0 +1,111 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import "content"
+
+Rectangle {
+    id: window
+    width: 800; height: 480
+
+    property string currentFeed: "rss.news.yahoo.com/rss/topstories"
+    property bool loading: feedModel.status == XmlListModel.Loading
+
+    RssFeeds { id: rssFeeds }
+
+    XmlListModel {
+        id: feedModel
+        source: "http://" + window.currentFeed
+        query: "/rss/channel/item"
+
+        XmlRole { name: "title"; query: "title/string()" }
+        XmlRole { name: "link"; query: "link/string()" }
+        XmlRole { name: "description"; query: "description/string()" }
+    }
+
+    Row {
+        Rectangle {
+            width: 220; height: window.height
+            color: "#efefef"
+
+            ListView {
+                focus: true
+                id: categories
+                anchors.fill: parent
+                model: rssFeeds
+                footer: quitButtonDelegate
+                delegate: CategoryDelegate {}
+                highlight: Rectangle { color: "steelblue" }
+                highlightMoveSpeed: 9999999
+            }
+            ScrollBar {
+                scrollArea: categories; height: categories.height; width: 8
+                anchors.right: categories.right
+            }
+        }
+        ListView {
+            id: list
+            width: window.width - 220; height: window.height
+            model: feedModel
+            delegate: NewsDelegate {}
+        }
+    }
+    Component {
+        id: quitButtonDelegate
+        Item {
+            width: categories.width; height: 60
+            Text {
+                text: "Quit"
+                font { family: "Helvetica"; pixelSize: 16; bold: true }
+                anchors {
+                    left: parent.left; leftMargin: 15
+                    verticalCenter: parent.verticalCenter
+                }
+            }
+            MouseArea {
+                anchors.fill: parent
+                onClicked: Qt.quit()
+            }
+        }
+    }
+    ScrollBar { scrollArea: list; height: list.height; width: 8; anchors.right: window.right }
+    Rectangle { x: 220; height: window.height; width: 1; color: "#cccccc" }
+}
diff --git a/demos/declarative/rssnews/rssnews.desktop b/demos/declarative/rssnews/rssnews.desktop
new file mode 100644
index 0000000..7d02ed5
--- /dev/null
+++ b/demos/declarative/rssnews/rssnews.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=rssnews
+Exec=/opt/rssnews/bin/rssnews
+Icon=rssnews64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/demos/declarative/rssnews/rssnews.pro b/demos/declarative/rssnews/rssnews.pro
new file mode 100644
index 0000000..30dd524
--- /dev/null
+++ b/demos/declarative/rssnews/rssnews.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/rssnews
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE6B4EF2C
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/demos/declarative/rssnews/rssnews.qml b/demos/declarative/rssnews/rssnews.qml
deleted file mode 100644
index b2057a9..0000000
--- a/demos/declarative/rssnews/rssnews.qml
+++ /dev/null
@@ -1,111 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import "content"
-
-Rectangle {
-    id: window
-    width: 800; height: 480
-
-    property string currentFeed: "rss.news.yahoo.com/rss/topstories"
-    property bool loading: feedModel.status == XmlListModel.Loading
-
-    RssFeeds { id: rssFeeds }
-
-    XmlListModel {
-        id: feedModel
-        source: "http://" + window.currentFeed
-        query: "/rss/channel/item"
-
-        XmlRole { name: "title"; query: "title/string()" }
-        XmlRole { name: "link"; query: "link/string()" }
-        XmlRole { name: "description"; query: "description/string()" }
-    }
-
-    Row {
-        Rectangle {
-            width: 220; height: window.height
-            color: "#efefef"
-
-            ListView {
-                focus: true
-                id: categories
-                anchors.fill: parent
-                model: rssFeeds
-                footer: quitButtonDelegate
-                delegate: CategoryDelegate {}
-                highlight: Rectangle { color: "steelblue" }
-                highlightMoveSpeed: 9999999
-            }
-            ScrollBar {
-                scrollArea: categories; height: categories.height; width: 8
-                anchors.right: categories.right
-            }
-        }
-        ListView {
-            id: list
-            width: window.width - 220; height: window.height
-            model: feedModel
-            delegate: NewsDelegate {}
-        }
-    }
-    Component {
-        id: quitButtonDelegate
-        Item {
-            width: categories.width; height: 60
-            Text {
-                text: "Quit"
-                font { family: "Helvetica"; pixelSize: 16; bold: true }
-                anchors {
-                    left: parent.left; leftMargin: 15
-                    verticalCenter: parent.verticalCenter
-                }
-            }
-            MouseArea {
-                anchors.fill: parent
-                onClicked: Qt.quit()
-            }
-        }
-    }
-    ScrollBar { scrollArea: list; height: list.height; width: 8; anchors.right: window.right }
-    Rectangle { x: 220; height: window.height; width: 1; color: "#cccccc" }
-}
diff --git a/demos/declarative/rssnews/rssnews.qmlproject b/demos/declarative/rssnews/rssnews.qmlproject
index d4909f8..608be8d 100644
--- a/demos/declarative/rssnews/rssnews.qmlproject
+++ b/demos/declarative/rssnews/rssnews.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/rssnews"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/rssnews"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/rssnews"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/demos/declarative/rssnews/rssnews.svg b/demos/declarative/rssnews/rssnews.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/demos/declarative/rssnews/rssnews.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/demos/declarative/rssnews/rssnews64.png b/demos/declarative/rssnews/rssnews64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/demos/declarative/rssnews/rssnews64.png differ
diff --git a/demos/declarative/rssnews/rssnews80.png b/demos/declarative/rssnews/rssnews80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/demos/declarative/rssnews/rssnews80.png differ
diff --git a/demos/declarative/rssnews/rssnews_harmattan.desktop b/demos/declarative/rssnews/rssnews_harmattan.desktop
new file mode 100644
index 0000000..df6303f
--- /dev/null
+++ b/demos/declarative/rssnews/rssnews_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=rssnews
+Exec=/usr/bin/single-instance /opt/rssnews/bin/rssnews
+Icon=/usr/share/icons/hicolor/80x80/apps/rssnews80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
-- 
cgit v0.12


From ead1a9a06cb50e6e393d897bf4bc2201d003d801 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:16 +0100
Subject: demos/declarative/samegame example modifications

Modified the example 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>
---
 .../samegame/SamegameCore/BoomBlock.qml            | 109 --------
 demos/declarative/samegame/SamegameCore/Button.qml |  75 ------
 demos/declarative/samegame/SamegameCore/Dialog.qml |  77 ------
 .../samegame/SamegameCore/pics/background.png      | Bin 313930 -> 0 bytes
 .../samegame/SamegameCore/pics/blueStar.png        | Bin 278 -> 0 bytes
 .../samegame/SamegameCore/pics/blueStone.png       | Bin 3054 -> 0 bytes
 .../samegame/SamegameCore/pics/greenStar.png       | Bin 273 -> 0 bytes
 .../samegame/SamegameCore/pics/greenStone.png      | Bin 2932 -> 0 bytes
 .../samegame/SamegameCore/pics/redStar.png         | Bin 274 -> 0 bytes
 .../samegame/SamegameCore/pics/redStone.png        | Bin 2902 -> 0 bytes
 .../samegame/SamegameCore/pics/star.png            | Bin 262 -> 0 bytes
 .../samegame/SamegameCore/pics/yellowStone.png     | Bin 3056 -> 0 bytes
 demos/declarative/samegame/SamegameCore/qmldir     |   3 -
 .../declarative/samegame/SamegameCore/samegame.js  | 288 ---------------------
 demos/declarative/samegame/highscores/README       |   1 -
 .../declarative/samegame/highscores/score_data.xml |   2 -
 .../samegame/highscores/score_style.xsl            |  28 --
 demos/declarative/samegame/highscores/scores.php   |  34 ---
 demos/declarative/samegame/main.cpp                |  54 ++++
 .../qml/samegame/SamegameCore/BoomBlock.qml        | 109 ++++++++
 .../samegame/qml/samegame/SamegameCore/Button.qml  |  75 ++++++
 .../samegame/qml/samegame/SamegameCore/Dialog.qml  |  77 ++++++
 .../qml/samegame/SamegameCore/pics/background.png  | Bin 0 -> 313930 bytes
 .../qml/samegame/SamegameCore/pics/blueStar.png    | Bin 0 -> 278 bytes
 .../qml/samegame/SamegameCore/pics/blueStone.png   | Bin 0 -> 3054 bytes
 .../qml/samegame/SamegameCore/pics/greenStar.png   | Bin 0 -> 273 bytes
 .../qml/samegame/SamegameCore/pics/greenStone.png  | Bin 0 -> 2932 bytes
 .../qml/samegame/SamegameCore/pics/redStar.png     | Bin 0 -> 274 bytes
 .../qml/samegame/SamegameCore/pics/redStone.png    | Bin 0 -> 2902 bytes
 .../qml/samegame/SamegameCore/pics/star.png        | Bin 0 -> 262 bytes
 .../qml/samegame/SamegameCore/pics/yellowStone.png | Bin 0 -> 3056 bytes
 .../samegame/qml/samegame/SamegameCore/qmldir      |   3 +
 .../samegame/qml/samegame/SamegameCore/samegame.js | 288 +++++++++++++++++++++
 .../samegame/qml/samegame/highscores/README        |   1 +
 .../qml/samegame/highscores/score_data.xml         |   2 +
 .../qml/samegame/highscores/score_style.xsl        |  28 ++
 .../samegame/qml/samegame/highscores/scores.php    |  34 +++
 .../declarative/samegame/qml/samegame/samegame.qml | 161 ++++++++++++
 demos/declarative/samegame/samegame.desktop        |  11 +
 demos/declarative/samegame/samegame.pro            |  37 +++
 demos/declarative/samegame/samegame.qml            | 161 ------------
 demos/declarative/samegame/samegame.qmlproject     |   6 +-
 demos/declarative/samegame/samegame.svg            |  93 +++++++
 demos/declarative/samegame/samegame64.png          | Bin 0 -> 3400 bytes
 demos/declarative/samegame/samegame80.png          | Bin 0 -> 4945 bytes
 .../samegame/samegame_harmattan.desktop            |  11 +
 46 files changed, 987 insertions(+), 781 deletions(-)
 delete mode 100644 demos/declarative/samegame/SamegameCore/BoomBlock.qml
 delete mode 100644 demos/declarative/samegame/SamegameCore/Button.qml
 delete mode 100644 demos/declarative/samegame/SamegameCore/Dialog.qml
 delete mode 100644 demos/declarative/samegame/SamegameCore/pics/background.png
 delete mode 100644 demos/declarative/samegame/SamegameCore/pics/blueStar.png
 delete mode 100644 demos/declarative/samegame/SamegameCore/pics/blueStone.png
 delete mode 100644 demos/declarative/samegame/SamegameCore/pics/greenStar.png
 delete mode 100644 demos/declarative/samegame/SamegameCore/pics/greenStone.png
 delete mode 100644 demos/declarative/samegame/SamegameCore/pics/redStar.png
 delete mode 100644 demos/declarative/samegame/SamegameCore/pics/redStone.png
 delete mode 100644 demos/declarative/samegame/SamegameCore/pics/star.png
 delete mode 100644 demos/declarative/samegame/SamegameCore/pics/yellowStone.png
 delete mode 100644 demos/declarative/samegame/SamegameCore/qmldir
 delete mode 100755 demos/declarative/samegame/SamegameCore/samegame.js
 delete mode 100644 demos/declarative/samegame/highscores/README
 delete mode 100755 demos/declarative/samegame/highscores/score_data.xml
 delete mode 100755 demos/declarative/samegame/highscores/score_style.xsl
 delete mode 100755 demos/declarative/samegame/highscores/scores.php
 create mode 100644 demos/declarative/samegame/main.cpp
 create mode 100644 demos/declarative/samegame/qml/samegame/SamegameCore/BoomBlock.qml
 create mode 100644 demos/declarative/samegame/qml/samegame/SamegameCore/Button.qml
 create mode 100644 demos/declarative/samegame/qml/samegame/SamegameCore/Dialog.qml
 create mode 100644 demos/declarative/samegame/qml/samegame/SamegameCore/pics/background.png
 create mode 100644 demos/declarative/samegame/qml/samegame/SamegameCore/pics/blueStar.png
 create mode 100644 demos/declarative/samegame/qml/samegame/SamegameCore/pics/blueStone.png
 create mode 100644 demos/declarative/samegame/qml/samegame/SamegameCore/pics/greenStar.png
 create mode 100644 demos/declarative/samegame/qml/samegame/SamegameCore/pics/greenStone.png
 create mode 100644 demos/declarative/samegame/qml/samegame/SamegameCore/pics/redStar.png
 create mode 100644 demos/declarative/samegame/qml/samegame/SamegameCore/pics/redStone.png
 create mode 100644 demos/declarative/samegame/qml/samegame/SamegameCore/pics/star.png
 create mode 100644 demos/declarative/samegame/qml/samegame/SamegameCore/pics/yellowStone.png
 create mode 100644 demos/declarative/samegame/qml/samegame/SamegameCore/qmldir
 create mode 100644 demos/declarative/samegame/qml/samegame/SamegameCore/samegame.js
 create mode 100644 demos/declarative/samegame/qml/samegame/highscores/README
 create mode 100644 demos/declarative/samegame/qml/samegame/highscores/score_data.xml
 create mode 100644 demos/declarative/samegame/qml/samegame/highscores/score_style.xsl
 create mode 100644 demos/declarative/samegame/qml/samegame/highscores/scores.php
 create mode 100644 demos/declarative/samegame/qml/samegame/samegame.qml
 create mode 100644 demos/declarative/samegame/samegame.desktop
 create mode 100644 demos/declarative/samegame/samegame.pro
 delete mode 100644 demos/declarative/samegame/samegame.qml
 create mode 100644 demos/declarative/samegame/samegame.svg
 create mode 100644 demos/declarative/samegame/samegame64.png
 create mode 100644 demos/declarative/samegame/samegame80.png
 create mode 100644 demos/declarative/samegame/samegame_harmattan.desktop

diff --git a/demos/declarative/samegame/SamegameCore/BoomBlock.qml b/demos/declarative/samegame/SamegameCore/BoomBlock.qml
deleted file mode 100644
index d3904e7..0000000
--- a/demos/declarative/samegame/SamegameCore/BoomBlock.qml
+++ /dev/null
@@ -1,109 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.1
-import Qt.labs.particles 1.0
-
-Item {
-    id: block
-    property bool dying: false
-    property bool spawned: false
-    property int type: 0
-
-    Behavior on x {
-        enabled: spawned;
-        SpringAnimation{ spring: 2; damping: 0.2 }
-    }
-    Behavior on y {
-        SpringAnimation{ spring: 2; damping: 0.2 }
-    }
-
-    Image {
-        id: img
-        source: {
-            if(type == 0){
-                "pics/redStone.png";
-            } else if(type == 1) {
-                "pics/blueStone.png";
-            } else {
-                "pics/greenStone.png";
-            }
-        }
-        opacity: 0
-        Behavior on opacity { NumberAnimation { duration: 200 } }
-        anchors.fill: parent
-    }
-
-    Particles {
-        id: particles
-
-        width: 1; height: 1
-        anchors.centerIn: parent
-
-        emissionRate: 0
-        lifeSpan: 700; lifeSpanDeviation: 600
-        angle: 0; angleDeviation: 360;
-        velocity: 100; velocityDeviation: 30
-        source: {
-            if(type == 0){
-                "pics/redStar.png";
-            } else if (type == 1) {
-                "pics/blueStar.png";
-            } else {
-                "pics/greenStar.png";
-            }
-        }
-    }
-
-    states: [
-        State {
-            name: "AliveState"; when: spawned == true && dying == false
-            PropertyChanges { target: img; opacity: 1 }
-        },
-
-        State {
-            name: "DeathState"; when: dying == true
-            StateChangeScript { script: particles.burst(50); }
-            PropertyChanges { target: img; opacity: 0 }
-            StateChangeScript { script: block.destroy(1000); }
-        }
-    ]
-}
diff --git a/demos/declarative/samegame/SamegameCore/Button.qml b/demos/declarative/samegame/SamegameCore/Button.qml
deleted file mode 100644
index 933bdfe..0000000
--- a/demos/declarative/samegame/SamegameCore/Button.qml
+++ /dev/null
@@ -1,75 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.1
-
-Rectangle {
-    id: container
-
-    property string text: "Button"
-
-    signal clicked
-
-    width: buttonLabel.width + 20; height: buttonLabel.height + 20
-    smooth: true
-    border { width: 1; color: Qt.darker(activePalette.button) }
-    radius: 8
-    color: activePalette.button
-
-    gradient: Gradient {
-        GradientStop {
-            position: 0.0
-            color: {
-                if (mouseArea.pressed)
-                    return activePalette.dark
-                else
-                    return activePalette.light
-            }
-        }
-        GradientStop { position: 1.0; color: activePalette.button }
-    }
-
-    MouseArea { id: mouseArea; anchors.fill: parent; onClicked: container.clicked() }
-
-    Text {
-        id: buttonLabel; text: container.text; anchors.centerIn: container; color: activePalette.buttonText; font.pixelSize: 24
-    }
-}
diff --git a/demos/declarative/samegame/SamegameCore/Dialog.qml b/demos/declarative/samegame/SamegameCore/Dialog.qml
deleted file mode 100644
index 3c0b92d..0000000
--- a/demos/declarative/samegame/SamegameCore/Dialog.qml
+++ /dev/null
@@ -1,77 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.1
-
-Rectangle {
-    id: page
-
-    property Item text: dialogText
-
-    signal closed
-    signal opened
-    function forceClose() {
-        if(page.opacity == 0)
-            return; //already closed
-        page.closed();
-        page.opacity = 0;
-    }
-
-    function show(txt) {
-        page.opened();
-        dialogText.text = txt;
-        page.opacity = 1;
-    }
-
-    width: dialogText.width + 20; height: dialogText.height + 20
-    color: "white"
-    border.width: 1
-    opacity: 0
-    visible: opacity > 0
-    Behavior on opacity {
-        NumberAnimation { duration: 1000 }
-    }
-
-    Text { id: dialogText; anchors.centerIn: parent; text: "Hello World!" }
-
-    MouseArea { anchors.fill: parent; onClicked: forceClose(); }
-}
-
diff --git a/demos/declarative/samegame/SamegameCore/pics/background.png b/demos/declarative/samegame/SamegameCore/pics/background.png
deleted file mode 100644
index 3734a27..0000000
Binary files a/demos/declarative/samegame/SamegameCore/pics/background.png and /dev/null differ
diff --git a/demos/declarative/samegame/SamegameCore/pics/blueStar.png b/demos/declarative/samegame/SamegameCore/pics/blueStar.png
deleted file mode 100644
index ff9588f..0000000
Binary files a/demos/declarative/samegame/SamegameCore/pics/blueStar.png and /dev/null differ
diff --git a/demos/declarative/samegame/SamegameCore/pics/blueStone.png b/demos/declarative/samegame/SamegameCore/pics/blueStone.png
deleted file mode 100644
index 20e43c7..0000000
Binary files a/demos/declarative/samegame/SamegameCore/pics/blueStone.png and /dev/null differ
diff --git a/demos/declarative/samegame/SamegameCore/pics/greenStar.png b/demos/declarative/samegame/SamegameCore/pics/greenStar.png
deleted file mode 100644
index cd06854..0000000
Binary files a/demos/declarative/samegame/SamegameCore/pics/greenStar.png and /dev/null differ
diff --git a/demos/declarative/samegame/SamegameCore/pics/greenStone.png b/demos/declarative/samegame/SamegameCore/pics/greenStone.png
deleted file mode 100644
index b568a19..0000000
Binary files a/demos/declarative/samegame/SamegameCore/pics/greenStone.png and /dev/null differ
diff --git a/demos/declarative/samegame/SamegameCore/pics/redStar.png b/demos/declarative/samegame/SamegameCore/pics/redStar.png
deleted file mode 100644
index 0a4dffe..0000000
Binary files a/demos/declarative/samegame/SamegameCore/pics/redStar.png and /dev/null differ
diff --git a/demos/declarative/samegame/SamegameCore/pics/redStone.png b/demos/declarative/samegame/SamegameCore/pics/redStone.png
deleted file mode 100644
index 36b09a2..0000000
Binary files a/demos/declarative/samegame/SamegameCore/pics/redStone.png and /dev/null differ
diff --git a/demos/declarative/samegame/SamegameCore/pics/star.png b/demos/declarative/samegame/SamegameCore/pics/star.png
deleted file mode 100644
index defbde5..0000000
Binary files a/demos/declarative/samegame/SamegameCore/pics/star.png and /dev/null differ
diff --git a/demos/declarative/samegame/SamegameCore/pics/yellowStone.png b/demos/declarative/samegame/SamegameCore/pics/yellowStone.png
deleted file mode 100644
index b1ce762..0000000
Binary files a/demos/declarative/samegame/SamegameCore/pics/yellowStone.png and /dev/null differ
diff --git a/demos/declarative/samegame/SamegameCore/qmldir b/demos/declarative/samegame/SamegameCore/qmldir
deleted file mode 100644
index e17b1f5..0000000
--- a/demos/declarative/samegame/SamegameCore/qmldir
+++ /dev/null
@@ -1,3 +0,0 @@
-BoomBlock BoomBlock.qml
-Button Button.qml
-Dialog Dialog.qml
diff --git a/demos/declarative/samegame/SamegameCore/samegame.js b/demos/declarative/samegame/SamegameCore/samegame.js
deleted file mode 100755
index d7b827a..0000000
--- a/demos/declarative/samegame/SamegameCore/samegame.js
+++ /dev/null
@@ -1,288 +0,0 @@
-/* This script file handles the game logic */
-
-var maxColumn = 10;
-var maxRow = 15;
-var maxIndex = maxColumn*maxRow;
-var board = new Array(maxIndex);
-var blockSrc = "SamegameCore/BoomBlock.qml";
-var scoresURL = "";
-var gameDuration;
-var component = Qt.createComponent(blockSrc);
-var highScoreBar = 0;
-
-// Index function used instead of a 2D array
-function index(column, row)
-{
-    return column + row * maxColumn;
-}
-
-function timeStr(msecs)
-{
-    var secs = Math.floor(msecs/1000);
-    var m = Math.floor(secs/60);
-    var ret = "" + m + "m " + (secs%60) + "s";
-    return ret;
-}
-
-function startNewGame()
-{
-    // Delete blocks from previous game
-    for (var i = 0; i < maxIndex; i++) {
-        if (board[i] != null)
-            board[i].destroy();
-    }
-
-    // Calculate board size
-    maxColumn = Math.floor(gameCanvas.width/gameCanvas.blockSize);
-    maxRow = Math.floor(gameCanvas.height/gameCanvas.blockSize);
-    maxIndex = maxRow * maxColumn;
-
-    // Close dialogs
-    nameInputDialog.forceClose();
-    dialog.forceClose();
-
-    // Initialize Board
-    board = new Array(maxIndex);
-    gameCanvas.score = 0;
-    for (var column = 0; column < maxColumn; column++) {
-        for (var row = 0; row < maxRow; row++) {
-            board[index(column, row)] = null;
-            createBlock(column, row);
-        }
-    }
-    gameDuration = new Date();
-}
-
-var fillFound;  // Set after a floodFill call to the number of blocks found
-var floodBoard; // Set to 1 if the floodFill reaches off that node
-
-// NOTE: Be careful with vars named x,y, as the calling object's x,y are still in scope
-function handleClick(x,y)
-{
-    var column = Math.floor(x/gameCanvas.blockSize);
-    var row = Math.floor(y/gameCanvas.blockSize);
-    if (column >= maxColumn || column < 0 || row >= maxRow || row < 0)
-        return;
-    if (board[index(column, row)] == null)
-        return;
-    // If it's a valid block, remove it and all connected (does nothing if it's not connected)
-    floodFill(column,row, -1);
-    if (fillFound <= 0)
-        return;
-    gameCanvas.score += (fillFound - 1) * (fillFound - 1);
-    shuffleDown();
-    victoryCheck();
-}
-
-function floodFill(column,row,type)
-{
-    if (board[index(column, row)] == null)
-        return;
-    var first = false;
-    if (type == -1) {
-        first = true;
-        type = board[index(column,row)].type;
-
-        // Flood fill initialization
-        fillFound = 0;
-        floodBoard = new Array(maxIndex);
-    }
-    if (column >= maxColumn || column < 0 || row >= maxRow || row < 0)
-        return;
-    if (floodBoard[index(column, row)] == 1 || (!first && type != board[index(column, row)].type))
-        return;
-    floodBoard[index(column, row)] = 1;
-    floodFill(column + 1, row, type);
-    floodFill(column - 1, row, type);
-    floodFill(column, row + 1, type);
-    floodFill(column, row - 1, type);
-    if (first == true && fillFound == 0)
-        return; // Can't remove single blocks
-    board[index(column, row)].dying = true;
-    board[index(column, row)] = null;
-    fillFound += 1;
-}
-
-function shuffleDown()
-{
-    // Fall down
-    for (var column = 0; column < maxColumn; column++) {
-        var fallDist = 0;
-        for (var row = maxRow - 1; row >= 0; row--) {
-            if (board[index(column,row)] == null) {
-                fallDist += 1;
-            } else {
-                if (fallDist > 0) {
-                    var obj = board[index(column, row)];
-                    obj.y = (row + fallDist) * gameCanvas.blockSize;
-                    board[index(column, row + fallDist)] = obj;
-                    board[index(column, row)] = null;
-                }
-            }
-        }
-    }
-    // Fall to the left
-    fallDist = 0;
-    for (column = 0; column < maxColumn; column++) {
-        if (board[index(column, maxRow - 1)] == null) {
-            fallDist += 1;
-        } else {
-            if (fallDist > 0) {
-                for (row = 0; row < maxRow; row++) {
-                    obj = board[index(column, row)];
-                    if (obj == null)
-                        continue;
-                    obj.x = (column - fallDist) * gameCanvas.blockSize;
-                    board[index(column - fallDist,row)] = obj;
-                    board[index(column, row)] = null;
-                }
-            }
-        }
-    }
-}
-
-function victoryCheck()
-{
-    // Awards bonuses for no blocks left
-    var deservesBonus = true;
-    for (var column = maxColumn - 1; column >= 0; column--)
-        if (board[index(column, maxRow - 1)] != null)
-            deservesBonus = false;
-    if (deservesBonus)
-        gameCanvas.score += 500;
-    // Checks for game over
-    if (deservesBonus || !(floodMoveCheck(0, maxRow - 1, -1))) {
-        gameDuration = new Date() - gameDuration;
-        if(gameCanvas.score > highScoreBar){
-            nameInputDialog.show("You won! Please enter your name:                 ");
-            nameInputDialog.initialWidth = nameInputDialog.text.width + 20;
-            if (nameInputDialog.name == "")
-                nameInputDialog.width = nameInputDialog.initialWidth;
-            nameInputDialog.text.opacity = 0; // Just a spacer
-        }else{
-            dialog.show("You won!");
-        }
-    }
-}
-
-// Only floods up and right, to see if it can find adjacent same-typed blocks
-function floodMoveCheck(column, row, type)
-{
-    if (column >= maxColumn || column < 0 || row >= maxRow || row < 0)
-        return false;
-    if (board[index(column, row)] == null)
-        return false;
-    var myType = board[index(column, row)].type;
-    if (type == myType)
-        return true;
-    return floodMoveCheck(column + 1, row, myType) ||
-           floodMoveCheck(column, row - 1, board[index(column, row)].type);
-}
-
-function createBlock(column,row)
-{
-    // Note that we don't wait for the component to become ready. This will
-    // only work if the block QML is a local file. Otherwise the component will
-    // not be ready immediately. There is a statusChanged signal on the
-    // component you could use if you want to wait to load remote files.
-    if(component.status == Component.Ready){
-        var dynamicObject = component.createObject(gameCanvas,
-                {"type": Math.floor(Math.random() * 3),
-                "x": column*gameCanvas.blockSize,
-                "width": gameCanvas.blockSize,
-                "height": gameCanvas.blockSize});
-        if(dynamicObject == null){
-            console.log("error creating block");
-            console.log(component.errorString());
-            return false;
-        }
-        dynamicObject.y = row*gameCanvas.blockSize;
-        dynamicObject.spawned = true;
-
-        board[index(column,row)] = dynamicObject;
-    }else{
-        console.log("error loading block component");
-        console.log(component.errorString());
-        return false;
-    }
-    return true;
-}
-
-function initHighScoreBar()
-{
-    if(scoresURL != "")
-        return true;//don't query remote scores
-    var db = openDatabaseSync(
-        "SameGameScores",
-        "1.0",
-        "Local SameGame High Scores",
-        100
-    );
-    db.transaction(
-        function(tx) {
-            tx.executeSql('CREATE TABLE IF NOT EXISTS Scores(name TEXT, score NUMBER, gridSize TEXT, time NUMBER)');
-            // Only show results for the current grid size
-            var rs = tx.executeSql('SELECT * FROM Scores WHERE gridSize = "'
-                + maxColumn + "x" + maxRow + '" ORDER BY score desc LIMIT 10');
-            if(rs.rows.length < 10)
-                highScoreBar = 0;
-            else 
-                highScoreBar = rs.rows.item(rs.rows.length - 1).score;
-        }
-    );
-}
-
-function saveHighScore(name)
-{
-    if (scoresURL != "")
-        sendHighScore(name);
-    // Offline storage
-    var db = openDatabaseSync(
-        "SameGameScores",
-        "1.0",
-        "Local SameGame High Scores",
-        100
-    );
-    var dataStr = "INSERT INTO Scores VALUES(?, ?, ?, ?)";
-    var data = [
-        name,
-        gameCanvas.score,
-        maxColumn + "x" + maxRow,
-        Math.floor(gameDuration / 1000)
-    ];
-    db.transaction(
-        function(tx) {
-            tx.executeSql('CREATE TABLE IF NOT EXISTS Scores(name TEXT, score NUMBER, gridSize TEXT, time NUMBER)');
-            tx.executeSql(dataStr, data);
-
-            // Only show results for the current grid size
-            var rs = tx.executeSql('SELECT * FROM Scores WHERE gridSize = "'
-                + maxColumn + "x" + maxRow + '" ORDER BY score desc LIMIT 10');
-            var r = "\nHIGH SCORES for this grid size\n\n"
-            for (var i = 0; i < rs.rows.length; i++) {
-                r += (i+1) + ". " + rs.rows.item(i).name + ' got '
-                    + rs.rows.item(i).score + ' points in '
-                    + rs.rows.item(i).time + ' seconds.\n';
-            }
-            if(rs.rows.length == 10)
-                highScoreBar = rs.rows.item(9).score;
-            dialog.show(r);
-        }
-    );
-}
-
-function sendHighScore(name)
-{
-    var postman = new XMLHttpRequest()
-    var postData = "name=" + name + "&score=" + gameCanvas.score
-        + "&gridSize=" + maxColumn + "x" + maxRow
-        + "&time=" + Math.floor(gameDuration / 1000);
-    postman.open("POST", scoresURL, true);
-    postman.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
-    postman.onreadystatechange = function() {
-        if (postman.readyState == postman.DONE) {
-            dialog.show("Your score has been uploaded.");
-        }
-    }
-    postman.send(postData);
-}
diff --git a/demos/declarative/samegame/highscores/README b/demos/declarative/samegame/highscores/README
deleted file mode 100644
index eaa00fa..0000000
--- a/demos/declarative/samegame/highscores/README
+++ /dev/null
@@ -1 +0,0 @@
-The SameGame example can interface with a simple PHP script to store XML high score data on a remote server. We do not have a publically accessible server available for this use, but if you have access to a PHP capable webserver you can copy the files (score_data.xml, score.php, score_style.xsl) to it and alter the highscore_server variable at the top of the samegame.js file to point to it.
diff --git a/demos/declarative/samegame/highscores/score_data.xml b/demos/declarative/samegame/highscores/score_data.xml
deleted file mode 100755
index c3fd90d..0000000
--- a/demos/declarative/samegame/highscores/score_data.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<record><score>1000000</score><name>Alan the Tester</name><gridSize>0x0</gridSize><seconds>0</seconds></record>
-<record><score>6213</score><name>Alan</name><gridSize>12x17</gridSize><seconds>51</seconds></record>
diff --git a/demos/declarative/samegame/highscores/score_style.xsl b/demos/declarative/samegame/highscores/score_style.xsl
deleted file mode 100755
index 670354c..0000000
--- a/demos/declarative/samegame/highscores/score_style.xsl
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-<xsl:template match="/">
-  <html>
-  <head><title>SameGame High Scores</title></head>
-  <body>
-  <h2>SameGame High Scores</h2>
-    <table border="1">
-      <tr bgcolor="lightsteelblue">
-        <th>Name</th>
-        <th>Score</th>
-        <th>Grid Size</th>
-        <th>Time, s</th>
-      </tr>
-      <xsl:for-each select="records/record">
-      <xsl:sort select="score" data-type="number" order="descending"/>
-      <tr>
-        <td><xsl:value-of select="name"/></td>
-        <td><xsl:value-of select="score"/></td>
-        <td><xsl:value-of select="gridSize"/></td>
-        <td><xsl:value-of select="seconds"/></td>
-      </tr>
-      </xsl:for-each>
-    </table>
-  </body>
-  </html>
-</xsl:template>
-</xsl:stylesheet>
diff --git a/demos/declarative/samegame/highscores/scores.php b/demos/declarative/samegame/highscores/scores.php
deleted file mode 100755
index 3cceb2d..0000000
--- a/demos/declarative/samegame/highscores/scores.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-    $score = $_POST["score"];
-    echo "<html>";
-    echo "<head><title>SameGame High Scores</title></head><body>";
-    if($score > 0){#Sending in a new high score
-        $name = $_POST["name"];
-        $grid = $_POST["gridSize"];
-        $time = $_POST["time"];
-        if($name == "")
-            $name = "Anonymous";
-        //if($grid != "10x10"){
-        //Need a standard, so as to reject others?
-        //}
-	$file = fopen("score_data.xml", "a"); #It's XML. Happy?
-        $ret = fwrite($file, "<record><score>". $score . "</score><name>" 
-            . $name . "</name><gridSize>" . $grid . "</gridSize><seconds>"
-            . $time . "</seconds></record>\n");
-        echo "Your score has been recorded. Thanks for playing!";
-        if($ret == False)
-            echo "<br/> There was an error though, so don't expect to see that score again.";
-    }else{#Read high score list
-        #Now uses XSLT to display. So just print the file. With XML cruft added.
-        #Note that firefox at least won't apply the XSLT on a php file. So redirecting
-	$file = fopen("scores.xml", "w");
-        $ret = fwrite($file, '<?xml version="1.0" encoding="ISO-8859-1"?>' . "\n"
-            . '<?xml-stylesheet type="text/xsl" href="score_style.xsl"?>' . "\n"
-            . "<records>\n" . file_get_contents("score_data.xml") . "</records>\n");
-        if($ret == False)
-            echo "There was an internal error. Sorry.";
-        else
-            echo '<script type="text/javascript">window.location.replace("scores.xml")</script>';
-    }
-    echo "</body></html>";
-?>
diff --git a/demos/declarative/samegame/main.cpp b/demos/declarative/samegame/main.cpp
new file mode 100644
index 0000000..86aeb67
--- /dev/null
+++ b/demos/declarative/samegame/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include "qmlapplicationviewer.h"
+#include <QtGui/QApplication>
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/samegame/samegame.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/demos/declarative/samegame/qml/samegame/SamegameCore/BoomBlock.qml b/demos/declarative/samegame/qml/samegame/SamegameCore/BoomBlock.qml
new file mode 100644
index 0000000..d3904e7
--- /dev/null
+++ b/demos/declarative/samegame/qml/samegame/SamegameCore/BoomBlock.qml
@@ -0,0 +1,109 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.1
+import Qt.labs.particles 1.0
+
+Item {
+    id: block
+    property bool dying: false
+    property bool spawned: false
+    property int type: 0
+
+    Behavior on x {
+        enabled: spawned;
+        SpringAnimation{ spring: 2; damping: 0.2 }
+    }
+    Behavior on y {
+        SpringAnimation{ spring: 2; damping: 0.2 }
+    }
+
+    Image {
+        id: img
+        source: {
+            if(type == 0){
+                "pics/redStone.png";
+            } else if(type == 1) {
+                "pics/blueStone.png";
+            } else {
+                "pics/greenStone.png";
+            }
+        }
+        opacity: 0
+        Behavior on opacity { NumberAnimation { duration: 200 } }
+        anchors.fill: parent
+    }
+
+    Particles {
+        id: particles
+
+        width: 1; height: 1
+        anchors.centerIn: parent
+
+        emissionRate: 0
+        lifeSpan: 700; lifeSpanDeviation: 600
+        angle: 0; angleDeviation: 360;
+        velocity: 100; velocityDeviation: 30
+        source: {
+            if(type == 0){
+                "pics/redStar.png";
+            } else if (type == 1) {
+                "pics/blueStar.png";
+            } else {
+                "pics/greenStar.png";
+            }
+        }
+    }
+
+    states: [
+        State {
+            name: "AliveState"; when: spawned == true && dying == false
+            PropertyChanges { target: img; opacity: 1 }
+        },
+
+        State {
+            name: "DeathState"; when: dying == true
+            StateChangeScript { script: particles.burst(50); }
+            PropertyChanges { target: img; opacity: 0 }
+            StateChangeScript { script: block.destroy(1000); }
+        }
+    ]
+}
diff --git a/demos/declarative/samegame/qml/samegame/SamegameCore/Button.qml b/demos/declarative/samegame/qml/samegame/SamegameCore/Button.qml
new file mode 100644
index 0000000..933bdfe
--- /dev/null
+++ b/demos/declarative/samegame/qml/samegame/SamegameCore/Button.qml
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.1
+
+Rectangle {
+    id: container
+
+    property string text: "Button"
+
+    signal clicked
+
+    width: buttonLabel.width + 20; height: buttonLabel.height + 20
+    smooth: true
+    border { width: 1; color: Qt.darker(activePalette.button) }
+    radius: 8
+    color: activePalette.button
+
+    gradient: Gradient {
+        GradientStop {
+            position: 0.0
+            color: {
+                if (mouseArea.pressed)
+                    return activePalette.dark
+                else
+                    return activePalette.light
+            }
+        }
+        GradientStop { position: 1.0; color: activePalette.button }
+    }
+
+    MouseArea { id: mouseArea; anchors.fill: parent; onClicked: container.clicked() }
+
+    Text {
+        id: buttonLabel; text: container.text; anchors.centerIn: container; color: activePalette.buttonText; font.pixelSize: 24
+    }
+}
diff --git a/demos/declarative/samegame/qml/samegame/SamegameCore/Dialog.qml b/demos/declarative/samegame/qml/samegame/SamegameCore/Dialog.qml
new file mode 100644
index 0000000..3c0b92d
--- /dev/null
+++ b/demos/declarative/samegame/qml/samegame/SamegameCore/Dialog.qml
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.1
+
+Rectangle {
+    id: page
+
+    property Item text: dialogText
+
+    signal closed
+    signal opened
+    function forceClose() {
+        if(page.opacity == 0)
+            return; //already closed
+        page.closed();
+        page.opacity = 0;
+    }
+
+    function show(txt) {
+        page.opened();
+        dialogText.text = txt;
+        page.opacity = 1;
+    }
+
+    width: dialogText.width + 20; height: dialogText.height + 20
+    color: "white"
+    border.width: 1
+    opacity: 0
+    visible: opacity > 0
+    Behavior on opacity {
+        NumberAnimation { duration: 1000 }
+    }
+
+    Text { id: dialogText; anchors.centerIn: parent; text: "Hello World!" }
+
+    MouseArea { anchors.fill: parent; onClicked: forceClose(); }
+}
+
diff --git a/demos/declarative/samegame/qml/samegame/SamegameCore/pics/background.png b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/background.png
new file mode 100644
index 0000000..3734a27
Binary files /dev/null and b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/background.png differ
diff --git a/demos/declarative/samegame/qml/samegame/SamegameCore/pics/blueStar.png b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/blueStar.png
new file mode 100644
index 0000000..ff9588f
Binary files /dev/null and b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/blueStar.png differ
diff --git a/demos/declarative/samegame/qml/samegame/SamegameCore/pics/blueStone.png b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/blueStone.png
new file mode 100644
index 0000000..20e43c7
Binary files /dev/null and b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/blueStone.png differ
diff --git a/demos/declarative/samegame/qml/samegame/SamegameCore/pics/greenStar.png b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/greenStar.png
new file mode 100644
index 0000000..cd06854
Binary files /dev/null and b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/greenStar.png differ
diff --git a/demos/declarative/samegame/qml/samegame/SamegameCore/pics/greenStone.png b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/greenStone.png
new file mode 100644
index 0000000..b568a19
Binary files /dev/null and b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/greenStone.png differ
diff --git a/demos/declarative/samegame/qml/samegame/SamegameCore/pics/redStar.png b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/redStar.png
new file mode 100644
index 0000000..0a4dffe
Binary files /dev/null and b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/redStar.png differ
diff --git a/demos/declarative/samegame/qml/samegame/SamegameCore/pics/redStone.png b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/redStone.png
new file mode 100644
index 0000000..36b09a2
Binary files /dev/null and b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/redStone.png differ
diff --git a/demos/declarative/samegame/qml/samegame/SamegameCore/pics/star.png b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/star.png
new file mode 100644
index 0000000..defbde5
Binary files /dev/null and b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/star.png differ
diff --git a/demos/declarative/samegame/qml/samegame/SamegameCore/pics/yellowStone.png b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/yellowStone.png
new file mode 100644
index 0000000..b1ce762
Binary files /dev/null and b/demos/declarative/samegame/qml/samegame/SamegameCore/pics/yellowStone.png differ
diff --git a/demos/declarative/samegame/qml/samegame/SamegameCore/qmldir b/demos/declarative/samegame/qml/samegame/SamegameCore/qmldir
new file mode 100644
index 0000000..e17b1f5
--- /dev/null
+++ b/demos/declarative/samegame/qml/samegame/SamegameCore/qmldir
@@ -0,0 +1,3 @@
+BoomBlock BoomBlock.qml
+Button Button.qml
+Dialog Dialog.qml
diff --git a/demos/declarative/samegame/qml/samegame/SamegameCore/samegame.js b/demos/declarative/samegame/qml/samegame/SamegameCore/samegame.js
new file mode 100644
index 0000000..d7b827a
--- /dev/null
+++ b/demos/declarative/samegame/qml/samegame/SamegameCore/samegame.js
@@ -0,0 +1,288 @@
+/* This script file handles the game logic */
+
+var maxColumn = 10;
+var maxRow = 15;
+var maxIndex = maxColumn*maxRow;
+var board = new Array(maxIndex);
+var blockSrc = "SamegameCore/BoomBlock.qml";
+var scoresURL = "";
+var gameDuration;
+var component = Qt.createComponent(blockSrc);
+var highScoreBar = 0;
+
+// Index function used instead of a 2D array
+function index(column, row)
+{
+    return column + row * maxColumn;
+}
+
+function timeStr(msecs)
+{
+    var secs = Math.floor(msecs/1000);
+    var m = Math.floor(secs/60);
+    var ret = "" + m + "m " + (secs%60) + "s";
+    return ret;
+}
+
+function startNewGame()
+{
+    // Delete blocks from previous game
+    for (var i = 0; i < maxIndex; i++) {
+        if (board[i] != null)
+            board[i].destroy();
+    }
+
+    // Calculate board size
+    maxColumn = Math.floor(gameCanvas.width/gameCanvas.blockSize);
+    maxRow = Math.floor(gameCanvas.height/gameCanvas.blockSize);
+    maxIndex = maxRow * maxColumn;
+
+    // Close dialogs
+    nameInputDialog.forceClose();
+    dialog.forceClose();
+
+    // Initialize Board
+    board = new Array(maxIndex);
+    gameCanvas.score = 0;
+    for (var column = 0; column < maxColumn; column++) {
+        for (var row = 0; row < maxRow; row++) {
+            board[index(column, row)] = null;
+            createBlock(column, row);
+        }
+    }
+    gameDuration = new Date();
+}
+
+var fillFound;  // Set after a floodFill call to the number of blocks found
+var floodBoard; // Set to 1 if the floodFill reaches off that node
+
+// NOTE: Be careful with vars named x,y, as the calling object's x,y are still in scope
+function handleClick(x,y)
+{
+    var column = Math.floor(x/gameCanvas.blockSize);
+    var row = Math.floor(y/gameCanvas.blockSize);
+    if (column >= maxColumn || column < 0 || row >= maxRow || row < 0)
+        return;
+    if (board[index(column, row)] == null)
+        return;
+    // If it's a valid block, remove it and all connected (does nothing if it's not connected)
+    floodFill(column,row, -1);
+    if (fillFound <= 0)
+        return;
+    gameCanvas.score += (fillFound - 1) * (fillFound - 1);
+    shuffleDown();
+    victoryCheck();
+}
+
+function floodFill(column,row,type)
+{
+    if (board[index(column, row)] == null)
+        return;
+    var first = false;
+    if (type == -1) {
+        first = true;
+        type = board[index(column,row)].type;
+
+        // Flood fill initialization
+        fillFound = 0;
+        floodBoard = new Array(maxIndex);
+    }
+    if (column >= maxColumn || column < 0 || row >= maxRow || row < 0)
+        return;
+    if (floodBoard[index(column, row)] == 1 || (!first && type != board[index(column, row)].type))
+        return;
+    floodBoard[index(column, row)] = 1;
+    floodFill(column + 1, row, type);
+    floodFill(column - 1, row, type);
+    floodFill(column, row + 1, type);
+    floodFill(column, row - 1, type);
+    if (first == true && fillFound == 0)
+        return; // Can't remove single blocks
+    board[index(column, row)].dying = true;
+    board[index(column, row)] = null;
+    fillFound += 1;
+}
+
+function shuffleDown()
+{
+    // Fall down
+    for (var column = 0; column < maxColumn; column++) {
+        var fallDist = 0;
+        for (var row = maxRow - 1; row >= 0; row--) {
+            if (board[index(column,row)] == null) {
+                fallDist += 1;
+            } else {
+                if (fallDist > 0) {
+                    var obj = board[index(column, row)];
+                    obj.y = (row + fallDist) * gameCanvas.blockSize;
+                    board[index(column, row + fallDist)] = obj;
+                    board[index(column, row)] = null;
+                }
+            }
+        }
+    }
+    // Fall to the left
+    fallDist = 0;
+    for (column = 0; column < maxColumn; column++) {
+        if (board[index(column, maxRow - 1)] == null) {
+            fallDist += 1;
+        } else {
+            if (fallDist > 0) {
+                for (row = 0; row < maxRow; row++) {
+                    obj = board[index(column, row)];
+                    if (obj == null)
+                        continue;
+                    obj.x = (column - fallDist) * gameCanvas.blockSize;
+                    board[index(column - fallDist,row)] = obj;
+                    board[index(column, row)] = null;
+                }
+            }
+        }
+    }
+}
+
+function victoryCheck()
+{
+    // Awards bonuses for no blocks left
+    var deservesBonus = true;
+    for (var column = maxColumn - 1; column >= 0; column--)
+        if (board[index(column, maxRow - 1)] != null)
+            deservesBonus = false;
+    if (deservesBonus)
+        gameCanvas.score += 500;
+    // Checks for game over
+    if (deservesBonus || !(floodMoveCheck(0, maxRow - 1, -1))) {
+        gameDuration = new Date() - gameDuration;
+        if(gameCanvas.score > highScoreBar){
+            nameInputDialog.show("You won! Please enter your name:                 ");
+            nameInputDialog.initialWidth = nameInputDialog.text.width + 20;
+            if (nameInputDialog.name == "")
+                nameInputDialog.width = nameInputDialog.initialWidth;
+            nameInputDialog.text.opacity = 0; // Just a spacer
+        }else{
+            dialog.show("You won!");
+        }
+    }
+}
+
+// Only floods up and right, to see if it can find adjacent same-typed blocks
+function floodMoveCheck(column, row, type)
+{
+    if (column >= maxColumn || column < 0 || row >= maxRow || row < 0)
+        return false;
+    if (board[index(column, row)] == null)
+        return false;
+    var myType = board[index(column, row)].type;
+    if (type == myType)
+        return true;
+    return floodMoveCheck(column + 1, row, myType) ||
+           floodMoveCheck(column, row - 1, board[index(column, row)].type);
+}
+
+function createBlock(column,row)
+{
+    // Note that we don't wait for the component to become ready. This will
+    // only work if the block QML is a local file. Otherwise the component will
+    // not be ready immediately. There is a statusChanged signal on the
+    // component you could use if you want to wait to load remote files.
+    if(component.status == Component.Ready){
+        var dynamicObject = component.createObject(gameCanvas,
+                {"type": Math.floor(Math.random() * 3),
+                "x": column*gameCanvas.blockSize,
+                "width": gameCanvas.blockSize,
+                "height": gameCanvas.blockSize});
+        if(dynamicObject == null){
+            console.log("error creating block");
+            console.log(component.errorString());
+            return false;
+        }
+        dynamicObject.y = row*gameCanvas.blockSize;
+        dynamicObject.spawned = true;
+
+        board[index(column,row)] = dynamicObject;
+    }else{
+        console.log("error loading block component");
+        console.log(component.errorString());
+        return false;
+    }
+    return true;
+}
+
+function initHighScoreBar()
+{
+    if(scoresURL != "")
+        return true;//don't query remote scores
+    var db = openDatabaseSync(
+        "SameGameScores",
+        "1.0",
+        "Local SameGame High Scores",
+        100
+    );
+    db.transaction(
+        function(tx) {
+            tx.executeSql('CREATE TABLE IF NOT EXISTS Scores(name TEXT, score NUMBER, gridSize TEXT, time NUMBER)');
+            // Only show results for the current grid size
+            var rs = tx.executeSql('SELECT * FROM Scores WHERE gridSize = "'
+                + maxColumn + "x" + maxRow + '" ORDER BY score desc LIMIT 10');
+            if(rs.rows.length < 10)
+                highScoreBar = 0;
+            else 
+                highScoreBar = rs.rows.item(rs.rows.length - 1).score;
+        }
+    );
+}
+
+function saveHighScore(name)
+{
+    if (scoresURL != "")
+        sendHighScore(name);
+    // Offline storage
+    var db = openDatabaseSync(
+        "SameGameScores",
+        "1.0",
+        "Local SameGame High Scores",
+        100
+    );
+    var dataStr = "INSERT INTO Scores VALUES(?, ?, ?, ?)";
+    var data = [
+        name,
+        gameCanvas.score,
+        maxColumn + "x" + maxRow,
+        Math.floor(gameDuration / 1000)
+    ];
+    db.transaction(
+        function(tx) {
+            tx.executeSql('CREATE TABLE IF NOT EXISTS Scores(name TEXT, score NUMBER, gridSize TEXT, time NUMBER)');
+            tx.executeSql(dataStr, data);
+
+            // Only show results for the current grid size
+            var rs = tx.executeSql('SELECT * FROM Scores WHERE gridSize = "'
+                + maxColumn + "x" + maxRow + '" ORDER BY score desc LIMIT 10');
+            var r = "\nHIGH SCORES for this grid size\n\n"
+            for (var i = 0; i < rs.rows.length; i++) {
+                r += (i+1) + ". " + rs.rows.item(i).name + ' got '
+                    + rs.rows.item(i).score + ' points in '
+                    + rs.rows.item(i).time + ' seconds.\n';
+            }
+            if(rs.rows.length == 10)
+                highScoreBar = rs.rows.item(9).score;
+            dialog.show(r);
+        }
+    );
+}
+
+function sendHighScore(name)
+{
+    var postman = new XMLHttpRequest()
+    var postData = "name=" + name + "&score=" + gameCanvas.score
+        + "&gridSize=" + maxColumn + "x" + maxRow
+        + "&time=" + Math.floor(gameDuration / 1000);
+    postman.open("POST", scoresURL, true);
+    postman.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
+    postman.onreadystatechange = function() {
+        if (postman.readyState == postman.DONE) {
+            dialog.show("Your score has been uploaded.");
+        }
+    }
+    postman.send(postData);
+}
diff --git a/demos/declarative/samegame/qml/samegame/highscores/README b/demos/declarative/samegame/qml/samegame/highscores/README
new file mode 100644
index 0000000..eaa00fa
--- /dev/null
+++ b/demos/declarative/samegame/qml/samegame/highscores/README
@@ -0,0 +1 @@
+The SameGame example can interface with a simple PHP script to store XML high score data on a remote server. We do not have a publically accessible server available for this use, but if you have access to a PHP capable webserver you can copy the files (score_data.xml, score.php, score_style.xsl) to it and alter the highscore_server variable at the top of the samegame.js file to point to it.
diff --git a/demos/declarative/samegame/qml/samegame/highscores/score_data.xml b/demos/declarative/samegame/qml/samegame/highscores/score_data.xml
new file mode 100644
index 0000000..c3fd90d
--- /dev/null
+++ b/demos/declarative/samegame/qml/samegame/highscores/score_data.xml
@@ -0,0 +1,2 @@
+<record><score>1000000</score><name>Alan the Tester</name><gridSize>0x0</gridSize><seconds>0</seconds></record>
+<record><score>6213</score><name>Alan</name><gridSize>12x17</gridSize><seconds>51</seconds></record>
diff --git a/demos/declarative/samegame/qml/samegame/highscores/score_style.xsl b/demos/declarative/samegame/qml/samegame/highscores/score_style.xsl
new file mode 100644
index 0000000..670354c
--- /dev/null
+++ b/demos/declarative/samegame/qml/samegame/highscores/score_style.xsl
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:template match="/">
+  <html>
+  <head><title>SameGame High Scores</title></head>
+  <body>
+  <h2>SameGame High Scores</h2>
+    <table border="1">
+      <tr bgcolor="lightsteelblue">
+        <th>Name</th>
+        <th>Score</th>
+        <th>Grid Size</th>
+        <th>Time, s</th>
+      </tr>
+      <xsl:for-each select="records/record">
+      <xsl:sort select="score" data-type="number" order="descending"/>
+      <tr>
+        <td><xsl:value-of select="name"/></td>
+        <td><xsl:value-of select="score"/></td>
+        <td><xsl:value-of select="gridSize"/></td>
+        <td><xsl:value-of select="seconds"/></td>
+      </tr>
+      </xsl:for-each>
+    </table>
+  </body>
+  </html>
+</xsl:template>
+</xsl:stylesheet>
diff --git a/demos/declarative/samegame/qml/samegame/highscores/scores.php b/demos/declarative/samegame/qml/samegame/highscores/scores.php
new file mode 100644
index 0000000..3cceb2d
--- /dev/null
+++ b/demos/declarative/samegame/qml/samegame/highscores/scores.php
@@ -0,0 +1,34 @@
+<?php
+    $score = $_POST["score"];
+    echo "<html>";
+    echo "<head><title>SameGame High Scores</title></head><body>";
+    if($score > 0){#Sending in a new high score
+        $name = $_POST["name"];
+        $grid = $_POST["gridSize"];
+        $time = $_POST["time"];
+        if($name == "")
+            $name = "Anonymous";
+        //if($grid != "10x10"){
+        //Need a standard, so as to reject others?
+        //}
+	$file = fopen("score_data.xml", "a"); #It's XML. Happy?
+        $ret = fwrite($file, "<record><score>". $score . "</score><name>" 
+            . $name . "</name><gridSize>" . $grid . "</gridSize><seconds>"
+            . $time . "</seconds></record>\n");
+        echo "Your score has been recorded. Thanks for playing!";
+        if($ret == False)
+            echo "<br/> There was an error though, so don't expect to see that score again.";
+    }else{#Read high score list
+        #Now uses XSLT to display. So just print the file. With XML cruft added.
+        #Note that firefox at least won't apply the XSLT on a php file. So redirecting
+	$file = fopen("scores.xml", "w");
+        $ret = fwrite($file, '<?xml version="1.0" encoding="ISO-8859-1"?>' . "\n"
+            . '<?xml-stylesheet type="text/xsl" href="score_style.xsl"?>' . "\n"
+            . "<records>\n" . file_get_contents("score_data.xml") . "</records>\n");
+        if($ret == False)
+            echo "There was an internal error. Sorry.";
+        else
+            echo '<script type="text/javascript">window.location.replace("scores.xml")</script>';
+    }
+    echo "</body></html>";
+?>
diff --git a/demos/declarative/samegame/qml/samegame/samegame.qml b/demos/declarative/samegame/qml/samegame/samegame.qml
new file mode 100644
index 0000000..7917d9a
--- /dev/null
+++ b/demos/declarative/samegame/qml/samegame/samegame.qml
@@ -0,0 +1,161 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.1
+import "SamegameCore"
+import "SamegameCore/samegame.js" as Logic
+
+Rectangle {
+    id: screen
+    width: 490; height: 720
+    property bool inAnotherDemo: false //Samegame often is just plonked straight into other demos
+
+    SystemPalette { id: activePalette }
+
+    Item {
+        width: parent.width
+        anchors { top: parent.top; bottom: toolBar.top }
+
+        Image {
+            id: background
+            anchors.fill: parent
+            source: "SamegameCore/pics/background.png"
+            fillMode: Image.PreserveAspectCrop
+        }
+
+        Item {
+            id: gameCanvas
+            property int score: 0
+            property int blockSize: 40
+
+            z: 20; anchors.centerIn: parent
+            width: parent.width - (parent.width % blockSize);
+            height: parent.height - (parent.height % blockSize);
+
+            MouseArea {
+                anchors.fill: parent; onClicked: Logic.handleClick(mouse.x,mouse.y);
+            }
+        }
+    }
+
+    Dialog { id: dialog; anchors.centerIn: parent; z: 21 }
+
+    Dialog {
+        id: nameInputDialog
+
+        property int initialWidth: 0
+        property alias name: nameInputText.text
+
+        anchors.centerIn: parent
+        z: 22;
+
+        Behavior on width {
+            NumberAnimation {} 
+            enabled: nameInputDialog.initialWidth != 0
+        }
+
+        onClosed: {
+            if (nameInputText.text != "")
+                Logic.saveHighScore(nameInputText.text);
+        }
+        Text {
+            id: dialogText
+            anchors { left: nameInputDialog.left; leftMargin: 20; verticalCenter: parent.verticalCenter }
+            text: "You won! Please enter your name: "
+        }
+        MouseArea {
+            anchors.fill: parent
+            onClicked: {
+                if (nameInputText.text == "")
+                    nameInputText.openSoftwareInputPanel();
+                else
+                    nameInputDialog.forceClose();
+            }
+        }
+
+        TextInput {
+            id: nameInputText
+            anchors { verticalCenter: parent.verticalCenter; left: dialogText.right }
+            focus: visible
+            autoScroll: false
+            maximumLength: 24
+            onTextChanged: {
+                var newWidth = nameInputText.width + dialogText.width + 40;
+                if ( (newWidth > nameInputDialog.width && newWidth < screen.width) 
+                        || (nameInputDialog.width > nameInputDialog.initialWidth) )
+                    nameInputDialog.width = newWidth;
+            }
+            onAccepted: {
+                nameInputDialog.forceClose();
+            }
+        }
+    }
+
+    Rectangle {
+        id: toolBar
+        width: parent.width; height: 58
+        color: activePalette.window
+        anchors.bottom: screen.bottom
+
+        Button {
+            id: newGameButton
+            anchors { left: parent.left; leftMargin: 3; verticalCenter: parent.verticalCenter }
+            text: "New Game" 
+            onClicked: Logic.startNewGame()
+        }
+
+        Button {
+            visible: !inAnotherDemo
+            text: "Quit"
+            anchors { left: newGameButton.right; leftMargin: 3; verticalCenter: parent.verticalCenter }
+            onClicked: Qt.quit();
+        }
+
+        Text {
+            id: score
+            anchors { right: parent.right; rightMargin: 3; verticalCenter: parent.verticalCenter }
+            text: "Score: " + gameCanvas.score
+            font.bold: true
+            font.pixelSize: 24
+            color: activePalette.windowText
+        }
+    }
+}
diff --git a/demos/declarative/samegame/samegame.desktop b/demos/declarative/samegame/samegame.desktop
new file mode 100644
index 0000000..18ad2d9
--- /dev/null
+++ b/demos/declarative/samegame/samegame.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=samegame
+Exec=/opt/samegame/bin/samegame
+Icon=samegame64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/demos/declarative/samegame/samegame.pro b/demos/declarative/samegame/samegame.pro
new file mode 100644
index 0000000..1a2455b
--- /dev/null
+++ b/demos/declarative/samegame/samegame.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/samegame
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE76774C3
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/demos/declarative/samegame/samegame.qml b/demos/declarative/samegame/samegame.qml
deleted file mode 100644
index 7917d9a..0000000
--- a/demos/declarative/samegame/samegame.qml
+++ /dev/null
@@ -1,161 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.1
-import "SamegameCore"
-import "SamegameCore/samegame.js" as Logic
-
-Rectangle {
-    id: screen
-    width: 490; height: 720
-    property bool inAnotherDemo: false //Samegame often is just plonked straight into other demos
-
-    SystemPalette { id: activePalette }
-
-    Item {
-        width: parent.width
-        anchors { top: parent.top; bottom: toolBar.top }
-
-        Image {
-            id: background
-            anchors.fill: parent
-            source: "SamegameCore/pics/background.png"
-            fillMode: Image.PreserveAspectCrop
-        }
-
-        Item {
-            id: gameCanvas
-            property int score: 0
-            property int blockSize: 40
-
-            z: 20; anchors.centerIn: parent
-            width: parent.width - (parent.width % blockSize);
-            height: parent.height - (parent.height % blockSize);
-
-            MouseArea {
-                anchors.fill: parent; onClicked: Logic.handleClick(mouse.x,mouse.y);
-            }
-        }
-    }
-
-    Dialog { id: dialog; anchors.centerIn: parent; z: 21 }
-
-    Dialog {
-        id: nameInputDialog
-
-        property int initialWidth: 0
-        property alias name: nameInputText.text
-
-        anchors.centerIn: parent
-        z: 22;
-
-        Behavior on width {
-            NumberAnimation {} 
-            enabled: nameInputDialog.initialWidth != 0
-        }
-
-        onClosed: {
-            if (nameInputText.text != "")
-                Logic.saveHighScore(nameInputText.text);
-        }
-        Text {
-            id: dialogText
-            anchors { left: nameInputDialog.left; leftMargin: 20; verticalCenter: parent.verticalCenter }
-            text: "You won! Please enter your name: "
-        }
-        MouseArea {
-            anchors.fill: parent
-            onClicked: {
-                if (nameInputText.text == "")
-                    nameInputText.openSoftwareInputPanel();
-                else
-                    nameInputDialog.forceClose();
-            }
-        }
-
-        TextInput {
-            id: nameInputText
-            anchors { verticalCenter: parent.verticalCenter; left: dialogText.right }
-            focus: visible
-            autoScroll: false
-            maximumLength: 24
-            onTextChanged: {
-                var newWidth = nameInputText.width + dialogText.width + 40;
-                if ( (newWidth > nameInputDialog.width && newWidth < screen.width) 
-                        || (nameInputDialog.width > nameInputDialog.initialWidth) )
-                    nameInputDialog.width = newWidth;
-            }
-            onAccepted: {
-                nameInputDialog.forceClose();
-            }
-        }
-    }
-
-    Rectangle {
-        id: toolBar
-        width: parent.width; height: 58
-        color: activePalette.window
-        anchors.bottom: screen.bottom
-
-        Button {
-            id: newGameButton
-            anchors { left: parent.left; leftMargin: 3; verticalCenter: parent.verticalCenter }
-            text: "New Game" 
-            onClicked: Logic.startNewGame()
-        }
-
-        Button {
-            visible: !inAnotherDemo
-            text: "Quit"
-            anchors { left: newGameButton.right; leftMargin: 3; verticalCenter: parent.verticalCenter }
-            onClicked: Qt.quit();
-        }
-
-        Text {
-            id: score
-            anchors { right: parent.right; rightMargin: 3; verticalCenter: parent.verticalCenter }
-            text: "Score: " + gameCanvas.score
-            font.bold: true
-            font.pixelSize: 24
-            color: activePalette.windowText
-        }
-    }
-}
diff --git a/demos/declarative/samegame/samegame.qmlproject b/demos/declarative/samegame/samegame.qmlproject
index d4909f8..c17ee1e 100644
--- a/demos/declarative/samegame/samegame.qmlproject
+++ b/demos/declarative/samegame/samegame.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/samegame"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/samegame"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/samegame"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/demos/declarative/samegame/samegame.svg b/demos/declarative/samegame/samegame.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/demos/declarative/samegame/samegame.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/demos/declarative/samegame/samegame64.png b/demos/declarative/samegame/samegame64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/demos/declarative/samegame/samegame64.png differ
diff --git a/demos/declarative/samegame/samegame80.png b/demos/declarative/samegame/samegame80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/demos/declarative/samegame/samegame80.png differ
diff --git a/demos/declarative/samegame/samegame_harmattan.desktop b/demos/declarative/samegame/samegame_harmattan.desktop
new file mode 100644
index 0000000..1f35b8e
--- /dev/null
+++ b/demos/declarative/samegame/samegame_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=samegame
+Exec=/usr/bin/single-instance /opt/samegame/bin/samegame
+Icon=/usr/share/icons/hicolor/80x80/apps/samegame80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
-- 
cgit v0.12


From 8bd2d383e2d007d2e97503ecf293592bad403b36 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:17 +0100
Subject: demos/declarative/snake example modifications

Modified the example 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>
---
 demos/declarative/snake/content/Button.qml         |  66 -----
 demos/declarative/snake/content/Cookie.qml         |  94 ------
 demos/declarative/snake/content/HighScoreModel.qml | 139 ---------
 demos/declarative/snake/content/Link.qml           | 128 ---------
 demos/declarative/snake/content/Skull.qml          |  62 ----
 demos/declarative/snake/content/pics/README        |   1 -
 .../declarative/snake/content/pics/background.png  | Bin 144508 -> 0 bytes
 demos/declarative/snake/content/pics/blueStar.png  | Bin 272 -> 0 bytes
 demos/declarative/snake/content/pics/blueStone.png | Bin 3139 -> 0 bytes
 demos/declarative/snake/content/pics/cookie.png    | Bin 2729 -> 0 bytes
 demos/declarative/snake/content/pics/eyes.svg      | 118 --------
 demos/declarative/snake/content/pics/head.png      | Bin 3473 -> 0 bytes
 demos/declarative/snake/content/pics/head.svg      | 134 ---------
 demos/declarative/snake/content/pics/pause.png     | Bin 4327 -> 0 bytes
 demos/declarative/snake/content/pics/redStar.png   | Bin 273 -> 0 bytes
 demos/declarative/snake/content/pics/redStone.png  | Bin 3456 -> 0 bytes
 demos/declarative/snake/content/pics/skull.png     | Bin 2543 -> 0 bytes
 demos/declarative/snake/content/pics/snake.jpg     | Bin 663901 -> 0 bytes
 demos/declarative/snake/content/pics/star.png      | Bin 262 -> 0 bytes
 .../declarative/snake/content/pics/stoneShadow.png | Bin 1699 -> 0 bytes
 .../declarative/snake/content/pics/yellowStar.png  | Bin 276 -> 0 bytes
 .../declarative/snake/content/pics/yellowStone.png | Bin 2667 -> 0 bytes
 demos/declarative/snake/content/snake.js           | 316 ---------------------
 demos/declarative/snake/main.cpp                   |  54 ++++
 .../declarative/snake/qml/snake/content/Button.qml |  66 +++++
 .../declarative/snake/qml/snake/content/Cookie.qml |  95 +++++++
 .../snake/qml/snake/content/HighScoreModel.qml     | 139 +++++++++
 demos/declarative/snake/qml/snake/content/Link.qml | 128 +++++++++
 .../declarative/snake/qml/snake/content/Skull.qml  |  62 ++++
 .../snake/qml/snake/content/pics/README            |   1 +
 .../snake/qml/snake/content/pics/background.png    | Bin 0 -> 144508 bytes
 .../snake/qml/snake/content/pics/blueStar.png      | Bin 0 -> 272 bytes
 .../snake/qml/snake/content/pics/blueStone.png     | Bin 0 -> 3139 bytes
 .../snake/qml/snake/content/pics/cookie.png        | Bin 0 -> 2729 bytes
 .../snake/qml/snake/content/pics/eyes.svg          | 118 ++++++++
 .../snake/qml/snake/content/pics/head.png          | Bin 0 -> 3473 bytes
 .../snake/qml/snake/content/pics/head.svg          | 134 +++++++++
 .../snake/qml/snake/content/pics/pause.png         | Bin 0 -> 4327 bytes
 .../snake/qml/snake/content/pics/redStar.png       | Bin 0 -> 273 bytes
 .../snake/qml/snake/content/pics/redStone.png      | Bin 0 -> 3456 bytes
 .../snake/qml/snake/content/pics/skull.png         | Bin 0 -> 2543 bytes
 .../snake/qml/snake/content/pics/snake.jpg         | Bin 0 -> 663901 bytes
 .../snake/qml/snake/content/pics/star.png          | Bin 0 -> 262 bytes
 .../snake/qml/snake/content/pics/stoneShadow.png   | Bin 0 -> 1699 bytes
 .../snake/qml/snake/content/pics/yellowStar.png    | Bin 0 -> 276 bytes
 .../snake/qml/snake/content/pics/yellowStone.png   | Bin 0 -> 2667 bytes
 demos/declarative/snake/qml/snake/content/snake.js | 316 +++++++++++++++++++++
 demos/declarative/snake/qml/snake/snake.qml        | 272 ++++++++++++++++++
 demos/declarative/snake/snake.desktop              |  11 +
 demos/declarative/snake/snake.pro                  |  37 +++
 demos/declarative/snake/snake.qml                  | 272 ------------------
 demos/declarative/snake/snake.qmlproject           |   6 +-
 demos/declarative/snake/snake.svg                  |  93 ++++++
 demos/declarative/snake/snake64.png                | Bin 0 -> 3400 bytes
 demos/declarative/snake/snake80.png                | Bin 0 -> 4945 bytes
 demos/declarative/snake/snake_harmattan.desktop    |  11 +
 56 files changed, 1540 insertions(+), 1333 deletions(-)
 delete mode 100644 demos/declarative/snake/content/Button.qml
 delete mode 100644 demos/declarative/snake/content/Cookie.qml
 delete mode 100644 demos/declarative/snake/content/HighScoreModel.qml
 delete mode 100644 demos/declarative/snake/content/Link.qml
 delete mode 100644 demos/declarative/snake/content/Skull.qml
 delete mode 100644 demos/declarative/snake/content/pics/README
 delete mode 100644 demos/declarative/snake/content/pics/background.png
 delete mode 100644 demos/declarative/snake/content/pics/blueStar.png
 delete mode 100644 demos/declarative/snake/content/pics/blueStone.png
 delete mode 100644 demos/declarative/snake/content/pics/cookie.png
 delete mode 100644 demos/declarative/snake/content/pics/eyes.svg
 delete mode 100644 demos/declarative/snake/content/pics/head.png
 delete mode 100644 demos/declarative/snake/content/pics/head.svg
 delete mode 100644 demos/declarative/snake/content/pics/pause.png
 delete mode 100644 demos/declarative/snake/content/pics/redStar.png
 delete mode 100644 demos/declarative/snake/content/pics/redStone.png
 delete mode 100644 demos/declarative/snake/content/pics/skull.png
 delete mode 100644 demos/declarative/snake/content/pics/snake.jpg
 delete mode 100644 demos/declarative/snake/content/pics/star.png
 delete mode 100644 demos/declarative/snake/content/pics/stoneShadow.png
 delete mode 100644 demos/declarative/snake/content/pics/yellowStar.png
 delete mode 100644 demos/declarative/snake/content/pics/yellowStone.png
 delete mode 100644 demos/declarative/snake/content/snake.js
 create mode 100644 demos/declarative/snake/main.cpp
 create mode 100644 demos/declarative/snake/qml/snake/content/Button.qml
 create mode 100644 demos/declarative/snake/qml/snake/content/Cookie.qml
 create mode 100644 demos/declarative/snake/qml/snake/content/HighScoreModel.qml
 create mode 100644 demos/declarative/snake/qml/snake/content/Link.qml
 create mode 100644 demos/declarative/snake/qml/snake/content/Skull.qml
 create mode 100644 demos/declarative/snake/qml/snake/content/pics/README
 create mode 100644 demos/declarative/snake/qml/snake/content/pics/background.png
 create mode 100644 demos/declarative/snake/qml/snake/content/pics/blueStar.png
 create mode 100644 demos/declarative/snake/qml/snake/content/pics/blueStone.png
 create mode 100644 demos/declarative/snake/qml/snake/content/pics/cookie.png
 create mode 100644 demos/declarative/snake/qml/snake/content/pics/eyes.svg
 create mode 100644 demos/declarative/snake/qml/snake/content/pics/head.png
 create mode 100644 demos/declarative/snake/qml/snake/content/pics/head.svg
 create mode 100644 demos/declarative/snake/qml/snake/content/pics/pause.png
 create mode 100644 demos/declarative/snake/qml/snake/content/pics/redStar.png
 create mode 100644 demos/declarative/snake/qml/snake/content/pics/redStone.png
 create mode 100644 demos/declarative/snake/qml/snake/content/pics/skull.png
 create mode 100644 demos/declarative/snake/qml/snake/content/pics/snake.jpg
 create mode 100644 demos/declarative/snake/qml/snake/content/pics/star.png
 create mode 100644 demos/declarative/snake/qml/snake/content/pics/stoneShadow.png
 create mode 100644 demos/declarative/snake/qml/snake/content/pics/yellowStar.png
 create mode 100644 demos/declarative/snake/qml/snake/content/pics/yellowStone.png
 create mode 100644 demos/declarative/snake/qml/snake/content/snake.js
 create mode 100644 demos/declarative/snake/qml/snake/snake.qml
 create mode 100644 demos/declarative/snake/snake.desktop
 create mode 100644 demos/declarative/snake/snake.pro
 delete mode 100644 demos/declarative/snake/snake.qml
 create mode 100644 demos/declarative/snake/snake.svg
 create mode 100644 demos/declarative/snake/snake64.png
 create mode 100644 demos/declarative/snake/snake80.png
 create mode 100644 demos/declarative/snake/snake_harmattan.desktop

diff --git a/demos/declarative/snake/content/Button.qml b/demos/declarative/snake/content/Button.qml
deleted file mode 100644
index d8a3363..0000000
--- a/demos/declarative/snake/content/Button.qml
+++ /dev/null
@@ -1,66 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Rectangle {
-    id: container
-
-    signal clicked
-    property string text: "Button"
-
-    color: activePalette.button; smooth: true
-    width: txtItem.width + 20; height: txtItem.height + 6
-    border.width: 1; border.color: Qt.darker(activePalette.button); radius: 8;
-
-    gradient: Gradient {
-        GradientStop {
-            id: topGrad; position: 0.0
-            color: if (mr.pressed) { activePalette.dark } else { activePalette.light } }
-        GradientStop { position: 1.0; color: activePalette.button }
-    }
-
-    MouseArea { id: mr; anchors.fill: parent; onClicked: container.clicked() }
-
-    Text {
-        id: txtItem; text: container.text; anchors.centerIn: container; color: activePalette.buttonText
-    }
-}
diff --git a/demos/declarative/snake/content/Cookie.qml b/demos/declarative/snake/content/Cookie.qml
deleted file mode 100644
index 29b56f9..0000000
--- a/demos/declarative/snake/content/Cookie.qml
+++ /dev/null
@@ -1,94 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import Qt.labs.particles 1.0
-
-Item  {
-    id: root
-    property bool dying: false
-    property int row;
-    property int column;
-    x: margin + column * gridSize
-    y: margin + row * gridSize
-
-    width: gridSize
-    height: gridSize
-    property int value : 1;
-
-    Image {
-        id: img
-        anchors.fill: parent
-        source: "pics/cookie.png"
-        opacity: 0
-        Text {
-            font.bold: true
-            anchors.verticalCenter: parent.verticalCenter
-            anchors.horizontalCenter: parent.horizontalCenter
-            text: value
-        }
-    }
-
-
-    Particles { id: particles
-        width:1; height:1; anchors.centerIn: parent;
-        emissionRate: 0;
-        lifeSpan: 700; lifeSpanDeviation: 600;
-        angle: 0; angleDeviation: 360;
-        velocity: 100; velocityDeviation:30;
-        source: "pics/yellowStar.png";
-    }
-
-    states: [
-        State{ name: "AliveState"; when: dying == false
-            PropertyChanges { target: img; opacity: 1 }
-        },
-        State{ name: "DeathState"; when: dying == true
-            StateChangeScript { script: particles.burst(50); }
-            PropertyChanges { target: img; opacity: 0 }
-        }
-    ]
-    transitions: [
-        Transition {
-            NumberAnimation { target: img; property: "opacity"; duration: 100 }
-        }
-    ]
-}
diff --git a/demos/declarative/snake/content/HighScoreModel.qml b/demos/declarative/snake/content/HighScoreModel.qml
deleted file mode 100644
index 91b2185..0000000
--- a/demos/declarative/snake/content/HighScoreModel.qml
+++ /dev/null
@@ -1,139 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-// Models a high score table.
-//
-// Use this component like this:
-//
-//  HighScoreModel {
-//      id: highScores
-//      game: "MyCoolGame"
-//  }
-//
-// Then use either use the top-score properties:
-//
-//  Text { text: "HI: " + highScores.topScore }
-//
-// or, use the model in a view:
-//
-//  ListView {
-//      model: highScore
-//      delegate: Component {
-//                    ... player ... score ...
-//                }
-//  }
-//
-// Add new scores via:
-//
-//  saveScore(newScore)
-//
-// or:
-//
-//  savePlayerScore(playerName,newScore)
-//
-// The best maxScore scores added by this method will be retained in an SQL database,
-// and presented in the model and in the topScore/topPlayer properties.
-//
-
-ListModel {
-    id: model
-    property string game: ""
-    property int topScore: 0
-    property string topPlayer: ""
-    property int maxScores: 10
-
-    function __db()
-    {
-        return openDatabaseSync("HighScoreModel", "1.0", "Generic High Score Functionality for QML", 1000000);
-    }
-    function __ensureTables(tx)
-    {
-        tx.executeSql('CREATE TABLE IF NOT EXISTS HighScores(game TEXT, score INT, player TEXT)', []);
-    }
-
-    function fillModel() {
-        __db().transaction(
-            function(tx) {
-                __ensureTables(tx);
-                var rs = tx.executeSql("SELECT score,player FROM HighScores WHERE game=? ORDER BY score DESC", [game]);
-                model.clear();
-                if (rs.rows.length > 0) {
-                    topScore = rs.rows.item(0).score
-                    topPlayer = rs.rows.item(0).player
-                    for (var i=0; i<rs.rows.length; ++i) {
-                        if (i < maxScores)
-                            model.append(rs.rows.item(i))
-                    }
-                    if (rs.rows.length > maxScores)
-                        tx.executeSql("DELETE FROM HighScores WHERE game=? AND score <= ?",
-                                            [game, rs.rows.item(maxScores).score]);
-                }
-            }
-        )
-    }
-
-    function savePlayerScore(player,score) {
-        __db().transaction(
-            function(tx) {
-                __ensureTables(tx);
-                tx.executeSql("INSERT INTO HighScores VALUES(?,?,?)", [game,score,player]);
-                fillModel();
-            }
-        )
-    }
-
-    function saveScore(score) {
-        savePlayerScore("player",score);
-    }
-
-    function clearScores() {
-        __db().transaction(
-            function(tx) {
-                tx.executeSql("DELETE FROM HighScores WHERE game=?", [game]);
-                fillModel();
-            }
-        )
-    }
-
-    Component.onCompleted: { fillModel() }
-}
diff --git a/demos/declarative/snake/content/Link.qml b/demos/declarative/snake/content/Link.qml
deleted file mode 100644
index ff67ad7..0000000
--- a/demos/declarative/snake/content/Link.qml
+++ /dev/null
@@ -1,128 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import Qt.labs.particles 1.0
-
-Item { id:link
-    property bool dying: false
-    property bool spawned: false
-    property int type: 0
-    property int row: 0
-    property int column: 0
-    property int rotation;
-
-    width: 40;
-    height: 40
-
-    x: margin - 3 + gridSize * column
-    y: margin - 3 + gridSize * row
-    Behavior on x { NumberAnimation { duration: spawned ? heartbeatInterval : 0} }
-    Behavior on y { NumberAnimation { duration: spawned ? heartbeatInterval : 0 } }
-
-
-    Item {
-        id: img
-        anchors.fill: parent
-        Image {
-            source: {
-                if(type == 1) {
-                    "pics/blueStone.png";
-                } else if (type == 2) {
-                    "pics/head.png";
-                } else {
-                    "pics/redStone.png";
-                }
-            }
-
-            transform: Rotation {
-                id: actualImageRotation
-                origin.x: width/2; origin.y: height/2;
-                angle: rotation * 90
-                Behavior on angle {
-                    RotationAnimation{
-                        direction: RotationAnimation.Shortest
-                        duration: spawned ? 200 : 0
-                    }
-                }
-            }
-        }
-
-        Image {
-            source: "pics/stoneShadow.png"
-        }
-
-        opacity: 0
-    }
-
-
-    Particles { id: particles
-        width:1; height:1; anchors.centerIn: parent;
-        emissionRate: 0;
-        lifeSpan: 700; lifeSpanDeviation: 600;
-        angle: 0; angleDeviation: 360;
-        velocity: 100; velocityDeviation:30;
-        source: {
-            if(type == 1){
-                "pics/blueStar.png";
-            } else {
-                "pics/redStar.png";
-            }
-        }
-    }
-
-    states: [
-        State{ name: "AliveState"; when: spawned == true && dying == false
-            PropertyChanges { target: img; opacity: 1 }
-        },
-        State{ name: "DeathState"; when: dying == true
-            StateChangeScript { script: particles.burst(50); }
-            PropertyChanges { target: img; opacity: 0 }
-        }
-    ]
-
-    transitions: [
-        Transition {
-            NumberAnimation { target: img; property: "opacity"; duration: 200 }
-        }
-    ]
-
-}
diff --git a/demos/declarative/snake/content/Skull.qml b/demos/declarative/snake/content/Skull.qml
deleted file mode 100644
index 4f48145..0000000
--- a/demos/declarative/snake/content/Skull.qml
+++ /dev/null
@@ -1,62 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Image {
-    property bool spawned: false
-    property int row;
-    property int column;
-    property int verticalMovement;
-    property int horizontalMovement;
-
-    x: margin + column * gridSize + 2
-    y: margin + row * gridSize - 3
-    Behavior on x { NumberAnimation { duration: spawned ? halfbeatInterval : 0} }
-    Behavior on y { NumberAnimation { duration: spawned ? halfbeatInterval : 0 } }
-
-    opacity: spawned ? 1 : 0
-    Behavior on opacity { NumberAnimation { duration: 200 } }
-
-    source: "pics/skull.png"
-    width: 24
-    height: 40
-}
diff --git a/demos/declarative/snake/content/pics/README b/demos/declarative/snake/content/pics/README
deleted file mode 100644
index 0215132..0000000
--- a/demos/declarative/snake/content/pics/README
+++ /dev/null
@@ -1 +0,0 @@
-snake.jpg: This image is based on the picture "Eastern Green Mamba.jpg" from the free media databse Wikimedia Commons and is published under the terms of the GNU Free Documentation License. The original picture was taken by Danleo.
diff --git a/demos/declarative/snake/content/pics/background.png b/demos/declarative/snake/content/pics/background.png
deleted file mode 100644
index 72dffaa..0000000
Binary files a/demos/declarative/snake/content/pics/background.png and /dev/null differ
diff --git a/demos/declarative/snake/content/pics/blueStar.png b/demos/declarative/snake/content/pics/blueStar.png
deleted file mode 100644
index ba7acab..0000000
Binary files a/demos/declarative/snake/content/pics/blueStar.png and /dev/null differ
diff --git a/demos/declarative/snake/content/pics/blueStone.png b/demos/declarative/snake/content/pics/blueStone.png
deleted file mode 100644
index 356affd..0000000
Binary files a/demos/declarative/snake/content/pics/blueStone.png and /dev/null differ
diff --git a/demos/declarative/snake/content/pics/cookie.png b/demos/declarative/snake/content/pics/cookie.png
deleted file mode 100644
index aec2957..0000000
Binary files a/demos/declarative/snake/content/pics/cookie.png and /dev/null differ
diff --git a/demos/declarative/snake/content/pics/eyes.svg b/demos/declarative/snake/content/pics/eyes.svg
deleted file mode 100644
index 1078692..0000000
--- a/demos/declarative/snake/content/pics/eyes.svg
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   id="svg2"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   width="40"
-   height="40"
-   version="1.0"
-   sodipodi:docname="eyes.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   inkscape:export-filename="/home/ettrich/dev/research/qml-validate/snake/pics/eyes.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs5">
-    <inkscape:perspective
-       sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 526.18109 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="744.09448 : 526.18109 : 1"
-       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
-       id="perspective9" />
-  </defs>
-  <sodipodi:namedview
-     inkscape:window-height="838"
-     inkscape:window-width="907"
-     inkscape:pageshadow="2"
-     inkscape:pageopacity="0.0"
-     guidetolerance="10.0"
-     gridtolerance="10.0"
-     objecttolerance="10.0"
-     borderopacity="1.0"
-     bordercolor="#666666"
-     pagecolor="#ffffff"
-     id="base"
-     showgrid="false"
-     inkscape:zoom="12.35"
-     inkscape:cx="20"
-     inkscape:cy="20"
-     inkscape:window-x="117"
-     inkscape:window-y="45"
-     inkscape:current-layer="svg2" />
-  <path
-     sodipodi:type="arc"
-     style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-     id="path2384"
-     sodipodi:cx="18.056681"
-     sodipodi:cy="9.5141697"
-     sodipodi:rx="7.1255059"
-     sodipodi:ry="11.295547"
-     d="M 25.182187,9.5141697 A 7.1255059,11.295547 0 1 1 10.931175,9.5141697 A 7.1255059,11.295547 0 1 1 25.182187,9.5141697 z"
-     transform="matrix(1.0089865,0,0,0.5462656,-4.9233835,3.3301401)" />
-  <path
-     sodipodi:type="arc"
-     style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-     id="path3158"
-     sodipodi:cx="18.056681"
-     sodipodi:cy="9.5141697"
-     sodipodi:rx="7.1255059"
-     sodipodi:ry="11.295547"
-     d="M 25.182187,9.5141697 A 7.1255059,11.295547 0 1 1 10.931175,9.5141697 A 7.1255059,11.295547 0 1 1 25.182187,9.5141697 z"
-     transform="matrix(1.0089865,0,0,0.5462656,9.6190931,3.3522563)" />
-  <path
-     sodipodi:type="arc"
-     style="fill:#000000;fill-opacity:1"
-     id="path3182"
-     sodipodi:cx="16.275303"
-     sodipodi:cy="12.307693"
-     sodipodi:rx="2.2672064"
-     sodipodi:ry="3.4008098"
-     d="M 18.542509,12.307693 A 2.2672064,3.4008098 0 0 1 14.008446,12.367372"
-     sodipodi:start="0"
-     sodipodi:end="3.1240432"
-     transform="translate(11.65992,-9.740891)"
-     sodipodi:open="true" />
-  <rect
-     style="fill:#000000;fill-opacity:0"
-     id="rect2382"
-     width="40"
-     height="40"
-     x="0"
-     y="-7.1054274e-15"
-     inkscape:export-filename="/home/ettrich/dev/research/qml-validate/snake/pics/eyes.png"
-     inkscape:export-xdpi="90"
-     inkscape:export-ydpi="90" />
-  <path
-     sodipodi:type="arc"
-     style="fill:#000000;fill-opacity:1"
-     id="path2383"
-     sodipodi:cx="16.275303"
-     sodipodi:cy="12.307693"
-     sodipodi:rx="2.2672064"
-     sodipodi:ry="3.4008098"
-     d="M 18.542509,12.307693 A 2.2672064,3.4008098 0 0 1 14.008446,12.367372"
-     sodipodi:start="0"
-     sodipodi:end="3.1240432"
-     transform="translate(-3.3200119,-9.821862)"
-     sodipodi:open="true" />
-</svg>
diff --git a/demos/declarative/snake/content/pics/head.png b/demos/declarative/snake/content/pics/head.png
deleted file mode 100644
index 550e002..0000000
Binary files a/demos/declarative/snake/content/pics/head.png and /dev/null differ
diff --git a/demos/declarative/snake/content/pics/head.svg b/demos/declarative/snake/content/pics/head.svg
deleted file mode 100644
index 3bf0bd2..0000000
--- a/demos/declarative/snake/content/pics/head.svg
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   id="svg2"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   width="40"
-   height="40"
-   version="1.0"
-   sodipodi:docname="head.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   inkscape:export-filename="/home/ettrich/dev/research/qml-validate/snake/pics/head.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs5">
-    <inkscape:perspective
-       sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 526.18109 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="744.09448 : 526.18109 : 1"
-       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
-       id="perspective9" />
-    <inkscape:perspective
-       id="perspective2444"
-       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
-       inkscape:vp_z="744.09448 : 526.18109 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_x="0 : 526.18109 : 1"
-       sodipodi:type="inkscape:persp3d" />
-  </defs>
-  <sodipodi:namedview
-     inkscape:window-height="838"
-     inkscape:window-width="907"
-     inkscape:pageshadow="2"
-     inkscape:pageopacity="0.0"
-     guidetolerance="10.0"
-     gridtolerance="10.0"
-     objecttolerance="10.0"
-     borderopacity="1.0"
-     bordercolor="#666666"
-     pagecolor="#ffffff"
-     id="base"
-     showgrid="false"
-     inkscape:zoom="12.35"
-     inkscape:cx="20"
-     inkscape:cy="20"
-     inkscape:window-x="117"
-     inkscape:window-y="45"
-     inkscape:current-layer="svg2" />
-  <image
-     y="0.21862352"
-     x="-0.048582077"
-     id="image2446"
-     height="40"
-     width="40"
-     sodipodi:absref="/home/ettrich/dev/research/qml-validate/snake/pics/redStone.png"
-     xlink:href="redStone.png" />
-  <path
-     sodipodi:type="arc"
-     style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-     id="path2384"
-     sodipodi:cx="18.056681"
-     sodipodi:cy="9.5141697"
-     sodipodi:rx="7.1255059"
-     sodipodi:ry="11.295547"
-     d="M 25.182187,9.5141697 A 7.1255059,11.295547 0 1 1 10.931175,9.5141697 A 7.1255059,11.295547 0 1 1 25.182187,9.5141697 z"
-     transform="matrix(1.0089865,0,0,0.5462656,-4.9233835,3.3301401)" />
-  <path
-     sodipodi:type="arc"
-     style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-     id="path3158"
-     sodipodi:cx="18.056681"
-     sodipodi:cy="9.5141697"
-     sodipodi:rx="7.1255059"
-     sodipodi:ry="11.295547"
-     d="M 25.182187,9.5141697 A 7.1255059,11.295547 0 1 1 10.931175,9.5141697 A 7.1255059,11.295547 0 1 1 25.182187,9.5141697 z"
-     transform="matrix(1.0089865,0,0,0.5462656,9.6190931,3.3522563)" />
-  <path
-     sodipodi:type="arc"
-     style="fill:#000000;fill-opacity:1"
-     id="path3182"
-     sodipodi:cx="16.275303"
-     sodipodi:cy="12.307693"
-     sodipodi:rx="2.2672064"
-     sodipodi:ry="3.4008098"
-     d="M 18.542509,12.307693 A 2.2672064,3.4008098 0 0 1 14.008446,12.367372"
-     sodipodi:start="0"
-     sodipodi:end="3.1240432"
-     transform="translate(11.65992,-9.740891)"
-     sodipodi:open="true" />
-  <rect
-     style="fill:#000000;fill-opacity:0"
-     id="rect2382"
-     width="40"
-     height="40"
-     x="0"
-     y="-7.1054274e-15"
-     inkscape:export-filename="/home/ettrich/dev/research/qml-validate/snake/pics/eyes.png"
-     inkscape:export-xdpi="90"
-     inkscape:export-ydpi="90" />
-  <path
-     sodipodi:type="arc"
-     style="fill:#000000;fill-opacity:1"
-     id="path2383"
-     sodipodi:cx="16.275303"
-     sodipodi:cy="12.307693"
-     sodipodi:rx="2.2672064"
-     sodipodi:ry="3.4008098"
-     d="M 18.542509,12.307693 A 2.2672064,3.4008098 0 0 1 14.008446,12.367372"
-     sodipodi:start="0"
-     sodipodi:end="3.1240432"
-     transform="translate(-3.3200119,-9.821862)"
-     sodipodi:open="true" />
-</svg>
diff --git a/demos/declarative/snake/content/pics/pause.png b/demos/declarative/snake/content/pics/pause.png
deleted file mode 100644
index 056d97d..0000000
Binary files a/demos/declarative/snake/content/pics/pause.png and /dev/null differ
diff --git a/demos/declarative/snake/content/pics/redStar.png b/demos/declarative/snake/content/pics/redStar.png
deleted file mode 100644
index cd06854..0000000
Binary files a/demos/declarative/snake/content/pics/redStar.png and /dev/null differ
diff --git a/demos/declarative/snake/content/pics/redStone.png b/demos/declarative/snake/content/pics/redStone.png
deleted file mode 100644
index 9bb7fe4..0000000
Binary files a/demos/declarative/snake/content/pics/redStone.png and /dev/null differ
diff --git a/demos/declarative/snake/content/pics/skull.png b/demos/declarative/snake/content/pics/skull.png
deleted file mode 100644
index 6318616..0000000
Binary files a/demos/declarative/snake/content/pics/skull.png and /dev/null differ
diff --git a/demos/declarative/snake/content/pics/snake.jpg b/demos/declarative/snake/content/pics/snake.jpg
deleted file mode 100644
index e91a784..0000000
Binary files a/demos/declarative/snake/content/pics/snake.jpg and /dev/null differ
diff --git a/demos/declarative/snake/content/pics/star.png b/demos/declarative/snake/content/pics/star.png
deleted file mode 100644
index defbde5..0000000
Binary files a/demos/declarative/snake/content/pics/star.png and /dev/null differ
diff --git a/demos/declarative/snake/content/pics/stoneShadow.png b/demos/declarative/snake/content/pics/stoneShadow.png
deleted file mode 100644
index 1bd56af..0000000
Binary files a/demos/declarative/snake/content/pics/stoneShadow.png and /dev/null differ
diff --git a/demos/declarative/snake/content/pics/yellowStar.png b/demos/declarative/snake/content/pics/yellowStar.png
deleted file mode 100644
index 52fb9c4..0000000
Binary files a/demos/declarative/snake/content/pics/yellowStar.png and /dev/null differ
diff --git a/demos/declarative/snake/content/pics/yellowStone.png b/demos/declarative/snake/content/pics/yellowStone.png
deleted file mode 100644
index c56124a..0000000
Binary files a/demos/declarative/snake/content/pics/yellowStone.png and /dev/null differ
diff --git a/demos/declarative/snake/content/snake.js b/demos/declarative/snake/content/snake.js
deleted file mode 100644
index 837b82a..0000000
--- a/demos/declarative/snake/content/snake.js
+++ /dev/null
@@ -1,316 +0,0 @@
-
-var snake = new Array;
-var board = new Array;
-var links = new Array;
-var scheduledDirections = new Array;
-var numRows = 1;
-var numColumns = 1;
-var linkComponent = Qt.createComponent("content/Link.qml"); // XXX should resolve relative to script, not component
-var cookieComponent = Qt.createComponent("content/Cookie.qml");
-var cookie;
-var linksToGrow = 0;
-var linksToDie = 0;
-var waitForCookie = 0;
-var growType = 0;
-var skullMovementsBeforeDirectionChange = 0;
-
-
-function rand(n)
-{
-  return (Math.floor(Math.random() * n));
-}
-
-function scheduleDirection(dir)
-{
-    if (state == "starting") {
-        direction = dir;
-        headDirection = direction;
-        head.rotation = headDirection;
-    } else if (state == "running"){
-        direction = dir;
-        if(scheduledDirections[scheduledDirections.length-1]!=direction)
-            scheduledDirections.push(direction);
-    }
-}
-
-function startNewGame()
-{
-    if (state == "starting") {
-        return;
-    }
-
-    if (activeGame) {
-        endGame();
-        startNewGameTimer.running = true;
-        return;
-    }
-
-    state = "starting";
-
-    numRows = numRowsAvailable;
-    numColumns = numColumnsAvailable;
-    board = new Array(numRows * numColumns);
-    snake = new Array;
-    scheduledDirections = new Array;
-    growType = 0;
-
-    skull.z = numRows * numColumns + 1;
-
-    for (var i = 0; i < numRows * numColumns; ++i) {
-        if (i < links.length) {
-            var link = links[i];
-            link.spawned = false;
-            link.dying = false;
-        } else {
-            if(linkComponent.status != Component.Ready) {
-                if(linkComponent.status == Component.Error) 
-                    console.log(linkComponent.errorString());
-                else
-                    console.log("Still loading linkComponent");
-                continue;//TODO: Better error handling?
-            }
-            var link = linkComponent.createObject(playfield);
-            link.z = numRows * numColumns + 1 - i;
-            link.type = i == 0 ? 2 : 0;
-            link.spawned = false;
-            link.dying = false;
-            links.push(link);
-        }
-    }
-
-    head = links[0];
-    snake.push(head);
-    head.row = numRows/2 -1;
-    head.column = numColumns/2 -1;
-    head.spawned = true;
-
-    linksToGrow = 5;
-    linksToDie = 0;
-    waitForCookie = 5;
-    score = 0;
-    startHeartbeatTimer.running = true;
-}
-
-function endGame()
-{
-    activeGame = false;
-    for(var i in snake)
-        snake[i].dying = true;
-    if (cookie) {
-        cookie.dying = true;
-        cookie = 0;
-    }
-    lastScore = score;
-    highScores.saveScore(lastScore);
-    state = "";
-}
-
-function move() {
-
-    if (!head)
-        return;
-
-    var dir = direction;
-
-    if (scheduledDirections.length) {
-        dir = scheduledDirections.shift();
-    }
-
-    if (state == "starting") {
-        var turn = (dir - headDirection);
-        head.rotation += turn == -3 ? 1 : (turn == 3 ? -1 : turn );
-        headDirection = dir;
-        return;
-    }
-
-    var row = head.row;
-    var column = head.column;
-
-    if (dir == 0) {
-        row = row - 1;
-    } else if (dir == 1) {
-        column = column + 1
-    } else if (dir == 2) {
-        row = row + 1;
-    } else if (dir == 3) {
-        column = column - 1;
-    }
-
-    //validate the new position
-    if (row < 0 || row >= numRows
-        || column < 0 || column >= numColumns
-        || (row == skull.row && column == skull.column)
-        || !isFree(row, column)) {
-        var turn = (dir - headDirection);
-        head.rotation += turn == -3 ? 1 : (turn == 3 ? -1 : turn );
-        headDirection = dir;
-        endGame();
-        return;
-    }
-
-    var newLink;
-    if (linksToGrow > 0) {
-        --linksToGrow;
-        newLink = links[snake.length];
-        newLink.spawned = false;
-        newLink.rotation = snake[snake.length-1].rotation;
-        newLink.type = growType;
-        newLink.dying = false;
-        snake.push(newLink);
-    } else {
-        var lastLink = snake[snake.length-1];
-        board[lastLink.row * numColumns + lastLink.column] = undefined;
-    }
-
-    if (waitForCookie > 0) {
-        if (--waitForCookie == 0)
-            createCookie(cookie? (cookie.value+1) : 1);
-    }
-
-    for (var i = snake.length-1; i > 0; --i) {
-        snake[i].row = snake[i-1].row;
-        snake[i].column = snake[i-1].column;
-        snake[i].rotation = snake[i-1].rotation;
-    }
-
-    if (newLink) {
-        newLink.spawned = true;
-    }
-
-    // move the head
-    head.row = row;
-    head.column = column;
-    board[row * numColumns + column] = head;
-
-    var turn = (dir - headDirection);
-    head.rotation += turn == -3 ? 1 : (turn == 3 ? -1 : turn );
-    headDirection = dir;
-
-    var value = testCookie(row, column);
-    if (value > 0) {
-        linksToGrow += value;
-        score += value;
-    }
-}
-
-function isFree(row, column)
-{
-    return board[row * numColumns + column] == undefined;
-}
-
-function isHead(row, column)
-{
-    return head.column == column && head.row == row;
-}
-
-function testCookie(row, column)
-{
-    if (cookie && !cookie.dying && cookie.row == row && cookie.column == column) {
-        var value = cookie.value;
-        waitForCookie = value;
-        growType = snake[snake.length-1].type == 1 ? 0 : 1;
-        cookie.dying = true;
-        cookie.z = numRows * numColumns + 2;
-        return value;
-    }
-    return 0;
-}
-
-function moveSkull()
-{
-
-    if (linksToDie > 0) {
-        --linksToDie;
-        var link = snake.pop();
-        link.dying = true;
-        board[link.row * numColumns + link.column] = undefined;
-        if (score > 0)
-            --score;
-        if (snake.length == 0) {
-            endGame();
-            return;
-        }
-    }
-
-    var row = skull.row;
-    var column = skull.column;
-    if (isHead(row, column)) {
-        endGame();
-        return;
-    }
-    row +=  skull.verticalMovement;
-    column += skull.horizontalMovement;
-
-    var attempts = 4;
-
-    while (skullMovementsBeforeDirectionChange == 0 || row < 0 || row >= numRows
-        || column < 0 || column >= numColumns
-        || (!isFree(row, column) && !isHead(row, column))) {
-        var d = rand(8);
-        skull.verticalMovement = 0;
-        skull.horizontalMovement = 0;
-        skullMovementsBeforeDirectionChange = rand(20)+1;
-        if (d == 0) {
-            skull.verticalMovement = -1
-        } else if (d == 1) {
-            skull.horizontalMovement = -1;
-        } else if (d == 2) {
-            skull.verticalMovement = 1
-        } else if (d == 3){
-            skull.horizontalMovement = 1;
-        } else if (cookie) {
-            var rd = cookie.row - skull.row;
-            var rc = cookie.column - skull.column;
-            if (Math.abs(rd) > Math.abs(rc)) {
-                skull.verticalMovement = rd > 0 ? 1 : -1;
-                skullMovementsBeforeDirectionChange = Math.abs(rd);
-            } else {
-                skull.horizontalMovement= rc > 0 ? 1 : -1;
-                skullMovementsBeforeDirectionChange = Math.abs(rc);
-            }
-        }
-        row = skull.row + skull.verticalMovement;
-        column = skull.column + skull.horizontalMovement;
-        if (--attempts == 0)
-            return;
-    }
-
-    skull.row = row;
-    skull.column = column;
-    --skullMovementsBeforeDirectionChange;
-    var value = testCookie(row, column);
-    if (value > 0)
-        linksToDie += value/2;
-
-    if (isHead(row, column))
-        endGame();
-}
-
-function createCookie(value) {
-    if (numRows * numColumns - snake.length < 10)
-        return;
-
-    var column = rand(numColumns);
-    var row = rand(numRows);
-    while (!isFree(row, column)) {
-        column++;
-        if (column == numColumns) {
-            column = 0;
-            row++;
-            if (row == numRows)
-                row = 0;
-        }
-    }
-
-    if(cookieComponent.status != Component.Ready) {
-        if(cookieComponent.status == Component.Error)
-            console.log(cookieComponent.errorString());
-        else
-            console.log("Still loading cookieComponent");
-        return;//TODO: Better error handling?
-    }
-    cookie = cookieComponent.createObject(head.parent);
-    cookie.value = value;
-    cookie.row = row;
-    cookie.column = column;
-}
diff --git a/demos/declarative/snake/main.cpp b/demos/declarative/snake/main.cpp
new file mode 100644
index 0000000..02a8a77
--- /dev/null
+++ b/demos/declarative/snake/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include "qmlapplicationviewer.h"
+#include <QtGui/QApplication>
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/snake/snake.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/demos/declarative/snake/qml/snake/content/Button.qml b/demos/declarative/snake/qml/snake/content/Button.qml
new file mode 100644
index 0000000..d8a3363
--- /dev/null
+++ b/demos/declarative/snake/qml/snake/content/Button.qml
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Rectangle {
+    id: container
+
+    signal clicked
+    property string text: "Button"
+
+    color: activePalette.button; smooth: true
+    width: txtItem.width + 20; height: txtItem.height + 6
+    border.width: 1; border.color: Qt.darker(activePalette.button); radius: 8;
+
+    gradient: Gradient {
+        GradientStop {
+            id: topGrad; position: 0.0
+            color: if (mr.pressed) { activePalette.dark } else { activePalette.light } }
+        GradientStop { position: 1.0; color: activePalette.button }
+    }
+
+    MouseArea { id: mr; anchors.fill: parent; onClicked: container.clicked() }
+
+    Text {
+        id: txtItem; text: container.text; anchors.centerIn: container; color: activePalette.buttonText
+    }
+}
diff --git a/demos/declarative/snake/qml/snake/content/Cookie.qml b/demos/declarative/snake/qml/snake/content/Cookie.qml
new file mode 100644
index 0000000..cef195a
--- /dev/null
+++ b/demos/declarative/snake/qml/snake/content/Cookie.qml
@@ -0,0 +1,95 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.labs.particles 1.0
+
+Item  {
+    id: root
+    property bool dying: false
+    property int row;
+    property int column;
+    x: margin + column * gridSize
+    y: margin + row * gridSize
+
+    width: gridSize
+    height: gridSize
+    property int value : 1;
+
+    Image {
+        id: img
+        anchors.fill: parent
+        source: "pics/cookie.png"
+        opacity: 0
+        Text {
+            font.bold: true
+            anchors.verticalCenter: parent.verticalCenter
+            anchors.horizontalCenter: parent.horizontalCenter
+            text: value
+        }
+    }
+
+
+    Particles { id: particles
+        width:1; height:1; anchors.centerIn: parent;
+        emissionRate: 0;
+        lifeSpan: 700; lifeSpanDeviation: 600;
+        angle: 0; angleDeviation: 360;
+        velocity: 100; velocityDeviation:30;
+        source: "pics/yellowStar.png";
+    }
+
+    states: [
+        State{ name: "AliveState"; when: dying == false
+            PropertyChanges { target: img; opacity: 1 }
+        },
+        State{ name: "DeathState"; when: dying == true
+            StateChangeScript { script: particles.burst(50); }
+            PropertyChanges { target: img; opacity: 0 }
+        }
+    ]
+    transitions: [
+        Transition {
+            NumberAnimation { target: img; property: "opacity"; duration: 100 }
+        }
+    ]
+
+}
diff --git a/demos/declarative/snake/qml/snake/content/HighScoreModel.qml b/demos/declarative/snake/qml/snake/content/HighScoreModel.qml
new file mode 100644
index 0000000..91b2185
--- /dev/null
+++ b/demos/declarative/snake/qml/snake/content/HighScoreModel.qml
@@ -0,0 +1,139 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+// Models a high score table.
+//
+// Use this component like this:
+//
+//  HighScoreModel {
+//      id: highScores
+//      game: "MyCoolGame"
+//  }
+//
+// Then use either use the top-score properties:
+//
+//  Text { text: "HI: " + highScores.topScore }
+//
+// or, use the model in a view:
+//
+//  ListView {
+//      model: highScore
+//      delegate: Component {
+//                    ... player ... score ...
+//                }
+//  }
+//
+// Add new scores via:
+//
+//  saveScore(newScore)
+//
+// or:
+//
+//  savePlayerScore(playerName,newScore)
+//
+// The best maxScore scores added by this method will be retained in an SQL database,
+// and presented in the model and in the topScore/topPlayer properties.
+//
+
+ListModel {
+    id: model
+    property string game: ""
+    property int topScore: 0
+    property string topPlayer: ""
+    property int maxScores: 10
+
+    function __db()
+    {
+        return openDatabaseSync("HighScoreModel", "1.0", "Generic High Score Functionality for QML", 1000000);
+    }
+    function __ensureTables(tx)
+    {
+        tx.executeSql('CREATE TABLE IF NOT EXISTS HighScores(game TEXT, score INT, player TEXT)', []);
+    }
+
+    function fillModel() {
+        __db().transaction(
+            function(tx) {
+                __ensureTables(tx);
+                var rs = tx.executeSql("SELECT score,player FROM HighScores WHERE game=? ORDER BY score DESC", [game]);
+                model.clear();
+                if (rs.rows.length > 0) {
+                    topScore = rs.rows.item(0).score
+                    topPlayer = rs.rows.item(0).player
+                    for (var i=0; i<rs.rows.length; ++i) {
+                        if (i < maxScores)
+                            model.append(rs.rows.item(i))
+                    }
+                    if (rs.rows.length > maxScores)
+                        tx.executeSql("DELETE FROM HighScores WHERE game=? AND score <= ?",
+                                            [game, rs.rows.item(maxScores).score]);
+                }
+            }
+        )
+    }
+
+    function savePlayerScore(player,score) {
+        __db().transaction(
+            function(tx) {
+                __ensureTables(tx);
+                tx.executeSql("INSERT INTO HighScores VALUES(?,?,?)", [game,score,player]);
+                fillModel();
+            }
+        )
+    }
+
+    function saveScore(score) {
+        savePlayerScore("player",score);
+    }
+
+    function clearScores() {
+        __db().transaction(
+            function(tx) {
+                tx.executeSql("DELETE FROM HighScores WHERE game=?", [game]);
+                fillModel();
+            }
+        )
+    }
+
+    Component.onCompleted: { fillModel() }
+}
diff --git a/demos/declarative/snake/qml/snake/content/Link.qml b/demos/declarative/snake/qml/snake/content/Link.qml
new file mode 100644
index 0000000..ff67ad7
--- /dev/null
+++ b/demos/declarative/snake/qml/snake/content/Link.qml
@@ -0,0 +1,128 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.labs.particles 1.0
+
+Item { id:link
+    property bool dying: false
+    property bool spawned: false
+    property int type: 0
+    property int row: 0
+    property int column: 0
+    property int rotation;
+
+    width: 40;
+    height: 40
+
+    x: margin - 3 + gridSize * column
+    y: margin - 3 + gridSize * row
+    Behavior on x { NumberAnimation { duration: spawned ? heartbeatInterval : 0} }
+    Behavior on y { NumberAnimation { duration: spawned ? heartbeatInterval : 0 } }
+
+
+    Item {
+        id: img
+        anchors.fill: parent
+        Image {
+            source: {
+                if(type == 1) {
+                    "pics/blueStone.png";
+                } else if (type == 2) {
+                    "pics/head.png";
+                } else {
+                    "pics/redStone.png";
+                }
+            }
+
+            transform: Rotation {
+                id: actualImageRotation
+                origin.x: width/2; origin.y: height/2;
+                angle: rotation * 90
+                Behavior on angle {
+                    RotationAnimation{
+                        direction: RotationAnimation.Shortest
+                        duration: spawned ? 200 : 0
+                    }
+                }
+            }
+        }
+
+        Image {
+            source: "pics/stoneShadow.png"
+        }
+
+        opacity: 0
+    }
+
+
+    Particles { id: particles
+        width:1; height:1; anchors.centerIn: parent;
+        emissionRate: 0;
+        lifeSpan: 700; lifeSpanDeviation: 600;
+        angle: 0; angleDeviation: 360;
+        velocity: 100; velocityDeviation:30;
+        source: {
+            if(type == 1){
+                "pics/blueStar.png";
+            } else {
+                "pics/redStar.png";
+            }
+        }
+    }
+
+    states: [
+        State{ name: "AliveState"; when: spawned == true && dying == false
+            PropertyChanges { target: img; opacity: 1 }
+        },
+        State{ name: "DeathState"; when: dying == true
+            StateChangeScript { script: particles.burst(50); }
+            PropertyChanges { target: img; opacity: 0 }
+        }
+    ]
+
+    transitions: [
+        Transition {
+            NumberAnimation { target: img; property: "opacity"; duration: 200 }
+        }
+    ]
+
+}
diff --git a/demos/declarative/snake/qml/snake/content/Skull.qml b/demos/declarative/snake/qml/snake/content/Skull.qml
new file mode 100644
index 0000000..4f48145
--- /dev/null
+++ b/demos/declarative/snake/qml/snake/content/Skull.qml
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Image {
+    property bool spawned: false
+    property int row;
+    property int column;
+    property int verticalMovement;
+    property int horizontalMovement;
+
+    x: margin + column * gridSize + 2
+    y: margin + row * gridSize - 3
+    Behavior on x { NumberAnimation { duration: spawned ? halfbeatInterval : 0} }
+    Behavior on y { NumberAnimation { duration: spawned ? halfbeatInterval : 0 } }
+
+    opacity: spawned ? 1 : 0
+    Behavior on opacity { NumberAnimation { duration: 200 } }
+
+    source: "pics/skull.png"
+    width: 24
+    height: 40
+}
diff --git a/demos/declarative/snake/qml/snake/content/pics/README b/demos/declarative/snake/qml/snake/content/pics/README
new file mode 100644
index 0000000..0215132
--- /dev/null
+++ b/demos/declarative/snake/qml/snake/content/pics/README
@@ -0,0 +1 @@
+snake.jpg: This image is based on the picture "Eastern Green Mamba.jpg" from the free media databse Wikimedia Commons and is published under the terms of the GNU Free Documentation License. The original picture was taken by Danleo.
diff --git a/demos/declarative/snake/qml/snake/content/pics/background.png b/demos/declarative/snake/qml/snake/content/pics/background.png
new file mode 100644
index 0000000..72dffaa
Binary files /dev/null and b/demos/declarative/snake/qml/snake/content/pics/background.png differ
diff --git a/demos/declarative/snake/qml/snake/content/pics/blueStar.png b/demos/declarative/snake/qml/snake/content/pics/blueStar.png
new file mode 100644
index 0000000..ba7acab
Binary files /dev/null and b/demos/declarative/snake/qml/snake/content/pics/blueStar.png differ
diff --git a/demos/declarative/snake/qml/snake/content/pics/blueStone.png b/demos/declarative/snake/qml/snake/content/pics/blueStone.png
new file mode 100644
index 0000000..356affd
Binary files /dev/null and b/demos/declarative/snake/qml/snake/content/pics/blueStone.png differ
diff --git a/demos/declarative/snake/qml/snake/content/pics/cookie.png b/demos/declarative/snake/qml/snake/content/pics/cookie.png
new file mode 100644
index 0000000..aec2957
Binary files /dev/null and b/demos/declarative/snake/qml/snake/content/pics/cookie.png differ
diff --git a/demos/declarative/snake/qml/snake/content/pics/eyes.svg b/demos/declarative/snake/qml/snake/content/pics/eyes.svg
new file mode 100644
index 0000000..1078692
--- /dev/null
+++ b/demos/declarative/snake/qml/snake/content/pics/eyes.svg
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   width="40"
+   height="40"
+   version="1.0"
+   sodipodi:docname="eyes.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="/home/ettrich/dev/research/qml-validate/snake/pics/eyes.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective9" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-height="838"
+     inkscape:window-width="907"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showgrid="false"
+     inkscape:zoom="12.35"
+     inkscape:cx="20"
+     inkscape:cy="20"
+     inkscape:window-x="117"
+     inkscape:window-y="45"
+     inkscape:current-layer="svg2" />
+  <path
+     sodipodi:type="arc"
+     style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     id="path2384"
+     sodipodi:cx="18.056681"
+     sodipodi:cy="9.5141697"
+     sodipodi:rx="7.1255059"
+     sodipodi:ry="11.295547"
+     d="M 25.182187,9.5141697 A 7.1255059,11.295547 0 1 1 10.931175,9.5141697 A 7.1255059,11.295547 0 1 1 25.182187,9.5141697 z"
+     transform="matrix(1.0089865,0,0,0.5462656,-4.9233835,3.3301401)" />
+  <path
+     sodipodi:type="arc"
+     style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     id="path3158"
+     sodipodi:cx="18.056681"
+     sodipodi:cy="9.5141697"
+     sodipodi:rx="7.1255059"
+     sodipodi:ry="11.295547"
+     d="M 25.182187,9.5141697 A 7.1255059,11.295547 0 1 1 10.931175,9.5141697 A 7.1255059,11.295547 0 1 1 25.182187,9.5141697 z"
+     transform="matrix(1.0089865,0,0,0.5462656,9.6190931,3.3522563)" />
+  <path
+     sodipodi:type="arc"
+     style="fill:#000000;fill-opacity:1"
+     id="path3182"
+     sodipodi:cx="16.275303"
+     sodipodi:cy="12.307693"
+     sodipodi:rx="2.2672064"
+     sodipodi:ry="3.4008098"
+     d="M 18.542509,12.307693 A 2.2672064,3.4008098 0 0 1 14.008446,12.367372"
+     sodipodi:start="0"
+     sodipodi:end="3.1240432"
+     transform="translate(11.65992,-9.740891)"
+     sodipodi:open="true" />
+  <rect
+     style="fill:#000000;fill-opacity:0"
+     id="rect2382"
+     width="40"
+     height="40"
+     x="0"
+     y="-7.1054274e-15"
+     inkscape:export-filename="/home/ettrich/dev/research/qml-validate/snake/pics/eyes.png"
+     inkscape:export-xdpi="90"
+     inkscape:export-ydpi="90" />
+  <path
+     sodipodi:type="arc"
+     style="fill:#000000;fill-opacity:1"
+     id="path2383"
+     sodipodi:cx="16.275303"
+     sodipodi:cy="12.307693"
+     sodipodi:rx="2.2672064"
+     sodipodi:ry="3.4008098"
+     d="M 18.542509,12.307693 A 2.2672064,3.4008098 0 0 1 14.008446,12.367372"
+     sodipodi:start="0"
+     sodipodi:end="3.1240432"
+     transform="translate(-3.3200119,-9.821862)"
+     sodipodi:open="true" />
+</svg>
diff --git a/demos/declarative/snake/qml/snake/content/pics/head.png b/demos/declarative/snake/qml/snake/content/pics/head.png
new file mode 100644
index 0000000..550e002
Binary files /dev/null and b/demos/declarative/snake/qml/snake/content/pics/head.png differ
diff --git a/demos/declarative/snake/qml/snake/content/pics/head.svg b/demos/declarative/snake/qml/snake/content/pics/head.svg
new file mode 100644
index 0000000..3bf0bd2
--- /dev/null
+++ b/demos/declarative/snake/qml/snake/content/pics/head.svg
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   width="40"
+   height="40"
+   version="1.0"
+   sodipodi:docname="head.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="/home/ettrich/dev/research/qml-validate/snake/pics/head.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective9" />
+    <inkscape:perspective
+       id="perspective2444"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-height="838"
+     inkscape:window-width="907"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showgrid="false"
+     inkscape:zoom="12.35"
+     inkscape:cx="20"
+     inkscape:cy="20"
+     inkscape:window-x="117"
+     inkscape:window-y="45"
+     inkscape:current-layer="svg2" />
+  <image
+     y="0.21862352"
+     x="-0.048582077"
+     id="image2446"
+     height="40"
+     width="40"
+     sodipodi:absref="/home/ettrich/dev/research/qml-validate/snake/pics/redStone.png"
+     xlink:href="redStone.png" />
+  <path
+     sodipodi:type="arc"
+     style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     id="path2384"
+     sodipodi:cx="18.056681"
+     sodipodi:cy="9.5141697"
+     sodipodi:rx="7.1255059"
+     sodipodi:ry="11.295547"
+     d="M 25.182187,9.5141697 A 7.1255059,11.295547 0 1 1 10.931175,9.5141697 A 7.1255059,11.295547 0 1 1 25.182187,9.5141697 z"
+     transform="matrix(1.0089865,0,0,0.5462656,-4.9233835,3.3301401)" />
+  <path
+     sodipodi:type="arc"
+     style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     id="path3158"
+     sodipodi:cx="18.056681"
+     sodipodi:cy="9.5141697"
+     sodipodi:rx="7.1255059"
+     sodipodi:ry="11.295547"
+     d="M 25.182187,9.5141697 A 7.1255059,11.295547 0 1 1 10.931175,9.5141697 A 7.1255059,11.295547 0 1 1 25.182187,9.5141697 z"
+     transform="matrix(1.0089865,0,0,0.5462656,9.6190931,3.3522563)" />
+  <path
+     sodipodi:type="arc"
+     style="fill:#000000;fill-opacity:1"
+     id="path3182"
+     sodipodi:cx="16.275303"
+     sodipodi:cy="12.307693"
+     sodipodi:rx="2.2672064"
+     sodipodi:ry="3.4008098"
+     d="M 18.542509,12.307693 A 2.2672064,3.4008098 0 0 1 14.008446,12.367372"
+     sodipodi:start="0"
+     sodipodi:end="3.1240432"
+     transform="translate(11.65992,-9.740891)"
+     sodipodi:open="true" />
+  <rect
+     style="fill:#000000;fill-opacity:0"
+     id="rect2382"
+     width="40"
+     height="40"
+     x="0"
+     y="-7.1054274e-15"
+     inkscape:export-filename="/home/ettrich/dev/research/qml-validate/snake/pics/eyes.png"
+     inkscape:export-xdpi="90"
+     inkscape:export-ydpi="90" />
+  <path
+     sodipodi:type="arc"
+     style="fill:#000000;fill-opacity:1"
+     id="path2383"
+     sodipodi:cx="16.275303"
+     sodipodi:cy="12.307693"
+     sodipodi:rx="2.2672064"
+     sodipodi:ry="3.4008098"
+     d="M 18.542509,12.307693 A 2.2672064,3.4008098 0 0 1 14.008446,12.367372"
+     sodipodi:start="0"
+     sodipodi:end="3.1240432"
+     transform="translate(-3.3200119,-9.821862)"
+     sodipodi:open="true" />
+</svg>
diff --git a/demos/declarative/snake/qml/snake/content/pics/pause.png b/demos/declarative/snake/qml/snake/content/pics/pause.png
new file mode 100644
index 0000000..056d97d
Binary files /dev/null and b/demos/declarative/snake/qml/snake/content/pics/pause.png differ
diff --git a/demos/declarative/snake/qml/snake/content/pics/redStar.png b/demos/declarative/snake/qml/snake/content/pics/redStar.png
new file mode 100644
index 0000000..cd06854
Binary files /dev/null and b/demos/declarative/snake/qml/snake/content/pics/redStar.png differ
diff --git a/demos/declarative/snake/qml/snake/content/pics/redStone.png b/demos/declarative/snake/qml/snake/content/pics/redStone.png
new file mode 100644
index 0000000..9bb7fe4
Binary files /dev/null and b/demos/declarative/snake/qml/snake/content/pics/redStone.png differ
diff --git a/demos/declarative/snake/qml/snake/content/pics/skull.png b/demos/declarative/snake/qml/snake/content/pics/skull.png
new file mode 100644
index 0000000..6318616
Binary files /dev/null and b/demos/declarative/snake/qml/snake/content/pics/skull.png differ
diff --git a/demos/declarative/snake/qml/snake/content/pics/snake.jpg b/demos/declarative/snake/qml/snake/content/pics/snake.jpg
new file mode 100644
index 0000000..e91a784
Binary files /dev/null and b/demos/declarative/snake/qml/snake/content/pics/snake.jpg differ
diff --git a/demos/declarative/snake/qml/snake/content/pics/star.png b/demos/declarative/snake/qml/snake/content/pics/star.png
new file mode 100644
index 0000000..defbde5
Binary files /dev/null and b/demos/declarative/snake/qml/snake/content/pics/star.png differ
diff --git a/demos/declarative/snake/qml/snake/content/pics/stoneShadow.png b/demos/declarative/snake/qml/snake/content/pics/stoneShadow.png
new file mode 100644
index 0000000..1bd56af
Binary files /dev/null and b/demos/declarative/snake/qml/snake/content/pics/stoneShadow.png differ
diff --git a/demos/declarative/snake/qml/snake/content/pics/yellowStar.png b/demos/declarative/snake/qml/snake/content/pics/yellowStar.png
new file mode 100644
index 0000000..52fb9c4
Binary files /dev/null and b/demos/declarative/snake/qml/snake/content/pics/yellowStar.png differ
diff --git a/demos/declarative/snake/qml/snake/content/pics/yellowStone.png b/demos/declarative/snake/qml/snake/content/pics/yellowStone.png
new file mode 100644
index 0000000..c56124a
Binary files /dev/null and b/demos/declarative/snake/qml/snake/content/pics/yellowStone.png differ
diff --git a/demos/declarative/snake/qml/snake/content/snake.js b/demos/declarative/snake/qml/snake/content/snake.js
new file mode 100644
index 0000000..837b82a
--- /dev/null
+++ b/demos/declarative/snake/qml/snake/content/snake.js
@@ -0,0 +1,316 @@
+
+var snake = new Array;
+var board = new Array;
+var links = new Array;
+var scheduledDirections = new Array;
+var numRows = 1;
+var numColumns = 1;
+var linkComponent = Qt.createComponent("content/Link.qml"); // XXX should resolve relative to script, not component
+var cookieComponent = Qt.createComponent("content/Cookie.qml");
+var cookie;
+var linksToGrow = 0;
+var linksToDie = 0;
+var waitForCookie = 0;
+var growType = 0;
+var skullMovementsBeforeDirectionChange = 0;
+
+
+function rand(n)
+{
+  return (Math.floor(Math.random() * n));
+}
+
+function scheduleDirection(dir)
+{
+    if (state == "starting") {
+        direction = dir;
+        headDirection = direction;
+        head.rotation = headDirection;
+    } else if (state == "running"){
+        direction = dir;
+        if(scheduledDirections[scheduledDirections.length-1]!=direction)
+            scheduledDirections.push(direction);
+    }
+}
+
+function startNewGame()
+{
+    if (state == "starting") {
+        return;
+    }
+
+    if (activeGame) {
+        endGame();
+        startNewGameTimer.running = true;
+        return;
+    }
+
+    state = "starting";
+
+    numRows = numRowsAvailable;
+    numColumns = numColumnsAvailable;
+    board = new Array(numRows * numColumns);
+    snake = new Array;
+    scheduledDirections = new Array;
+    growType = 0;
+
+    skull.z = numRows * numColumns + 1;
+
+    for (var i = 0; i < numRows * numColumns; ++i) {
+        if (i < links.length) {
+            var link = links[i];
+            link.spawned = false;
+            link.dying = false;
+        } else {
+            if(linkComponent.status != Component.Ready) {
+                if(linkComponent.status == Component.Error) 
+                    console.log(linkComponent.errorString());
+                else
+                    console.log("Still loading linkComponent");
+                continue;//TODO: Better error handling?
+            }
+            var link = linkComponent.createObject(playfield);
+            link.z = numRows * numColumns + 1 - i;
+            link.type = i == 0 ? 2 : 0;
+            link.spawned = false;
+            link.dying = false;
+            links.push(link);
+        }
+    }
+
+    head = links[0];
+    snake.push(head);
+    head.row = numRows/2 -1;
+    head.column = numColumns/2 -1;
+    head.spawned = true;
+
+    linksToGrow = 5;
+    linksToDie = 0;
+    waitForCookie = 5;
+    score = 0;
+    startHeartbeatTimer.running = true;
+}
+
+function endGame()
+{
+    activeGame = false;
+    for(var i in snake)
+        snake[i].dying = true;
+    if (cookie) {
+        cookie.dying = true;
+        cookie = 0;
+    }
+    lastScore = score;
+    highScores.saveScore(lastScore);
+    state = "";
+}
+
+function move() {
+
+    if (!head)
+        return;
+
+    var dir = direction;
+
+    if (scheduledDirections.length) {
+        dir = scheduledDirections.shift();
+    }
+
+    if (state == "starting") {
+        var turn = (dir - headDirection);
+        head.rotation += turn == -3 ? 1 : (turn == 3 ? -1 : turn );
+        headDirection = dir;
+        return;
+    }
+
+    var row = head.row;
+    var column = head.column;
+
+    if (dir == 0) {
+        row = row - 1;
+    } else if (dir == 1) {
+        column = column + 1
+    } else if (dir == 2) {
+        row = row + 1;
+    } else if (dir == 3) {
+        column = column - 1;
+    }
+
+    //validate the new position
+    if (row < 0 || row >= numRows
+        || column < 0 || column >= numColumns
+        || (row == skull.row && column == skull.column)
+        || !isFree(row, column)) {
+        var turn = (dir - headDirection);
+        head.rotation += turn == -3 ? 1 : (turn == 3 ? -1 : turn );
+        headDirection = dir;
+        endGame();
+        return;
+    }
+
+    var newLink;
+    if (linksToGrow > 0) {
+        --linksToGrow;
+        newLink = links[snake.length];
+        newLink.spawned = false;
+        newLink.rotation = snake[snake.length-1].rotation;
+        newLink.type = growType;
+        newLink.dying = false;
+        snake.push(newLink);
+    } else {
+        var lastLink = snake[snake.length-1];
+        board[lastLink.row * numColumns + lastLink.column] = undefined;
+    }
+
+    if (waitForCookie > 0) {
+        if (--waitForCookie == 0)
+            createCookie(cookie? (cookie.value+1) : 1);
+    }
+
+    for (var i = snake.length-1; i > 0; --i) {
+        snake[i].row = snake[i-1].row;
+        snake[i].column = snake[i-1].column;
+        snake[i].rotation = snake[i-1].rotation;
+    }
+
+    if (newLink) {
+        newLink.spawned = true;
+    }
+
+    // move the head
+    head.row = row;
+    head.column = column;
+    board[row * numColumns + column] = head;
+
+    var turn = (dir - headDirection);
+    head.rotation += turn == -3 ? 1 : (turn == 3 ? -1 : turn );
+    headDirection = dir;
+
+    var value = testCookie(row, column);
+    if (value > 0) {
+        linksToGrow += value;
+        score += value;
+    }
+}
+
+function isFree(row, column)
+{
+    return board[row * numColumns + column] == undefined;
+}
+
+function isHead(row, column)
+{
+    return head.column == column && head.row == row;
+}
+
+function testCookie(row, column)
+{
+    if (cookie && !cookie.dying && cookie.row == row && cookie.column == column) {
+        var value = cookie.value;
+        waitForCookie = value;
+        growType = snake[snake.length-1].type == 1 ? 0 : 1;
+        cookie.dying = true;
+        cookie.z = numRows * numColumns + 2;
+        return value;
+    }
+    return 0;
+}
+
+function moveSkull()
+{
+
+    if (linksToDie > 0) {
+        --linksToDie;
+        var link = snake.pop();
+        link.dying = true;
+        board[link.row * numColumns + link.column] = undefined;
+        if (score > 0)
+            --score;
+        if (snake.length == 0) {
+            endGame();
+            return;
+        }
+    }
+
+    var row = skull.row;
+    var column = skull.column;
+    if (isHead(row, column)) {
+        endGame();
+        return;
+    }
+    row +=  skull.verticalMovement;
+    column += skull.horizontalMovement;
+
+    var attempts = 4;
+
+    while (skullMovementsBeforeDirectionChange == 0 || row < 0 || row >= numRows
+        || column < 0 || column >= numColumns
+        || (!isFree(row, column) && !isHead(row, column))) {
+        var d = rand(8);
+        skull.verticalMovement = 0;
+        skull.horizontalMovement = 0;
+        skullMovementsBeforeDirectionChange = rand(20)+1;
+        if (d == 0) {
+            skull.verticalMovement = -1
+        } else if (d == 1) {
+            skull.horizontalMovement = -1;
+        } else if (d == 2) {
+            skull.verticalMovement = 1
+        } else if (d == 3){
+            skull.horizontalMovement = 1;
+        } else if (cookie) {
+            var rd = cookie.row - skull.row;
+            var rc = cookie.column - skull.column;
+            if (Math.abs(rd) > Math.abs(rc)) {
+                skull.verticalMovement = rd > 0 ? 1 : -1;
+                skullMovementsBeforeDirectionChange = Math.abs(rd);
+            } else {
+                skull.horizontalMovement= rc > 0 ? 1 : -1;
+                skullMovementsBeforeDirectionChange = Math.abs(rc);
+            }
+        }
+        row = skull.row + skull.verticalMovement;
+        column = skull.column + skull.horizontalMovement;
+        if (--attempts == 0)
+            return;
+    }
+
+    skull.row = row;
+    skull.column = column;
+    --skullMovementsBeforeDirectionChange;
+    var value = testCookie(row, column);
+    if (value > 0)
+        linksToDie += value/2;
+
+    if (isHead(row, column))
+        endGame();
+}
+
+function createCookie(value) {
+    if (numRows * numColumns - snake.length < 10)
+        return;
+
+    var column = rand(numColumns);
+    var row = rand(numRows);
+    while (!isFree(row, column)) {
+        column++;
+        if (column == numColumns) {
+            column = 0;
+            row++;
+            if (row == numRows)
+                row = 0;
+        }
+    }
+
+    if(cookieComponent.status != Component.Ready) {
+        if(cookieComponent.status == Component.Error)
+            console.log(cookieComponent.errorString());
+        else
+            console.log("Still loading cookieComponent");
+        return;//TODO: Better error handling?
+    }
+    cookie = cookieComponent.createObject(head.parent);
+    cookie.value = value;
+    cookie.row = row;
+    cookie.column = column;
+}
diff --git a/demos/declarative/snake/qml/snake/snake.qml b/demos/declarative/snake/qml/snake/snake.qml
new file mode 100644
index 0000000..3d6b772
--- /dev/null
+++ b/demos/declarative/snake/qml/snake/snake.qml
@@ -0,0 +1,272 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import "content" as Content
+import "content/snake.js" as Logic
+
+Rectangle {
+    id: screen;
+    SystemPalette { id: activePalette }
+    color: activePalette.window
+    property bool activeGame: false
+
+    property int gridSize : 34
+    property int margin: 4
+    property int numRowsAvailable: Math.floor((height-32-2*margin)/gridSize)
+    property int numColumnsAvailable: Math.floor((width-2*margin)/gridSize)
+
+    property int lastScore : 0
+
+    property int score: 0;
+    property int heartbeatInterval: 200
+    property int halfbeatInterval: 160
+
+    width: 480
+    height: 750
+
+    property int direction
+    property int headDirection
+
+    property variant head;
+
+    Content.HighScoreModel {
+        id: highScores
+        game: "Snake"
+    }
+
+    Timer {
+        id: heartbeat;
+        interval: heartbeatInterval;
+        running: activeGame //&& runtime.isActiveWindow
+        repeat: true
+        onTriggered: { Logic.move() }
+    }
+    Timer {
+        id: halfbeat;
+        interval: halfbeatInterval;
+        repeat: true
+        running: heartbeat.running
+        onTriggered: { Logic.moveSkull() }
+    }
+    Timer {
+        id: startNewGameTimer;
+        interval: 700;
+        onTriggered: { Logic.startNewGame(); }
+    }
+
+    Timer {
+        id: startHeartbeatTimer;
+        interval: 1000 ;
+        onTriggered: { state = "running"; activeGame = true; }
+    }
+
+    Image{
+        id: pauseDialog
+        z: 1
+        source: "content/pics/pause.png"
+        anchors.centerIn: parent;
+        //opacity is deliberately not animated
+        opacity: activeGame && !Qt.application.active
+    }
+
+    Image {
+
+        Image {
+            id: title
+            source: "content/pics/snake.jpg"
+            fillMode: Image.PreserveAspectCrop
+            anchors.fill: parent
+            anchors.horizontalCenter: parent.horizontalCenter
+            anchors.verticalCenter: parent.verticalCenter
+
+            Column {
+                spacing: 140
+                anchors.verticalCenter: parent.verticalCenter;
+                anchors.left:  parent.left;
+                anchors.right:  parent.right;
+
+                Text {
+                    color: "white"
+                    font.pointSize: 48
+                    font.italic: true;
+                    font.bold: true;
+                    text: "Snake"
+                    anchors.horizontalCenter: parent.horizontalCenter;
+                }
+
+                Text {
+                    color: "white"
+                    font.pointSize: 24
+                    anchors.horizontalCenter: parent.horizontalCenter;
+                    //horizontalAlignment: Text.AlignHCenter
+                    text: "Last Score:\t" + lastScore + "\nHighscore:\t" + highScores.topScore;
+                }
+            }
+        }
+
+        source: "content/pics/background.png"
+        fillMode: Image.PreserveAspectCrop
+
+        anchors.left: parent.left
+        anchors.right: parent.right
+        anchors.top: parent.top
+        anchors.bottom: toolbar.top
+
+        Rectangle {
+            id: playfield
+            border.width: 1
+            border.color: "white"
+            color: "transparent"
+            anchors.horizontalCenter: parent.horizontalCenter
+            y: (screen.height - 32 - height)/2;
+            width: numColumnsAvailable * gridSize + 2*margin
+            height: numRowsAvailable * gridSize + 2*margin
+
+
+            Content.Skull {
+                id: skull
+            }
+
+            MouseArea {
+                anchors.fill: parent
+                onPressed: {
+                    if (screen.state == "") {
+                        Logic.startNewGame();
+                        return;
+                    }
+                    if (direction == 0 || direction == 2)
+                        Logic.scheduleDirection((mouseX > (head.x + head.width/2)) ? 1 : 3);
+                    else
+                        Logic.scheduleDirection((mouseY > (head.y + head.height/2)) ? 2 : 0);
+                }
+            }
+        }
+
+    }
+
+    Rectangle {
+        id: progressBar
+        opacity: 0
+        Behavior on opacity { NumberAnimation { duration: 200 } }
+        color: "transparent"
+        border.width: 2
+        border.color: "#221edd"
+        x: 50
+        y: 50
+        width: 200
+        height: 30
+        anchors.horizontalCenter: parent.horizontalCenter
+        anchors.verticalCenter: parent.verticalCenter
+        anchors.verticalCenterOffset: 40
+
+        Rectangle {
+            id: progressIndicator
+            color: "#221edd";
+            width: 0;
+            height: 30;
+        }
+    }
+
+    Rectangle {
+        id: toolbar
+        color: activePalette.window
+        height: 32; width: parent.width
+        anchors.bottom: screen.bottom
+
+        Content.Button {
+            id: btnA; text: "New Game"; onClicked: Logic.startNewGame();
+            anchors.left: parent.left; anchors.leftMargin: 3
+            anchors.verticalCenter: parent.verticalCenter
+        }
+
+        Content.Button {
+            text: "Quit"
+            anchors { left: btnA.right; leftMargin: 3; verticalCenter: parent.verticalCenter }
+            onClicked: Qt.quit();
+        }
+
+        Text {
+            color: activePalette.text
+            text: "Score: " + score; font.bold: true
+            anchors.right: parent.right; anchors.rightMargin: 3
+            anchors.verticalCenter: parent.verticalCenter
+        }
+    }
+
+    focus: true
+    Keys.onSpacePressed: Logic.startNewGame();
+    Keys.onLeftPressed: if (state == "starting" || direction != 1) Logic.scheduleDirection(3);
+    Keys.onRightPressed: if (state == "starting" || direction != 3) Logic.scheduleDirection(1);
+    Keys.onUpPressed: if (state == "starting" || direction != 2) Logic.scheduleDirection(0);
+    Keys.onDownPressed: if (state == "starting" || direction != 0) Logic.scheduleDirection(2);
+
+    states: [
+        State {
+            name: "starting"
+            PropertyChanges {target: progressIndicator; width: 200}
+            PropertyChanges {target: title; opacity: 0}
+            PropertyChanges {target: progressBar; opacity: 1}
+        },
+        State {
+            name: "running"
+            PropertyChanges {target: progressIndicator; width: 200}
+            PropertyChanges {target: title; opacity: 0}
+            PropertyChanges {target: skull; row: 0; column: 0; }
+            PropertyChanges {target: skull; spawned: 1}
+        }
+    ]
+
+    transitions: [
+        Transition {
+            from: "*"
+            to: "starting"
+            NumberAnimation { target: progressIndicator; property: "width"; duration: 1000 }
+            NumberAnimation { property: "opacity"; duration: 200 }
+        },
+        Transition {
+            to: "starting"
+            NumberAnimation { target: progressIndicator; property: "width"; duration: 1000 }
+            NumberAnimation { property: "opacity"; duration: 200 }
+        }
+    ]
+
+}
diff --git a/demos/declarative/snake/snake.desktop b/demos/declarative/snake/snake.desktop
new file mode 100644
index 0000000..fef6090
--- /dev/null
+++ b/demos/declarative/snake/snake.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=snake
+Exec=/opt/snake/bin/snake
+Icon=snake64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/demos/declarative/snake/snake.pro b/demos/declarative/snake/snake.pro
new file mode 100644
index 0000000..81b2dfc
--- /dev/null
+++ b/demos/declarative/snake/snake.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/snake
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE619B930
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/demos/declarative/snake/snake.qml b/demos/declarative/snake/snake.qml
deleted file mode 100644
index edccd4c..0000000
--- a/demos/declarative/snake/snake.qml
+++ /dev/null
@@ -1,272 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import "content" as Content
-import "content/snake.js" as Logic
-
-Rectangle {
-    id: screen;
-    SystemPalette { id: activePalette }
-    color: activePalette.window
-    property bool activeGame: false
-
-    property int gridSize : 34
-    property int margin: 4
-    property int numRowsAvailable: Math.floor((height-32-2*margin)/gridSize)
-    property int numColumnsAvailable: Math.floor((width-2*margin)/gridSize)
-
-    property int lastScore : 0
-
-    property int score: 0;
-    property int heartbeatInterval: 200
-    property int halfbeatInterval: 160
-
-    width: 480
-    height: 750
-
-    property int direction
-    property int headDirection
-
-    property variant head;
-
-    Content.HighScoreModel {
-        id: highScores
-        game: "Snake"
-    }
-
-    Timer {
-        id: heartbeat;
-        interval: heartbeatInterval;
-        running: activeGame && runtime.isActiveWindow
-        repeat: true
-        onTriggered: { Logic.move() }
-    }
-    Timer {
-        id: halfbeat;
-        interval: halfbeatInterval;
-        repeat: true
-        running: heartbeat.running
-        onTriggered: { Logic.moveSkull() }
-    }
-    Timer {
-        id: startNewGameTimer;
-        interval: 700;
-        onTriggered: { Logic.startNewGame(); }
-    }
-
-    Timer {
-        id: startHeartbeatTimer;
-        interval: 1000 ;
-        onTriggered: { state = "running"; activeGame = true; }
-    }
-
-    Image{
-        id: pauseDialog
-        z: 1
-        source: "content/pics/pause.png"
-        anchors.centerIn: parent;
-        //opacity is deliberately not animated
-        opacity: activeGame && !Qt.application.active
-    }
-
-    Image {
-
-        Image {
-            id: title
-            source: "content/pics/snake.jpg"
-            fillMode: Image.PreserveAspectCrop
-            anchors.fill: parent
-            anchors.horizontalCenter: parent.horizontalCenter
-            anchors.verticalCenter: parent.verticalCenter
-
-            Column {
-                spacing: 140
-                anchors.verticalCenter: parent.verticalCenter;
-                anchors.left:  parent.left;
-                anchors.right:  parent.right;
-
-                Text {
-                    color: "white"
-                    font.pointSize: 48
-                    font.italic: true;
-                    font.bold: true;
-                    text: "Snake"
-                    anchors.horizontalCenter: parent.horizontalCenter;
-                }
-
-                Text {
-                    color: "white"
-                    font.pointSize: 24
-                    anchors.horizontalCenter: parent.horizontalCenter;
-                    //horizontalAlignment: Text.AlignHCenter
-                    text: "Last Score:\t" + lastScore + "\nHighscore:\t" + highScores.topScore;
-                }
-            }
-        }
-
-        source: "content/pics/background.png"
-        fillMode: Image.PreserveAspectCrop
-
-        anchors.left: parent.left
-        anchors.right: parent.right
-        anchors.top: parent.top
-        anchors.bottom: toolbar.top
-
-        Rectangle {
-            id: playfield
-            border.width: 1
-            border.color: "white"
-            color: "transparent"
-            anchors.horizontalCenter: parent.horizontalCenter
-            y: (screen.height - 32 - height)/2;
-            width: numColumnsAvailable * gridSize + 2*margin
-            height: numRowsAvailable * gridSize + 2*margin
-
-
-            Content.Skull {
-                id: skull
-            }
-
-            MouseArea {
-                anchors.fill: parent
-                onPressed: {
-                    if (screen.state == "") {
-                        Logic.startNewGame();
-                        return;
-                    }
-                    if (direction == 0 || direction == 2)
-                        Logic.scheduleDirection((mouseX > (head.x + head.width/2)) ? 1 : 3);
-                    else
-                        Logic.scheduleDirection((mouseY > (head.y + head.height/2)) ? 2 : 0);
-                }
-            }
-        }
-
-    }
-
-    Rectangle {
-        id: progressBar
-        opacity: 0
-        Behavior on opacity { NumberAnimation { duration: 200 } }
-        color: "transparent"
-        border.width: 2
-        border.color: "#221edd"
-        x: 50
-        y: 50
-        width: 200
-        height: 30
-        anchors.horizontalCenter: parent.horizontalCenter
-        anchors.verticalCenter: parent.verticalCenter
-        anchors.verticalCenterOffset: 40
-
-        Rectangle {
-            id: progressIndicator
-            color: "#221edd";
-            width: 0;
-            height: 30;
-        }
-    }
-
-    Rectangle {
-        id: toolbar
-        color: activePalette.window
-        height: 32; width: parent.width
-        anchors.bottom: screen.bottom
-
-        Content.Button {
-            id: btnA; text: "New Game"; onClicked: Logic.startNewGame();
-            anchors.left: parent.left; anchors.leftMargin: 3
-            anchors.verticalCenter: parent.verticalCenter
-        }
-
-        Content.Button {
-            text: "Quit"
-            anchors { left: btnA.right; leftMargin: 3; verticalCenter: parent.verticalCenter }
-            onClicked: Qt.quit();
-        }
-
-        Text {
-            color: activePalette.text
-            text: "Score: " + score; font.bold: true
-            anchors.right: parent.right; anchors.rightMargin: 3
-            anchors.verticalCenter: parent.verticalCenter
-        }
-    }
-
-    focus: true
-    Keys.onSpacePressed: Logic.startNewGame();
-    Keys.onLeftPressed: if (state == "starting" || direction != 1) Logic.scheduleDirection(3);
-    Keys.onRightPressed: if (state == "starting" || direction != 3) Logic.scheduleDirection(1);
-    Keys.onUpPressed: if (state == "starting" || direction != 2) Logic.scheduleDirection(0);
-    Keys.onDownPressed: if (state == "starting" || direction != 0) Logic.scheduleDirection(2);
-
-    states: [
-        State {
-            name: "starting"
-            PropertyChanges {target: progressIndicator; width: 200}
-            PropertyChanges {target: title; opacity: 0}
-            PropertyChanges {target: progressBar; opacity: 1}
-        },
-        State {
-            name: "running"
-            PropertyChanges {target: progressIndicator; width: 200}
-            PropertyChanges {target: title; opacity: 0}
-            PropertyChanges {target: skull; row: 0; column: 0; }
-            PropertyChanges {target: skull; spawned: 1}
-        }
-    ]
-
-    transitions: [
-        Transition {
-            from: "*"
-            to: "starting"
-            NumberAnimation { target: progressIndicator; property: "width"; duration: 1000 }
-            NumberAnimation { property: "opacity"; duration: 200 }
-        },
-        Transition {
-            to: "starting"
-            NumberAnimation { target: progressIndicator; property: "width"; duration: 1000 }
-            NumberAnimation { property: "opacity"; duration: 200 }
-        }
-    ]
-
-}
diff --git a/demos/declarative/snake/snake.qmlproject b/demos/declarative/snake/snake.qmlproject
index d4909f8..431d2a9 100644
--- a/demos/declarative/snake/snake.qmlproject
+++ b/demos/declarative/snake/snake.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/snake"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/snake"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/snake"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/demos/declarative/snake/snake.svg b/demos/declarative/snake/snake.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/demos/declarative/snake/snake.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/demos/declarative/snake/snake64.png b/demos/declarative/snake/snake64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/demos/declarative/snake/snake64.png differ
diff --git a/demos/declarative/snake/snake80.png b/demos/declarative/snake/snake80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/demos/declarative/snake/snake80.png differ
diff --git a/demos/declarative/snake/snake_harmattan.desktop b/demos/declarative/snake/snake_harmattan.desktop
new file mode 100644
index 0000000..10b0f79
--- /dev/null
+++ b/demos/declarative/snake/snake_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=snake
+Exec=/usr/bin/single-instance /opt/snake/bin/snake
+Icon=/usr/share/icons/hicolor/80x80/apps/snake80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
-- 
cgit v0.12


From d24828b6e5319c3c8214b4fd1a7accb409095847 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:18 +0100
Subject: demos/declarative/twitter example modifications

Modified the example 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>
---
 demos/declarative/twitter/TwitterCore/Button.qml   |  90 --------------
 .../twitter/TwitterCore/FatDelegate.qml            | 105 ----------------
 demos/declarative/twitter/TwitterCore/Input.qml    |  65 ----------
 demos/declarative/twitter/TwitterCore/Loading.qml  |  49 --------
 .../twitter/TwitterCore/MultiTitleBar.qml          |  60 ---------
 demos/declarative/twitter/TwitterCore/RssModel.qml |  76 ------------
 .../declarative/twitter/TwitterCore/SearchView.qml | 124 -------------------
 demos/declarative/twitter/TwitterCore/TitleBar.qml | 130 --------------------
 demos/declarative/twitter/TwitterCore/ToolBar.qml  |  64 ----------
 .../declarative/twitter/TwitterCore/UserModel.qml  |  65 ----------
 .../twitter/TwitterCore/images/gloss.png           | Bin 1236 -> 0 bytes
 .../twitter/TwitterCore/images/lineedit.png        | Bin 1415 -> 0 bytes
 .../twitter/TwitterCore/images/lineedit.sci        |   5 -
 .../twitter/TwitterCore/images/loading.png         | Bin 813 -> 0 bytes
 .../twitter/TwitterCore/images/quit.png            | Bin 2369 -> 0 bytes
 .../twitter/TwitterCore/images/stripes.png         | Bin 257 -> 0 bytes
 .../twitter/TwitterCore/images/titlebar.png        | Bin 1436 -> 0 bytes
 .../twitter/TwitterCore/images/titlebar.sci        |   5 -
 .../twitter/TwitterCore/images/toolbutton.png      | Bin 2550 -> 0 bytes
 .../twitter/TwitterCore/images/toolbutton.sci      |   5 -
 demos/declarative/twitter/TwitterCore/qmldir       |  10 --
 demos/declarative/twitter/main.cpp                 |  54 +++++++++
 .../twitter/qml/twitter/TwitterCore/Button.qml     |  90 ++++++++++++++
 .../qml/twitter/TwitterCore/FatDelegate.qml        | 105 ++++++++++++++++
 .../twitter/qml/twitter/TwitterCore/Input.qml      |  65 ++++++++++
 .../twitter/qml/twitter/TwitterCore/Loading.qml    |  49 ++++++++
 .../qml/twitter/TwitterCore/MultiTitleBar.qml      |  60 +++++++++
 .../twitter/qml/twitter/TwitterCore/RssModel.qml   |  76 ++++++++++++
 .../twitter/qml/twitter/TwitterCore/SearchView.qml | 124 +++++++++++++++++++
 .../twitter/qml/twitter/TwitterCore/TitleBar.qml   | 130 ++++++++++++++++++++
 .../twitter/qml/twitter/TwitterCore/ToolBar.qml    |  64 ++++++++++
 .../twitter/qml/twitter/TwitterCore/UserModel.qml  |  65 ++++++++++
 .../qml/twitter/TwitterCore/images/gloss.png       | Bin 0 -> 1236 bytes
 .../qml/twitter/TwitterCore/images/lineedit.png    | Bin 0 -> 1415 bytes
 .../qml/twitter/TwitterCore/images/lineedit.sci    |   5 +
 .../qml/twitter/TwitterCore/images/loading.png     | Bin 0 -> 813 bytes
 .../qml/twitter/TwitterCore/images/quit.png        | Bin 0 -> 2369 bytes
 .../qml/twitter/TwitterCore/images/stripes.png     | Bin 0 -> 257 bytes
 .../qml/twitter/TwitterCore/images/titlebar.png    | Bin 0 -> 1436 bytes
 .../qml/twitter/TwitterCore/images/titlebar.sci    |   5 +
 .../qml/twitter/TwitterCore/images/toolbutton.png  | Bin 0 -> 2550 bytes
 .../qml/twitter/TwitterCore/images/toolbutton.sci  |   5 +
 .../twitter/qml/twitter/TwitterCore/qmldir         |  10 ++
 demos/declarative/twitter/qml/twitter/twitter.qml  | 134 +++++++++++++++++++++
 demos/declarative/twitter/twitter.desktop          |  11 ++
 demos/declarative/twitter/twitter.pro              |  37 ++++++
 demos/declarative/twitter/twitter.qml              | 134 ---------------------
 demos/declarative/twitter/twitter.qmlproject       |   6 +-
 demos/declarative/twitter/twitter.svg              |  93 ++++++++++++++
 demos/declarative/twitter/twitter64.png            | Bin 0 -> 3400 bytes
 demos/declarative/twitter/twitter80.png            | Bin 0 -> 4945 bytes
 .../declarative/twitter/twitter_harmattan.desktop  |  11 ++
 52 files changed, 1196 insertions(+), 990 deletions(-)
 delete mode 100644 demos/declarative/twitter/TwitterCore/Button.qml
 delete mode 100644 demos/declarative/twitter/TwitterCore/FatDelegate.qml
 delete mode 100644 demos/declarative/twitter/TwitterCore/Input.qml
 delete mode 100644 demos/declarative/twitter/TwitterCore/Loading.qml
 delete mode 100644 demos/declarative/twitter/TwitterCore/MultiTitleBar.qml
 delete mode 100644 demos/declarative/twitter/TwitterCore/RssModel.qml
 delete mode 100644 demos/declarative/twitter/TwitterCore/SearchView.qml
 delete mode 100644 demos/declarative/twitter/TwitterCore/TitleBar.qml
 delete mode 100644 demos/declarative/twitter/TwitterCore/ToolBar.qml
 delete mode 100644 demos/declarative/twitter/TwitterCore/UserModel.qml
 delete mode 100644 demos/declarative/twitter/TwitterCore/images/gloss.png
 delete mode 100644 demos/declarative/twitter/TwitterCore/images/lineedit.png
 delete mode 100644 demos/declarative/twitter/TwitterCore/images/lineedit.sci
 delete mode 100644 demos/declarative/twitter/TwitterCore/images/loading.png
 delete mode 100644 demos/declarative/twitter/TwitterCore/images/quit.png
 delete mode 100644 demos/declarative/twitter/TwitterCore/images/stripes.png
 delete mode 100644 demos/declarative/twitter/TwitterCore/images/titlebar.png
 delete mode 100644 demos/declarative/twitter/TwitterCore/images/titlebar.sci
 delete mode 100644 demos/declarative/twitter/TwitterCore/images/toolbutton.png
 delete mode 100644 demos/declarative/twitter/TwitterCore/images/toolbutton.sci
 delete mode 100644 demos/declarative/twitter/TwitterCore/qmldir
 create mode 100644 demos/declarative/twitter/main.cpp
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/Button.qml
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/FatDelegate.qml
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/Input.qml
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/Loading.qml
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/MultiTitleBar.qml
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/RssModel.qml
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/SearchView.qml
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/TitleBar.qml
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/ToolBar.qml
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/UserModel.qml
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/images/gloss.png
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/images/lineedit.png
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/images/lineedit.sci
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/images/loading.png
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/images/quit.png
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/images/stripes.png
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/images/titlebar.png
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/images/titlebar.sci
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/images/toolbutton.png
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/images/toolbutton.sci
 create mode 100644 demos/declarative/twitter/qml/twitter/TwitterCore/qmldir
 create mode 100644 demos/declarative/twitter/qml/twitter/twitter.qml
 create mode 100644 demos/declarative/twitter/twitter.desktop
 create mode 100644 demos/declarative/twitter/twitter.pro
 delete mode 100644 demos/declarative/twitter/twitter.qml
 create mode 100644 demos/declarative/twitter/twitter.svg
 create mode 100644 demos/declarative/twitter/twitter64.png
 create mode 100644 demos/declarative/twitter/twitter80.png
 create mode 100644 demos/declarative/twitter/twitter_harmattan.desktop

diff --git a/demos/declarative/twitter/TwitterCore/Button.qml b/demos/declarative/twitter/TwitterCore/Button.qml
deleted file mode 100644
index 34ca181..0000000
--- a/demos/declarative/twitter/TwitterCore/Button.qml
+++ /dev/null
@@ -1,90 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: container
-
-    signal clicked
-
-    property string text
-    property bool keyUsing: false
-
-    BorderImage {
-        id: buttonImage
-        source: "images/toolbutton.sci"
-        width: container.width; height: container.height
-    }
-    BorderImage {
-        id: pressed
-        opacity: 0
-        source: "images/toolbutton.sci"
-        width: container.width; height: container.height
-    }
-    MouseArea {
-        id: mouseRegion
-        anchors.fill: buttonImage
-        onClicked: { container.clicked(); }
-    }
-    Text {
-        id: btnText
-        color: if(container.keyUsing){"#D0D0D0";} 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.activeFocus == true
-            PropertyChanges { target: btnText; color: "#FFFFFF" }
-        }
-    ]
-    transitions: Transition {
-        ColorAnimation { target: btnText; }
-    }
-}
diff --git a/demos/declarative/twitter/TwitterCore/FatDelegate.qml b/demos/declarative/twitter/TwitterCore/FatDelegate.qml
deleted file mode 100644
index 1fe2891..0000000
--- a/demos/declarative/twitter/TwitterCore/FatDelegate.qml
+++ /dev/null
@@ -1,105 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Component {
-    id: listDelegate
-    Item {
-        id: wrapper; width: wrapper.ListView.view.width; height: if(txt.height > 60){txt.height+10}else{60} //50+5+5
-        function handleLink(link){
-            if(link.slice(0,3) == 'app'){
-                screen.setUser(link.slice(7));
-            }else if(link.slice(0,4) == 'http'){
-                Qt.openUrlExternally(link);
-            }
-        }
-        function addTags(str){
-            var ret = str.replace(/@[a-zA-Z0-9_]+/g, '<a href="app://$&">$&</a>');//click to jump to user?
-            var ret2 = ret.replace(/http:\/\/[^ \n\t]+/g, '<a href="$&">$&</a>');//surrounds http links with html link tags
-            return ret2;
-        }
-
-        // Strip away paranthesis
-        function userName(str) {
-            var user = str.replace(/\([\S|\s]*\)/gi, "");
-            return user.trim();
-        }
-
-        Item {
-            id: moveMe; height: parent.height
-            Rectangle {
-                id: blackRect
-                color: "black"; opacity: wrapper.ListView.index % 2 ? 0.2 : 0.3; height: wrapper.height-2; width: wrapper.width; y: 1
-            }
-            Item {
-                id: image; x: 6; width: 48; height: 48; smooth: true
-                anchors.verticalCenter: parent.verticalCenter
-
-                Loading { x: 1; y: 1; width: 48; height: 48; visible: realImage.status != Image.Ready }
-                Image {
-                    id: realImage;
-                    source: userImage; x: 1; y: 1;
-                    width:48; height:48; opacity:0 ;
-                    onStatusChanged: {
-                        if(status==Image.Ready)
-                            image.state="loaded"
-                    }
-                }
-                states: State {
-                    name: "loaded";
-                    PropertyChanges { target: realImage ; opacity:1 }
-                }
-                transitions: Transition { NumberAnimation { target: realImage; property: "opacity"; duration: 200 } }
-
-            }
-            Text { id:txt; y:4; x: 56
-                text: '<html><style type="text/css">a:link {color:"#aaccaa"}; a:visited {color:"#336633"}</style>'
-                    + '<a href="app://@'+userName(name)+'"><b>'+userName(name) + "</b></a> from " +source
-                    + "<br /><b>" + statusText + "</b></html>";
-                textFormat: Qt.RichText
-                color: "#cccccc"; style: Text.Raised; styleColor: "black"; wrapMode: Text.WordWrap
-                anchors.left: image.right; anchors.right: blackRect.right; anchors.leftMargin: 6; anchors.rightMargin: 6
-                onLinkActivated: wrapper.handleLink(link)
-            }
-        }
-    }
-}
diff --git a/demos/declarative/twitter/TwitterCore/Input.qml b/demos/declarative/twitter/TwitterCore/Input.qml
deleted file mode 100644
index 96fafb6..0000000
--- a/demos/declarative/twitter/TwitterCore/Input.qml
+++ /dev/null
@@ -1,65 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-FocusScope {
-    id:container
-    width: 220
-    height: 28
-    BorderImage { source: "images/lineedit.sci"; anchors.fill: parent }
-    signal accepted
-    property alias text: input.text
-    property alias item:input
-    TextInput{
-        id: input
-        width: parent.width - 12
-        anchors.centerIn: parent
-        maximumLength:21
-        font.pixelSize: 16;
-        font.bold: true
-        color: "#151515"; selectionColor: "mediumseagreen"
-        focus: true
-        onAccepted:{container.accepted()}
-        text: ""
-        selectByMouse: true
-    }
-}
diff --git a/demos/declarative/twitter/TwitterCore/Loading.qml b/demos/declarative/twitter/TwitterCore/Loading.qml
deleted file mode 100644
index e0c4fa0..0000000
--- a/demos/declarative/twitter/TwitterCore/Loading.qml
+++ /dev/null
@@ -1,49 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Image {
-    id: loading; source: "images/loading.png"
-    NumberAnimation on rotation {
-        from: 0; to: 360; running: loading.visible == true; loops: Animation.Infinite; duration: 900
-    }
-}
diff --git a/demos/declarative/twitter/TwitterCore/MultiTitleBar.qml b/demos/declarative/twitter/TwitterCore/MultiTitleBar.qml
deleted file mode 100644
index 6933d48..0000000
--- a/demos/declarative/twitter/TwitterCore/MultiTitleBar.qml
+++ /dev/null
@@ -1,60 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    TitleBar { id: titleBar; width: parent.width; height: 60;
-        y: -80
-        untaggedString: "Latest tweets from everyone"
-        taggedString: "Latest tweets from "
-    }
-    states: [
-        State {
-            name: "search"; when: screen.state!="search"
-            PropertyChanges { target: titleBar; y: 0 }
-        }
-    ]
-    transitions: [
-        Transition { NumberAnimation { properties: "x,y"; duration: 500; easing.type: Easing.InOutQuad } }
-    ]
-}
-
diff --git a/demos/declarative/twitter/TwitterCore/RssModel.qml b/demos/declarative/twitter/TwitterCore/RssModel.qml
deleted file mode 100644
index 696ae9d..0000000
--- a/demos/declarative/twitter/TwitterCore/RssModel.qml
+++ /dev/null
@@ -1,76 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item { id: wrapper
-    property variant model: xmlModel
-    property string from : ""
-    property string to : ""
-    property string phrase : ""
-
-    property string mode : "everyone"
-    property int status: xmlModel.status
-    function reload() { xmlModel.reload(); }
-    XmlListModel {
-        id: xmlModel
-
-        source: (from=="" && to=="" && phrase=="") ? "" :
-            'http://search.twitter.com/search.atom?from='+from+"&to="+to+"&phrase="+phrase
-
-        namespaceDeclarations: "declare default element namespace 'http://www.w3.org/2005/Atom'; " +
-                               "declare namespace twitter=\"http://api.twitter.com/\";";
-
-        query: "/feed/entry"
-
-        XmlRole { name: "statusText"; query: "content/string()" }
-        XmlRole { name: "timestamp"; query: "published/string()" }
-        XmlRole { name: "source"; query: "twitter:source/string()" }
-        XmlRole { name: "name"; query: "author/name/string()" }
-        XmlRole { name: "userImage"; query: "link[@rel = 'image']/@href/string()" }
-
-    }
-    Binding {
-        property: "mode"
-        target: wrapper
-        value: {if(wrapper.tags==''){"everyone";}else if(wrapper.tags=='my timeline'){"self";}else{"user";}}
-    }
-}
diff --git a/demos/declarative/twitter/TwitterCore/SearchView.qml b/demos/declarative/twitter/TwitterCore/SearchView.qml
deleted file mode 100644
index 6e099ae..0000000
--- a/demos/declarative/twitter/TwitterCore/SearchView.qml
+++ /dev/null
@@ -1,124 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-FocusScope {
-    id: wrapper
-    Column {
-        anchors.centerIn: parent
-        spacing: 20
-        Column{
-            spacing: 4
-            Text {
-                text: "Posted by:"
-                font.pixelSize: 16; font.bold: true; color: "white"; style: Text.Raised; styleColor: "black"
-                horizontalAlignment: Qt.AlignRight
-            }
-            Input{
-                id: fromIn
-                KeyNavigation.backtab: searchbutton
-                KeyNavigation.tab:toIn
-                onAccepted:searchbutton.doSearch();
-                focus: true
-            }
-            Text {
-                text: "In reply to:"
-                font.pixelSize: 16; font.bold: true; color: "white"; style: Text.Raised; styleColor: "black"
-                horizontalAlignment: Qt.AlignRight
-            }
-            Input{
-                id: toIn
-                KeyNavigation.backtab: fromIn
-                KeyNavigation.tab:phraseIn
-                onAccepted:searchbutton.doSearch();
-            }
-            Text {
-                text: "Search phrase:"
-                font.pixelSize: 16; font.bold: true; color: "white"; style: Text.Raised; styleColor: "black"
-                horizontalAlignment: Qt.AlignRight
-            }
-            Input{
-                id: phraseIn
-                KeyNavigation.backtab: toIn
-                KeyNavigation.tab:searchbutton
-                onAccepted:searchbutton.doSearch();
-                text: "Qt Quick"
-            }
-        }
-        Button {
-            width: 100
-            height: 32
-            id: searchbutton
-            keyUsing: true;
-            opacity: 1
-            text: "Search"
-            KeyNavigation.tab: fromIn
-            Keys.onReturnPressed: searchbutton.doSearch();
-            Keys.onEnterPressed: searchbutton.doSearch();
-            Keys.onSelectPressed: searchbutton.doSearch();
-            Keys.onSpacePressed: searchbutton.doSearch();
-            onClicked: searchbutton.doSearch();
-
-            function doSearch() {
-                // Search ! allowed
-                if (wrapper.state=="invalidinput")
-                    return;
-
-                rssModel.from=fromIn.text;
-                rssModel.to= toIn.text;
-                rssModel.phrase = phraseIn.text;
-                screen.focus = true;
-                screen.state = ""
-            }
-        }
-    }
-    states:
-    State {
-        name: "invalidinput"
-        when: fromIn.text=="" && toIn.text=="" && phraseIn.text==""
-        PropertyChanges { target: searchbutton ; opacity: 0.6 ; }
-    }
-    transitions:
-    Transition {
-        NumberAnimation { target: searchbutton; property: "opacity"; duration: 200 }
-    }
-}
diff --git a/demos/declarative/twitter/TwitterCore/TitleBar.qml b/demos/declarative/twitter/TwitterCore/TitleBar.qml
deleted file mode 100644
index 1a2f5d5..0000000
--- a/demos/declarative/twitter/TwitterCore/TitleBar.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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: titleBar
-    property string untaggedString: "Uploads from everyone"
-    property string taggedString: "Recent uploads tagged "
-
-    BorderImage { source: "images/titlebar.sci"; width: parent.width; height: parent.height + 14; y: -7 }
-
-    Item {
-        id: container
-        width: (parent.width * 2) - 55 ; height: parent.height
-
-        function accept() {
-            titleBar.state = ""
-            background.state = ""
-            rssModel.tags = editor.text
-        }
-
-        Item {
-            id:imageBox
-            x: 6; width: 0; height: 50; smooth: true
-            anchors.verticalCenter: parent.verticalCenter
-
-            UserModel { user: rssModel.from; id: userModel }
-            Component {
-                id: imgDelegate;
-                Item {
-                    id:imageitem
-                    visible:true
-                    Loading { width:48; height:48; visible: realImage.status != Image.Ready }
-                    Image { id: realImage; source: image; width:48; height:48; opacity:0; }
-                    states:
-                        State {
-                        name: "loaded"
-                        when:  (realImage.status == Image.Ready)
-                        PropertyChanges { target: realImage; opacity:1 }
-                    }
-                    transitions: Transition {
-                        NumberAnimation { target: realImage; property: "opacity"; duration: 200 }
-                    }
-                }
-            }
-            ListView { id:view; model: userModel.model; x:1; y:1; delegate: imgDelegate }
-            states:
-            State {
-                when: !userModel.user==""
-                PropertyChanges { target: imageBox; width: 50; }
-            }
-            transitions:
-            Transition {
-                NumberAnimation { target: imageBox; property: "width"; duration: 200 }
-            }
-        }
-
-        Image {
-            id: quitButton
-            x: 5
-            anchors.verticalCenter: parent.verticalCenter
-            source: "images/quit.png"
-            MouseArea {
-                anchors.fill: parent
-                onClicked: Qt.quit()
-            }
-        }
-
-        Text {
-            id: categoryText
-            anchors {
-                left: quitButton.right; right: parent.right; leftMargin: 10; rightMargin: 10
-                verticalCenter: parent.verticalCenter
-            }
-            elide: Text.ElideLeft
-            text: (rssModel.from=="" ? untaggedString : taggedString + rssModel.from)
-            font.bold: true; color: "White"; style: Text.Raised; styleColor: "Black"
-            font.pixelSize: 12
-        }
-    }
-
-    states: State {
-        name: "Tags"
-        PropertyChanges { target: container; x: -tagButton.x + 5 }
-        PropertyChanges { target: editor; focus: true }
-    }
-
-    transitions: Transition {
-        NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad }
-    }
-}
diff --git a/demos/declarative/twitter/TwitterCore/ToolBar.qml b/demos/declarative/twitter/TwitterCore/ToolBar.qml
deleted file mode 100644
index b277517..0000000
--- a/demos/declarative/twitter/TwitterCore/ToolBar.qml
+++ /dev/null
@@ -1,64 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: toolbar
-
-    property alias button1Label: button1.text
-    property alias button2Label: button2.text
-    signal button1Clicked
-    signal button2Clicked
-    focus:true
-    BorderImage { source: "images/titlebar.sci"; width: parent.width; height: parent.height + 14; y: -7 }
-    Button {
-        id: button1
-        anchors.left: parent.left; anchors.leftMargin: 5; y: 3; width: 140; height: 32
-        onClicked: toolbar.button1Clicked()
-        focus:true
-    }
-    Button {
-        id: button2
-        anchors.right: parent.right; anchors.rightMargin: 5; y: 3; width: 140; height: 32
-        onClicked: toolbar.button2Clicked()
-    }
-}
diff --git a/demos/declarative/twitter/TwitterCore/UserModel.qml b/demos/declarative/twitter/TwitterCore/UserModel.qml
deleted file mode 100644
index b87a083..0000000
--- a/demos/declarative/twitter/TwitterCore/UserModel.qml
+++ /dev/null
@@ -1,65 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-//This "model" gets the user information about the searched user. Mainly for the icon.
-
-Item { id: wrapper
-    property variant model: xmlModel
-    property string user : ""
-    property int status: xmlModel.status
-    function reload() { xmlModel.reload(); }
-    XmlListModel {
-        id: xmlModel
-
-        source: user!= "" ? "http://twitter.com/users/show.xml?screen_name="+user : ""
-        query: "/user"
-
-        XmlRole { name: "name"; query: "name/string()" }
-        XmlRole { name: "screenName"; query: "screen_name/string()" }
-        XmlRole { name: "image"; query: "profile_image_url/string()" }
-        XmlRole { name: "location"; query: "location/string()" }
-        XmlRole { name: "description"; query: "description/string()" }
-        XmlRole { name: "followers"; query: "followers_count/string()" }
-        //TODO: Could also get the user's color scheme, timezone and a few other things
-    }
-}
diff --git a/demos/declarative/twitter/TwitterCore/images/gloss.png b/demos/declarative/twitter/TwitterCore/images/gloss.png
deleted file mode 100644
index 5d370cd..0000000
Binary files a/demos/declarative/twitter/TwitterCore/images/gloss.png and /dev/null differ
diff --git a/demos/declarative/twitter/TwitterCore/images/lineedit.png b/demos/declarative/twitter/TwitterCore/images/lineedit.png
deleted file mode 100644
index 2cc38dc..0000000
Binary files a/demos/declarative/twitter/TwitterCore/images/lineedit.png and /dev/null differ
diff --git a/demos/declarative/twitter/TwitterCore/images/lineedit.sci b/demos/declarative/twitter/TwitterCore/images/lineedit.sci
deleted file mode 100644
index 054bff7..0000000
--- a/demos/declarative/twitter/TwitterCore/images/lineedit.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-border.left: 10
-border.top: 10
-border.bottom: 10
-border.right: 10
-source: lineedit.png
diff --git a/demos/declarative/twitter/TwitterCore/images/loading.png b/demos/declarative/twitter/TwitterCore/images/loading.png
deleted file mode 100644
index 47a1589..0000000
Binary files a/demos/declarative/twitter/TwitterCore/images/loading.png and /dev/null differ
diff --git a/demos/declarative/twitter/TwitterCore/images/quit.png b/demos/declarative/twitter/TwitterCore/images/quit.png
deleted file mode 100644
index 5bda1b6..0000000
Binary files a/demos/declarative/twitter/TwitterCore/images/quit.png and /dev/null differ
diff --git a/demos/declarative/twitter/TwitterCore/images/stripes.png b/demos/declarative/twitter/TwitterCore/images/stripes.png
deleted file mode 100644
index 9f36727..0000000
Binary files a/demos/declarative/twitter/TwitterCore/images/stripes.png and /dev/null differ
diff --git a/demos/declarative/twitter/TwitterCore/images/titlebar.png b/demos/declarative/twitter/TwitterCore/images/titlebar.png
deleted file mode 100644
index 51c9008..0000000
Binary files a/demos/declarative/twitter/TwitterCore/images/titlebar.png and /dev/null differ
diff --git a/demos/declarative/twitter/TwitterCore/images/titlebar.sci b/demos/declarative/twitter/TwitterCore/images/titlebar.sci
deleted file mode 100644
index 0418d94..0000000
--- a/demos/declarative/twitter/TwitterCore/images/titlebar.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-border.left: 10
-border.top: 12
-border.bottom: 12
-border.right: 10
-source: titlebar.png
diff --git a/demos/declarative/twitter/TwitterCore/images/toolbutton.png b/demos/declarative/twitter/TwitterCore/images/toolbutton.png
deleted file mode 100644
index 1131001..0000000
Binary files a/demos/declarative/twitter/TwitterCore/images/toolbutton.png and /dev/null differ
diff --git a/demos/declarative/twitter/TwitterCore/images/toolbutton.sci b/demos/declarative/twitter/TwitterCore/images/toolbutton.sci
deleted file mode 100644
index 9e4f965..0000000
--- a/demos/declarative/twitter/TwitterCore/images/toolbutton.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-border.left: 15
-border.top: 4
-border.bottom: 4
-border.right: 15
-source: toolbutton.png
diff --git a/demos/declarative/twitter/TwitterCore/qmldir b/demos/declarative/twitter/TwitterCore/qmldir
deleted file mode 100644
index 84d85c2..0000000
--- a/demos/declarative/twitter/TwitterCore/qmldir
+++ /dev/null
@@ -1,10 +0,0 @@
-SearchView 1.0 SearchView.qml
-Button 1.0 Button.qml
-Input 1.0 Input.qml
-FatDelegate 1.0 FatDelegate.qml
-Loading 1.0 Loading.qml
-MultiTitleBar 1.0 MultiTitleBar.qml
-TitleBar 1.0 TitleBar.qml
-RssModel 1.0 RssModel.qml
-UserModel 1.0 UserModel.qml
-ToolBar 1.0 ToolBar.qml
diff --git a/demos/declarative/twitter/main.cpp b/demos/declarative/twitter/main.cpp
new file mode 100644
index 0000000..40b4e95
--- /dev/null
+++ b/demos/declarative/twitter/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include "qmlapplicationviewer.h"
+#include <QtGui/QApplication>
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/twitter/twitter.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/Button.qml b/demos/declarative/twitter/qml/twitter/TwitterCore/Button.qml
new file mode 100644
index 0000000..34ca181
--- /dev/null
+++ b/demos/declarative/twitter/qml/twitter/TwitterCore/Button.qml
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: container
+
+    signal clicked
+
+    property string text
+    property bool keyUsing: false
+
+    BorderImage {
+        id: buttonImage
+        source: "images/toolbutton.sci"
+        width: container.width; height: container.height
+    }
+    BorderImage {
+        id: pressed
+        opacity: 0
+        source: "images/toolbutton.sci"
+        width: container.width; height: container.height
+    }
+    MouseArea {
+        id: mouseRegion
+        anchors.fill: buttonImage
+        onClicked: { container.clicked(); }
+    }
+    Text {
+        id: btnText
+        color: if(container.keyUsing){"#D0D0D0";} 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.activeFocus == true
+            PropertyChanges { target: btnText; color: "#FFFFFF" }
+        }
+    ]
+    transitions: Transition {
+        ColorAnimation { target: btnText; }
+    }
+}
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/FatDelegate.qml b/demos/declarative/twitter/qml/twitter/TwitterCore/FatDelegate.qml
new file mode 100644
index 0000000..1fe2891
--- /dev/null
+++ b/demos/declarative/twitter/qml/twitter/TwitterCore/FatDelegate.qml
@@ -0,0 +1,105 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Component {
+    id: listDelegate
+    Item {
+        id: wrapper; width: wrapper.ListView.view.width; height: if(txt.height > 60){txt.height+10}else{60} //50+5+5
+        function handleLink(link){
+            if(link.slice(0,3) == 'app'){
+                screen.setUser(link.slice(7));
+            }else if(link.slice(0,4) == 'http'){
+                Qt.openUrlExternally(link);
+            }
+        }
+        function addTags(str){
+            var ret = str.replace(/@[a-zA-Z0-9_]+/g, '<a href="app://$&">$&</a>');//click to jump to user?
+            var ret2 = ret.replace(/http:\/\/[^ \n\t]+/g, '<a href="$&">$&</a>');//surrounds http links with html link tags
+            return ret2;
+        }
+
+        // Strip away paranthesis
+        function userName(str) {
+            var user = str.replace(/\([\S|\s]*\)/gi, "");
+            return user.trim();
+        }
+
+        Item {
+            id: moveMe; height: parent.height
+            Rectangle {
+                id: blackRect
+                color: "black"; opacity: wrapper.ListView.index % 2 ? 0.2 : 0.3; height: wrapper.height-2; width: wrapper.width; y: 1
+            }
+            Item {
+                id: image; x: 6; width: 48; height: 48; smooth: true
+                anchors.verticalCenter: parent.verticalCenter
+
+                Loading { x: 1; y: 1; width: 48; height: 48; visible: realImage.status != Image.Ready }
+                Image {
+                    id: realImage;
+                    source: userImage; x: 1; y: 1;
+                    width:48; height:48; opacity:0 ;
+                    onStatusChanged: {
+                        if(status==Image.Ready)
+                            image.state="loaded"
+                    }
+                }
+                states: State {
+                    name: "loaded";
+                    PropertyChanges { target: realImage ; opacity:1 }
+                }
+                transitions: Transition { NumberAnimation { target: realImage; property: "opacity"; duration: 200 } }
+
+            }
+            Text { id:txt; y:4; x: 56
+                text: '<html><style type="text/css">a:link {color:"#aaccaa"}; a:visited {color:"#336633"}</style>'
+                    + '<a href="app://@'+userName(name)+'"><b>'+userName(name) + "</b></a> from " +source
+                    + "<br /><b>" + statusText + "</b></html>";
+                textFormat: Qt.RichText
+                color: "#cccccc"; style: Text.Raised; styleColor: "black"; wrapMode: Text.WordWrap
+                anchors.left: image.right; anchors.right: blackRect.right; anchors.leftMargin: 6; anchors.rightMargin: 6
+                onLinkActivated: wrapper.handleLink(link)
+            }
+        }
+    }
+}
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/Input.qml b/demos/declarative/twitter/qml/twitter/TwitterCore/Input.qml
new file mode 100644
index 0000000..96fafb6
--- /dev/null
+++ b/demos/declarative/twitter/qml/twitter/TwitterCore/Input.qml
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+FocusScope {
+    id:container
+    width: 220
+    height: 28
+    BorderImage { source: "images/lineedit.sci"; anchors.fill: parent }
+    signal accepted
+    property alias text: input.text
+    property alias item:input
+    TextInput{
+        id: input
+        width: parent.width - 12
+        anchors.centerIn: parent
+        maximumLength:21
+        font.pixelSize: 16;
+        font.bold: true
+        color: "#151515"; selectionColor: "mediumseagreen"
+        focus: true
+        onAccepted:{container.accepted()}
+        text: ""
+        selectByMouse: true
+    }
+}
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/Loading.qml b/demos/declarative/twitter/qml/twitter/TwitterCore/Loading.qml
new file mode 100644
index 0000000..e0c4fa0
--- /dev/null
+++ b/demos/declarative/twitter/qml/twitter/TwitterCore/Loading.qml
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Image {
+    id: loading; source: "images/loading.png"
+    NumberAnimation on rotation {
+        from: 0; to: 360; running: loading.visible == true; loops: Animation.Infinite; duration: 900
+    }
+}
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/MultiTitleBar.qml b/demos/declarative/twitter/qml/twitter/TwitterCore/MultiTitleBar.qml
new file mode 100644
index 0000000..6933d48
--- /dev/null
+++ b/demos/declarative/twitter/qml/twitter/TwitterCore/MultiTitleBar.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    TitleBar { id: titleBar; width: parent.width; height: 60;
+        y: -80
+        untaggedString: "Latest tweets from everyone"
+        taggedString: "Latest tweets from "
+    }
+    states: [
+        State {
+            name: "search"; when: screen.state!="search"
+            PropertyChanges { target: titleBar; y: 0 }
+        }
+    ]
+    transitions: [
+        Transition { NumberAnimation { properties: "x,y"; duration: 500; easing.type: Easing.InOutQuad } }
+    ]
+}
+
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/RssModel.qml b/demos/declarative/twitter/qml/twitter/TwitterCore/RssModel.qml
new file mode 100644
index 0000000..696ae9d
--- /dev/null
+++ b/demos/declarative/twitter/qml/twitter/TwitterCore/RssModel.qml
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item { id: wrapper
+    property variant model: xmlModel
+    property string from : ""
+    property string to : ""
+    property string phrase : ""
+
+    property string mode : "everyone"
+    property int status: xmlModel.status
+    function reload() { xmlModel.reload(); }
+    XmlListModel {
+        id: xmlModel
+
+        source: (from=="" && to=="" && phrase=="") ? "" :
+            'http://search.twitter.com/search.atom?from='+from+"&to="+to+"&phrase="+phrase
+
+        namespaceDeclarations: "declare default element namespace 'http://www.w3.org/2005/Atom'; " +
+                               "declare namespace twitter=\"http://api.twitter.com/\";";
+
+        query: "/feed/entry"
+
+        XmlRole { name: "statusText"; query: "content/string()" }
+        XmlRole { name: "timestamp"; query: "published/string()" }
+        XmlRole { name: "source"; query: "twitter:source/string()" }
+        XmlRole { name: "name"; query: "author/name/string()" }
+        XmlRole { name: "userImage"; query: "link[@rel = 'image']/@href/string()" }
+
+    }
+    Binding {
+        property: "mode"
+        target: wrapper
+        value: {if(wrapper.tags==''){"everyone";}else if(wrapper.tags=='my timeline'){"self";}else{"user";}}
+    }
+}
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/SearchView.qml b/demos/declarative/twitter/qml/twitter/TwitterCore/SearchView.qml
new file mode 100644
index 0000000..6e099ae
--- /dev/null
+++ b/demos/declarative/twitter/qml/twitter/TwitterCore/SearchView.qml
@@ -0,0 +1,124 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+FocusScope {
+    id: wrapper
+    Column {
+        anchors.centerIn: parent
+        spacing: 20
+        Column{
+            spacing: 4
+            Text {
+                text: "Posted by:"
+                font.pixelSize: 16; font.bold: true; color: "white"; style: Text.Raised; styleColor: "black"
+                horizontalAlignment: Qt.AlignRight
+            }
+            Input{
+                id: fromIn
+                KeyNavigation.backtab: searchbutton
+                KeyNavigation.tab:toIn
+                onAccepted:searchbutton.doSearch();
+                focus: true
+            }
+            Text {
+                text: "In reply to:"
+                font.pixelSize: 16; font.bold: true; color: "white"; style: Text.Raised; styleColor: "black"
+                horizontalAlignment: Qt.AlignRight
+            }
+            Input{
+                id: toIn
+                KeyNavigation.backtab: fromIn
+                KeyNavigation.tab:phraseIn
+                onAccepted:searchbutton.doSearch();
+            }
+            Text {
+                text: "Search phrase:"
+                font.pixelSize: 16; font.bold: true; color: "white"; style: Text.Raised; styleColor: "black"
+                horizontalAlignment: Qt.AlignRight
+            }
+            Input{
+                id: phraseIn
+                KeyNavigation.backtab: toIn
+                KeyNavigation.tab:searchbutton
+                onAccepted:searchbutton.doSearch();
+                text: "Qt Quick"
+            }
+        }
+        Button {
+            width: 100
+            height: 32
+            id: searchbutton
+            keyUsing: true;
+            opacity: 1
+            text: "Search"
+            KeyNavigation.tab: fromIn
+            Keys.onReturnPressed: searchbutton.doSearch();
+            Keys.onEnterPressed: searchbutton.doSearch();
+            Keys.onSelectPressed: searchbutton.doSearch();
+            Keys.onSpacePressed: searchbutton.doSearch();
+            onClicked: searchbutton.doSearch();
+
+            function doSearch() {
+                // Search ! allowed
+                if (wrapper.state=="invalidinput")
+                    return;
+
+                rssModel.from=fromIn.text;
+                rssModel.to= toIn.text;
+                rssModel.phrase = phraseIn.text;
+                screen.focus = true;
+                screen.state = ""
+            }
+        }
+    }
+    states:
+    State {
+        name: "invalidinput"
+        when: fromIn.text=="" && toIn.text=="" && phraseIn.text==""
+        PropertyChanges { target: searchbutton ; opacity: 0.6 ; }
+    }
+    transitions:
+    Transition {
+        NumberAnimation { target: searchbutton; property: "opacity"; duration: 200 }
+    }
+}
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/TitleBar.qml b/demos/declarative/twitter/qml/twitter/TwitterCore/TitleBar.qml
new file mode 100644
index 0000000..1a2f5d5
--- /dev/null
+++ b/demos/declarative/twitter/qml/twitter/TwitterCore/TitleBar.qml
@@ -0,0 +1,130 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: titleBar
+    property string untaggedString: "Uploads from everyone"
+    property string taggedString: "Recent uploads tagged "
+
+    BorderImage { source: "images/titlebar.sci"; width: parent.width; height: parent.height + 14; y: -7 }
+
+    Item {
+        id: container
+        width: (parent.width * 2) - 55 ; height: parent.height
+
+        function accept() {
+            titleBar.state = ""
+            background.state = ""
+            rssModel.tags = editor.text
+        }
+
+        Item {
+            id:imageBox
+            x: 6; width: 0; height: 50; smooth: true
+            anchors.verticalCenter: parent.verticalCenter
+
+            UserModel { user: rssModel.from; id: userModel }
+            Component {
+                id: imgDelegate;
+                Item {
+                    id:imageitem
+                    visible:true
+                    Loading { width:48; height:48; visible: realImage.status != Image.Ready }
+                    Image { id: realImage; source: image; width:48; height:48; opacity:0; }
+                    states:
+                        State {
+                        name: "loaded"
+                        when:  (realImage.status == Image.Ready)
+                        PropertyChanges { target: realImage; opacity:1 }
+                    }
+                    transitions: Transition {
+                        NumberAnimation { target: realImage; property: "opacity"; duration: 200 }
+                    }
+                }
+            }
+            ListView { id:view; model: userModel.model; x:1; y:1; delegate: imgDelegate }
+            states:
+            State {
+                when: !userModel.user==""
+                PropertyChanges { target: imageBox; width: 50; }
+            }
+            transitions:
+            Transition {
+                NumberAnimation { target: imageBox; property: "width"; duration: 200 }
+            }
+        }
+
+        Image {
+            id: quitButton
+            x: 5
+            anchors.verticalCenter: parent.verticalCenter
+            source: "images/quit.png"
+            MouseArea {
+                anchors.fill: parent
+                onClicked: Qt.quit()
+            }
+        }
+
+        Text {
+            id: categoryText
+            anchors {
+                left: quitButton.right; right: parent.right; leftMargin: 10; rightMargin: 10
+                verticalCenter: parent.verticalCenter
+            }
+            elide: Text.ElideLeft
+            text: (rssModel.from=="" ? untaggedString : taggedString + rssModel.from)
+            font.bold: true; color: "White"; style: Text.Raised; styleColor: "Black"
+            font.pixelSize: 12
+        }
+    }
+
+    states: State {
+        name: "Tags"
+        PropertyChanges { target: container; x: -tagButton.x + 5 }
+        PropertyChanges { target: editor; focus: true }
+    }
+
+    transitions: Transition {
+        NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad }
+    }
+}
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/ToolBar.qml b/demos/declarative/twitter/qml/twitter/TwitterCore/ToolBar.qml
new file mode 100644
index 0000000..b277517
--- /dev/null
+++ b/demos/declarative/twitter/qml/twitter/TwitterCore/ToolBar.qml
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: toolbar
+
+    property alias button1Label: button1.text
+    property alias button2Label: button2.text
+    signal button1Clicked
+    signal button2Clicked
+    focus:true
+    BorderImage { source: "images/titlebar.sci"; width: parent.width; height: parent.height + 14; y: -7 }
+    Button {
+        id: button1
+        anchors.left: parent.left; anchors.leftMargin: 5; y: 3; width: 140; height: 32
+        onClicked: toolbar.button1Clicked()
+        focus:true
+    }
+    Button {
+        id: button2
+        anchors.right: parent.right; anchors.rightMargin: 5; y: 3; width: 140; height: 32
+        onClicked: toolbar.button2Clicked()
+    }
+}
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/UserModel.qml b/demos/declarative/twitter/qml/twitter/TwitterCore/UserModel.qml
new file mode 100644
index 0000000..b87a083
--- /dev/null
+++ b/demos/declarative/twitter/qml/twitter/TwitterCore/UserModel.qml
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+//This "model" gets the user information about the searched user. Mainly for the icon.
+
+Item { id: wrapper
+    property variant model: xmlModel
+    property string user : ""
+    property int status: xmlModel.status
+    function reload() { xmlModel.reload(); }
+    XmlListModel {
+        id: xmlModel
+
+        source: user!= "" ? "http://twitter.com/users/show.xml?screen_name="+user : ""
+        query: "/user"
+
+        XmlRole { name: "name"; query: "name/string()" }
+        XmlRole { name: "screenName"; query: "screen_name/string()" }
+        XmlRole { name: "image"; query: "profile_image_url/string()" }
+        XmlRole { name: "location"; query: "location/string()" }
+        XmlRole { name: "description"; query: "description/string()" }
+        XmlRole { name: "followers"; query: "followers_count/string()" }
+        //TODO: Could also get the user's color scheme, timezone and a few other things
+    }
+}
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/images/gloss.png b/demos/declarative/twitter/qml/twitter/TwitterCore/images/gloss.png
new file mode 100644
index 0000000..5d370cd
Binary files /dev/null and b/demos/declarative/twitter/qml/twitter/TwitterCore/images/gloss.png differ
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/images/lineedit.png b/demos/declarative/twitter/qml/twitter/TwitterCore/images/lineedit.png
new file mode 100644
index 0000000..2cc38dc
Binary files /dev/null and b/demos/declarative/twitter/qml/twitter/TwitterCore/images/lineedit.png differ
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/images/lineedit.sci b/demos/declarative/twitter/qml/twitter/TwitterCore/images/lineedit.sci
new file mode 100644
index 0000000..054bff7
--- /dev/null
+++ b/demos/declarative/twitter/qml/twitter/TwitterCore/images/lineedit.sci
@@ -0,0 +1,5 @@
+border.left: 10
+border.top: 10
+border.bottom: 10
+border.right: 10
+source: lineedit.png
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/images/loading.png b/demos/declarative/twitter/qml/twitter/TwitterCore/images/loading.png
new file mode 100644
index 0000000..47a1589
Binary files /dev/null and b/demos/declarative/twitter/qml/twitter/TwitterCore/images/loading.png differ
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/images/quit.png b/demos/declarative/twitter/qml/twitter/TwitterCore/images/quit.png
new file mode 100644
index 0000000..5bda1b6
Binary files /dev/null and b/demos/declarative/twitter/qml/twitter/TwitterCore/images/quit.png differ
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/images/stripes.png b/demos/declarative/twitter/qml/twitter/TwitterCore/images/stripes.png
new file mode 100644
index 0000000..9f36727
Binary files /dev/null and b/demos/declarative/twitter/qml/twitter/TwitterCore/images/stripes.png differ
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/images/titlebar.png b/demos/declarative/twitter/qml/twitter/TwitterCore/images/titlebar.png
new file mode 100644
index 0000000..51c9008
Binary files /dev/null and b/demos/declarative/twitter/qml/twitter/TwitterCore/images/titlebar.png differ
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/images/titlebar.sci b/demos/declarative/twitter/qml/twitter/TwitterCore/images/titlebar.sci
new file mode 100644
index 0000000..0418d94
--- /dev/null
+++ b/demos/declarative/twitter/qml/twitter/TwitterCore/images/titlebar.sci
@@ -0,0 +1,5 @@
+border.left: 10
+border.top: 12
+border.bottom: 12
+border.right: 10
+source: titlebar.png
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/images/toolbutton.png b/demos/declarative/twitter/qml/twitter/TwitterCore/images/toolbutton.png
new file mode 100644
index 0000000..1131001
Binary files /dev/null and b/demos/declarative/twitter/qml/twitter/TwitterCore/images/toolbutton.png differ
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/images/toolbutton.sci b/demos/declarative/twitter/qml/twitter/TwitterCore/images/toolbutton.sci
new file mode 100644
index 0000000..9e4f965
--- /dev/null
+++ b/demos/declarative/twitter/qml/twitter/TwitterCore/images/toolbutton.sci
@@ -0,0 +1,5 @@
+border.left: 15
+border.top: 4
+border.bottom: 4
+border.right: 15
+source: toolbutton.png
diff --git a/demos/declarative/twitter/qml/twitter/TwitterCore/qmldir b/demos/declarative/twitter/qml/twitter/TwitterCore/qmldir
new file mode 100644
index 0000000..84d85c2
--- /dev/null
+++ b/demos/declarative/twitter/qml/twitter/TwitterCore/qmldir
@@ -0,0 +1,10 @@
+SearchView 1.0 SearchView.qml
+Button 1.0 Button.qml
+Input 1.0 Input.qml
+FatDelegate 1.0 FatDelegate.qml
+Loading 1.0 Loading.qml
+MultiTitleBar 1.0 MultiTitleBar.qml
+TitleBar 1.0 TitleBar.qml
+RssModel 1.0 RssModel.qml
+UserModel 1.0 UserModel.qml
+ToolBar 1.0 ToolBar.qml
diff --git a/demos/declarative/twitter/qml/twitter/twitter.qml b/demos/declarative/twitter/qml/twitter/twitter.qml
new file mode 100644
index 0000000..1700b5d
--- /dev/null
+++ b/demos/declarative/twitter/qml/twitter/twitter.qml
@@ -0,0 +1,134 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import "TwitterCore" 1.0 as Twitter
+
+Item {
+    id: screen; width: 320; height: 480
+    property bool userView : false
+    property variant tmpStr
+    function setUser(str){hack.running = true; tmpStr = str}
+    function reallySetUser(){rssModel.from = tmpStr;rssModel.to = ""; rssModel.phrase = ""}
+    state:"searchquery"
+    //Workaround for bug 260266
+    Timer{ interval: 1; running: false; repeat: false; onTriggered: screen.reallySetUser(); id:hack }
+    Keys.onEscapePressed: screen.state="searchquery"
+    Keys.onBacktabPressed: screen.state="searchquery"
+    Rectangle {
+        id: background
+        anchors.fill: parent; color: "#343434";
+
+        state:"searchquery"
+        Image { source: "TwitterCore/images/stripes.png"; fillMode: Image.Tile; anchors.fill: parent; opacity: 0.3 }
+
+        MouseArea {
+            anchors.fill: parent
+            onClicked: screen.focus = false;
+        }
+
+        Twitter.RssModel { id: rssModel }
+        Twitter.Loading { anchors.centerIn: parent; visible: rssModel.status==XmlListModel.Loading && state!='unauthed'}
+        Text {
+            width: 180
+            text: "Could not access twitter using this screen name and password pair.";
+            color: "#cccccc"; style: Text.Raised; styleColor: "black"; wrapMode: Text.WordWrap
+            visible: rssModel.status==XmlListModel.Error; anchors.centerIn: parent
+        }
+
+        Item {
+            id: views
+            x: 2; width: parent.width - 4
+            y:60 //Below the title bars
+            height: parent.height - 100
+
+            Text {
+                id:title
+                text: "Search Twitter"
+                anchors.horizontalCenter: parent.horizontalCenter
+                font.pixelSize: 20; font.bold: true; color: "#bbb"; style: Text.Raised; styleColor: "black"
+                opacity:0
+            }
+
+            Twitter.SearchView{
+                id: searchView
+                anchors.verticalCenter: parent.verticalCenter
+                width: parent.width; height: parent.height-60;
+                x: -(screen.width * 1.5)
+            }
+
+            Twitter.FatDelegate { id: fatDelegate }
+            ListView {
+                id: mainView; model: rssModel.model; delegate: fatDelegate;
+                width: parent.width; height: parent.height; x: 0; cacheBuffer: 100;
+            }
+        }
+
+        Twitter.MultiTitleBar { id: titleBar; width: parent.width }
+        Twitter.ToolBar { id: toolBar; height: 40;
+            //anchors.bottom: parent.bottom;
+            //TODO: Use anchor changes instead of hard coding
+            y: screen.height - 40
+            width: parent.width; opacity: 0.9
+            button1Label: "New Search"
+            button2Label: "Update"
+            onButton1Clicked:
+            {
+                screen.state="searchquery"
+            }
+            onButton2Clicked: rssModel.reload();
+        }
+    }
+    states: [
+        State {
+            name: "searchquery";
+            PropertyChanges { target: searchView; x: 0; focus:true}
+            PropertyChanges { target: mainView; x: -(parent.width * 1.5) }
+            PropertyChanges { target: titleBar; y: -80 }
+            PropertyChanges { target: toolBar; y: screen.height }
+            PropertyChanges { target: toolBar }
+            PropertyChanges { target: title; opacity:1}
+        }
+    ]
+    transitions: [
+        Transition { NumberAnimation { properties: "x,y,opacity"; duration: 500; easing.type: Easing.InOutQuad } }
+    ]
+}
diff --git a/demos/declarative/twitter/twitter.desktop b/demos/declarative/twitter/twitter.desktop
new file mode 100644
index 0000000..5d1b851
--- /dev/null
+++ b/demos/declarative/twitter/twitter.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=twitter
+Exec=/opt/twitter/bin/twitter
+Icon=twitter64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/demos/declarative/twitter/twitter.pro b/demos/declarative/twitter/twitter.pro
new file mode 100644
index 0000000..a45f338
--- /dev/null
+++ b/demos/declarative/twitter/twitter.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/twitter
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE77B03CA
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/demos/declarative/twitter/twitter.qml b/demos/declarative/twitter/twitter.qml
deleted file mode 100644
index 1700b5d..0000000
--- a/demos/declarative/twitter/twitter.qml
+++ /dev/null
@@ -1,134 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import "TwitterCore" 1.0 as Twitter
-
-Item {
-    id: screen; width: 320; height: 480
-    property bool userView : false
-    property variant tmpStr
-    function setUser(str){hack.running = true; tmpStr = str}
-    function reallySetUser(){rssModel.from = tmpStr;rssModel.to = ""; rssModel.phrase = ""}
-    state:"searchquery"
-    //Workaround for bug 260266
-    Timer{ interval: 1; running: false; repeat: false; onTriggered: screen.reallySetUser(); id:hack }
-    Keys.onEscapePressed: screen.state="searchquery"
-    Keys.onBacktabPressed: screen.state="searchquery"
-    Rectangle {
-        id: background
-        anchors.fill: parent; color: "#343434";
-
-        state:"searchquery"
-        Image { source: "TwitterCore/images/stripes.png"; fillMode: Image.Tile; anchors.fill: parent; opacity: 0.3 }
-
-        MouseArea {
-            anchors.fill: parent
-            onClicked: screen.focus = false;
-        }
-
-        Twitter.RssModel { id: rssModel }
-        Twitter.Loading { anchors.centerIn: parent; visible: rssModel.status==XmlListModel.Loading && state!='unauthed'}
-        Text {
-            width: 180
-            text: "Could not access twitter using this screen name and password pair.";
-            color: "#cccccc"; style: Text.Raised; styleColor: "black"; wrapMode: Text.WordWrap
-            visible: rssModel.status==XmlListModel.Error; anchors.centerIn: parent
-        }
-
-        Item {
-            id: views
-            x: 2; width: parent.width - 4
-            y:60 //Below the title bars
-            height: parent.height - 100
-
-            Text {
-                id:title
-                text: "Search Twitter"
-                anchors.horizontalCenter: parent.horizontalCenter
-                font.pixelSize: 20; font.bold: true; color: "#bbb"; style: Text.Raised; styleColor: "black"
-                opacity:0
-            }
-
-            Twitter.SearchView{
-                id: searchView
-                anchors.verticalCenter: parent.verticalCenter
-                width: parent.width; height: parent.height-60;
-                x: -(screen.width * 1.5)
-            }
-
-            Twitter.FatDelegate { id: fatDelegate }
-            ListView {
-                id: mainView; model: rssModel.model; delegate: fatDelegate;
-                width: parent.width; height: parent.height; x: 0; cacheBuffer: 100;
-            }
-        }
-
-        Twitter.MultiTitleBar { id: titleBar; width: parent.width }
-        Twitter.ToolBar { id: toolBar; height: 40;
-            //anchors.bottom: parent.bottom;
-            //TODO: Use anchor changes instead of hard coding
-            y: screen.height - 40
-            width: parent.width; opacity: 0.9
-            button1Label: "New Search"
-            button2Label: "Update"
-            onButton1Clicked:
-            {
-                screen.state="searchquery"
-            }
-            onButton2Clicked: rssModel.reload();
-        }
-    }
-    states: [
-        State {
-            name: "searchquery";
-            PropertyChanges { target: searchView; x: 0; focus:true}
-            PropertyChanges { target: mainView; x: -(parent.width * 1.5) }
-            PropertyChanges { target: titleBar; y: -80 }
-            PropertyChanges { target: toolBar; y: screen.height }
-            PropertyChanges { target: toolBar }
-            PropertyChanges { target: title; opacity:1}
-        }
-    ]
-    transitions: [
-        Transition { NumberAnimation { properties: "x,y,opacity"; duration: 500; easing.type: Easing.InOutQuad } }
-    ]
-}
diff --git a/demos/declarative/twitter/twitter.qmlproject b/demos/declarative/twitter/twitter.qmlproject
index d4909f8..3b360cf 100644
--- a/demos/declarative/twitter/twitter.qmlproject
+++ b/demos/declarative/twitter/twitter.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/twitter"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/twitter"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/twitter"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/demos/declarative/twitter/twitter.svg b/demos/declarative/twitter/twitter.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/demos/declarative/twitter/twitter.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/demos/declarative/twitter/twitter64.png b/demos/declarative/twitter/twitter64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/demos/declarative/twitter/twitter64.png differ
diff --git a/demos/declarative/twitter/twitter80.png b/demos/declarative/twitter/twitter80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/demos/declarative/twitter/twitter80.png differ
diff --git a/demos/declarative/twitter/twitter_harmattan.desktop b/demos/declarative/twitter/twitter_harmattan.desktop
new file mode 100644
index 0000000..40a4a1b
--- /dev/null
+++ b/demos/declarative/twitter/twitter_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=twitter
+Exec=/usr/bin/single-instance /opt/twitter/bin/twitter
+Icon=/usr/share/icons/hicolor/80x80/apps/twitter80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
-- 
cgit v0.12


From 967ab2bf41070dee942227988439875698f1e731 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:19 +0100
Subject: demos/declarative/webbrowser example modifications

Modified the example 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>
---
 demos/declarative/webbrowser/content/Button.qml    |  65 -------
 .../webbrowser/content/FlickableWebView.qml        | 195 ---------------------
 demos/declarative/webbrowser/content/Header.qml    | 150 ----------------
 demos/declarative/webbrowser/content/ScrollBar.qml | 107 -----------
 demos/declarative/webbrowser/content/UrlInput.qml  |  96 ----------
 .../webbrowser/content/pics/display.png            | Bin 998 -> 0 bytes
 .../webbrowser/content/pics/edit-delete.png        | Bin 831 -> 0 bytes
 .../content/pics/go-jump-locationbar.png           | Bin 408 -> 0 bytes
 .../webbrowser/content/pics/go-next-view.png       | Bin 1310 -> 0 bytes
 .../webbrowser/content/pics/go-previous-view.png   | Bin 1080 -> 0 bytes
 .../webbrowser/content/pics/scrollbar.png          | Bin 161 -> 0 bytes
 .../webbrowser/content/pics/titlebar-bg.png        | Bin 213 -> 0 bytes
 .../webbrowser/content/pics/view-refresh.png       | Bin 2182 -> 0 bytes
 demos/declarative/webbrowser/main.cpp              |  54 ++++++
 .../webbrowser/qml/webbrowser/content/Button.qml   |  65 +++++++
 .../qml/webbrowser/content/FlickableWebView.qml    | 195 +++++++++++++++++++++
 .../webbrowser/qml/webbrowser/content/Header.qml   | 150 ++++++++++++++++
 .../qml/webbrowser/content/ScrollBar.qml           | 107 +++++++++++
 .../webbrowser/qml/webbrowser/content/UrlInput.qml |  96 ++++++++++
 .../qml/webbrowser/content/pics/display.png        | Bin 0 -> 998 bytes
 .../qml/webbrowser/content/pics/edit-delete.png    | Bin 0 -> 831 bytes
 .../content/pics/go-jump-locationbar.png           | Bin 0 -> 408 bytes
 .../qml/webbrowser/content/pics/go-next-view.png   | Bin 0 -> 1310 bytes
 .../webbrowser/content/pics/go-previous-view.png   | Bin 0 -> 1080 bytes
 .../qml/webbrowser/content/pics/scrollbar.png      | Bin 0 -> 161 bytes
 .../qml/webbrowser/content/pics/titlebar-bg.png    | Bin 0 -> 213 bytes
 .../qml/webbrowser/content/pics/view-refresh.png   | Bin 0 -> 2182 bytes
 .../webbrowser/qml/webbrowser/webbrowser.qml       |  79 +++++++++
 demos/declarative/webbrowser/webbrowser.desktop    |  11 ++
 demos/declarative/webbrowser/webbrowser.pro        |  37 ++++
 demos/declarative/webbrowser/webbrowser.qml        |  79 ---------
 demos/declarative/webbrowser/webbrowser.qmlproject |   6 +-
 demos/declarative/webbrowser/webbrowser.svg        |  93 ++++++++++
 demos/declarative/webbrowser/webbrowser64.png      | Bin 0 -> 3400 bytes
 demos/declarative/webbrowser/webbrowser80.png      | Bin 0 -> 4945 bytes
 .../webbrowser/webbrowser_harmattan.desktop        |  11 ++
 36 files changed, 901 insertions(+), 695 deletions(-)
 delete mode 100644 demos/declarative/webbrowser/content/Button.qml
 delete mode 100644 demos/declarative/webbrowser/content/FlickableWebView.qml
 delete mode 100644 demos/declarative/webbrowser/content/Header.qml
 delete mode 100644 demos/declarative/webbrowser/content/ScrollBar.qml
 delete mode 100644 demos/declarative/webbrowser/content/UrlInput.qml
 delete mode 100644 demos/declarative/webbrowser/content/pics/display.png
 delete mode 100644 demos/declarative/webbrowser/content/pics/edit-delete.png
 delete mode 100644 demos/declarative/webbrowser/content/pics/go-jump-locationbar.png
 delete mode 100644 demos/declarative/webbrowser/content/pics/go-next-view.png
 delete mode 100644 demos/declarative/webbrowser/content/pics/go-previous-view.png
 delete mode 100644 demos/declarative/webbrowser/content/pics/scrollbar.png
 delete mode 100644 demos/declarative/webbrowser/content/pics/titlebar-bg.png
 delete mode 100644 demos/declarative/webbrowser/content/pics/view-refresh.png
 create mode 100644 demos/declarative/webbrowser/main.cpp
 create mode 100644 demos/declarative/webbrowser/qml/webbrowser/content/Button.qml
 create mode 100644 demos/declarative/webbrowser/qml/webbrowser/content/FlickableWebView.qml
 create mode 100644 demos/declarative/webbrowser/qml/webbrowser/content/Header.qml
 create mode 100644 demos/declarative/webbrowser/qml/webbrowser/content/ScrollBar.qml
 create mode 100644 demos/declarative/webbrowser/qml/webbrowser/content/UrlInput.qml
 create mode 100644 demos/declarative/webbrowser/qml/webbrowser/content/pics/display.png
 create mode 100644 demos/declarative/webbrowser/qml/webbrowser/content/pics/edit-delete.png
 create mode 100644 demos/declarative/webbrowser/qml/webbrowser/content/pics/go-jump-locationbar.png
 create mode 100644 demos/declarative/webbrowser/qml/webbrowser/content/pics/go-next-view.png
 create mode 100644 demos/declarative/webbrowser/qml/webbrowser/content/pics/go-previous-view.png
 create mode 100644 demos/declarative/webbrowser/qml/webbrowser/content/pics/scrollbar.png
 create mode 100644 demos/declarative/webbrowser/qml/webbrowser/content/pics/titlebar-bg.png
 create mode 100644 demos/declarative/webbrowser/qml/webbrowser/content/pics/view-refresh.png
 create mode 100644 demos/declarative/webbrowser/qml/webbrowser/webbrowser.qml
 create mode 100644 demos/declarative/webbrowser/webbrowser.desktop
 create mode 100644 demos/declarative/webbrowser/webbrowser.pro
 delete mode 100644 demos/declarative/webbrowser/webbrowser.qml
 create mode 100644 demos/declarative/webbrowser/webbrowser.svg
 create mode 100644 demos/declarative/webbrowser/webbrowser64.png
 create mode 100644 demos/declarative/webbrowser/webbrowser80.png
 create mode 100644 demos/declarative/webbrowser/webbrowser_harmattan.desktop

diff --git a/demos/declarative/webbrowser/content/Button.qml b/demos/declarative/webbrowser/content/Button.qml
deleted file mode 100644
index 93b82ec..0000000
--- a/demos/declarative/webbrowser/content/Button.qml
+++ /dev/null
@@ -1,65 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    property alias image: icon.source
-    property variant action
-
-    signal clicked
-
-    width: 40; height: parent.height
-
-    Image {
-        id: icon; anchors.centerIn: parent
-        opacity: if (action != undefined) { action.enabled ? 1.0 : 0.4 } else 1
-    }
-
-    MouseArea {
-        anchors { fill: parent; topMargin: -10; bottomMargin: -10 }
-        onClicked: {
-            if (action != undefined)
-                action.trigger()
-            parent.clicked()
-        }
-    }
-}
diff --git a/demos/declarative/webbrowser/content/FlickableWebView.qml b/demos/declarative/webbrowser/content/FlickableWebView.qml
deleted file mode 100644
index 018301a..0000000
--- a/demos/declarative/webbrowser/content/FlickableWebView.qml
+++ /dev/null
@@ -1,195 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import QtWebKit 1.0
-
-Flickable {
-    property alias title: webView.title
-    property alias icon: webView.icon
-    property alias progress: webView.progress
-    property alias url: webView.url
-    property alias back: webView.back
-    property alias stop: webView.stop
-    property alias reload: webView.reload
-    property alias forward: webView.forward
-
-    id: flickable
-    width: parent.width
-    contentWidth: Math.max(parent.width,webView.width)
-    contentHeight: Math.max(parent.height,webView.height)
-    anchors.top: headerSpace.bottom
-    anchors.bottom: parent.top
-    anchors.left: parent.left
-    anchors.right: parent.right
-    pressDelay: 200
-
-    onWidthChanged : {
-        // Expand (but not above 1:1) if otherwise would be smaller that available width.
-        if (width > webView.width*webView.contentsScale && webView.contentsScale < 1.0)
-            webView.contentsScale = width / webView.width * webView.contentsScale;
-    }
-
-    WebView {
-        id: webView
-        transformOrigin: Item.TopLeft
-
-        function fixUrl(url)
-        {
-            if (url == "") return url
-            if (url[0] == "/") return "file://"+url
-            if (url.indexOf(":")<0) {
-                if (url.indexOf(".")<0 || url.indexOf(" ")>=0) {
-                    // Fall back to a search engine; hard-code Wikipedia
-                    return "http://en.wikipedia.org/w/index.php?search="+url
-                } else {
-                    return "http://"+url
-                }
-            }
-            return url
-        }
-
-        url: fixUrl(webBrowser.urlString)
-        smooth: false // We don't want smooth scaling, since we only scale during (fast) transitions
-        focus: true
-
-        onAlert: console.log(message)
-
-        function doZoom(zoom,centerX,centerY)
-        {
-            if (centerX) {
-                var sc = zoom*contentsScale;
-                scaleAnim.to = sc;
-                flickVX.from = flickable.contentX
-                flickVX.to = Math.max(0,Math.min(centerX-flickable.width/2,webView.width*sc-flickable.width))
-                finalX.value = flickVX.to
-                flickVY.from = flickable.contentY
-                flickVY.to = Math.max(0,Math.min(centerY-flickable.height/2,webView.height*sc-flickable.height))
-                finalY.value = flickVY.to
-                quickZoom.start()
-            }
-        }
-
-        Keys.onLeftPressed: webView.contentsScale -= 0.1
-        Keys.onRightPressed: webView.contentsScale += 0.1
-
-        preferredWidth: flickable.width
-        preferredHeight: flickable.height
-        contentsScale: 1
-        onContentsSizeChanged: {
-            // zoom out
-            contentsScale = Math.min(1,flickable.width / contentsSize.width)
-        }
-        onUrlChanged: {
-            // got to topleft
-            flickable.contentX = 0
-            flickable.contentY = 0
-            if (url != null) { header.editUrl = url.toString(); }
-        }
-        onDoubleClick: {
-                        if (!heuristicZoom(clickX,clickY,2.5)) {
-                            var zf = flickable.width / contentsSize.width
-                            if (zf >= contentsScale)
-                                zf = 2.0*contentsScale // zoom in (else zooming out)
-                            doZoom(zf,clickX*zf,clickY*zf)
-                         }
-                       }
-
-        SequentialAnimation {
-            id: quickZoom
-
-            PropertyAction {
-                target: webView
-                property: "renderingEnabled"
-                value: false
-            }
-            ParallelAnimation {
-                NumberAnimation {
-                    id: scaleAnim
-                    target: webView
-                    property: "contentsScale"
-                    // the to property is set before calling
-                    easing.type: Easing.Linear
-                    duration: 200
-                }
-                NumberAnimation {
-                    id: flickVX
-                    target: flickable
-                    property: "contentX"
-                    easing.type: Easing.Linear
-                    duration: 200
-                    from: 0 // set before calling
-                    to: 0 // set before calling
-                }
-                NumberAnimation {
-                    id: flickVY
-                    target: flickable
-                    property: "contentY"
-                    easing.type: Easing.Linear
-                    duration: 200
-                    from: 0 // set before calling
-                    to: 0 // set before calling
-                }
-            }
-            // Have to set the contentXY, since the above 2
-            // size changes may have started a correction if
-            // contentsScale < 1.0.
-            PropertyAction {
-                id: finalX
-                target: flickable
-                property: "contentX"
-                value: 0 // set before calling
-            }
-            PropertyAction {
-                id: finalY
-                target: flickable
-                property: "contentY"
-                value: 0 // set before calling
-            }
-            PropertyAction {
-                target: webView
-                property: "renderingEnabled"
-                value: true
-            }
-        }
-        onZoomTo: doZoom(zoom,centerX,centerY)
-    }
-}
diff --git a/demos/declarative/webbrowser/content/Header.qml b/demos/declarative/webbrowser/content/Header.qml
deleted file mode 100644
index 35ac809..0000000
--- a/demos/declarative/webbrowser/content/Header.qml
+++ /dev/null
@@ -1,150 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Image {
-    id: header
-
-    property alias editUrl: urlInput.url
-    property bool urlChanged: false
-
-    source: "pics/titlebar-bg.png"; fillMode: Image.TileHorizontally
-
-    x: webView.contentX < 0 ? -webView.contentX : webView.contentX > webView.contentWidth-webView.width
-       ? -webView.contentX+webView.contentWidth-webView.width : 0
-    y: {
-        if (webView.progress < 1.0)
-            return 0;
-        else {
-            webView.contentY < 0 ? -webView.contentY : webView.contentY > height ? -height : -webView.contentY
-        }
-    }
-    Column {
-        width: parent.width
-
-        Item {
-            width: parent.width; height: 20
-            Text {
-                anchors.centerIn: parent
-                text: webView.title; font.pixelSize: 14; font.bold: true
-                color: "white"; styleColor: "black"; style: Text.Sunken
-            }
-        }
-
-        Item {
-            width: parent.width; height: 40
-
-            Button {
-                id: backButton
-                action: webView.back; image: "pics/go-previous-view.png"
-                anchors { left: parent.left; bottom: parent.bottom }
-            }
-
-            Button {
-                id: nextButton
-                anchors.left: backButton.right
-                action: webView.forward; image: "pics/go-next-view.png"
-            }
-
-            UrlInput {
-                id: urlInput
-                anchors { left: nextButton.right; right: reloadButton.left }
-                image: "pics/display.png"
-                onUrlEntered: {
-                    webBrowser.urlString = url
-                    webBrowser.focus = true
-                    header.urlChanged = false
-                }
-                onUrlChanged: header.urlChanged = true
-            }
-
-            Button {
-                id: reloadButton
-                anchors { right: quitButton.left; rightMargin: 10 }
-                action: webView.reload; image: "pics/view-refresh.png"
-                visible: webView.progress == 1.0 && !header.urlChanged
-            }
-            Text {
-                id: quitButton
-                color: "white"
-                style: Text.Sunken
-                anchors.right: parent.right
-                anchors.top: parent.top
-                anchors.bottom: parent.bottom
-                verticalAlignment: Text.AlignVCenter
-                horizontalAlignment: Text.AlignHCenter
-                font.pixelSize: 18
-                width: 60
-                text: "Quit"
-                MouseArea {
-                    anchors.fill: parent
-                    onClicked: Qt.quit()
-                }
-                Rectangle {
-                    width: 1
-                    y: 5
-                    height: parent.height-10
-                    anchors.right: parent.left
-                    color: "darkgray"
-                }
-            }
-
-            Button {
-                id: stopButton
-                anchors { right: quitButton.left; rightMargin: 10 }
-                action: webView.stop; image: "pics/edit-delete.png"
-                visible: webView.progress < 1.0 && !header.urlChanged
-            }
-
-            Button {
-                id: goButton
-                anchors { right: parent.right; rightMargin: 4 }
-                onClicked: {
-                    webBrowser.urlString = urlInput.url
-                    webBrowser.focus = true
-                    header.urlChanged = false
-                }
-                image: "pics/go-jump-locationbar.png"; visible: header.urlChanged
-            }
-        }
-    }
-}
diff --git a/demos/declarative/webbrowser/content/ScrollBar.qml b/demos/declarative/webbrowser/content/ScrollBar.qml
deleted file mode 100644
index 3aee68a..0000000
--- a/demos/declarative/webbrowser/content/ScrollBar.qml
+++ /dev/null
@@ -1,107 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: container
-
-    property variant scrollArea
-    property variant orientation: Qt.Vertical
-
-    opacity: 0
-
-    function position()
-    {
-        var ny = 0;
-        if (container.orientation == Qt.Vertical)
-            ny = scrollArea.visibleArea.yPosition * container.height;
-        else
-            ny = scrollArea.visibleArea.xPosition * container.width;
-        if (ny > 2) return ny; else return 2;
-    }
-
-    function size()
-    {
-        var nh, ny;
-
-        if (container.orientation == Qt.Vertical)
-            nh = scrollArea.visibleArea.heightRatio * container.height;
-        else
-            nh = scrollArea.visibleArea.widthRatio * container.width;
-
-        if (container.orientation == Qt.Vertical)
-            ny = scrollArea.visibleArea.yPosition * container.height;
-        else
-            ny = scrollArea.visibleArea.xPosition * container.width;
-
-        if (ny > 3) {
-            var t;
-            if (container.orientation == Qt.Vertical)
-                t = Math.ceil(container.height - 3 - ny);
-            else
-                t = Math.ceil(container.width - 3 - ny);
-            if (nh > t) return t; else return nh;
-        } else return nh + ny;
-    }
-
-    Rectangle { anchors.fill: parent; color: "Black"; opacity: 0.5 }
-
-    BorderImage {
-        source: "pics/scrollbar.png"
-        border { left: 1; right: 1; top: 1; bottom: 1 }
-        x: container.orientation == Qt.Vertical ? 2 : position()
-        width: container.orientation == Qt.Vertical ? container.width - 4 : size()
-        y: container.orientation == Qt.Vertical ? position() : 2
-        height: container.orientation == Qt.Vertical ? size() : container.height - 4
-    }
-
-    states: State {
-        name: "visible"
-        when: container.orientation == Qt.Vertical ? scrollArea.movingVertically : scrollArea.movingHorizontally
-        PropertyChanges { target: container; opacity: 1.0 }
-    }
-
-    transitions: Transition {
-        from: "visible"; to: ""
-        NumberAnimation { properties: "opacity"; duration: 600 }
-    }
-}
diff --git a/demos/declarative/webbrowser/content/UrlInput.qml b/demos/declarative/webbrowser/content/UrlInput.qml
deleted file mode 100644
index 99fb7bd..0000000
--- a/demos/declarative/webbrowser/content/UrlInput.qml
+++ /dev/null
@@ -1,96 +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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Item {
-    id: container
-
-    property alias image: bg.source
-    property alias url: urlText.text
-
-    signal urlEntered(string url)
-    signal urlChanged
-
-    width: parent.height; height: parent.height
-
-    BorderImage {
-        id: bg; rotation: 180
-        x: 8; width: parent.width - 16; height: 30;
-        anchors.verticalCenter: parent.verticalCenter
-        border { left: 10; top: 10; right: 10; bottom: 10 }
-    }
-
-    Rectangle {
-        anchors.bottom: bg.bottom
-        x: 18; height: 4; color: "#63b1ed"
-        width: (bg.width - 20) * webView.progress
-        opacity: webView.progress == 1.0 ? 0.0 : 1.0
-    }
-
-    TextInput {
-        id: urlText
-        horizontalAlignment: TextEdit.AlignLeft
-        font.pixelSize: 14;
-
-        onTextChanged: container.urlChanged()
-
-        Keys.onEscapePressed: {
-            urlText.text = webView.url
-            webView.focus = true
-        }
-
-        Keys.onEnterPressed: {
-            container.urlEntered(urlText.text)
-            webView.focus = true
-        }
-
-        Keys.onReturnPressed: {
-            container.urlEntered(urlText.text)
-            webView.focus = true
-        }
-
-        anchors {
-            left: parent.left; right: parent.right; leftMargin: 18; rightMargin: 18
-            verticalCenter: parent.verticalCenter
-        }
-    }
-}
diff --git a/demos/declarative/webbrowser/content/pics/display.png b/demos/declarative/webbrowser/content/pics/display.png
deleted file mode 100644
index 9507f43..0000000
Binary files a/demos/declarative/webbrowser/content/pics/display.png and /dev/null differ
diff --git a/demos/declarative/webbrowser/content/pics/edit-delete.png b/demos/declarative/webbrowser/content/pics/edit-delete.png
deleted file mode 100644
index df2a147..0000000
Binary files a/demos/declarative/webbrowser/content/pics/edit-delete.png and /dev/null differ
diff --git a/demos/declarative/webbrowser/content/pics/go-jump-locationbar.png b/demos/declarative/webbrowser/content/pics/go-jump-locationbar.png
deleted file mode 100644
index 61f779c..0000000
Binary files a/demos/declarative/webbrowser/content/pics/go-jump-locationbar.png and /dev/null differ
diff --git a/demos/declarative/webbrowser/content/pics/go-next-view.png b/demos/declarative/webbrowser/content/pics/go-next-view.png
deleted file mode 100644
index a585cab..0000000
Binary files a/demos/declarative/webbrowser/content/pics/go-next-view.png and /dev/null differ
diff --git a/demos/declarative/webbrowser/content/pics/go-previous-view.png b/demos/declarative/webbrowser/content/pics/go-previous-view.png
deleted file mode 100644
index 612fb34..0000000
Binary files a/demos/declarative/webbrowser/content/pics/go-previous-view.png and /dev/null differ
diff --git a/demos/declarative/webbrowser/content/pics/scrollbar.png b/demos/declarative/webbrowser/content/pics/scrollbar.png
deleted file mode 100644
index 0228dcf..0000000
Binary files a/demos/declarative/webbrowser/content/pics/scrollbar.png and /dev/null differ
diff --git a/demos/declarative/webbrowser/content/pics/titlebar-bg.png b/demos/declarative/webbrowser/content/pics/titlebar-bg.png
deleted file mode 100644
index 06961e8..0000000
Binary files a/demos/declarative/webbrowser/content/pics/titlebar-bg.png and /dev/null differ
diff --git a/demos/declarative/webbrowser/content/pics/view-refresh.png b/demos/declarative/webbrowser/content/pics/view-refresh.png
deleted file mode 100644
index afa2a9d..0000000
Binary files a/demos/declarative/webbrowser/content/pics/view-refresh.png and /dev/null differ
diff --git a/demos/declarative/webbrowser/main.cpp b/demos/declarative/webbrowser/main.cpp
new file mode 100644
index 0000000..5b98810
--- /dev/null
+++ b/demos/declarative/webbrowser/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+#include "qmlapplicationviewer.h"
+#include <QtGui/QApplication>
+
+Q_DECL_EXPORT int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QmlApplicationViewer viewer;
+    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
+    viewer.setMainQmlFile(QLatin1String("qml/webbrowser/webbrowser.qml"));
+    viewer.showExpanded();
+
+    return app.exec();
+}
diff --git a/demos/declarative/webbrowser/qml/webbrowser/content/Button.qml b/demos/declarative/webbrowser/qml/webbrowser/content/Button.qml
new file mode 100644
index 0000000..93b82ec
--- /dev/null
+++ b/demos/declarative/webbrowser/qml/webbrowser/content/Button.qml
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    property alias image: icon.source
+    property variant action
+
+    signal clicked
+
+    width: 40; height: parent.height
+
+    Image {
+        id: icon; anchors.centerIn: parent
+        opacity: if (action != undefined) { action.enabled ? 1.0 : 0.4 } else 1
+    }
+
+    MouseArea {
+        anchors { fill: parent; topMargin: -10; bottomMargin: -10 }
+        onClicked: {
+            if (action != undefined)
+                action.trigger()
+            parent.clicked()
+        }
+    }
+}
diff --git a/demos/declarative/webbrowser/qml/webbrowser/content/FlickableWebView.qml b/demos/declarative/webbrowser/qml/webbrowser/content/FlickableWebView.qml
new file mode 100644
index 0000000..018301a
--- /dev/null
+++ b/demos/declarative/webbrowser/qml/webbrowser/content/FlickableWebView.qml
@@ -0,0 +1,195 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import QtWebKit 1.0
+
+Flickable {
+    property alias title: webView.title
+    property alias icon: webView.icon
+    property alias progress: webView.progress
+    property alias url: webView.url
+    property alias back: webView.back
+    property alias stop: webView.stop
+    property alias reload: webView.reload
+    property alias forward: webView.forward
+
+    id: flickable
+    width: parent.width
+    contentWidth: Math.max(parent.width,webView.width)
+    contentHeight: Math.max(parent.height,webView.height)
+    anchors.top: headerSpace.bottom
+    anchors.bottom: parent.top
+    anchors.left: parent.left
+    anchors.right: parent.right
+    pressDelay: 200
+
+    onWidthChanged : {
+        // Expand (but not above 1:1) if otherwise would be smaller that available width.
+        if (width > webView.width*webView.contentsScale && webView.contentsScale < 1.0)
+            webView.contentsScale = width / webView.width * webView.contentsScale;
+    }
+
+    WebView {
+        id: webView
+        transformOrigin: Item.TopLeft
+
+        function fixUrl(url)
+        {
+            if (url == "") return url
+            if (url[0] == "/") return "file://"+url
+            if (url.indexOf(":")<0) {
+                if (url.indexOf(".")<0 || url.indexOf(" ")>=0) {
+                    // Fall back to a search engine; hard-code Wikipedia
+                    return "http://en.wikipedia.org/w/index.php?search="+url
+                } else {
+                    return "http://"+url
+                }
+            }
+            return url
+        }
+
+        url: fixUrl(webBrowser.urlString)
+        smooth: false // We don't want smooth scaling, since we only scale during (fast) transitions
+        focus: true
+
+        onAlert: console.log(message)
+
+        function doZoom(zoom,centerX,centerY)
+        {
+            if (centerX) {
+                var sc = zoom*contentsScale;
+                scaleAnim.to = sc;
+                flickVX.from = flickable.contentX
+                flickVX.to = Math.max(0,Math.min(centerX-flickable.width/2,webView.width*sc-flickable.width))
+                finalX.value = flickVX.to
+                flickVY.from = flickable.contentY
+                flickVY.to = Math.max(0,Math.min(centerY-flickable.height/2,webView.height*sc-flickable.height))
+                finalY.value = flickVY.to
+                quickZoom.start()
+            }
+        }
+
+        Keys.onLeftPressed: webView.contentsScale -= 0.1
+        Keys.onRightPressed: webView.contentsScale += 0.1
+
+        preferredWidth: flickable.width
+        preferredHeight: flickable.height
+        contentsScale: 1
+        onContentsSizeChanged: {
+            // zoom out
+            contentsScale = Math.min(1,flickable.width / contentsSize.width)
+        }
+        onUrlChanged: {
+            // got to topleft
+            flickable.contentX = 0
+            flickable.contentY = 0
+            if (url != null) { header.editUrl = url.toString(); }
+        }
+        onDoubleClick: {
+                        if (!heuristicZoom(clickX,clickY,2.5)) {
+                            var zf = flickable.width / contentsSize.width
+                            if (zf >= contentsScale)
+                                zf = 2.0*contentsScale // zoom in (else zooming out)
+                            doZoom(zf,clickX*zf,clickY*zf)
+                         }
+                       }
+
+        SequentialAnimation {
+            id: quickZoom
+
+            PropertyAction {
+                target: webView
+                property: "renderingEnabled"
+                value: false
+            }
+            ParallelAnimation {
+                NumberAnimation {
+                    id: scaleAnim
+                    target: webView
+                    property: "contentsScale"
+                    // the to property is set before calling
+                    easing.type: Easing.Linear
+                    duration: 200
+                }
+                NumberAnimation {
+                    id: flickVX
+                    target: flickable
+                    property: "contentX"
+                    easing.type: Easing.Linear
+                    duration: 200
+                    from: 0 // set before calling
+                    to: 0 // set before calling
+                }
+                NumberAnimation {
+                    id: flickVY
+                    target: flickable
+                    property: "contentY"
+                    easing.type: Easing.Linear
+                    duration: 200
+                    from: 0 // set before calling
+                    to: 0 // set before calling
+                }
+            }
+            // Have to set the contentXY, since the above 2
+            // size changes may have started a correction if
+            // contentsScale < 1.0.
+            PropertyAction {
+                id: finalX
+                target: flickable
+                property: "contentX"
+                value: 0 // set before calling
+            }
+            PropertyAction {
+                id: finalY
+                target: flickable
+                property: "contentY"
+                value: 0 // set before calling
+            }
+            PropertyAction {
+                target: webView
+                property: "renderingEnabled"
+                value: true
+            }
+        }
+        onZoomTo: doZoom(zoom,centerX,centerY)
+    }
+}
diff --git a/demos/declarative/webbrowser/qml/webbrowser/content/Header.qml b/demos/declarative/webbrowser/qml/webbrowser/content/Header.qml
new file mode 100644
index 0000000..35ac809
--- /dev/null
+++ b/demos/declarative/webbrowser/qml/webbrowser/content/Header.qml
@@ -0,0 +1,150 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Image {
+    id: header
+
+    property alias editUrl: urlInput.url
+    property bool urlChanged: false
+
+    source: "pics/titlebar-bg.png"; fillMode: Image.TileHorizontally
+
+    x: webView.contentX < 0 ? -webView.contentX : webView.contentX > webView.contentWidth-webView.width
+       ? -webView.contentX+webView.contentWidth-webView.width : 0
+    y: {
+        if (webView.progress < 1.0)
+            return 0;
+        else {
+            webView.contentY < 0 ? -webView.contentY : webView.contentY > height ? -height : -webView.contentY
+        }
+    }
+    Column {
+        width: parent.width
+
+        Item {
+            width: parent.width; height: 20
+            Text {
+                anchors.centerIn: parent
+                text: webView.title; font.pixelSize: 14; font.bold: true
+                color: "white"; styleColor: "black"; style: Text.Sunken
+            }
+        }
+
+        Item {
+            width: parent.width; height: 40
+
+            Button {
+                id: backButton
+                action: webView.back; image: "pics/go-previous-view.png"
+                anchors { left: parent.left; bottom: parent.bottom }
+            }
+
+            Button {
+                id: nextButton
+                anchors.left: backButton.right
+                action: webView.forward; image: "pics/go-next-view.png"
+            }
+
+            UrlInput {
+                id: urlInput
+                anchors { left: nextButton.right; right: reloadButton.left }
+                image: "pics/display.png"
+                onUrlEntered: {
+                    webBrowser.urlString = url
+                    webBrowser.focus = true
+                    header.urlChanged = false
+                }
+                onUrlChanged: header.urlChanged = true
+            }
+
+            Button {
+                id: reloadButton
+                anchors { right: quitButton.left; rightMargin: 10 }
+                action: webView.reload; image: "pics/view-refresh.png"
+                visible: webView.progress == 1.0 && !header.urlChanged
+            }
+            Text {
+                id: quitButton
+                color: "white"
+                style: Text.Sunken
+                anchors.right: parent.right
+                anchors.top: parent.top
+                anchors.bottom: parent.bottom
+                verticalAlignment: Text.AlignVCenter
+                horizontalAlignment: Text.AlignHCenter
+                font.pixelSize: 18
+                width: 60
+                text: "Quit"
+                MouseArea {
+                    anchors.fill: parent
+                    onClicked: Qt.quit()
+                }
+                Rectangle {
+                    width: 1
+                    y: 5
+                    height: parent.height-10
+                    anchors.right: parent.left
+                    color: "darkgray"
+                }
+            }
+
+            Button {
+                id: stopButton
+                anchors { right: quitButton.left; rightMargin: 10 }
+                action: webView.stop; image: "pics/edit-delete.png"
+                visible: webView.progress < 1.0 && !header.urlChanged
+            }
+
+            Button {
+                id: goButton
+                anchors { right: parent.right; rightMargin: 4 }
+                onClicked: {
+                    webBrowser.urlString = urlInput.url
+                    webBrowser.focus = true
+                    header.urlChanged = false
+                }
+                image: "pics/go-jump-locationbar.png"; visible: header.urlChanged
+            }
+        }
+    }
+}
diff --git a/demos/declarative/webbrowser/qml/webbrowser/content/ScrollBar.qml b/demos/declarative/webbrowser/qml/webbrowser/content/ScrollBar.qml
new file mode 100644
index 0000000..3aee68a
--- /dev/null
+++ b/demos/declarative/webbrowser/qml/webbrowser/content/ScrollBar.qml
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: container
+
+    property variant scrollArea
+    property variant orientation: Qt.Vertical
+
+    opacity: 0
+
+    function position()
+    {
+        var ny = 0;
+        if (container.orientation == Qt.Vertical)
+            ny = scrollArea.visibleArea.yPosition * container.height;
+        else
+            ny = scrollArea.visibleArea.xPosition * container.width;
+        if (ny > 2) return ny; else return 2;
+    }
+
+    function size()
+    {
+        var nh, ny;
+
+        if (container.orientation == Qt.Vertical)
+            nh = scrollArea.visibleArea.heightRatio * container.height;
+        else
+            nh = scrollArea.visibleArea.widthRatio * container.width;
+
+        if (container.orientation == Qt.Vertical)
+            ny = scrollArea.visibleArea.yPosition * container.height;
+        else
+            ny = scrollArea.visibleArea.xPosition * container.width;
+
+        if (ny > 3) {
+            var t;
+            if (container.orientation == Qt.Vertical)
+                t = Math.ceil(container.height - 3 - ny);
+            else
+                t = Math.ceil(container.width - 3 - ny);
+            if (nh > t) return t; else return nh;
+        } else return nh + ny;
+    }
+
+    Rectangle { anchors.fill: parent; color: "Black"; opacity: 0.5 }
+
+    BorderImage {
+        source: "pics/scrollbar.png"
+        border { left: 1; right: 1; top: 1; bottom: 1 }
+        x: container.orientation == Qt.Vertical ? 2 : position()
+        width: container.orientation == Qt.Vertical ? container.width - 4 : size()
+        y: container.orientation == Qt.Vertical ? position() : 2
+        height: container.orientation == Qt.Vertical ? size() : container.height - 4
+    }
+
+    states: State {
+        name: "visible"
+        when: container.orientation == Qt.Vertical ? scrollArea.movingVertically : scrollArea.movingHorizontally
+        PropertyChanges { target: container; opacity: 1.0 }
+    }
+
+    transitions: Transition {
+        from: "visible"; to: ""
+        NumberAnimation { properties: "opacity"; duration: 600 }
+    }
+}
diff --git a/demos/declarative/webbrowser/qml/webbrowser/content/UrlInput.qml b/demos/declarative/webbrowser/qml/webbrowser/content/UrlInput.qml
new file mode 100644
index 0000000..99fb7bd
--- /dev/null
+++ b/demos/declarative/webbrowser/qml/webbrowser/content/UrlInput.qml
@@ -0,0 +1,96 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+    id: container
+
+    property alias image: bg.source
+    property alias url: urlText.text
+
+    signal urlEntered(string url)
+    signal urlChanged
+
+    width: parent.height; height: parent.height
+
+    BorderImage {
+        id: bg; rotation: 180
+        x: 8; width: parent.width - 16; height: 30;
+        anchors.verticalCenter: parent.verticalCenter
+        border { left: 10; top: 10; right: 10; bottom: 10 }
+    }
+
+    Rectangle {
+        anchors.bottom: bg.bottom
+        x: 18; height: 4; color: "#63b1ed"
+        width: (bg.width - 20) * webView.progress
+        opacity: webView.progress == 1.0 ? 0.0 : 1.0
+    }
+
+    TextInput {
+        id: urlText
+        horizontalAlignment: TextEdit.AlignLeft
+        font.pixelSize: 14;
+
+        onTextChanged: container.urlChanged()
+
+        Keys.onEscapePressed: {
+            urlText.text = webView.url
+            webView.focus = true
+        }
+
+        Keys.onEnterPressed: {
+            container.urlEntered(urlText.text)
+            webView.focus = true
+        }
+
+        Keys.onReturnPressed: {
+            container.urlEntered(urlText.text)
+            webView.focus = true
+        }
+
+        anchors {
+            left: parent.left; right: parent.right; leftMargin: 18; rightMargin: 18
+            verticalCenter: parent.verticalCenter
+        }
+    }
+}
diff --git a/demos/declarative/webbrowser/qml/webbrowser/content/pics/display.png b/demos/declarative/webbrowser/qml/webbrowser/content/pics/display.png
new file mode 100644
index 0000000..9507f43
Binary files /dev/null and b/demos/declarative/webbrowser/qml/webbrowser/content/pics/display.png differ
diff --git a/demos/declarative/webbrowser/qml/webbrowser/content/pics/edit-delete.png b/demos/declarative/webbrowser/qml/webbrowser/content/pics/edit-delete.png
new file mode 100644
index 0000000..df2a147
Binary files /dev/null and b/demos/declarative/webbrowser/qml/webbrowser/content/pics/edit-delete.png differ
diff --git a/demos/declarative/webbrowser/qml/webbrowser/content/pics/go-jump-locationbar.png b/demos/declarative/webbrowser/qml/webbrowser/content/pics/go-jump-locationbar.png
new file mode 100644
index 0000000..61f779c
Binary files /dev/null and b/demos/declarative/webbrowser/qml/webbrowser/content/pics/go-jump-locationbar.png differ
diff --git a/demos/declarative/webbrowser/qml/webbrowser/content/pics/go-next-view.png b/demos/declarative/webbrowser/qml/webbrowser/content/pics/go-next-view.png
new file mode 100644
index 0000000..a585cab
Binary files /dev/null and b/demos/declarative/webbrowser/qml/webbrowser/content/pics/go-next-view.png differ
diff --git a/demos/declarative/webbrowser/qml/webbrowser/content/pics/go-previous-view.png b/demos/declarative/webbrowser/qml/webbrowser/content/pics/go-previous-view.png
new file mode 100644
index 0000000..612fb34
Binary files /dev/null and b/demos/declarative/webbrowser/qml/webbrowser/content/pics/go-previous-view.png differ
diff --git a/demos/declarative/webbrowser/qml/webbrowser/content/pics/scrollbar.png b/demos/declarative/webbrowser/qml/webbrowser/content/pics/scrollbar.png
new file mode 100644
index 0000000..0228dcf
Binary files /dev/null and b/demos/declarative/webbrowser/qml/webbrowser/content/pics/scrollbar.png differ
diff --git a/demos/declarative/webbrowser/qml/webbrowser/content/pics/titlebar-bg.png b/demos/declarative/webbrowser/qml/webbrowser/content/pics/titlebar-bg.png
new file mode 100644
index 0000000..06961e8
Binary files /dev/null and b/demos/declarative/webbrowser/qml/webbrowser/content/pics/titlebar-bg.png differ
diff --git a/demos/declarative/webbrowser/qml/webbrowser/content/pics/view-refresh.png b/demos/declarative/webbrowser/qml/webbrowser/content/pics/view-refresh.png
new file mode 100644
index 0000000..afa2a9d
Binary files /dev/null and b/demos/declarative/webbrowser/qml/webbrowser/content/pics/view-refresh.png differ
diff --git a/demos/declarative/webbrowser/qml/webbrowser/webbrowser.qml b/demos/declarative/webbrowser/qml/webbrowser/webbrowser.qml
new file mode 100644
index 0000000..2408851
--- /dev/null
+++ b/demos/declarative/webbrowser/qml/webbrowser/webbrowser.qml
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** 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 QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.1, 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import QtWebKit 1.0
+
+import "content"
+
+Rectangle {
+    id: webBrowser
+
+    property string urlString : "http://www.nokia.com/"
+
+    width: 800; height: 600
+    color: "#343434"
+
+    FlickableWebView {
+        id: webView
+        url: webBrowser.urlString
+        onProgressChanged: header.urlChanged = false
+        anchors { top: headerSpace.bottom; left: parent.left; right: parent.right; bottom: parent.bottom }
+    }
+
+    Item { id: headerSpace; width: parent.width; height: 62 }
+
+    Header {
+        id: header
+        editUrl: webBrowser.urlString
+        width: headerSpace.width; height: headerSpace.height
+    }
+
+    ScrollBar {
+        scrollArea: webView; width: 8
+        anchors { right: parent.right; top: header.bottom; bottom: parent.bottom }
+    }
+
+    ScrollBar {
+        scrollArea: webView; height: 8; orientation: Qt.Horizontal
+        anchors { right: parent.right; rightMargin: 8; left: parent.left; bottom: parent.bottom }
+    }
+}
diff --git a/demos/declarative/webbrowser/webbrowser.desktop b/demos/declarative/webbrowser/webbrowser.desktop
new file mode 100644
index 0000000..1a7e4f2
--- /dev/null
+++ b/demos/declarative/webbrowser/webbrowser.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=webbrowser
+Exec=/opt/webbrowser/bin/webbrowser
+Icon=webbrowser64
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
diff --git a/demos/declarative/webbrowser/webbrowser.pro b/demos/declarative/webbrowser/webbrowser.pro
new file mode 100644
index 0000000..2a7bdbd
--- /dev/null
+++ b/demos/declarative/webbrowser/webbrowser.pro
@@ -0,0 +1,37 @@
+# Add more folders to ship with the application, here
+folder_01.source = qml/webbrowser
+folder_01.target = qml
+DEPLOYMENTFOLDERS = folder_01
+
+# Additional import path used to resolve QML modules in Creator's code model
+QML_IMPORT_PATH =
+
+symbian:TARGET.UID3 = 0xE8ECBC65
+
+# Smart Installer package's UID
+# This UID is from the protected range and therefore the package will
+# fail to install if self-signed. By default qmake uses the unprotected
+# range value if unprotected UID is defined for the application and
+# 0x2002CCCF value if protected UID is given to the application
+#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
+
+# Allow network access on Symbian
+symbian:TARGET.CAPABILITY += NetworkServices
+
+# If your application uses the Qt Mobility libraries, uncomment the following
+# lines and add the respective components to the MOBILITY variable.
+# CONFIG += mobility
+# MOBILITY +=
+
+# Speed up launching on MeeGo/Harmattan when using applauncherd daemon
+# CONFIG += qdeclarative-boostable
+
+# Add dependency to Symbian components
+# CONFIG += qt-components
+
+# The .cpp file which was generated for your project. Feel free to hack it.
+SOURCES += main.cpp
+
+# Please do not modify the following two lines. Required for deployment.
+include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+qtcAddDeployment()
diff --git a/demos/declarative/webbrowser/webbrowser.qml b/demos/declarative/webbrowser/webbrowser.qml
deleted file mode 100644
index 2408851..0000000
--- a/demos/declarative/webbrowser/webbrowser.qml
+++ /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 QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.1, 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import QtWebKit 1.0
-
-import "content"
-
-Rectangle {
-    id: webBrowser
-
-    property string urlString : "http://www.nokia.com/"
-
-    width: 800; height: 600
-    color: "#343434"
-
-    FlickableWebView {
-        id: webView
-        url: webBrowser.urlString
-        onProgressChanged: header.urlChanged = false
-        anchors { top: headerSpace.bottom; left: parent.left; right: parent.right; bottom: parent.bottom }
-    }
-
-    Item { id: headerSpace; width: parent.width; height: 62 }
-
-    Header {
-        id: header
-        editUrl: webBrowser.urlString
-        width: headerSpace.width; height: headerSpace.height
-    }
-
-    ScrollBar {
-        scrollArea: webView; width: 8
-        anchors { right: parent.right; top: header.bottom; bottom: parent.bottom }
-    }
-
-    ScrollBar {
-        scrollArea: webView; height: 8; orientation: Qt.Horizontal
-        anchors { right: parent.right; rightMargin: 8; left: parent.left; bottom: parent.bottom }
-    }
-}
diff --git a/demos/declarative/webbrowser/webbrowser.qmlproject b/demos/declarative/webbrowser/webbrowser.qmlproject
index d4909f8..a05672d 100644
--- a/demos/declarative/webbrowser/webbrowser.qmlproject
+++ b/demos/declarative/webbrowser/webbrowser.qmlproject
@@ -3,13 +3,13 @@ import QmlProject 1.0
 Project {
     /* Include .qml, .js, and image files from current directory and subdirectories */
     QmlFiles {
-        directory: "."
+        directory: "qml/webbrowser"
     }
     JavaScriptFiles {
-        directory: "."
+        directory: "qml/webbrowser"
     }
     ImageFiles {
-        directory: "."
+        directory: "qml/webbrowser"
     }
     /* List of plugin directories passed to QML runtime */
     // importPaths: [ " ../exampleplugin " ]
diff --git a/demos/declarative/webbrowser/webbrowser.svg b/demos/declarative/webbrowser/webbrowser.svg
new file mode 100644
index 0000000..566acfa
--- /dev/null
+++ b/demos/declarative/webbrowser/webbrowser.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="44px"
+   version="1.1"
+   viewBox="0 0 44 44"
+   width="44px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="qt.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 22 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="44 : 22 : 1"
+       inkscape:persp3d-origin="22 : 14.666667 : 1"
+       id="perspective2836" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1020"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="21.454545"
+     inkscape:cx="49.412871"
+     inkscape:cy="21.894358"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3" />
+  <g
+     transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+     id="g3">
+    <path
+       d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+       style="fill:#006225"
+       id="path5"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+       style="fill:#80c342"
+       id="path7" />
+    <path
+       d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+       style="fill:#006225"
+       id="path11" />
+    <path
+       d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+       style="fill:#006225"
+       id="path13" />
+    <path
+       id="path17"
+       style="fill:#ffffff"
+       d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+    <path
+       d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+       style="fill:#006225"
+       id="path19" />
+    <path
+       id="path21"
+       style="fill:#006225"
+       d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+  </g>
+</svg>
diff --git a/demos/declarative/webbrowser/webbrowser64.png b/demos/declarative/webbrowser/webbrowser64.png
new file mode 100644
index 0000000..707d5c4
Binary files /dev/null and b/demos/declarative/webbrowser/webbrowser64.png differ
diff --git a/demos/declarative/webbrowser/webbrowser80.png b/demos/declarative/webbrowser/webbrowser80.png
new file mode 100644
index 0000000..6ad8096
Binary files /dev/null and b/demos/declarative/webbrowser/webbrowser80.png differ
diff --git a/demos/declarative/webbrowser/webbrowser_harmattan.desktop b/demos/declarative/webbrowser/webbrowser_harmattan.desktop
new file mode 100644
index 0000000..455d714
--- /dev/null
+++ b/demos/declarative/webbrowser/webbrowser_harmattan.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Terminal=false
+Name=webbrowser
+Exec=/usr/bin/single-instance /opt/webbrowser/bin/webbrowser
+Icon=/usr/share/icons/hicolor/80x80/apps/webbrowser80.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
-- 
cgit v0.12


From db0940090853f316ed968a8220be32c59757225c Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:20 +0100
Subject: demos/declarative/snake example corrections

Removed empty lines from snake.qml and Cookie.qml

Merge-request: 2719
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
---
 demos/declarative/snake/qml/snake/content/Cookie.qml | 2 --
 demos/declarative/snake/qml/snake/snake.qml          | 2 +-
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/demos/declarative/snake/qml/snake/content/Cookie.qml b/demos/declarative/snake/qml/snake/content/Cookie.qml
index cef195a..72af41f 100644
--- a/demos/declarative/snake/qml/snake/content/Cookie.qml
+++ b/demos/declarative/snake/qml/snake/content/Cookie.qml
@@ -67,7 +67,6 @@ Item  {
         }
     }
 
-
     Particles { id: particles
         width:1; height:1; anchors.centerIn: parent;
         emissionRate: 0;
@@ -91,5 +90,4 @@ Item  {
             NumberAnimation { target: img; property: "opacity"; duration: 100 }
         }
     ]
-
 }
diff --git a/demos/declarative/snake/qml/snake/snake.qml b/demos/declarative/snake/qml/snake/snake.qml
index 3d6b772..edccd4c 100644
--- a/demos/declarative/snake/qml/snake/snake.qml
+++ b/demos/declarative/snake/qml/snake/snake.qml
@@ -76,7 +76,7 @@ Rectangle {
     Timer {
         id: heartbeat;
         interval: heartbeatInterval;
-        running: activeGame //&& runtime.isActiveWindow
+        running: activeGame && runtime.isActiveWindow
         repeat: true
         onTriggered: { Logic.move() }
     }
-- 
cgit v0.12


From ca7fd7c903083f9152ce3e176ad2890820114dc2 Mon Sep 17 00:00:00 2001
From: artoka <arto.katajasalo@digia.com>
Date: Thu, 17 Nov 2011 15:50:20 +0100
Subject: cppextensions/qgraphicslayout example corrections

Cleaned qgraphicsgridlayout.pro and qgraphicslinearlayout.pro files.

Merge-request: 2719
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
---
 .../qgraphicsgridlayout/qgraphicsgridlayout.pro         | 17 -----------------
 .../qgraphicslinearlayout/qgraphicslinearlayout.pro     | 14 --------------
 2 files changed, 31 deletions(-)

diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro
index d39a50f..9dbca8f 100644
--- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro
@@ -1,20 +1,3 @@
-#TEMPLATE = app
-#TARGET  = qgraphicsgridlayout
-#QT += declarative
-
-#SOURCES += \
-#    gridlayout.cpp \
-#    main.cpp
-
-#HEADERS += \
-#    gridlayout.h
-
-#RESOURCES += \
-#    gridlayout.qrc
-
-
-
-
 # Add more folders to ship with the application, here
 folder_01.source = qml/qgraphicsgridlayout
 folder_01.target = qml
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro
index 0e83cfa..ca4232c 100644
--- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro
@@ -1,17 +1,3 @@
-#TEMPLATE = app
-#TARGET  = qgraphicslinearlayout
-#QT += declarative
-
-#SOURCES += \
-#    linearlayout.cpp \
-#    main.cpp
-
-#HEADERS += \
-#    linearlayout.h
-
-#RESOURCES += \
-#    linearlayout.qrc
-
 # Add more folders to ship with the application, here
 folder_01.source = qml/qgraphicslinearlayout
 folder_01.target = qml
-- 
cgit v0.12


From d296dd5bd3927fc1347bca238fdeb70ba12cdc5a Mon Sep 17 00:00:00 2001
From: Casper van Donderen <casper.vandonderen@nokia.com>
Date: Thu, 17 Nov 2011 16:03:14 +0100
Subject: Update qmlapplicationviewer template,

The previous version of the template did not work on Harmattan, It
caused the application executable to look in the $HOME directory,
instead of the application directory.

Reviewed-By: Daniel Molkentin
---
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 205 +++++++++++----------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  52 +-----
 .../qmlapplicationviewer/qmlapplicationviewer.pri  |   4 +-
 3 files changed, 115 insertions(+), 146 deletions(-)

diff --git a/examples/tools/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/tools/qmlapplicationviewer/qmlapplicationviewer.cpp
index c9a16b0..1bba248 100644
--- a/examples/tools/qmlapplicationviewer/qmlapplicationviewer.cpp
+++ b/examples/tools/qmlapplicationviewer/qmlapplicationviewer.cpp
@@ -1,45 +1,5 @@
-/****************************************************************************
-**
-** 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$
-**
-****************************************************************************/
-
 /*
-  This file was created by the Qt Quick Application wizard of Qt Creator.
+  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.
@@ -49,33 +9,30 @@
 
 #include "qmlapplicationviewer.h"
 
-#include <QtCore/QCoreApplication>
 #include <QtCore/QDir>
 #include <QtCore/QFileInfo>
 #include <QtDeclarative/QDeclarativeComponent>
 #include <QtDeclarative/QDeclarativeEngine>
 #include <QtDeclarative/QDeclarativeContext>
+#include <QtGui/QApplication>
 
-#if defined(QMLJSDEBUGGER)
-#include <qt_private/qdeclarativedebughelper_p.h>
+#include <qplatformdefs.h> // MEEGO_EDITION_HARMATTAN
+
+#ifdef HARMATTAN_BOOSTER
+#include <MDeclarativeCache>
 #endif
 
-#if defined(QMLJSDEBUGGER) && !defined(NO_JSDEBUGGER)
+#if defined(QMLJSDEBUGGER) && QT_VERSION < 0x040800
+
+#include <qt_private/qdeclarativedebughelper_p.h>
+
+#if !defined(NO_JSDEBUGGER)
 #include <jsdebuggeragent.h>
 #endif
-#if defined(QMLJSDEBUGGER) && !defined(NO_QMLOBSERVER)
+#if !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
 {
@@ -92,9 +49,12 @@ static QmlJsDebuggingEnabler enableDebuggingHelper;
 
 class QmlApplicationViewerPrivate
 {
+    QmlApplicationViewerPrivate(QDeclarativeView *view_) : view(view_) {}
+
     QString mainQmlFile;
+    QDeclarativeView *view;
     friend class QmlApplicationViewer;
-    static QString adjustPath(const QString &path);
+    QString adjustPath(const QString &path);
 };
 
 QString QmlApplicationViewerPrivate::adjustPath(const QString &path)
@@ -102,95 +62,136 @@ QString QmlApplicationViewerPrivate::adjustPath(const QString &path)
 #ifdef Q_OS_UNIX
 #ifdef Q_OS_MAC
     if (!QDir::isAbsolutePath(path))
-        return QCoreApplication::applicationDirPath()
-                + QLatin1String("/../Resources/") + path;
+        return QString::fromLatin1("%1/../Resources/%2")
+                .arg(QCoreApplication::applicationDirPath(), path);
 #else
-    const QString pathInShareDir = QCoreApplication::applicationDirPath()
-        + QLatin1String("/../share/")
-        + QFileInfo(QCoreApplication::applicationFilePath()).fileName()
-        + QLatin1Char('/') + path;
-    if (QFileInfo(pathInShareDir).exists())
-        return pathInShareDir;
+    const QString pathInInstallDir =
+            QString::fromLatin1("%1/../%2").arg(QCoreApplication::applicationDirPath(), path);
+    if (QFileInfo(pathInInstallDir).exists())
+        return pathInInstallDir;
 #endif
 #endif
     return path;
 }
 
-QmlApplicationViewer::QmlApplicationViewer(QWidget *parent) :
-    QDeclarativeView(parent),
-    m_d(new QmlApplicationViewerPrivate)
+QmlApplicationViewer::QmlApplicationViewer(QWidget *parent)
+    : QDeclarativeView(parent)
+    , d(new QmlApplicationViewerPrivate(this))
 {
     connect(engine(), SIGNAL(quit()), SLOT(close()));
     setResizeMode(QDeclarativeView::SizeRootObjectToView);
-#if defined(QMLJSDEBUGGER) && !defined(NO_JSDEBUGGER)
-    new QmlJSDebugger::JSDebuggerAgent(engine());
+    // Qt versions prior to 4.8.0 don't have QML/JS debugging services built in
+#if defined(QMLJSDEBUGGER) && QT_VERSION < 0x040800
+#if !defined(NO_JSDEBUGGER)
+    new QmlJSDebugger::JSDebuggerAgent(d->view->engine());
+#endif
+#if !defined(NO_QMLOBSERVER)
+    new QmlJSDebugger::QDeclarativeViewObserver(d->view, d->view);
+#endif
+#endif
+}
+
+QmlApplicationViewer::QmlApplicationViewer(QDeclarativeView *view, QWidget *parent)
+    : QDeclarativeView(parent)
+    , d(new QmlApplicationViewerPrivate(view))
+{
+    connect(view->engine(), SIGNAL(quit()), view, SLOT(close()));
+    view->setResizeMode(QDeclarativeView::SizeRootObjectToView);
+    // Qt versions prior to 4.8.0 don't have QML/JS debugging services built in
+#if defined(QMLJSDEBUGGER) && QT_VERSION < 0x040800
+#if !defined(NO_JSDEBUGGER)
+    new QmlJSDebugger::JSDebuggerAgent(d->view->engine());
+#endif
+#if !defined(NO_QMLOBSERVER)
+    new QmlJSDebugger::QDeclarativeViewObserver(d->view, d->view);
 #endif
-#if defined(QMLJSDEBUGGER) && !defined(NO_QMLOBSERVER)
-    new QmlJSDebugger::QDeclarativeViewObserver(this, parent);
 #endif
 }
 
 QmlApplicationViewer::~QmlApplicationViewer()
 {
-    delete m_d;
+    delete d;
+}
+
+QmlApplicationViewer *QmlApplicationViewer::create()
+{
+#ifdef HARMATTAN_BOOSTER
+    return new QmlApplicationViewer(MDeclarativeCache::qDeclarativeView(), 0);
+#else
+    return new QmlApplicationViewer();
+#endif
 }
 
 void QmlApplicationViewer::setMainQmlFile(const QString &file)
 {
-    m_d->mainQmlFile = QmlApplicationViewerPrivate::adjustPath(file);
-    setSource(QUrl::fromLocalFile(m_d->mainQmlFile));
+    d->mainQmlFile = d->adjustPath(file);
+    d->view->setSource(QUrl::fromLocalFile(d->mainQmlFile));
 }
 
 void QmlApplicationViewer::addImportPath(const QString &path)
 {
-    engine()->addImportPath(QmlApplicationViewerPrivate::adjustPath(path));
+    d->view->engine()->addImportPath(d->adjustPath(path));
 }
 
 void QmlApplicationViewer::setOrientation(ScreenOrientation orientation)
 {
-#ifdef Q_OS_SYMBIAN
+#if defined(Q_OS_SYMBIAN)
+    // If the version of Qt on the device is < 4.7.2, that attribute won't work
     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
+        const QStringList v = QString::fromAscii(qVersion()).split(QLatin1Char('.'));
+        if (v.count() == 3 && (v.at(0).toInt() << 16 | v.at(1).toInt() << 8 | v.at(2).toInt()) < 0x040702) {
+            qWarning("Screen orientation locking only supported with Qt 4.7.2 and above");
+            return;
+        }
     }
-#elif defined(Q_WS_MAEMO_5)
+#endif // Q_OS_SYMBIAN
+
     Qt::WidgetAttribute attribute;
     switch (orientation) {
+#if QT_VERSION < 0x040702
+    // Qt < 4.7.2 does not yet have the Qt::WA_*Orientation attributes
     case ScreenOrientationLockPortrait:
-        attribute = Qt::WA_Maemo5PortraitOrientation;
+        attribute = static_cast<Qt::WidgetAttribute>(128);
         break;
     case ScreenOrientationLockLandscape:
-        attribute = Qt::WA_Maemo5LandscapeOrientation;
+        attribute = static_cast<Qt::WidgetAttribute>(129);
         break;
+    default:
     case ScreenOrientationAuto:
+        attribute = static_cast<Qt::WidgetAttribute>(130);
+        break;
+#else // QT_VERSION < 0x040702
+    case ScreenOrientationLockPortrait:
+        attribute = Qt::WA_LockPortraitOrientation;
+        break;
+    case ScreenOrientationLockLandscape:
+        attribute = Qt::WA_LockLandscapeOrientation;
+        break;
     default:
-        attribute = Qt::WA_Maemo5AutoOrientation;
+    case ScreenOrientationAuto:
+        attribute = Qt::WA_AutoOrientation;
         break;
-    }
+#endif // QT_VERSION < 0x040702
+    };
     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();
+#if defined(Q_OS_SYMBIAN) || defined(MEEGO_EDITION_HARMATTAN) || defined(Q_WS_SIMULATOR)
+    d->view->showFullScreen();
+#elif defined(Q_WS_MAEMO_5)
+    d->view->showMaximized();
+#else
+    d->view->show();
+#endif
+}
+
+QApplication *createApplication(int &argc, char **argv)
+{
+#ifdef HARMATTAN_BOOSTER
+    return MDeclarativeCache::qApplication(argc, argv);
 #else
-    show();
+    return new QApplication(argc, argv);
 #endif
 }
diff --git a/examples/tools/qmlapplicationviewer/qmlapplicationviewer.h b/examples/tools/qmlapplicationviewer/qmlapplicationviewer.h
index 1ded600..d6cb43e 100644
--- a/examples/tools/qmlapplicationviewer/qmlapplicationviewer.h
+++ b/examples/tools/qmlapplicationviewer/qmlapplicationviewer.h
@@ -1,45 +1,5 @@
-/****************************************************************************
-**
-** 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$
-**
-****************************************************************************/
-
 /*
-  This file was created by the Qt Quick Application wizard of Qt Creator.
+  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.
@@ -66,13 +26,21 @@ public:
     explicit QmlApplicationViewer(QWidget *parent = 0);
     virtual ~QmlApplicationViewer();
 
+    static QmlApplicationViewer *create();
+
     void setMainQmlFile(const QString &file);
     void addImportPath(const QString &path);
+
+    // Note that this will only have an effect on Symbian and Fremantle.
     void setOrientation(ScreenOrientation orientation);
+
     void showExpanded();
 
 private:
-    class QmlApplicationViewerPrivate *m_d;
+    explicit QmlApplicationViewer(QDeclarativeView *view, QWidget *parent);
+    class QmlApplicationViewerPrivate *d;
 };
 
+QApplication *createApplication(int &argc, char **argv);
+
 #endif // QMLAPPLICATIONVIEWER_H
diff --git a/examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri
index 1dda255..c8bec69 100644
--- a/examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri
+++ b/examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri
@@ -1,4 +1,4 @@
-# This file was created by the Qt Quick Application wizard of Qt Creator.
+# 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
@@ -20,7 +20,7 @@ INCLUDEPATH += $$PWD
 contains(CONFIG,qdeclarative-boostable):contains(MEEGO_EDITION,harmattan) {
     DEFINES += HARMATTAN_BOOSTER
 }
-# This file was created by an application wizard of Qt Creator.
+# 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
-- 
cgit v0.12


From e9f850d4cfc6ac6f125481d0d92509713534896a Mon Sep 17 00:00:00 2001
From: Casper van Donderen <casper.vandonderen@nokia.com>
Date: Fri, 18 Nov 2011 12:20:23 +0100
Subject: Update qrc files.

The qml files were moved within the examples, the qrc files were not
updated accordingly. This change fixes the problem.

Reviewed-By: Daniel Molkentin
---
 demos/declarative/minehunt/minehunt.qrc            | 31 +++++++++++-----------
 .../modelviews/objectlistmodel/objectlistmodel.qrc |  2 +-
 2 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/demos/declarative/minehunt/minehunt.qrc b/demos/declarative/minehunt/minehunt.qrc
index fa8e27d..4694beb 100644
--- a/demos/declarative/minehunt/minehunt.qrc
+++ b/demos/declarative/minehunt/minehunt.qrc
@@ -1,20 +1,19 @@
 <!DOCTYPE RCC><RCC version="1.0">
 <qresource>
-    <file>minehunt.qml</file>
-    <file>MinehuntCore/Explosion.qml</file>
-    <file>MinehuntCore/Tile.qml</file>
-    <file>MinehuntCore/qmldir</file>
-    <file>MinehuntCore/pics/background.png</file>
-    <file>MinehuntCore/pics/back.png</file>
-    <file>MinehuntCore/pics/bomb-color.png</file>
-    <file>MinehuntCore/pics/bomb.png</file>
-    <file>MinehuntCore/pics/face-sad.png</file>
-    <file>MinehuntCore/pics/face-smile-big.png</file>
-    <file>MinehuntCore/pics/face-smile.png</file>
-    <file>MinehuntCore/pics/flag-color.png</file>
-    <file>MinehuntCore/pics/flag.png</file>
-    <file>MinehuntCore/pics/front.png</file>
-    <file>MinehuntCore/pics/quit.png</file>
-    <file>MinehuntCore/pics/star.png</file>
+    <file>qml/minehunt/minehunt.qml</file>
+    <file>qml/minehunt/MinehuntCore/Explosion.qml</file>
+    <file>qml/minehunt/MinehuntCore/Tile.qml</file>
+    <file>qml/minehunt/MinehuntCore/pics/background.png</file>
+    <file>qml/minehunt/MinehuntCore/pics/back.png</file>
+    <file>qml/minehunt/MinehuntCore/pics/bomb-color.png</file>
+    <file>qml/minehunt/MinehuntCore/pics/bomb.png</file>
+    <file>qml/minehunt/MinehuntCore/pics/face-sad.png</file>
+    <file>qml/minehunt/MinehuntCore/pics/face-smile-big.png</file>
+    <file>qml/minehunt/MinehuntCore/pics/face-smile.png</file>
+    <file>qml/minehunt/MinehuntCore/pics/flag-color.png</file>
+    <file>qml/minehunt/MinehuntCore/pics/flag.png</file>
+    <file>qml/minehunt/MinehuntCore/pics/front.png</file>
+    <file>qml/minehunt/MinehuntCore/pics/quit.png</file>
+    <file>qml/minehunt/MinehuntCore/pics/star.png</file>
 </qresource>
 </RCC>
diff --git a/examples/declarative/modelviews/objectlistmodel/objectlistmodel.qrc b/examples/declarative/modelviews/objectlistmodel/objectlistmodel.qrc
index 17e9301..2456079 100644
--- a/examples/declarative/modelviews/objectlistmodel/objectlistmodel.qrc
+++ b/examples/declarative/modelviews/objectlistmodel/objectlistmodel.qrc
@@ -1,5 +1,5 @@
 <!DOCTYPE RCC><RCC version="1.0">
 <qresource>
-    <file>view.qml</file>
+    <file>qml/objectlistmodel/view.qml</file>
 </qresource>
 </RCC>
-- 
cgit v0.12


From a6a4f5343ac67a4921c86fa70fc1ae49b1ef3b7d Mon Sep 17 00:00:00 2001
From: Martin Smith <martin.smith@nokia.com>
Date: Mon, 21 Nov 2011 12:51:01 +0100
Subject: qdoc3: qdoc supports \depends in 4.8

This is what you write...

/*!
\example designer/calculatorbuilder
\depends examples/qmlapplicationviewer
\title Calculator Builder Example

This is what you get...

<example name="Calculator Builder Example"
        docUrl="qthelp://com.trolltech.qt.480/qdoc/designer-calculatorbuilder.html"
        projectPath="designer/calculatorbuilder/calculatorbuilder.pro"
        imageUrl="qthelp://com.trolltech.qt.480/qdoc/images/calculatorbuilder-example.png">
<description><![CDATA[The Calculator Builder example shows how to create a user interface from
             a Qt Designer form at run-time, using the QUiLoader class.]]></description>
<tags>calculator,builder</tags>
<fileToOpen>designer/calculatorbuilder/main.cpp</fileToOpen>
<depends>../../examples/qmlapplicationviewer</depends>
</example>

Task-number:  QTBUG-22838
---
 tools/qdoc3/codeparser.cpp    | 5 +++++
 tools/qdoc3/htmlgenerator.cpp | 8 ++++++++
 tools/qdoc3/node.h            | 4 ++++
 3 files changed, 17 insertions(+)

diff --git a/tools/qdoc3/codeparser.cpp b/tools/qdoc3/codeparser.cpp
index 9ab5f82..9bf9c14 100644
--- a/tools/qdoc3/codeparser.cpp
+++ b/tools/qdoc3/codeparser.cpp
@@ -51,6 +51,7 @@
 QT_BEGIN_NAMESPACE
 
 #define COMMAND_COMPAT                  Doc::alias(QLatin1String("compat"))
+#define COMMAND_DEPENDS                 Doc::alias(QLatin1String("depends"))
 #define COMMAND_DEPRECATED              Doc::alias(QLatin1String("deprecated")) // ### don't document
 #define COMMAND_INGROUP                 Doc::alias(QLatin1String("ingroup"))
 #define COMMAND_INMODULE                Doc::alias(QLatin1String("inmodule"))  // ### don't document
@@ -200,6 +201,7 @@ CodeParser *CodeParser::parserForSourceFile(const QString &filePath)
 QSet<QString> CodeParser::commonMetaCommands()
 {
     return QSet<QString>() << COMMAND_COMPAT
+                           << COMMAND_DEPENDS
                            << COMMAND_DEPRECATED
                            << COMMAND_INGROUP
                            << COMMAND_INMODULE
@@ -231,6 +233,9 @@ void CodeParser::processCommonMetaCommand(const Location &location,
     if (command == COMMAND_COMPAT) {
         node->setStatus(Node::Compat);
     }
+    else if (command == COMMAND_DEPENDS) {
+	node->addDependency(arg);
+    }
     else if (command == COMMAND_DEPRECATED) {
 	node->setStatus(Node::Deprecated);
     }
diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index 923d523..a840c93 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -4483,6 +4483,14 @@ void HtmlGenerator::generateManifestFile(QString manifest, QString element)
                 }
             }
         }
+        if (!en->dependencies().isEmpty()) {
+            for (int idx=0; idx<en->dependencies().size(); ++idx) {
+                writer.writeStartElement("depends");
+                QString file = "../../" + en->dependencies()[idx];
+                writer.writeCharacters(file);
+                writer.writeEndElement(); // depends
+            }
+        }
         writer.writeEndElement(); // example
         ++i;
     }
diff --git a/tools/qdoc3/node.h b/tools/qdoc3/node.h
index a08151a..60636d1 100644
--- a/tools/qdoc3/node.h
+++ b/tools/qdoc3/node.h
@@ -167,6 +167,7 @@ class Node
     void setTemplateStuff(const QString &templateStuff) { tpl = templateStuff; }
     void setPageType(PageType t) { pageTyp = t; }
     void setPageType(const QString& t);
+    virtual void addDependency(const QString& ) { }
 
     virtual bool isInnerNode() const = 0;
     virtual bool isReimp() const { return false; }
@@ -409,12 +410,15 @@ class ExampleNode : public FakeNode
     virtual ~ExampleNode() { }
     virtual QString imageFileName() const { return imageFileName_; }
     virtual void setImageFileName(const QString& ifn) { imageFileName_ = ifn; }
+    virtual void addDependency(const QString& arg) { dependencies_.append(arg); }
+    const QStringList& dependencies() const { return dependencies_; }
 
  public:
     static ExampleNodeMap exampleNodeMap;
 
  private:
     QString imageFileName_;
+    QStringList dependencies_;
 };
 
 class QmlClassNode : public FakeNode
-- 
cgit v0.12


From b9f0c6c8026f5f7f6924a42ded8f73f1c9cd9b75 Mon Sep 17 00:00:00 2001
From: Martin Smith <martin.smith@nokia.com>
Date: Mon, 21 Nov 2011 13:38:13 +0100
Subject: qdoc3: qdoc supports \depends in 4.8

This is what you write...

/*!
\example designer/calculatorbuilder
\depends qmlapplicationviewer
\title Calculator Builder Example

This is what you get...

<example name="Calculator Builder Example"
        docUrl="qthelp://com.trolltech.qt.480/qdoc/designer-calculatorbuilder.html"
        projectPath="designer/calculatorbuilder/calculatorbuilder.pro"
        imageUrl="qthelp://com.trolltech.qt.480/qdoc/images/calculatorbuilder-example.png">
<description><![CDATA[The Calculator Builder example shows how to create a user interface from
             a Qt Designer form at run-time, using the QUiLoader class.]]></description>
<tags>calculator,builder</tags>
<fileToOpen>designer/calculatorbuilder/main.cpp</fileToOpen>
<dependency>$QTDIR/examples/qmlapplicationviewer</dependency>
</example>

Task-number:  QTBUG-22838
---
 tools/qdoc3/htmlgenerator.cpp | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index a840c93..f1c0b8f 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -4485,10 +4485,15 @@ void HtmlGenerator::generateManifestFile(QString manifest, QString element)
         }
         if (!en->dependencies().isEmpty()) {
             for (int idx=0; idx<en->dependencies().size(); ++idx) {
-                writer.writeStartElement("depends");
-                QString file = "../../" + en->dependencies()[idx];
+                writer.writeStartElement("dependency");
+                QString file = "$QTDIR/";
+                if (demos)
+                    file += "demos/";
+                else
+                    file += "examples/";
+                file += en->dependencies()[idx];
                 writer.writeCharacters(file);
-                writer.writeEndElement(); // depends
+                writer.writeEndElement(); // dependency
             }
         }
         writer.writeEndElement(); // example
-- 
cgit v0.12


From 002a9f1868be72c5d18a0568c77c7dc1d06de010 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <daniel.molkentin@nokia.com>
Date: Thu, 17 Nov 2011 18:51:26 +0100
Subject: Doc: Copy manifest files to the places where Creator expects them.

Reviewed-by: Casper van Donderen
---
 doc/doc.pri | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/doc/doc.pri b/doc/doc.pri
index 9d67386..38d3d16 100644
--- a/doc/doc.pri
+++ b/doc/doc.pri
@@ -17,6 +17,9 @@ COPYWEBKITGUIDE = $$QT_SOURCE_TREE/examples/webkit/webkit-guide
 COPYWEBKITTARGA = $$QT_BUILD_TREE/doc-build/html-qt
 COPYWEBKITTARGB = $$QT_BUILD_TREE/doc/html
 
+EXAMPLESMANIFEST = $$QT_BUILD_TREE/doc/html/examples-manifest.xml
+DEMOSMANIFEST = $$QT_BUILD_TREE/doc/html/demos-manifest.xml
+
 $$unixstyle {
     QDOC = cd $$QT_SOURCE_TREE/tools/qdoc3/test && QT_BUILD_TREE=$$QT_BUILD_TREE QT_SOURCE_TREE=$$QT_SOURCE_TREE $$QT_BUILD_TREE/bin/qdoc3 $$DOCS_GENERATION_DEFINES
 } else {
@@ -31,6 +34,8 @@ QT_DOCUMENTATION = ($$QDOC qt-api-only.qdocconf assistant.qdocconf designer.qdoc
                     linguist.qdocconf qmake.qdocconf qdeclarative.qdocconf) && \
                (cd $$QT_BUILD_TREE && \
                     $$QMAKE_COPY_DIR $$COPYWEBKITGUIDE $$COPYWEBKITTARGA && \
+                    $$QMAKE_COPY $$EXAMPLESMANIFEST $$QT_BUILD_TREE/examples && \
+                    $$QMAKE_COPY $$DEMOSMANIFEST $$QT_BUILD_TREE/demos && \
                     $$GENERATOR doc-build/html-qt/qt.qhp -o doc/qch/qt.qch && \
                     $$GENERATOR doc-build/html-assistant/assistant.qhp -o doc/qch/assistant.qch && \
                     $$GENERATOR doc-build/html-designer/designer.qhp -o doc/qch/designer.qch && \
@@ -74,6 +79,14 @@ htmldocs.files = $$QT_BUILD_TREE/doc/html
 htmldocs.path = $$[QT_INSTALL_DOCS]
 htmldocs.CONFIG += no_check_exist directory
 
+examplesmanifest.files = $$EXAMPLESMANIFEST
+examplesmanifest.path = $$[QT_INSTALL_EXAMPLES]
+examplesmanifest.CONFIG += no_check_exist directory
+
+demosmanifest.files = $$DEMOSMANIFEST
+demosmanifest.path = $$[QT_INSTALL_DEMOS]
+demosmanifest.CONFIG += no_check_exist directory
+
 qchdocs.files= $$QT_BUILD_TREE/doc/qch
 qchdocs.path = $$[QT_INSTALL_DOCS]
 qchdocs.CONFIG += no_check_exist directory
@@ -85,4 +98,4 @@ sub-qdoc3.depends = sub-corelib sub-xml
 sub-qdoc3.commands += (cd tools/qdoc3 && $(MAKE))
 
 QMAKE_EXTRA_TARGETS += sub-qdoc3 adp_docs qch_docs docs docs_zh_CN docs_ja_JP
-INSTALLS += htmldocs qchdocs docimages
+INSTALLS += htmldocs qchdocs docimages examplesmanifest demosmanifest
-- 
cgit v0.12


From 7eb8de4dde6df60b26e5297407573f01634415c3 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <daniel.molkentin@nokia.com>
Date: Fri, 18 Nov 2011 11:10:50 +0100
Subject: Doc: Create relative pathes in Manifest files.

Conditions: shadow build & non-prefix build

Reviewed-by: Casper van Donderen
---
 tools/qdoc3/htmlgenerator.cpp | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index 923d523..8526bff 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -56,6 +56,7 @@
 #include <qlist.h>
 #include <qiterator.h>
 #include <qtextcodec.h>
+#include <qlibraryinfo.h>
 #include <QUuid>
 
 QT_BEGIN_NAMESPACE
@@ -4404,12 +4405,32 @@ void HtmlGenerator::generateManifestFile(QString manifest, QString element)
         //QString docUrl = projectUrl + "/" + en->fileBase() + ".html";
         QString docUrl = manifestDir + en->fileBase() + ".html";
         writer.writeAttribute("docUrl", docUrl);
+
+
+        QDir installDir(QLibraryInfo::location(QLibraryInfo::DataPath));
+        QDir buildDir(QString::fromLocal8Bit(qgetenv("QT_BUILD_TREE")));
+        QDir sourceDir(QString::fromLocal8Bit(qgetenv("QT_SOURCE_TREE")));
+
+
+        if (buildDir.exists() && sourceDir.exists()
+            // shadow build, but no prefix build
+            && installDir == buildDir && buildDir != sourceDir) {
+            relativePath = QString("../%1/%2/").arg(buildDir.relativeFilePath(sourceDir.path()));
+            if (demos)
+                relativePath = relativePath.arg("demos");
+            else
+                relativePath = relativePath.arg("examples");
+        }
+
+
         foreach (const Node* child, en->childNodes()) {
             if (child->subType() == Node::File) {
                 QString file = child->name();
                 if (file.endsWith(".pro") || file.endsWith(".qmlproject")) {
                     if (file.startsWith("demos/"))
                         file = file.mid(6);
+                    if (!relativePath.isEmpty())
+                        file.prepend(relativePath);
                     writer.writeAttribute("projectPath", file);
                     break;
                 }
-- 
cgit v0.12


From 0b594c27b946eb8c2356f1400e3dfb72be824588 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <daniel.molkentin@nokia.com>
Date: Mon, 21 Nov 2011 13:24:20 +0100
Subject: Fix use of qmlapplicationviewer.

- Two separate copies for demos and example
- Fix deployment (don't install to opt in desktop case)

Reviewed-by: Casper van Donderen
---
 demos/declarative/calculator/calculator.pro        |   3 +-
 demos/declarative/flickr/flickr.pro                |   3 +-
 demos/declarative/minehunt/minehunt.pro            |   3 +-
 demos/declarative/photoviewer/photoviewer.pro      |   3 +-
 demos/declarative/rssnews/rssnews.pro              |   3 +-
 demos/declarative/samegame/samegame.pro            |   3 +-
 demos/declarative/snake/snake.pro                  |   3 +-
 demos/declarative/twitter/twitter.pro              |   3 +-
 demos/declarative/webbrowser/webbrowser.pro        |   3 +-
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 +++++++++++++++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  46 +++++
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 150 ++++++++++++++++
 .../basics/color-animation/coloranimation.pro      |   3 +-
 .../property-animation/propertyanimation.pro       |   3 +-
 .../behaviors/behavior-example/behaviorexample.pro |   3 +-
 examples/declarative/animation/easing/easing.pro   |   3 +-
 examples/declarative/animation/states/states.pro   |   3 +-
 .../networkaccessmanagerfactory.pro                |   3 +-
 .../qgraphicsgridlayout/qgraphicsgridlayout.pro    |   3 +-
 .../qgraphicslinearlayout.pro                      |   3 +-
 examples/declarative/i18n/i18n.pro                 |   3 +-
 .../imageelements/borderimage/borderimage.pro      |   3 +-
 examples/declarative/imageelements/image/image.pro |   3 +-
 .../declarative/imageelements/shadows/shadows.pro  |   3 +-
 .../declarative/keyinteraction/focus/focus.pro     |   3 +-
 .../declarative/modelviews/Delegate/Delegate.pro   |   3 +-
 .../abstractitemmodel/abstractitemmodel.pro        |   3 +-
 .../gridview-example/gridviewexample.pro           |   3 +-
 .../listview/dynamiclist/dynamiclist.pro           |   3 +-
 .../expandingdelegates/expandingdelegates.pro      |   3 +-
 .../modelviews/listview/highlight/highlight.pro    |   3 +-
 .../listview/highlightranges/highlightranges.pro   |   3 +-
 .../modelviews/listview/sections/sections.pro      |   3 +-
 .../modelviews/objectlistmodel/objectlistmodel.pro |   3 +-
 .../declarative/modelviews/package/Delegate.pro    |   3 +-
 .../declarative/modelviews/parallax/parallax.pro   |   3 +-
 .../pathview-example/pathviewexample.pro           |   3 +-
 .../modelviews/stringlistmodel/stringlistmodel.pro |   3 +-
 .../modelviews/visualitemmodel/visualitemmodel.pro |   3 +-
 .../modelviews/webview/alerts/alerts.pro           |   3 +-
 .../modelviews/webview/autosize/autosize.pro       |   3 +-
 .../modelviews/webview/googlemaps/googlemaps.pro   |   3 +-
 .../modelviews/webview/inlinehtml/inlinehtml.pro   |   3 +-
 .../modelviews/webview/newwindows/newwindows.pro   |   3 +-
 examples/declarative/positioners/positioners.pro   |   3 +-
 .../layoutdirection/layoutdirection.pro            |   3 +-
 .../layoutmirroring/layoutmirroring.pro            |   3 +-
 .../righttoleft/textalignment/textalignment.pro    |   3 +-
 .../declarative/shadereffects/shadereffects.pro    |   3 +-
 .../sqllocalstorage/sqllocalstorage.pro            |   3 +-
 .../text/fonts/availableFonts/availableFonts.pro   |   3 +-
 examples/declarative/text/fonts/banner/banner.pro  |   3 +-
 examples/declarative/text/fonts/fonts/fonts.pro    |   3 +-
 examples/declarative/text/fonts/hello/hello.pro    |   3 +-
 .../text/textselection/textselection.pro           |   3 +-
 .../threadedlistmodel/threadedlistmodel.pro        |   3 +-
 .../threading/workerscript/workerscript.pro        |   3 +-
 .../experimental-gestures/experimentalgestures.pro |   3 +-
 .../mousearea-example/mouseareaexample.pro         |   3 +-
 .../touchinteraction/pincharea/pincharea.pro       |   3 +-
 examples/declarative/toys/clocks/clocks.pro        |   3 +-
 .../declarative/toys/corkboards/corkboards.pro     |   3 +-
 .../declarative/toys/dynamicscene/dynamicscene.pro |   3 +-
 .../declarative/toys/tic-tac-toe/tictactoe.pro     |   3 +-
 examples/declarative/toys/tvtennis/tvtennis.pro    |   3 +-
 .../ui-components/dialcontrol/dialcontrol.pro      |   3 +-
 .../ui-components/flipable/flipable.pro            |   3 +-
 examples/declarative/ui-components/main/main.pro   |   3 +-
 .../ui-components/progressbar/progressbar.pro      |   3 +-
 .../ui-components/scrollbar/scrollbar.pro          |   3 +-
 .../ui-components/searchbox/searchbox.pro          |   3 +-
 .../ui-components/slideswitch/slideswitch.pro      |   3 +-
 .../declarative/ui-components/spinner/spinner.pro  |   3 +-
 .../ui-components/tabwidget/tabwidget.pro          |   3 +-
 .../xmlhttprequestexample.pro                      |   3 +-
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 +++++++++++++++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  46 +++++
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 152 ++++++++++++++++
 .../qmlapplicationviewer.pri.autosave              | 150 ++++++++++++++++
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 197 ---------------------
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  46 -----
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 147 ---------------
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 166 +++++++++--------
 83 files changed, 1163 insertions(+), 547 deletions(-)
 create mode 100644 demos/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
 create mode 100644 demos/helper/qmlapplicationviewer/qmlapplicationviewer.h
 create mode 100644 demos/helper/qmlapplicationviewer/qmlapplicationviewer.pri
 create mode 100644 examples/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
 create mode 100644 examples/helper/qmlapplicationviewer/qmlapplicationviewer.h
 create mode 100644 examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri
 create mode 100644 examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri.autosave
 delete mode 100644 examples/tools/qmlapplicationviewer/qmlapplicationviewer.cpp
 delete mode 100644 examples/tools/qmlapplicationviewer/qmlapplicationviewer.h
 delete mode 100644 examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri

diff --git a/demos/declarative/calculator/calculator.pro b/demos/declarative/calculator/calculator.pro
index 697a0d8..9c91bcc 100644
--- a/demos/declarative/calculator/calculator.pro
+++ b/demos/declarative/calculator/calculator.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/calculator
+include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/demos/declarative/flickr/flickr.pro b/demos/declarative/flickr/flickr.pro
index 30206f8..1b45eee 100644
--- a/demos/declarative/flickr/flickr.pro
+++ b/demos/declarative/flickr/flickr.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/flickr
+include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/demos/declarative/minehunt/minehunt.pro b/demos/declarative/minehunt/minehunt.pro
index 4eed9c1..17786f6 100644
--- a/demos/declarative/minehunt/minehunt.pro
+++ b/demos/declarative/minehunt/minehunt.pro
@@ -44,5 +44,6 @@ SOURCES += main.cpp minehunt.cpp
 RESOURCES = minehunt.qrc
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/minehunt
+include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/demos/declarative/photoviewer/photoviewer.pro b/demos/declarative/photoviewer/photoviewer.pro
index cdfab1e..c44ba24 100644
--- a/demos/declarative/photoviewer/photoviewer.pro
+++ b/demos/declarative/photoviewer/photoviewer.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/photoviewer
+include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/demos/declarative/rssnews/rssnews.pro b/demos/declarative/rssnews/rssnews.pro
index 30dd524..e152311 100644
--- a/demos/declarative/rssnews/rssnews.pro
+++ b/demos/declarative/rssnews/rssnews.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/rssnews
+include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/demos/declarative/samegame/samegame.pro b/demos/declarative/samegame/samegame.pro
index 1a2455b..13a9f76 100644
--- a/demos/declarative/samegame/samegame.pro
+++ b/demos/declarative/samegame/samegame.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/samegame
+include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/demos/declarative/snake/snake.pro b/demos/declarative/snake/snake.pro
index 81b2dfc..4f562ab 100644
--- a/demos/declarative/snake/snake.pro
+++ b/demos/declarative/snake/snake.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/snake
+include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/demos/declarative/twitter/twitter.pro b/demos/declarative/twitter/twitter.pro
index a45f338..c8485bf 100644
--- a/demos/declarative/twitter/twitter.pro
+++ b/demos/declarative/twitter/twitter.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/twitter
+include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/demos/declarative/webbrowser/webbrowser.pro b/demos/declarative/webbrowser/webbrowser.pro
index 2a7bdbd..d368832 100644
--- a/demos/declarative/webbrowser/webbrowser.pro
+++ b/demos/declarative/webbrowser/webbrowser.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/webbrowser
+include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/demos/helper/qmlapplicationviewer/qmlapplicationviewer.cpp b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
new file mode 100644
index 0000000..1bba248
--- /dev/null
+++ b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
@@ -0,0 +1,197 @@
+/*
+  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/QDir>
+#include <QtCore/QFileInfo>
+#include <QtDeclarative/QDeclarativeComponent>
+#include <QtDeclarative/QDeclarativeEngine>
+#include <QtDeclarative/QDeclarativeContext>
+#include <QtGui/QApplication>
+
+#include <qplatformdefs.h> // MEEGO_EDITION_HARMATTAN
+
+#ifdef HARMATTAN_BOOSTER
+#include <MDeclarativeCache>
+#endif
+
+#if defined(QMLJSDEBUGGER) && QT_VERSION < 0x040800
+
+#include <qt_private/qdeclarativedebughelper_p.h>
+
+#if !defined(NO_JSDEBUGGER)
+#include <jsdebuggeragent.h>
+#endif
+#if !defined(NO_QMLOBSERVER)
+#include <qdeclarativeviewobserver.h>
+#endif
+
+// 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
+{
+    QmlApplicationViewerPrivate(QDeclarativeView *view_) : view(view_) {}
+
+    QString mainQmlFile;
+    QDeclarativeView *view;
+    friend class QmlApplicationViewer;
+    QString adjustPath(const QString &path);
+};
+
+QString QmlApplicationViewerPrivate::adjustPath(const QString &path)
+{
+#ifdef Q_OS_UNIX
+#ifdef Q_OS_MAC
+    if (!QDir::isAbsolutePath(path))
+        return QString::fromLatin1("%1/../Resources/%2")
+                .arg(QCoreApplication::applicationDirPath(), path);
+#else
+    const QString pathInInstallDir =
+            QString::fromLatin1("%1/../%2").arg(QCoreApplication::applicationDirPath(), path);
+    if (QFileInfo(pathInInstallDir).exists())
+        return pathInInstallDir;
+#endif
+#endif
+    return path;
+}
+
+QmlApplicationViewer::QmlApplicationViewer(QWidget *parent)
+    : QDeclarativeView(parent)
+    , d(new QmlApplicationViewerPrivate(this))
+{
+    connect(engine(), SIGNAL(quit()), SLOT(close()));
+    setResizeMode(QDeclarativeView::SizeRootObjectToView);
+    // Qt versions prior to 4.8.0 don't have QML/JS debugging services built in
+#if defined(QMLJSDEBUGGER) && QT_VERSION < 0x040800
+#if !defined(NO_JSDEBUGGER)
+    new QmlJSDebugger::JSDebuggerAgent(d->view->engine());
+#endif
+#if !defined(NO_QMLOBSERVER)
+    new QmlJSDebugger::QDeclarativeViewObserver(d->view, d->view);
+#endif
+#endif
+}
+
+QmlApplicationViewer::QmlApplicationViewer(QDeclarativeView *view, QWidget *parent)
+    : QDeclarativeView(parent)
+    , d(new QmlApplicationViewerPrivate(view))
+{
+    connect(view->engine(), SIGNAL(quit()), view, SLOT(close()));
+    view->setResizeMode(QDeclarativeView::SizeRootObjectToView);
+    // Qt versions prior to 4.8.0 don't have QML/JS debugging services built in
+#if defined(QMLJSDEBUGGER) && QT_VERSION < 0x040800
+#if !defined(NO_JSDEBUGGER)
+    new QmlJSDebugger::JSDebuggerAgent(d->view->engine());
+#endif
+#if !defined(NO_QMLOBSERVER)
+    new QmlJSDebugger::QDeclarativeViewObserver(d->view, d->view);
+#endif
+#endif
+}
+
+QmlApplicationViewer::~QmlApplicationViewer()
+{
+    delete d;
+}
+
+QmlApplicationViewer *QmlApplicationViewer::create()
+{
+#ifdef HARMATTAN_BOOSTER
+    return new QmlApplicationViewer(MDeclarativeCache::qDeclarativeView(), 0);
+#else
+    return new QmlApplicationViewer();
+#endif
+}
+
+void QmlApplicationViewer::setMainQmlFile(const QString &file)
+{
+    d->mainQmlFile = d->adjustPath(file);
+    d->view->setSource(QUrl::fromLocalFile(d->mainQmlFile));
+}
+
+void QmlApplicationViewer::addImportPath(const QString &path)
+{
+    d->view->engine()->addImportPath(d->adjustPath(path));
+}
+
+void QmlApplicationViewer::setOrientation(ScreenOrientation orientation)
+{
+#if defined(Q_OS_SYMBIAN)
+    // If the version of Qt on the device is < 4.7.2, that attribute won't work
+    if (orientation != ScreenOrientationAuto) {
+        const QStringList v = QString::fromAscii(qVersion()).split(QLatin1Char('.'));
+        if (v.count() == 3 && (v.at(0).toInt() << 16 | v.at(1).toInt() << 8 | v.at(2).toInt()) < 0x040702) {
+            qWarning("Screen orientation locking only supported with Qt 4.7.2 and above");
+            return;
+        }
+    }
+#endif // Q_OS_SYMBIAN
+
+    Qt::WidgetAttribute attribute;
+    switch (orientation) {
+#if QT_VERSION < 0x040702
+    // Qt < 4.7.2 does not yet have the Qt::WA_*Orientation attributes
+    case ScreenOrientationLockPortrait:
+        attribute = static_cast<Qt::WidgetAttribute>(128);
+        break;
+    case ScreenOrientationLockLandscape:
+        attribute = static_cast<Qt::WidgetAttribute>(129);
+        break;
+    default:
+    case ScreenOrientationAuto:
+        attribute = static_cast<Qt::WidgetAttribute>(130);
+        break;
+#else // QT_VERSION < 0x040702
+    case ScreenOrientationLockPortrait:
+        attribute = Qt::WA_LockPortraitOrientation;
+        break;
+    case ScreenOrientationLockLandscape:
+        attribute = Qt::WA_LockLandscapeOrientation;
+        break;
+    default:
+    case ScreenOrientationAuto:
+        attribute = Qt::WA_AutoOrientation;
+        break;
+#endif // QT_VERSION < 0x040702
+    };
+    setAttribute(attribute, true);
+}
+
+void QmlApplicationViewer::showExpanded()
+{
+#if defined(Q_OS_SYMBIAN) || defined(MEEGO_EDITION_HARMATTAN) || defined(Q_WS_SIMULATOR)
+    d->view->showFullScreen();
+#elif defined(Q_WS_MAEMO_5)
+    d->view->showMaximized();
+#else
+    d->view->show();
+#endif
+}
+
+QApplication *createApplication(int &argc, char **argv)
+{
+#ifdef HARMATTAN_BOOSTER
+    return MDeclarativeCache::qApplication(argc, argv);
+#else
+    return new QApplication(argc, argv);
+#endif
+}
diff --git a/demos/helper/qmlapplicationviewer/qmlapplicationviewer.h b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.h
new file mode 100644
index 0000000..d6cb43e
--- /dev/null
+++ b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.h
@@ -0,0 +1,46 @@
+/*
+  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();
+
+    static QmlApplicationViewer *create();
+
+    void setMainQmlFile(const QString &file);
+    void addImportPath(const QString &path);
+
+    // Note that this will only have an effect on Symbian and Fremantle.
+    void setOrientation(ScreenOrientation orientation);
+
+    void showExpanded();
+
+private:
+    explicit QmlApplicationViewer(QDeclarativeView *view, QWidget *parent);
+    class QmlApplicationViewerPrivate *d;
+};
+
+QApplication *createApplication(int &argc, char **argv);
+
+#endif // QMLAPPLICATIONVIEWER_H
diff --git a/demos/helper/qmlapplicationviewer/qmlapplicationviewer.pri b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.pri
new file mode 100644
index 0000000..8a51c9b
--- /dev/null
+++ b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.pri
@@ -0,0 +1,150 @@
+# 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
+
+# Include JS debugger library if QMLJSDEBUGGER_PATH is set
+!isEmpty(QMLJSDEBUGGER_PATH) {
+    include($$QMLJSDEBUGGER_PATH/qmljsdebugger-lib.pri)
+} else {
+    DEFINES -= QMLJSDEBUGGER
+}
+
+contains(CONFIG,qdeclarative-boostable):contains(MEEGO_EDITION,harmattan) {
+    DEFINES += HARMATTAN_BOOSTER
+}
+# 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 = $$_PRO_FILE_PWD_
+
+symbian {
+    isEmpty(ICON):exists($${TARGET}.svg):ICON = $${TARGET}.svg
+    isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+} else:win32 {
+    copyCommand =
+    for(deploymentfolder, DEPLOYMENTFOLDERS) {
+        source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+        source = $$replace(source, /, \\)
+        sourcePathSegments = $$split(source, \\)
+        target = $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(sourcePathSegments)
+        target = $$replace(target, /, \\)
+        target ~= s,\\\\\\.?\\\\,\\,
+        !isEqual(source,$$target) {
+            !isEmpty(copyCommand):copyCommand += &&
+            isEqual(QMAKE_DIR_SEP, \\) {
+                copyCommand += $(COPY_DIR) \"$$source\" \"$$target\"
+            } else {
+                source = $$replace(source, \\\\, /)
+                target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
+                target = $$replace(target, \\\\, /)
+                copyCommand += test -d \"$$target\" || mkdir -p \"$$target\" && cp -r \"$$source\" \"$$target\"
+            }
+        }
+    }
+    !isEmpty(copyCommand) {
+        copyCommand = @echo Copying application data... && $$copyCommand
+        copydeploymentfolders.commands = $$copyCommand
+        first.depends = $(first) copydeploymentfolders
+        export(first.depends)
+        export(copydeploymentfolders.commands)
+        QMAKE_EXTRA_TARGETS += first copydeploymentfolders
+    }
+} else:unix {
+    maemo5 {
+        installPrefix = /opt/$${TARGET}
+        desktopfile.files = $${TARGET}.desktop
+        desktopfile.path = /usr/share/applications/hildon
+        icon.files = $${TARGET}64.png
+        icon.path = /usr/share/icons/hicolor/64x64/apps
+    } else:!isEmpty(MEEGO_VERSION_MAJOR) {
+        installPrefix = /opt/$${TARGET}
+        desktopfile.files = $${TARGET}_harmattan.desktop
+        desktopfile.path = /usr/share/applications
+        icon.files = $${TARGET}80.png
+        icon.path = /usr/share/icons/hicolor/80x80/apps
+    } else { # Assumed to be a Desktop Unix
+        isEmpty(desktopInstallPrefix):installPrefix = $$[QT_INSTALL_DEMOS]/$${TARGET}
+        else:installPrefix = $$desktopInstallPrefix
+        copyCommand =
+        for(deploymentfolder, DEPLOYMENTFOLDERS) {
+            source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+            source = $$replace(source, \\\\, /)
+            macx {
+                target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target)
+            } else {
+                target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
+            }
+            target = $$replace(target, \\\\, /)
+            sourcePathSegments = $$split(source, /)
+            targetFullPath = $$target/$$last(sourcePathSegments)
+            targetFullPath ~= s,/\\.?/,/,
+            !isEqual(source,$$targetFullPath) {
+                !isEmpty(copyCommand):copyCommand += &&
+                copyCommand += $(MKDIR) \"$$target\"
+                copyCommand += && $(COPY_DIR) \"$$source\" \"$$target\"
+            }
+        }
+        !isEmpty(copyCommand) {
+            copyCommand = @echo Copying application data... && $$copyCommand
+            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}/$$eval($${deploymentfolder}.target)
+        export($$itemfiles)
+        export($$itempath)
+        INSTALLS += $$item
+    }
+
+    !isEmpty(desktopfile.path) {
+        export(icon.files)
+        export(icon.path)
+        export(desktopfile.files)
+        export(desktopfile.path)
+        INSTALLS += icon desktopfile
+    }
+
+    target.path = $${installPrefix}/bin
+    export(target.path)
+    INSTALLS += 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/basics/color-animation/coloranimation.pro b/examples/declarative/animation/basics/color-animation/coloranimation.pro
index a6ce3f6..0a34190 100644
--- a/examples/declarative/animation/basics/color-animation/coloranimation.pro
+++ b/examples/declarative/animation/basics/color-animation/coloranimation.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE959F610
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/animation/basics/color-animation
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/animation/basics/property-animation/propertyanimation.pro b/examples/declarative/animation/basics/property-animation/propertyanimation.pro
index e4e9471..f79f1cb 100644
--- a/examples/declarative/animation/basics/property-animation/propertyanimation.pro
+++ b/examples/declarative/animation/basics/property-animation/propertyanimation.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE4032BC6
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/animation/basics/property-animation
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/animation/behaviors/behavior-example/behaviorexample.pro b/examples/declarative/animation/behaviors/behavior-example/behaviorexample.pro
index f1dc1aa..91b021f 100644
--- a/examples/declarative/animation/behaviors/behavior-example/behaviorexample.pro
+++ b/examples/declarative/animation/behaviors/behavior-example/behaviorexample.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEB6022A4
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/animation/behaviors/behavior-example
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/animation/easing/easing.pro b/examples/declarative/animation/easing/easing.pro
index 1f003b1..b3d1821 100644
--- a/examples/declarative/animation/easing/easing.pro
+++ b/examples/declarative/animation/easing/easing.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEAA54148
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/animation/easing
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/animation/states/states.pro b/examples/declarative/animation/states/states.pro
index 8239977..1f06e4b 100644
--- a/examples/declarative/animation/states/states.pro
+++ b/examples/declarative/animation/states/states.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE9200E0A
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/animation/states
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.pro b/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.pro
index 66ce4b1..5cc3660 100644
--- a/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.pro
+++ b/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.pro
@@ -35,5 +35,6 @@ SOURCES += main.cpp
 RESOURCES += networkaccessmanagerfactory.qrc
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/networkaccessmanagerfactory
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro
index 9dbca8f..0822a1d 100644
--- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro
@@ -42,6 +42,7 @@ RESOURCES += \
     gridlayout.qrc
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
 
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro
index ca4232c..f8a4c97 100644
--- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro
@@ -41,5 +41,6 @@ RESOURCES += \
     linearlayout.qrc
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/i18n/i18n.pro b/examples/declarative/i18n/i18n.pro
index d7cb3a8..af9b65c 100644
--- a/examples/declarative/i18n/i18n.pro
+++ b/examples/declarative/i18n/i18n.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE069582C
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/i18n
+include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/imageelements/borderimage/borderimage.pro b/examples/declarative/imageelements/borderimage/borderimage.pro
index 64eaf4a..20528cc 100644
--- a/examples/declarative/imageelements/borderimage/borderimage.pro
+++ b/examples/declarative/imageelements/borderimage/borderimage.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEBB4D123
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/imageelements/borderimage
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/imageelements/image/image.pro b/examples/declarative/imageelements/image/image.pro
index 28c978c..5e7b905 100644
--- a/examples/declarative/imageelements/image/image.pro
+++ b/examples/declarative/imageelements/image/image.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE5D64785
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/imageelements/image
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/imageelements/shadows/shadows.pro b/examples/declarative/imageelements/shadows/shadows.pro
index 20d8a3d..a760dd8 100644
--- a/examples/declarative/imageelements/shadows/shadows.pro
+++ b/examples/declarative/imageelements/shadows/shadows.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE2C00C58
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/imageelements/shadows
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/keyinteraction/focus/focus.pro b/examples/declarative/keyinteraction/focus/focus.pro
index e51cd0f..4129206 100644
--- a/examples/declarative/keyinteraction/focus/focus.pro
+++ b/examples/declarative/keyinteraction/focus/focus.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEC9F742D
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/keyinteraction/focus
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/Delegate/Delegate.pro b/examples/declarative/modelviews/Delegate/Delegate.pro
index 86901d3..785d4a7 100644
--- a/examples/declarative/modelviews/Delegate/Delegate.pro
+++ b/examples/declarative/modelviews/Delegate/Delegate.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE5FF52C0
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/Delegate
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.pro b/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.pro
index 98490b2..18fef97 100644
--- a/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.pro
+++ b/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.pro
@@ -35,5 +35,6 @@ HEADERS = model.h
 RESOURCES += abstractitemmodel.qrc
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/abstractitemmodel
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/gridview-example/gridviewexample.pro b/examples/declarative/modelviews/gridview-example/gridviewexample.pro
index 15a7d53..a768342 100644
--- a/examples/declarative/modelviews/gridview-example/gridviewexample.pro
+++ b/examples/declarative/modelviews/gridview-example/gridviewexample.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE53E8FDC
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/gridview-example
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/listview/dynamiclist/dynamiclist.pro b/examples/declarative/modelviews/listview/dynamiclist/dynamiclist.pro
index 9d8a3fe..0c1dfd5 100644
--- a/examples/declarative/modelviews/listview/dynamiclist/dynamiclist.pro
+++ b/examples/declarative/modelviews/listview/dynamiclist/dynamiclist.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE49D962F
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/listview/dynamiclist
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/expandingdelegates.pro b/examples/declarative/modelviews/listview/expandingdelegates/expandingdelegates.pro
index e9bbc65..38394f9 100644
--- a/examples/declarative/modelviews/listview/expandingdelegates/expandingdelegates.pro
+++ b/examples/declarative/modelviews/listview/expandingdelegates/expandingdelegates.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEEA16F93
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/listview/expandingdelegates
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/listview/highlight/highlight.pro b/examples/declarative/modelviews/listview/highlight/highlight.pro
index a0a5c01..944cc6a 100644
--- a/examples/declarative/modelviews/listview/highlight/highlight.pro
+++ b/examples/declarative/modelviews/listview/highlight/highlight.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE9439941
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/listview/highlight
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/listview/highlightranges/highlightranges.pro b/examples/declarative/modelviews/listview/highlightranges/highlightranges.pro
index f86e6c7..637b463 100644
--- a/examples/declarative/modelviews/listview/highlightranges/highlightranges.pro
+++ b/examples/declarative/modelviews/listview/highlightranges/highlightranges.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE7A0AE23
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/listview/highlightranges
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/listview/sections/sections.pro b/examples/declarative/modelviews/listview/sections/sections.pro
index 0d9151b..e78143f 100644
--- a/examples/declarative/modelviews/listview/sections/sections.pro
+++ b/examples/declarative/modelviews/listview/sections/sections.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEA0874F7
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/listview/sections
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/objectlistmodel/objectlistmodel.pro b/examples/declarative/modelviews/objectlistmodel/objectlistmodel.pro
index 08ac231..76ebf4f 100644
--- a/examples/declarative/modelviews/objectlistmodel/objectlistmodel.pro
+++ b/examples/declarative/modelviews/objectlistmodel/objectlistmodel.pro
@@ -36,5 +36,6 @@ HEADERS += dataobject.h
 RESOURCES += objectlistmodel.qrc
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/objectlistmodel
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/package/Delegate.pro b/examples/declarative/modelviews/package/Delegate.pro
index d1b7c82..8326457 100644
--- a/examples/declarative/modelviews/package/Delegate.pro
+++ b/examples/declarative/modelviews/package/Delegate.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/package
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/parallax/parallax.pro b/examples/declarative/modelviews/parallax/parallax.pro
index 42272b6..f01fdda 100644
--- a/examples/declarative/modelviews/parallax/parallax.pro
+++ b/examples/declarative/modelviews/parallax/parallax.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/parallax
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/pathview-example/pathviewexample.pro b/examples/declarative/modelviews/pathview-example/pathviewexample.pro
index 9b1d360..ec56848 100644
--- a/examples/declarative/modelviews/pathview-example/pathviewexample.pro
+++ b/examples/declarative/modelviews/pathview-example/pathviewexample.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE51EA833
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/pathview-example
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/stringlistmodel/stringlistmodel.pro b/examples/declarative/modelviews/stringlistmodel/stringlistmodel.pro
index 463e870..5642b8e 100644
--- a/examples/declarative/modelviews/stringlistmodel/stringlistmodel.pro
+++ b/examples/declarative/modelviews/stringlistmodel/stringlistmodel.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/stringlistmodel
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/visualitemmodel/visualitemmodel.pro b/examples/declarative/modelviews/visualitemmodel/visualitemmodel.pro
index 8a75ca0..88d7f1b 100644
--- a/examples/declarative/modelviews/visualitemmodel/visualitemmodel.pro
+++ b/examples/declarative/modelviews/visualitemmodel/visualitemmodel.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE722A922
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/visualitemmodel
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/webview/alerts/alerts.pro b/examples/declarative/modelviews/webview/alerts/alerts.pro
index 1de3858..31a9b6c 100644
--- a/examples/declarative/modelviews/webview/alerts/alerts.pro
+++ b/examples/declarative/modelviews/webview/alerts/alerts.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE14997C0
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/webview/alerts
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/webview/autosize/autosize.pro b/examples/declarative/modelviews/webview/autosize/autosize.pro
index 13913c6..595ab2e 100644
--- a/examples/declarative/modelviews/webview/autosize/autosize.pro
+++ b/examples/declarative/modelviews/webview/autosize/autosize.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEE6AB317
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/webview/autosize
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/webview/googlemaps/googlemaps.pro b/examples/declarative/modelviews/webview/googlemaps/googlemaps.pro
index 2bbfbf5..6b03c2d 100644
--- a/examples/declarative/modelviews/webview/googlemaps/googlemaps.pro
+++ b/examples/declarative/modelviews/webview/googlemaps/googlemaps.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEF02570C
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/webview/googlemaps
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/webview/inlinehtml/inlinehtml.pro b/examples/declarative/modelviews/webview/inlinehtml/inlinehtml.pro
index 7accabe..d779351 100644
--- a/examples/declarative/modelviews/webview/inlinehtml/inlinehtml.pro
+++ b/examples/declarative/modelviews/webview/inlinehtml/inlinehtml.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEF18EEF4
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/webview/inlinehtml
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/webview/newwindows/newwindows.pro b/examples/declarative/modelviews/webview/newwindows/newwindows.pro
index d153561..52324dd 100644
--- a/examples/declarative/modelviews/webview/newwindows/newwindows.pro
+++ b/examples/declarative/modelviews/webview/newwindows/newwindows.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEE16E439
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/webview/newwindows
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/positioners/positioners.pro b/examples/declarative/positioners/positioners.pro
index 3bf888f..9aa4693 100644
--- a/examples/declarative/positioners/positioners.pro
+++ b/examples/declarative/positioners/positioners.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE6D726D3
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/positioners
+include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/righttoleft/layoutdirection/layoutdirection.pro b/examples/declarative/righttoleft/layoutdirection/layoutdirection.pro
index a7f11d8..ba634f5 100644
--- a/examples/declarative/righttoleft/layoutdirection/layoutdirection.pro
+++ b/examples/declarative/righttoleft/layoutdirection/layoutdirection.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/righttoleft/layoutdirection
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.pro b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.pro
index ab52726..55b46fd 100644
--- a/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.pro
+++ b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/righttoleft/layoutmirroring
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/righttoleft/textalignment/textalignment.pro b/examples/declarative/righttoleft/textalignment/textalignment.pro
index 2db41ec..366f793 100644
--- a/examples/declarative/righttoleft/textalignment/textalignment.pro
+++ b/examples/declarative/righttoleft/textalignment/textalignment.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/righttoleft/textalignment
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/shadereffects/shadereffects.pro b/examples/declarative/shadereffects/shadereffects.pro
index 23a951c..13f345c 100755
--- a/examples/declarative/shadereffects/shadereffects.pro
+++ b/examples/declarative/shadereffects/shadereffects.pro
@@ -39,5 +39,6 @@ symbian {
 }
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/shadereffects
+include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/sqllocalstorage/sqllocalstorage.pro b/examples/declarative/sqllocalstorage/sqllocalstorage.pro
index de4a4e0..9a88b49 100644
--- a/examples/declarative/sqllocalstorage/sqllocalstorage.pro
+++ b/examples/declarative/sqllocalstorage/sqllocalstorage.pro
@@ -34,5 +34,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/sqllocalstorage
+include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/text/fonts/availableFonts/availableFonts.pro b/examples/declarative/text/fonts/availableFonts/availableFonts.pro
index 38548af..50fbfc4 100644
--- a/examples/declarative/text/fonts/availableFonts/availableFonts.pro
+++ b/examples/declarative/text/fonts/availableFonts/availableFonts.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE696D9F7
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/text/fonts/availableFonts
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/text/fonts/banner/banner.pro b/examples/declarative/text/fonts/banner/banner.pro
index 71e4ab9..aaada0d 100644
--- a/examples/declarative/text/fonts/banner/banner.pro
+++ b/examples/declarative/text/fonts/banner/banner.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEBAA8CBE
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/text/fonts/banner
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/text/fonts/fonts/fonts.pro b/examples/declarative/text/fonts/fonts/fonts.pro
index 5d7c691..67e1646 100644
--- a/examples/declarative/text/fonts/fonts/fonts.pro
+++ b/examples/declarative/text/fonts/fonts/fonts.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE4CA52B6
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/text/fonts/fonts
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/text/fonts/hello/hello.pro b/examples/declarative/text/fonts/hello/hello.pro
index 8ba73be..194dcd8 100644
--- a/examples/declarative/text/fonts/hello/hello.pro
+++ b/examples/declarative/text/fonts/hello/hello.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE4A6D856
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/text/fonts/hello
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/text/textselection/textselection.pro b/examples/declarative/text/textselection/textselection.pro
index 205bd18..fbf4a95 100644
--- a/examples/declarative/text/textselection/textselection.pro
+++ b/examples/declarative/text/textselection/textselection.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEFBED80D
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/text/textselection
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/threading/threadedlistmodel/threadedlistmodel.pro b/examples/declarative/threading/threadedlistmodel/threadedlistmodel.pro
index d81bf62..7545a06 100644
--- a/examples/declarative/threading/threadedlistmodel/threadedlistmodel.pro
+++ b/examples/declarative/threading/threadedlistmodel/threadedlistmodel.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/threading/threadedlistmodel
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/threading/workerscript/workerscript.pro b/examples/declarative/threading/workerscript/workerscript.pro
index fa60c1b..ce1c67e 100644
--- a/examples/declarative/threading/workerscript/workerscript.pro
+++ b/examples/declarative/threading/workerscript/workerscript.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/threading/workerscript
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/touchinteraction/gestures/experimental-gestures/experimentalgestures.pro b/examples/declarative/touchinteraction/gestures/experimental-gestures/experimentalgestures.pro
index 729eaec..00de964 100644
--- a/examples/declarative/touchinteraction/gestures/experimental-gestures/experimentalgestures.pro
+++ b/examples/declarative/touchinteraction/gestures/experimental-gestures/experimentalgestures.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE3FF6816
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/touchinteraction/gestures/experimental-gestures
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/touchinteraction/mousearea/mousearea-example/mouseareaexample.pro b/examples/declarative/touchinteraction/mousearea/mousearea-example/mouseareaexample.pro
index 0311371..7bf1883 100644
--- a/examples/declarative/touchinteraction/mousearea/mousearea-example/mouseareaexample.pro
+++ b/examples/declarative/touchinteraction/mousearea/mousearea-example/mouseareaexample.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xECA7EEBE
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/touchinteraction/mousearea/mousearea-example
+include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/touchinteraction/pincharea/pincharea.pro b/examples/declarative/touchinteraction/pincharea/pincharea.pro
index dc2e4c6..5c515f7 100644
--- a/examples/declarative/touchinteraction/pincharea/pincharea.pro
+++ b/examples/declarative/touchinteraction/pincharea/pincharea.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/touchinteraction/pincharea
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/toys/clocks/clocks.pro b/examples/declarative/toys/clocks/clocks.pro
index db03bfb..6c9639b 100644
--- a/examples/declarative/toys/clocks/clocks.pro
+++ b/examples/declarative/toys/clocks/clocks.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE96223F9
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/toys/clocks
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/toys/corkboards/corkboards.pro b/examples/declarative/toys/corkboards/corkboards.pro
index 5ad2e5b..caf1fb9 100644
--- a/examples/declarative/toys/corkboards/corkboards.pro
+++ b/examples/declarative/toys/corkboards/corkboards.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEAF97D84
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/toys/corkboards
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/toys/dynamicscene/dynamicscene.pro b/examples/declarative/toys/dynamicscene/dynamicscene.pro
index 60b4daf..49b8716 100644
--- a/examples/declarative/toys/dynamicscene/dynamicscene.pro
+++ b/examples/declarative/toys/dynamicscene/dynamicscene.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEE509F2D
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/toys/dynamicscene
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/toys/tic-tac-toe/tictactoe.pro b/examples/declarative/toys/tic-tac-toe/tictactoe.pro
index deb9ba3..70cc858 100644
--- a/examples/declarative/toys/tic-tac-toe/tictactoe.pro
+++ b/examples/declarative/toys/tic-tac-toe/tictactoe.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEFDDF868
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/toys/tic-tac-toe
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/toys/tvtennis/tvtennis.pro b/examples/declarative/toys/tvtennis/tvtennis.pro
index 3ae795e..d09f1c6 100644
--- a/examples/declarative/toys/tvtennis/tvtennis.pro
+++ b/examples/declarative/toys/tvtennis/tvtennis.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE6511DAE
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/toys/tvtennis
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/dialcontrol/dialcontrol.pro b/examples/declarative/ui-components/dialcontrol/dialcontrol.pro
index fb784f7..0d43b16 100644
--- a/examples/declarative/ui-components/dialcontrol/dialcontrol.pro
+++ b/examples/declarative/ui-components/dialcontrol/dialcontrol.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEB1C54E8
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/dialcontrol
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/flipable/flipable.pro b/examples/declarative/ui-components/flipable/flipable.pro
index f1ee5ae..f35d336 100644
--- a/examples/declarative/ui-components/flipable/flipable.pro
+++ b/examples/declarative/ui-components/flipable/flipable.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE31D80B6
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/flipable
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/main/main.pro b/examples/declarative/ui-components/main/main.pro
index 60b0ed5..c362497 100644
--- a/examples/declarative/ui-components/main/main.pro
+++ b/examples/declarative/ui-components/main/main.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE647B679
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/main
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/progressbar/progressbar.pro b/examples/declarative/ui-components/progressbar/progressbar.pro
index 38eef3c..84307bd 100644
--- a/examples/declarative/ui-components/progressbar/progressbar.pro
+++ b/examples/declarative/ui-components/progressbar/progressbar.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEAA2206D
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/progressbar
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/scrollbar/scrollbar.pro b/examples/declarative/ui-components/scrollbar/scrollbar.pro
index b0cdaca..ddede4a 100644
--- a/examples/declarative/ui-components/scrollbar/scrollbar.pro
+++ b/examples/declarative/ui-components/scrollbar/scrollbar.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/scrollbar
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/searchbox/searchbox.pro b/examples/declarative/ui-components/searchbox/searchbox.pro
index f64718a..028998a 100644
--- a/examples/declarative/ui-components/searchbox/searchbox.pro
+++ b/examples/declarative/ui-components/searchbox/searchbox.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/searchbox
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/slideswitch/slideswitch.pro b/examples/declarative/ui-components/slideswitch/slideswitch.pro
index c4dbec1..ed78217 100644
--- a/examples/declarative/ui-components/slideswitch/slideswitch.pro
+++ b/examples/declarative/ui-components/slideswitch/slideswitch.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xEAB2005A
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/slideswitch
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/spinner/spinner.pro b/examples/declarative/ui-components/spinner/spinner.pro
index ffb0f76..fb08dd8 100644
--- a/examples/declarative/ui-components/spinner/spinner.pro
+++ b/examples/declarative/ui-components/spinner/spinner.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/spinner
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/tabwidget/tabwidget.pro b/examples/declarative/ui-components/tabwidget/tabwidget.pro
index 04d1027..11db318 100644
--- a/examples/declarative/ui-components/tabwidget/tabwidget.pro
+++ b/examples/declarative/ui-components/tabwidget/tabwidget.pro
@@ -33,5 +33,6 @@ symbian:TARGET.CAPABILITY += NetworkServices
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/tabwidget
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/xml/xmlhttprequest-example/xmlhttprequestexample.pro b/examples/declarative/xml/xmlhttprequest-example/xmlhttprequestexample.pro
index c953e33..01c0bda 100644
--- a/examples/declarative/xml/xmlhttprequest-example/xmlhttprequestexample.pro
+++ b/examples/declarative/xml/xmlhttprequest-example/xmlhttprequestexample.pro
@@ -35,5 +35,6 @@ symbian:TARGET.UID3 = 0xE83495FC
 SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
-include(../../../tools/qmlapplicationviewer/qmlapplicationviewer.pri)
+desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/xml/xmlhttprequest-example
+include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
new file mode 100644
index 0000000..1bba248
--- /dev/null
+++ b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
@@ -0,0 +1,197 @@
+/*
+  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/QDir>
+#include <QtCore/QFileInfo>
+#include <QtDeclarative/QDeclarativeComponent>
+#include <QtDeclarative/QDeclarativeEngine>
+#include <QtDeclarative/QDeclarativeContext>
+#include <QtGui/QApplication>
+
+#include <qplatformdefs.h> // MEEGO_EDITION_HARMATTAN
+
+#ifdef HARMATTAN_BOOSTER
+#include <MDeclarativeCache>
+#endif
+
+#if defined(QMLJSDEBUGGER) && QT_VERSION < 0x040800
+
+#include <qt_private/qdeclarativedebughelper_p.h>
+
+#if !defined(NO_JSDEBUGGER)
+#include <jsdebuggeragent.h>
+#endif
+#if !defined(NO_QMLOBSERVER)
+#include <qdeclarativeviewobserver.h>
+#endif
+
+// 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
+{
+    QmlApplicationViewerPrivate(QDeclarativeView *view_) : view(view_) {}
+
+    QString mainQmlFile;
+    QDeclarativeView *view;
+    friend class QmlApplicationViewer;
+    QString adjustPath(const QString &path);
+};
+
+QString QmlApplicationViewerPrivate::adjustPath(const QString &path)
+{
+#ifdef Q_OS_UNIX
+#ifdef Q_OS_MAC
+    if (!QDir::isAbsolutePath(path))
+        return QString::fromLatin1("%1/../Resources/%2")
+                .arg(QCoreApplication::applicationDirPath(), path);
+#else
+    const QString pathInInstallDir =
+            QString::fromLatin1("%1/../%2").arg(QCoreApplication::applicationDirPath(), path);
+    if (QFileInfo(pathInInstallDir).exists())
+        return pathInInstallDir;
+#endif
+#endif
+    return path;
+}
+
+QmlApplicationViewer::QmlApplicationViewer(QWidget *parent)
+    : QDeclarativeView(parent)
+    , d(new QmlApplicationViewerPrivate(this))
+{
+    connect(engine(), SIGNAL(quit()), SLOT(close()));
+    setResizeMode(QDeclarativeView::SizeRootObjectToView);
+    // Qt versions prior to 4.8.0 don't have QML/JS debugging services built in
+#if defined(QMLJSDEBUGGER) && QT_VERSION < 0x040800
+#if !defined(NO_JSDEBUGGER)
+    new QmlJSDebugger::JSDebuggerAgent(d->view->engine());
+#endif
+#if !defined(NO_QMLOBSERVER)
+    new QmlJSDebugger::QDeclarativeViewObserver(d->view, d->view);
+#endif
+#endif
+}
+
+QmlApplicationViewer::QmlApplicationViewer(QDeclarativeView *view, QWidget *parent)
+    : QDeclarativeView(parent)
+    , d(new QmlApplicationViewerPrivate(view))
+{
+    connect(view->engine(), SIGNAL(quit()), view, SLOT(close()));
+    view->setResizeMode(QDeclarativeView::SizeRootObjectToView);
+    // Qt versions prior to 4.8.0 don't have QML/JS debugging services built in
+#if defined(QMLJSDEBUGGER) && QT_VERSION < 0x040800
+#if !defined(NO_JSDEBUGGER)
+    new QmlJSDebugger::JSDebuggerAgent(d->view->engine());
+#endif
+#if !defined(NO_QMLOBSERVER)
+    new QmlJSDebugger::QDeclarativeViewObserver(d->view, d->view);
+#endif
+#endif
+}
+
+QmlApplicationViewer::~QmlApplicationViewer()
+{
+    delete d;
+}
+
+QmlApplicationViewer *QmlApplicationViewer::create()
+{
+#ifdef HARMATTAN_BOOSTER
+    return new QmlApplicationViewer(MDeclarativeCache::qDeclarativeView(), 0);
+#else
+    return new QmlApplicationViewer();
+#endif
+}
+
+void QmlApplicationViewer::setMainQmlFile(const QString &file)
+{
+    d->mainQmlFile = d->adjustPath(file);
+    d->view->setSource(QUrl::fromLocalFile(d->mainQmlFile));
+}
+
+void QmlApplicationViewer::addImportPath(const QString &path)
+{
+    d->view->engine()->addImportPath(d->adjustPath(path));
+}
+
+void QmlApplicationViewer::setOrientation(ScreenOrientation orientation)
+{
+#if defined(Q_OS_SYMBIAN)
+    // If the version of Qt on the device is < 4.7.2, that attribute won't work
+    if (orientation != ScreenOrientationAuto) {
+        const QStringList v = QString::fromAscii(qVersion()).split(QLatin1Char('.'));
+        if (v.count() == 3 && (v.at(0).toInt() << 16 | v.at(1).toInt() << 8 | v.at(2).toInt()) < 0x040702) {
+            qWarning("Screen orientation locking only supported with Qt 4.7.2 and above");
+            return;
+        }
+    }
+#endif // Q_OS_SYMBIAN
+
+    Qt::WidgetAttribute attribute;
+    switch (orientation) {
+#if QT_VERSION < 0x040702
+    // Qt < 4.7.2 does not yet have the Qt::WA_*Orientation attributes
+    case ScreenOrientationLockPortrait:
+        attribute = static_cast<Qt::WidgetAttribute>(128);
+        break;
+    case ScreenOrientationLockLandscape:
+        attribute = static_cast<Qt::WidgetAttribute>(129);
+        break;
+    default:
+    case ScreenOrientationAuto:
+        attribute = static_cast<Qt::WidgetAttribute>(130);
+        break;
+#else // QT_VERSION < 0x040702
+    case ScreenOrientationLockPortrait:
+        attribute = Qt::WA_LockPortraitOrientation;
+        break;
+    case ScreenOrientationLockLandscape:
+        attribute = Qt::WA_LockLandscapeOrientation;
+        break;
+    default:
+    case ScreenOrientationAuto:
+        attribute = Qt::WA_AutoOrientation;
+        break;
+#endif // QT_VERSION < 0x040702
+    };
+    setAttribute(attribute, true);
+}
+
+void QmlApplicationViewer::showExpanded()
+{
+#if defined(Q_OS_SYMBIAN) || defined(MEEGO_EDITION_HARMATTAN) || defined(Q_WS_SIMULATOR)
+    d->view->showFullScreen();
+#elif defined(Q_WS_MAEMO_5)
+    d->view->showMaximized();
+#else
+    d->view->show();
+#endif
+}
+
+QApplication *createApplication(int &argc, char **argv)
+{
+#ifdef HARMATTAN_BOOSTER
+    return MDeclarativeCache::qApplication(argc, argv);
+#else
+    return new QApplication(argc, argv);
+#endif
+}
diff --git a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.h b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.h
new file mode 100644
index 0000000..d6cb43e
--- /dev/null
+++ b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.h
@@ -0,0 +1,46 @@
+/*
+  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();
+
+    static QmlApplicationViewer *create();
+
+    void setMainQmlFile(const QString &file);
+    void addImportPath(const QString &path);
+
+    // Note that this will only have an effect on Symbian and Fremantle.
+    void setOrientation(ScreenOrientation orientation);
+
+    void showExpanded();
+
+private:
+    explicit QmlApplicationViewer(QDeclarativeView *view, QWidget *parent);
+    class QmlApplicationViewerPrivate *d;
+};
+
+QApplication *createApplication(int &argc, char **argv);
+
+#endif // QMLAPPLICATIONVIEWER_H
diff --git a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri
new file mode 100644
index 0000000..de03b4c
--- /dev/null
+++ b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri
@@ -0,0 +1,152 @@
+# 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
+
+# Include JS debugger library if QMLJSDEBUGGER_PATH is set
+!isEmpty(QMLJSDEBUGGER_PATH) {
+    include($$QMLJSDEBUGGER_PATH/qmljsdebugger-lib.pri)
+} else {
+    DEFINES -= QMLJSDEBUGGER
+}
+
+contains(CONFIG,qdeclarative-boostable):contains(MEEGO_EDITION,harmattan) {
+    DEFINES += HARMATTAN_BOOSTER
+}
+# 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 = $$_PRO_FILE_PWD_
+
+symbian {
+    isEmpty(ICON):exists($${TARGET}.svg):ICON = $${TARGET}.svg
+    isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+} else:win32 {
+    copyCommand =
+    for(deploymentfolder, DEPLOYMENTFOLDERS) {
+        source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+        source = $$replace(source, /, \\)
+        sourcePathSegments = $$split(source, \\)
+        target = $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(sourcePathSegments)
+        target = $$replace(target, /, \\)
+        target ~= s,\\\\\\.?\\\\,\\,
+        !isEqual(source,$$target) {
+            !isEmpty(copyCommand):copyCommand += &&
+            isEqual(QMAKE_DIR_SEP, \\) {
+                copyCommand += $(COPY_DIR) \"$$source\" \"$$target\"
+            } else {
+                source = $$replace(source, \\\\, /)
+                target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
+                target = $$replace(target, \\\\, /)
+                copyCommand += test -d \"$$target\" || mkdir -p \"$$target\" && cp -r \"$$source\" \"$$target\"
+            }
+        }
+    }
+    !isEmpty(copyCommand) {
+        copyCommand = @echo Copying application data... && $$copyCommand
+        copydeploymentfolders.commands = $$copyCommand
+        first.depends = $(first) copydeploymentfolders
+        export(first.depends)
+        export(copydeploymentfolders.commands)
+        QMAKE_EXTRA_TARGETS += first copydeploymentfolders
+    }
+} else:unix {
+    maemo5 {
+        installPrefix = /opt/$${TARGET}
+        desktopfile.files = $${TARGET}.desktop
+        desktopfile.path = /usr/share/applications/hildon
+        icon.files = $${TARGET}64.png
+        icon.path = /usr/share/icons/hicolor/64x64/apps
+    } else:!isEmpty(MEEGO_VERSION_MAJOR) {
+        installPrefix = /opt/$${TARGET}
+        desktopfile.files = $${TARGET}_harmattan.desktop
+        desktopfile.path = /usr/share/applications
+        icon.files = $${TARGET}80.png
+        icon.path = /usr/share/icons/hicolor/80x80/apps
+    } else { # Assumed to be a Desktop Unix
+        isEmpty(desktopInstallPrefix):installPrefix = $$[QT_INSTALL_DEMOS]/$${TARGET}
+        else:installPrefix = $$desktopInstallPrefix
+        copyCommand =
+        for(deploymentfolder, DEPLOYMENTFOLDERS) {
+            source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+            source = $$replace(source, \\\\, /)
+            macx {
+                target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target)
+            } else {
+                target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
+            }
+            target = $$replace(target, \\\\, /)
+            sourcePathSegments = $$split(source, /)
+            targetFullPath = $$target/$$last(sourcePathSegments)
+            targetFullPath ~= s,/\\.?/,/,
+            !isEqual(source,$$targetFullPath) {
+                !isEmpty(copyCommand):copyCommand += &&
+                copyCommand += $(MKDIR) \"$$target\"
+                copyCommand += && $(COPY_DIR) \"$$source\" \"$$target\"
+            }
+        }
+        !isEmpty(copyCommand) {
+            copyCommand = @echo Copying application data... && $$copyCommand
+            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}/$$eval($${deploymentfolder}.target)
+        export($$itemfiles)
+        export($$itempath)
+        INSTALLS += $$item
+    }
+
+    !isEmpty(desktopfile.path) {
+        export(icon.files)
+        export(icon.path)
+        export(desktopfile.files)
+        export(desktopfile.path)
+        INSTALLS += icon desktopfile
+    }
+
+    target.path = $${installPrefix}/bin
+    export(target.path)
+    message($$target)
+    message($$installPrefix)
+    INSTALLS += target
+}
+
+export (ICON)
+export (INSTALLS)
+export (DEPLOYMENT)
+export (TARGET.EPOCHEAPSIZE)
+export (TARGET.CAPABILITY)
+export (LIBS)
+export (QMAKE_EXTRA_TARGETS)
+}
diff --git a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri.autosave b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri.autosave
new file mode 100644
index 0000000..d280874
--- /dev/null
+++ b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri.autosave
@@ -0,0 +1,150 @@
+# 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
+
+# Include JS debugger library if QMLJSDEBUGGER_PATH is set
+!isEmpty(QMLJSDEBUGGER_PATH) {
+    include($$QMLJSDEBUGGER_PATH/qmljsdebugger-lib.pri)
+} else {
+    DEFINES -= QMLJSDEBUGGER
+}
+
+contains(CONFIG,qdeclarative-boostable):contains(MEEGO_EDITION,harmattan) {
+    DEFINES += HARMATTAN_BOOSTER
+}
+# 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 = $$_PRO_FILE_PWD_
+
+symbian {
+    isEmpty(ICON):exists($${TARGET}.svg):ICON = $${TARGET}.svg
+    isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+} else:win32 {
+    copyCommand =
+    for(deploymentfolder, DEPLOYMENTFOLDERS) {
+        source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+        source = $$replace(source, /, \\)
+        sourcePathSegments = $$split(source, \\)
+        target = $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(sourcePathSegments)
+        target = $$replace(target, /, \\)
+        target ~= s,\\\\\\.?\\\\,\\,
+        !isEqual(source,$$target) {
+            !isEmpty(copyCommand):copyCommand += &&
+            isEqual(QMAKE_DIR_SEP, \\) {
+                copyCommand += $(COPY_DIR) \"$$source\" \"$$target\"
+            } else {
+                source = $$replace(source, \\\\, /)
+                target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
+                target = $$replace(target, \\\\, /)
+                copyCommand += test -d \"$$target\" || mkdir -p \"$$target\" && cp -r \"$$source\" \"$$target\"
+            }
+        }
+    }
+    !isEmpty(copyCommand) {
+        copyCommand = @echo Copying application data... && $$copyCommand
+        copydeploymentfolders.commands = $$copyCommand
+        first.depends = $(first) copydeploymentfolders
+        export(first.depends)
+        export(copydeploymentfolders.commands)
+        QMAKE_EXTRA_TARGETS += first copydeploymentfolders
+    }
+} else:unix {
+    maemo5 {
+        installPrefix = /opt/$${TARGET}
+        desktopfile.files = $${TARGET}.desktop
+        desktopfile.path = /usr/share/applications/hildon
+        icon.files = $${TARGET}64.png
+        icon.path = /usr/share/icons/hicolor/64x64/apps
+    } else:!isEmpty(MEEGO_VERSION_MAJOR) {
+        installPrefix = /opt/$${TARGET}
+        desktopfile.files = $${TARGET}_harmattan.desktop
+        desktopfile.path = /usr/share/applications
+        icon.files = $${TARGET}80.png
+        icon.path = /usr/share/icons/hicolor/80x80/apps
+    } else { # Assumed to be a Desktop Unix
+        isEmpty(desktopInstallPrefix):installPrefix =   /$${TARGET}
+        else:installPrefix = $$desktopInstallPrefix
+        copyCommand =
+        for(deploymentfolder, DEPLOYMENTFOLDERS) {
+            source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+            source = $$replace(source, \\\\, /)
+            macx {
+                target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target)
+            } else {
+                target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
+            }
+            target = $$replace(target, \\\\, /)
+            sourcePathSegments = $$split(source, /)
+            targetFullPath = $$target/$$last(sourcePathSegments)
+            targetFullPath ~= s,/\\.?/,/,
+            !isEqual(source,$$targetFullPath) {
+                !isEmpty(copyCommand):copyCommand += &&
+                copyCommand += $(MKDIR) \"$$target\"
+                copyCommand += && $(COPY_DIR) \"$$source\" \"$$target\"
+            }
+        }
+        !isEmpty(copyCommand) {
+            copyCommand = @echo Copying application data... && $$copyCommand
+            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}/$$eval($${deploymentfolder}.target)
+        export($$itemfiles)
+        export($$itempath)
+        INSTALLS += $$item
+    }
+
+    !isEmpty(desktopfile.path) {
+        export(icon.files)
+        export(icon.path)
+        export(desktopfile.files)
+        export(desktopfile.path)
+        INSTALLS += icon desktopfile
+    }
+
+    target.path = $${installPrefix}/bin
+    export(target.path)
+    INSTALLS += target
+}
+
+export (ICON)
+export (INSTALLS)
+export (DEPLOYMENT)
+export (TARGET.EPOCHEAPSIZE)
+export (TARGET.CAPABILITY)
+export (LIBS)
+export (QMAKE_EXTRA_TARGETS)
+}
diff --git a/examples/tools/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/tools/qmlapplicationviewer/qmlapplicationviewer.cpp
deleted file mode 100644
index 1bba248..0000000
--- a/examples/tools/qmlapplicationviewer/qmlapplicationviewer.cpp
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
-  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/QDir>
-#include <QtCore/QFileInfo>
-#include <QtDeclarative/QDeclarativeComponent>
-#include <QtDeclarative/QDeclarativeEngine>
-#include <QtDeclarative/QDeclarativeContext>
-#include <QtGui/QApplication>
-
-#include <qplatformdefs.h> // MEEGO_EDITION_HARMATTAN
-
-#ifdef HARMATTAN_BOOSTER
-#include <MDeclarativeCache>
-#endif
-
-#if defined(QMLJSDEBUGGER) && QT_VERSION < 0x040800
-
-#include <qt_private/qdeclarativedebughelper_p.h>
-
-#if !defined(NO_JSDEBUGGER)
-#include <jsdebuggeragent.h>
-#endif
-#if !defined(NO_QMLOBSERVER)
-#include <qdeclarativeviewobserver.h>
-#endif
-
-// 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
-{
-    QmlApplicationViewerPrivate(QDeclarativeView *view_) : view(view_) {}
-
-    QString mainQmlFile;
-    QDeclarativeView *view;
-    friend class QmlApplicationViewer;
-    QString adjustPath(const QString &path);
-};
-
-QString QmlApplicationViewerPrivate::adjustPath(const QString &path)
-{
-#ifdef Q_OS_UNIX
-#ifdef Q_OS_MAC
-    if (!QDir::isAbsolutePath(path))
-        return QString::fromLatin1("%1/../Resources/%2")
-                .arg(QCoreApplication::applicationDirPath(), path);
-#else
-    const QString pathInInstallDir =
-            QString::fromLatin1("%1/../%2").arg(QCoreApplication::applicationDirPath(), path);
-    if (QFileInfo(pathInInstallDir).exists())
-        return pathInInstallDir;
-#endif
-#endif
-    return path;
-}
-
-QmlApplicationViewer::QmlApplicationViewer(QWidget *parent)
-    : QDeclarativeView(parent)
-    , d(new QmlApplicationViewerPrivate(this))
-{
-    connect(engine(), SIGNAL(quit()), SLOT(close()));
-    setResizeMode(QDeclarativeView::SizeRootObjectToView);
-    // Qt versions prior to 4.8.0 don't have QML/JS debugging services built in
-#if defined(QMLJSDEBUGGER) && QT_VERSION < 0x040800
-#if !defined(NO_JSDEBUGGER)
-    new QmlJSDebugger::JSDebuggerAgent(d->view->engine());
-#endif
-#if !defined(NO_QMLOBSERVER)
-    new QmlJSDebugger::QDeclarativeViewObserver(d->view, d->view);
-#endif
-#endif
-}
-
-QmlApplicationViewer::QmlApplicationViewer(QDeclarativeView *view, QWidget *parent)
-    : QDeclarativeView(parent)
-    , d(new QmlApplicationViewerPrivate(view))
-{
-    connect(view->engine(), SIGNAL(quit()), view, SLOT(close()));
-    view->setResizeMode(QDeclarativeView::SizeRootObjectToView);
-    // Qt versions prior to 4.8.0 don't have QML/JS debugging services built in
-#if defined(QMLJSDEBUGGER) && QT_VERSION < 0x040800
-#if !defined(NO_JSDEBUGGER)
-    new QmlJSDebugger::JSDebuggerAgent(d->view->engine());
-#endif
-#if !defined(NO_QMLOBSERVER)
-    new QmlJSDebugger::QDeclarativeViewObserver(d->view, d->view);
-#endif
-#endif
-}
-
-QmlApplicationViewer::~QmlApplicationViewer()
-{
-    delete d;
-}
-
-QmlApplicationViewer *QmlApplicationViewer::create()
-{
-#ifdef HARMATTAN_BOOSTER
-    return new QmlApplicationViewer(MDeclarativeCache::qDeclarativeView(), 0);
-#else
-    return new QmlApplicationViewer();
-#endif
-}
-
-void QmlApplicationViewer::setMainQmlFile(const QString &file)
-{
-    d->mainQmlFile = d->adjustPath(file);
-    d->view->setSource(QUrl::fromLocalFile(d->mainQmlFile));
-}
-
-void QmlApplicationViewer::addImportPath(const QString &path)
-{
-    d->view->engine()->addImportPath(d->adjustPath(path));
-}
-
-void QmlApplicationViewer::setOrientation(ScreenOrientation orientation)
-{
-#if defined(Q_OS_SYMBIAN)
-    // If the version of Qt on the device is < 4.7.2, that attribute won't work
-    if (orientation != ScreenOrientationAuto) {
-        const QStringList v = QString::fromAscii(qVersion()).split(QLatin1Char('.'));
-        if (v.count() == 3 && (v.at(0).toInt() << 16 | v.at(1).toInt() << 8 | v.at(2).toInt()) < 0x040702) {
-            qWarning("Screen orientation locking only supported with Qt 4.7.2 and above");
-            return;
-        }
-    }
-#endif // Q_OS_SYMBIAN
-
-    Qt::WidgetAttribute attribute;
-    switch (orientation) {
-#if QT_VERSION < 0x040702
-    // Qt < 4.7.2 does not yet have the Qt::WA_*Orientation attributes
-    case ScreenOrientationLockPortrait:
-        attribute = static_cast<Qt::WidgetAttribute>(128);
-        break;
-    case ScreenOrientationLockLandscape:
-        attribute = static_cast<Qt::WidgetAttribute>(129);
-        break;
-    default:
-    case ScreenOrientationAuto:
-        attribute = static_cast<Qt::WidgetAttribute>(130);
-        break;
-#else // QT_VERSION < 0x040702
-    case ScreenOrientationLockPortrait:
-        attribute = Qt::WA_LockPortraitOrientation;
-        break;
-    case ScreenOrientationLockLandscape:
-        attribute = Qt::WA_LockLandscapeOrientation;
-        break;
-    default:
-    case ScreenOrientationAuto:
-        attribute = Qt::WA_AutoOrientation;
-        break;
-#endif // QT_VERSION < 0x040702
-    };
-    setAttribute(attribute, true);
-}
-
-void QmlApplicationViewer::showExpanded()
-{
-#if defined(Q_OS_SYMBIAN) || defined(MEEGO_EDITION_HARMATTAN) || defined(Q_WS_SIMULATOR)
-    d->view->showFullScreen();
-#elif defined(Q_WS_MAEMO_5)
-    d->view->showMaximized();
-#else
-    d->view->show();
-#endif
-}
-
-QApplication *createApplication(int &argc, char **argv)
-{
-#ifdef HARMATTAN_BOOSTER
-    return MDeclarativeCache::qApplication(argc, argv);
-#else
-    return new QApplication(argc, argv);
-#endif
-}
diff --git a/examples/tools/qmlapplicationviewer/qmlapplicationviewer.h b/examples/tools/qmlapplicationviewer/qmlapplicationviewer.h
deleted file mode 100644
index d6cb43e..0000000
--- a/examples/tools/qmlapplicationviewer/qmlapplicationviewer.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-  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();
-
-    static QmlApplicationViewer *create();
-
-    void setMainQmlFile(const QString &file);
-    void addImportPath(const QString &path);
-
-    // Note that this will only have an effect on Symbian and Fremantle.
-    void setOrientation(ScreenOrientation orientation);
-
-    void showExpanded();
-
-private:
-    explicit QmlApplicationViewer(QDeclarativeView *view, QWidget *parent);
-    class QmlApplicationViewerPrivate *d;
-};
-
-QApplication *createApplication(int &argc, char **argv);
-
-#endif // QMLAPPLICATIONVIEWER_H
diff --git a/examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri
deleted file mode 100644
index c8bec69..0000000
--- a/examples/tools/qmlapplicationviewer/qmlapplicationviewer.pri
+++ /dev/null
@@ -1,147 +0,0 @@
-# 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
-
-# Include JS debugger library if QMLJSDEBUGGER_PATH is set
-!isEmpty(QMLJSDEBUGGER_PATH) {
-    include($$QMLJSDEBUGGER_PATH/qmljsdebugger-lib.pri)
-} else {
-    DEFINES -= QMLJSDEBUGGER
-}
-
-contains(CONFIG,qdeclarative-boostable):contains(MEEGO_EDITION,harmattan) {
-    DEFINES += HARMATTAN_BOOSTER
-}
-# 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 = $$_PRO_FILE_PWD_
-
-symbian {
-    isEmpty(ICON):exists($${TARGET}.svg):ICON = $${TARGET}.svg
-    isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
-} else:win32 {
-    copyCommand =
-    for(deploymentfolder, DEPLOYMENTFOLDERS) {
-        source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
-        source = $$replace(source, /, \\)
-        sourcePathSegments = $$split(source, \\)
-        target = $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(sourcePathSegments)
-        target = $$replace(target, /, \\)
-        target ~= s,\\\\\\.?\\\\,\\,
-        !isEqual(source,$$target) {
-            !isEmpty(copyCommand):copyCommand += &&
-            isEqual(QMAKE_DIR_SEP, \\) {
-                copyCommand += $(COPY_DIR) \"$$source\" \"$$target\"
-            } else {
-                source = $$replace(source, \\\\, /)
-                target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
-                target = $$replace(target, \\\\, /)
-                copyCommand += test -d \"$$target\" || mkdir -p \"$$target\" && cp -r \"$$source\" \"$$target\"
-            }
-        }
-    }
-    !isEmpty(copyCommand) {
-        copyCommand = @echo Copying application data... && $$copyCommand
-        copydeploymentfolders.commands = $$copyCommand
-        first.depends = $(first) copydeploymentfolders
-        export(first.depends)
-        export(copydeploymentfolders.commands)
-        QMAKE_EXTRA_TARGETS += first copydeploymentfolders
-    }
-} else:unix {
-    maemo5 {
-        desktopfile.files = $${TARGET}.desktop
-        desktopfile.path = /usr/share/applications/hildon
-        icon.files = $${TARGET}64.png
-        icon.path = /usr/share/icons/hicolor/64x64/apps
-    } else:!isEmpty(MEEGO_VERSION_MAJOR) {
-        desktopfile.files = $${TARGET}_harmattan.desktop
-        desktopfile.path = /usr/share/applications
-        icon.files = $${TARGET}80.png
-        icon.path = /usr/share/icons/hicolor/80x80/apps
-    } else { # Assumed to be a Desktop Unix
-        copyCommand =
-        for(deploymentfolder, DEPLOYMENTFOLDERS) {
-            source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
-            source = $$replace(source, \\\\, /)
-            macx {
-                target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target)
-            } else {
-                target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
-            }
-            target = $$replace(target, \\\\, /)
-            sourcePathSegments = $$split(source, /)
-            targetFullPath = $$target/$$last(sourcePathSegments)
-            targetFullPath ~= s,/\\.?/,/,
-            !isEqual(source,$$targetFullPath) {
-                !isEmpty(copyCommand):copyCommand += &&
-                copyCommand += $(MKDIR) \"$$target\"
-                copyCommand += && $(COPY_DIR) \"$$source\" \"$$target\"
-            }
-        }
-        !isEmpty(copyCommand) {
-            copyCommand = @echo Copying application data... && $$copyCommand
-            copydeploymentfolders.commands = $$copyCommand
-            first.depends = $(first) copydeploymentfolders
-            export(first.depends)
-            export(copydeploymentfolders.commands)
-            QMAKE_EXTRA_TARGETS += first copydeploymentfolders
-        }
-    }
-    installPrefix = /opt/$${TARGET}
-    for(deploymentfolder, DEPLOYMENTFOLDERS) {
-        item = item$${deploymentfolder}
-        itemfiles = $${item}.files
-        $$itemfiles = $$eval($${deploymentfolder}.source)
-        itempath = $${item}.path
-        $$itempath = $${installPrefix}/$$eval($${deploymentfolder}.target)
-        export($$itemfiles)
-        export($$itempath)
-        INSTALLS += $$item
-    }
-
-    !isEmpty(desktopfile.path) {
-        export(icon.files)
-        export(icon.path)
-        export(desktopfile.files)
-        export(desktopfile.path)
-        INSTALLS += icon desktopfile
-    }
-
-    target.path = $${installPrefix}/bin
-    export(target.path)
-    INSTALLS += target
-}
-
-export (ICON)
-export (INSTALLS)
-export (DEPLOYMENT)
-export (TARGET.EPOCHEAPSIZE)
-export (TARGET.CAPABILITY)
-export (LIBS)
-export (QMAKE_EXTRA_TARGETS)
-}
diff --git a/tests/manual/declarative/qmlshadersplugin/qmlapplicationviewer/qmlapplicationviewer.pri b/tests/manual/declarative/qmlshadersplugin/qmlapplicationviewer/qmlapplicationviewer.pri
index 79e6a9f..524d7c3 100644
--- a/tests/manual/declarative/qmlshadersplugin/qmlapplicationviewer/qmlapplicationviewer.pri
+++ b/tests/manual/declarative/qmlshadersplugin/qmlapplicationviewer/qmlapplicationviewer.pri
@@ -1,6 +1,9 @@
-# checksum 0xc123 version 0x10008
-# This file should not be edited.
-# Future versions of Qt Creator might offer updated versions of this file.
+# checksum 0x5b42 version 0x70012
+# 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
 
@@ -8,58 +11,21 @@ SOURCES += $$PWD/qmlapplicationviewer.cpp
 HEADERS += $$PWD/qmlapplicationviewer.h
 INCLUDEPATH += $$PWD
 
-contains(DEFINES, QMLOBSERVER) {
-    DEFINES *= QMLJSDEBUGGER
+# Include JS debugger library if QMLJSDEBUGGER_PATH is set
+!isEmpty(QMLJSDEBUGGER_PATH) {
+    include($$QMLJSDEBUGGER_PATH/qmljsdebugger-lib.pri)
+} else {
+    DEFINES -= QMLJSDEBUGGER
 }
 
-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("Debugging QML requires the qmljsdebugger library that ships with Qt Creator.")
-            warning("This library requires Qt 4.7.1 or newer.")
-            warning()
-
-            error("Qt version $$QT_VERSION too old for QmlJS Debugging. Aborting.")
-        }
-        isEmpty(QMLJSDEBUGGER_PATH) {
-            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()
-
-            error("QMLJSDEBUGGER defined, but no QMLJSDEBUGGER_PATH set on command line. Aborting.")
-            DEFINES -= QMLJSDEBUGGER
-        } else {
-            include($$QMLJSDEBUGGER_PATH/qmljsdebugger-lib.pri)
-        }
-    } else {
-        DEFINES -= QMLJSDEBUGGER
-    }
+contains(CONFIG,qdeclarative-boostable):contains(MEEGO_EDITION,harmattan) {
+    DEFINES += HARMATTAN_BOOSTER
 }
-# This file should not be edited.
-# Future versions of Qt Creator might offer updated versions of this file.
+# 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) {
@@ -76,19 +42,31 @@ for(deploymentfolder, DEPLOYMENTFOLDERS) {
 MAINPROFILEPWD = $$PWD
 
 symbian {
-    ICON = $${TARGET}.svg
-    TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
-    contains(DEFINES, ORIENTATIONLOCK):LIBS += -lavkon -leikcore -leiksrv -lcone
-    contains(DEFINES, NETWORKACCESS):TARGET.CAPABILITY += NetworkServices
+    isEmpty(ICON):exists($${TARGET}.svg):ICON = $${TARGET}.svg
+    isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
 } 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, /, \\)
+    copyCommand =
+    for(deploymentfolder, DEPLOYMENTFOLDERS) {
+        source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+        source = $$replace(source, /, \\)
+        sourcePathSegments = $$split(source, \\)
+        target = $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(sourcePathSegments)
+        target = $$replace(target, /, \\)
+        target ~= s,\\\\\\.?\\\\,\\,
+        !isEqual(source,$$target) {
+            !isEmpty(copyCommand):copyCommand += &&
+            isEqual(QMAKE_DIR_SEP, \\) {
+                copyCommand += $(COPY_DIR) \"$$source\" \"$$target\"
+            } else {
+                source = $$replace(source, \\\\, /)
+                target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
+                target = $$replace(target, \\\\, /)
+                copyCommand += test -d \"$$target\" || mkdir -p \"$$target\" && cp -r \"$$source\" \"$$target\"
+            }
         }
+    }
+    !isEmpty(copyCommand) {
+        copyCommand = @echo Copying application data... && $$copyCommand
         copydeploymentfolders.commands = $$copyCommand
         first.depends = $(first) copydeploymentfolders
         export(first.depends)
@@ -97,22 +75,37 @@ symbian {
     }
 } else:unix {
     maemo5 {
-        installPrefix = /opt/usr
+        desktopfile.files = $${TARGET}.desktop
         desktopfile.path = /usr/share/applications/hildon
-    } else {
-        installPrefix = /usr/local
+        icon.files = $${TARGET}64.png
+        icon.path = /usr/share/icons/hicolor/64x64/apps
+    } else:!isEmpty(MEEGO_VERSION_MAJOR) {
+        desktopfile.files = $${TARGET}_harmattan.desktop
         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
+        icon.files = $${TARGET}80.png
+        icon.path = /usr/share/icons/hicolor/80x80/apps
+    } else { # Assumed to be a Desktop Unix
+        copyCommand =
+        for(deploymentfolder, DEPLOYMENTFOLDERS) {
+            source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+            source = $$replace(source, \\\\, /)
+            macx {
+                target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target)
+            } else {
+                target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
             }
+            target = $$replace(target, \\\\, /)
+            sourcePathSegments = $$split(source, /)
+            targetFullPath = $$target/$$last(sourcePathSegments)
+            targetFullPath ~= s,/\\.?/,/,
+            !isEqual(source,$$targetFullPath) {
+                !isEmpty(copyCommand):copyCommand += &&
+                copyCommand += $(MKDIR) \"$$target\"
+                copyCommand += && $(COPY_DIR) \"$$source\" \"$$target\"
+            }
+        }
+        !isEmpty(copyCommand) {
+            copyCommand = @echo Copying application data... && $$copyCommand
             copydeploymentfolders.commands = $$copyCommand
             first.depends = $(first) copydeploymentfolders
             export(first.depends)
@@ -120,26 +113,29 @@ symbian {
             QMAKE_EXTRA_TARGETS += first copydeploymentfolders
         }
     }
+    installPrefix = /opt/$${TARGET}
     for(deploymentfolder, DEPLOYMENTFOLDERS) {
         item = item$${deploymentfolder}
         itemfiles = $${item}.files
         $$itemfiles = $$eval($${deploymentfolder}.source)
         itempath = $${item}.path
-        $$itempath = $${installPrefix}/share/$${TARGET}/$$eval($${deploymentfolder}.target)
+        $$itempath = $${installPrefix}/$$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
+
+    !isEmpty(desktopfile.path) {
+        export(icon.files)
+        export(icon.path)
+        export(desktopfile.files)
+        export(desktopfile.path)
+        INSTALLS += icon desktopfile
+    }
+
     target.path = $${installPrefix}/bin
-    export(icon.files)
-    export(icon.path)
-    export(desktopfile.files)
-    export(desktopfile.path)
     export(target.path)
-    INSTALLS += desktopfile icon target
+    INSTALLS += target
 }
 
 export (ICON)
-- 
cgit v0.12


From 8a880ff9e548b433b228341236973e92462eb4ff Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <daniel.molkentin@nokia.com>
Date: Mon, 21 Nov 2011 14:17:51 +0100
Subject: Compile fix.

Reviewed-by: trustme
---
 tools/qdoc3/htmlgenerator.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index 8526bff..747d57e 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -4406,12 +4406,11 @@ void HtmlGenerator::generateManifestFile(QString manifest, QString element)
         QString docUrl = manifestDir + en->fileBase() + ".html";
         writer.writeAttribute("docUrl", docUrl);
 
-
         QDir installDir(QLibraryInfo::location(QLibraryInfo::DataPath));
         QDir buildDir(QString::fromLocal8Bit(qgetenv("QT_BUILD_TREE")));
         QDir sourceDir(QString::fromLocal8Bit(qgetenv("QT_SOURCE_TREE")));
 
-
+        QString relativePath;
         if (buildDir.exists() && sourceDir.exists()
             // shadow build, but no prefix build
             && installDir == buildDir && buildDir != sourceDir) {
-- 
cgit v0.12


From ace0cf0caf431526967decd59168afc7d8cb0e58 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <daniel.molkentin@nokia.com>
Date: Mon, 21 Nov 2011 14:27:38 +0100
Subject: Examples: Add Copright headers, Remove stray file.

Reviewed-by: trustme
---
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  |  47 +++++--
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  47 +++++--
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  |  47 +++++--
 .../qmlapplicationviewer/qmlapplicationviewer.h    |  47 +++++--
 .../qmlapplicationviewer.pri.autosave              | 150 ---------------------
 5 files changed, 156 insertions(+), 182 deletions(-)
 delete mode 100644 examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri.autosave

diff --git a/demos/helper/qmlapplicationviewer/qmlapplicationviewer.cpp b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
index 1bba248..6b01095 100644
--- a/demos/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
+++ b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
@@ -1,11 +1,42 @@
-/*
-  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.
-*/
+/****************************************************************************
+ * **
+ * ** 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$
+ * **
+ * ****************************************************************************/
 
 #include "qmlapplicationviewer.h"
 
diff --git a/demos/helper/qmlapplicationviewer/qmlapplicationviewer.h b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.h
index d6cb43e..dfccfe0 100644
--- a/demos/helper/qmlapplicationviewer/qmlapplicationviewer.h
+++ b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.h
@@ -1,11 +1,42 @@
-/*
-  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.
-*/
+/****************************************************************************
+ * **
+ * ** 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$
+ * **
+ * ****************************************************************************/
 
 #ifndef QMLAPPLICATIONVIEWER_H
 #define QMLAPPLICATIONVIEWER_H
diff --git a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
index 1bba248..6b01095 100644
--- a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
+++ b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
@@ -1,11 +1,42 @@
-/*
-  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.
-*/
+/****************************************************************************
+ * **
+ * ** 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$
+ * **
+ * ****************************************************************************/
 
 #include "qmlapplicationviewer.h"
 
diff --git a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.h b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.h
index d6cb43e..dfccfe0 100644
--- a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.h
+++ b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.h
@@ -1,11 +1,42 @@
-/*
-  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.
-*/
+/****************************************************************************
+ * **
+ * ** 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$
+ * **
+ * ****************************************************************************/
 
 #ifndef QMLAPPLICATIONVIEWER_H
 #define QMLAPPLICATIONVIEWER_H
diff --git a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri.autosave b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri.autosave
deleted file mode 100644
index d280874..0000000
--- a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri.autosave
+++ /dev/null
@@ -1,150 +0,0 @@
-# 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
-
-# Include JS debugger library if QMLJSDEBUGGER_PATH is set
-!isEmpty(QMLJSDEBUGGER_PATH) {
-    include($$QMLJSDEBUGGER_PATH/qmljsdebugger-lib.pri)
-} else {
-    DEFINES -= QMLJSDEBUGGER
-}
-
-contains(CONFIG,qdeclarative-boostable):contains(MEEGO_EDITION,harmattan) {
-    DEFINES += HARMATTAN_BOOSTER
-}
-# 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 = $$_PRO_FILE_PWD_
-
-symbian {
-    isEmpty(ICON):exists($${TARGET}.svg):ICON = $${TARGET}.svg
-    isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
-} else:win32 {
-    copyCommand =
-    for(deploymentfolder, DEPLOYMENTFOLDERS) {
-        source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
-        source = $$replace(source, /, \\)
-        sourcePathSegments = $$split(source, \\)
-        target = $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(sourcePathSegments)
-        target = $$replace(target, /, \\)
-        target ~= s,\\\\\\.?\\\\,\\,
-        !isEqual(source,$$target) {
-            !isEmpty(copyCommand):copyCommand += &&
-            isEqual(QMAKE_DIR_SEP, \\) {
-                copyCommand += $(COPY_DIR) \"$$source\" \"$$target\"
-            } else {
-                source = $$replace(source, \\\\, /)
-                target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
-                target = $$replace(target, \\\\, /)
-                copyCommand += test -d \"$$target\" || mkdir -p \"$$target\" && cp -r \"$$source\" \"$$target\"
-            }
-        }
-    }
-    !isEmpty(copyCommand) {
-        copyCommand = @echo Copying application data... && $$copyCommand
-        copydeploymentfolders.commands = $$copyCommand
-        first.depends = $(first) copydeploymentfolders
-        export(first.depends)
-        export(copydeploymentfolders.commands)
-        QMAKE_EXTRA_TARGETS += first copydeploymentfolders
-    }
-} else:unix {
-    maemo5 {
-        installPrefix = /opt/$${TARGET}
-        desktopfile.files = $${TARGET}.desktop
-        desktopfile.path = /usr/share/applications/hildon
-        icon.files = $${TARGET}64.png
-        icon.path = /usr/share/icons/hicolor/64x64/apps
-    } else:!isEmpty(MEEGO_VERSION_MAJOR) {
-        installPrefix = /opt/$${TARGET}
-        desktopfile.files = $${TARGET}_harmattan.desktop
-        desktopfile.path = /usr/share/applications
-        icon.files = $${TARGET}80.png
-        icon.path = /usr/share/icons/hicolor/80x80/apps
-    } else { # Assumed to be a Desktop Unix
-        isEmpty(desktopInstallPrefix):installPrefix =   /$${TARGET}
-        else:installPrefix = $$desktopInstallPrefix
-        copyCommand =
-        for(deploymentfolder, DEPLOYMENTFOLDERS) {
-            source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
-            source = $$replace(source, \\\\, /)
-            macx {
-                target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target)
-            } else {
-                target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
-            }
-            target = $$replace(target, \\\\, /)
-            sourcePathSegments = $$split(source, /)
-            targetFullPath = $$target/$$last(sourcePathSegments)
-            targetFullPath ~= s,/\\.?/,/,
-            !isEqual(source,$$targetFullPath) {
-                !isEmpty(copyCommand):copyCommand += &&
-                copyCommand += $(MKDIR) \"$$target\"
-                copyCommand += && $(COPY_DIR) \"$$source\" \"$$target\"
-            }
-        }
-        !isEmpty(copyCommand) {
-            copyCommand = @echo Copying application data... && $$copyCommand
-            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}/$$eval($${deploymentfolder}.target)
-        export($$itemfiles)
-        export($$itempath)
-        INSTALLS += $$item
-    }
-
-    !isEmpty(desktopfile.path) {
-        export(icon.files)
-        export(icon.path)
-        export(desktopfile.files)
-        export(desktopfile.path)
-        INSTALLS += icon desktopfile
-    }
-
-    target.path = $${installPrefix}/bin
-    export(target.path)
-    INSTALLS += target
-}
-
-export (ICON)
-export (INSTALLS)
-export (DEPLOYMENT)
-export (TARGET.EPOCHEAPSIZE)
-export (TARGET.CAPABILITY)
-export (LIBS)
-export (QMAKE_EXTRA_TARGETS)
-}
-- 
cgit v0.12


From ccd722e1daec26ab981c75abca23bfd360055322 Mon Sep 17 00:00:00 2001
From: Casper van Donderen <casper.vandonderen@nokia.com>
Date: Tue, 22 Nov 2011 11:24:49 +0100
Subject: Update the license in the qmlapplicationviewer.

The license had too many comments in them, these are now removed

Reviewed-By: Trust me
---
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 76 +++++++++++-----------
 .../qmlapplicationviewer/qmlapplicationviewer.h    | 76 +++++++++++-----------
 .../qmlapplicationviewer/qmlapplicationviewer.cpp  | 76 +++++++++++-----------
 .../qmlapplicationviewer/qmlapplicationviewer.h    | 76 +++++++++++-----------
 4 files changed, 152 insertions(+), 152 deletions(-)

diff --git a/demos/helper/qmlapplicationviewer/qmlapplicationviewer.cpp b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
index 6b01095..24f0659 100644
--- a/demos/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
+++ b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
@@ -1,42 +1,42 @@
 /****************************************************************************
- * **
- * ** 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$
- * **
- * ****************************************************************************/
+**
+** 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$
+**
+****************************************************************************/
 
 #include "qmlapplicationviewer.h"
 
diff --git a/demos/helper/qmlapplicationviewer/qmlapplicationviewer.h b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.h
index dfccfe0..e1db21e 100644
--- a/demos/helper/qmlapplicationviewer/qmlapplicationviewer.h
+++ b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.h
@@ -1,42 +1,42 @@
 /****************************************************************************
- * **
- * ** 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$
- * **
- * ****************************************************************************/
+**
+** 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$
+**
+****************************************************************************/
 
 #ifndef QMLAPPLICATIONVIEWER_H
 #define QMLAPPLICATIONVIEWER_H
diff --git a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.cpp b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
index 6b01095..24f0659 100644
--- a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
+++ b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.cpp
@@ -1,42 +1,42 @@
 /****************************************************************************
- * **
- * ** 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$
- * **
- * ****************************************************************************/
+**
+** 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$
+**
+****************************************************************************/
 
 #include "qmlapplicationviewer.h"
 
diff --git a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.h b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.h
index dfccfe0..e1db21e 100644
--- a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.h
+++ b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.h
@@ -1,42 +1,42 @@
 /****************************************************************************
- * **
- * ** 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$
- * **
- * ****************************************************************************/
+**
+** 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$
+**
+****************************************************************************/
 
 #ifndef QMLAPPLICATIONVIEWER_H
 #define QMLAPPLICATIONVIEWER_H
-- 
cgit v0.12


From 2f4d684267f23992e656d183bde6f8c6773e5a6d Mon Sep 17 00:00:00 2001
From: Casper van Donderen <casper.vandonderen@nokia.com>
Date: Tue, 22 Nov 2011 12:44:40 +0100
Subject: Add C++11 support and QThreadLocalStorage changes to docs.

The C++11 support was not documented in the "What's new" page.

Reviewed-By: Frederik Gladhorn
---
 doc/src/qt4-intro.qdoc | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc
index 01103a8..ce1726d 100644
--- a/doc/src/qt4-intro.qdoc
+++ b/doc/src/qt4-intro.qdoc
@@ -558,7 +558,14 @@
 
     Qt 4.8 introduces changes to the Qt API.
     \list
+    \o C++11 support:
+    Qt supports some of the features of the C++11 standard. QList, QVector and
+    QStringList can be initialized with initializer lists. Most of the tool
+    classes have a move operator. It is possible to use lambda functions in some
+    of the QtConcurrent functions.
+    
     \o Localization API
+
     Changes to the Localization APIs include improvements to \l QLocale and more
     support for different language code formats.
 
@@ -579,6 +586,7 @@
         \endlist
     \o IP Multicast API
     \o Multithreaded HTTP
+    \o QThreadLocalStorage can now store simple objects in addition to pointers
     \endlist
 
     \section1 New Classes, Functions, Macros, etc.
-- 
cgit v0.12


From c6b06f07d4fdd62698e91ece75acba1f2c1748cc Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <daniel.molkentin@nokia.com>
Date: Tue, 22 Nov 2011 13:48:40 +0100
Subject: Fix "make install" for declarative examples

Reviewed-by: Oswald Buddenhagen
---
 demos/demos.pro                                    |  4 +++-
 demos/helper/helper.pro                            |  7 +++++++
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 12 ++++++++---
 examples/declarative/animation/animation.pro       |  8 ++++++++
 examples/declarative/declarative.pro               | 24 +++++++++++-----------
 .../declarative/imageelements/imageelements.pro    |  6 ++++++
 examples/declarative/text/fonts/fonts.pro          |  7 +++++++
 examples/declarative/text/text.pro                 |  5 +++++
 examples/declarative/threading/threading.pro       |  5 +++++
 .../touchinteraction/touchinteraction.pro          |  4 ++--
 examples/declarative/toys/toys.pro                 |  8 ++++++++
 .../declarative/ui-components/ui-components.pro    | 11 ++++++++++
 examples/examples.pro                              |  2 +-
 examples/helper/helper.pro                         |  7 +++++++
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 14 ++++++++-----
 15 files changed, 100 insertions(+), 24 deletions(-)
 create mode 100644 demos/helper/helper.pro
 create mode 100644 examples/declarative/animation/animation.pro
 create mode 100644 examples/declarative/imageelements/imageelements.pro
 create mode 100644 examples/declarative/text/fonts/fonts.pro
 create mode 100644 examples/declarative/text/text.pro
 create mode 100644 examples/declarative/threading/threading.pro
 create mode 100644 examples/declarative/toys/toys.pro
 create mode 100644 examples/declarative/ui-components/ui-components.pro
 create mode 100644 examples/helper/helper.pro

diff --git a/demos/demos.pro b/demos/demos.pro
index ed18446..41540c6 100644
--- a/demos/demos.pro
+++ b/demos/demos.pro
@@ -61,7 +61,7 @@ wince*:SUBDIRS += demos_sqlbrowser
 }
 contains(QT_CONFIG, phonon):!static:SUBDIRS += demos_mediaplayer
 contains(QT_CONFIG, webkit):contains(QT_CONFIG, svg):!symbian:SUBDIRS += demos_browser
-contains(QT_CONFIG, declarative):SUBDIRS += demos_declarative
+contains(QT_CONFIG, declarative):SUBDIRS += demos_declarative demos_helper
 contains(QT_CONFIG, multimedia):!static:SUBDIRS += demos_spectrum
 
 # install
@@ -94,6 +94,8 @@ demos_undo.subdir = undo
 demos_qtdemo.subdir = qtdemo
 demos_mediaplayer.subdir = qmediaplayer
 demos_declarative.subdir = declarative
+demos_declarative.depends = demos_helper
+demos_helper.subdir = helper
 
 #mobile demos. Requires QtMobility sources. Not included in demo build
 demos_guitartuner.subdir = mobile/guitartuner
diff --git a/demos/helper/helper.pro b/demos/helper/helper.pro
new file mode 100644
index 0000000..03b3dcd
--- /dev/null
+++ b/demos/helper/helper.pro
@@ -0,0 +1,7 @@
+TEMPLATE = subdirs
+
+# the helpers simply need a make install target, but require no compilation 
+sources.files = \
+	qmlapplicationviewer
+sources.path = $$[QT_INSTALL_DEMOS]/helper
+INSTALLS += sources
diff --git a/demos/helper/qmlapplicationviewer/qmlapplicationviewer.pri b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.pri
index 8a51c9b..6809b64 100644
--- a/demos/helper/qmlapplicationviewer/qmlapplicationviewer.pri
+++ b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.pri
@@ -75,19 +75,26 @@ symbian {
 } else:unix {
     maemo5 {
         installPrefix = /opt/$${TARGET}
+        target.path = $${installPrefix}/bin
         desktopfile.files = $${TARGET}.desktop
         desktopfile.path = /usr/share/applications/hildon
         icon.files = $${TARGET}64.png
         icon.path = /usr/share/icons/hicolor/64x64/apps
     } else:!isEmpty(MEEGO_VERSION_MAJOR) {
         installPrefix = /opt/$${TARGET}
+        target.path = $${installPrefix}/bin
         desktopfile.files = $${TARGET}_harmattan.desktop
         desktopfile.path = /usr/share/applications
         icon.files = $${TARGET}80.png
         icon.path = /usr/share/icons/hicolor/80x80/apps
     } else { # Assumed to be a Desktop Unix
-        isEmpty(desktopInstallPrefix):installPrefix = $$[QT_INSTALL_DEMOS]/$${TARGET}
-        else:installPrefix = $$desktopInstallPrefix
+        installPrefix = $$desktopInstallPrefix
+        target.path = $${installPrefix}
+        sources.files = *.cpp *.h *.desktop *.png *.pro *.qml *.qmlproject *.svg
+        sources.path = $$desktopInstallPrefix
+        export(sources.files)
+        export(sources.path)
+        INSTALLS += sources
         copyCommand =
         for(deploymentfolder, DEPLOYMENTFOLDERS) {
             source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
@@ -135,7 +142,6 @@ symbian {
         INSTALLS += icon desktopfile
     }
 
-    target.path = $${installPrefix}/bin
     export(target.path)
     INSTALLS += target
 }
diff --git a/examples/declarative/animation/animation.pro b/examples/declarative/animation/animation.pro
new file mode 100644
index 0000000..a71df66
--- /dev/null
+++ b/examples/declarative/animation/animation.pro
@@ -0,0 +1,8 @@
+TEMPLATE = subdirs
+
+SUBDIRS += \
+    basics/property-animation \
+    basics/color-animation \
+    easing \
+    behaviors/behavior-example \
+    states
diff --git a/examples/declarative/declarative.pro b/examples/declarative/declarative.pro
index f10e7a4..684dd2a 100644
--- a/examples/declarative/declarative.pro
+++ b/examples/declarative/declarative.pro
@@ -2,9 +2,20 @@ TEMPLATE = subdirs
 
 # These examples contain some C++ and need to be built
 SUBDIRS = \
+   animation \
    cppextensions \
    modelviews \
-   tutorials 
+   i18n \
+   imageelements \
+   keyinteraction/focus \
+   positioners \
+   sqllocalstorage \
+   text \
+   threading \
+   tutorials \
+   touchinteraction \
+   toys \
+   ui-components
 
 # OpenGL shader examples requires opengl and they contain some C++ and need to be built
 contains(QT_CONFIG, opengl): SUBDIRS += shadereffects
@@ -14,18 +25,7 @@ symbian:SUBDIRS -= plugins
 
 # These examples contain no C++ and can simply be copied
 sources.files = \
-   animation \
    cppextensions \
-   i18n \
-   imageelements \
-   keyinteraction \
-   positioners \
-   sqllocalstorage \
-   text \
-   threading \
-   touchinteraction \
-   toys \
-   ui-components \
    xml
 
 sources.path = $$[QT_INSTALL_EXAMPLES]/declarative
diff --git a/examples/declarative/imageelements/imageelements.pro b/examples/declarative/imageelements/imageelements.pro
new file mode 100644
index 0000000..8aa9920
--- /dev/null
+++ b/examples/declarative/imageelements/imageelements.pro
@@ -0,0 +1,6 @@
+TEMPLATE = subdirs
+
+SUBDIRS += \
+    borderimage \
+    image \
+    shadows
diff --git a/examples/declarative/text/fonts/fonts.pro b/examples/declarative/text/fonts/fonts.pro
new file mode 100644
index 0000000..3710ab2
--- /dev/null
+++ b/examples/declarative/text/fonts/fonts.pro
@@ -0,0 +1,7 @@
+TEMPLATE += subdirs
+
+SUBDIRS += \
+    availableFonts \
+    banner \
+    fonts \
+    hello
diff --git a/examples/declarative/text/text.pro b/examples/declarative/text/text.pro
new file mode 100644
index 0000000..4e86deb
--- /dev/null
+++ b/examples/declarative/text/text.pro
@@ -0,0 +1,5 @@
+TEMPLATE = subdirs
+
+SUBDIRS += \
+    fonts \
+    textselection
diff --git a/examples/declarative/threading/threading.pro b/examples/declarative/threading/threading.pro
new file mode 100644
index 0000000..5650861
--- /dev/null
+++ b/examples/declarative/threading/threading.pro
@@ -0,0 +1,5 @@
+TEMPLATE = subdirs
+
+SUBDIRS = \
+    threadedlistmodel \
+    workerscript
diff --git a/examples/declarative/touchinteraction/touchinteraction.pro b/examples/declarative/touchinteraction/touchinteraction.pro
index 1beaeab..5ce0abe 100644
--- a/examples/declarative/touchinteraction/touchinteraction.pro
+++ b/examples/declarative/touchinteraction/touchinteraction.pro
@@ -1,4 +1,4 @@
 TEMPLATE      = subdirs
-SUBDIRS       = gestures \
-                mousearea \
+SUBDIRS       = gestures/experimental-gestures \
+                mousearea/mousearea-example \
                 pincharea
diff --git a/examples/declarative/toys/toys.pro b/examples/declarative/toys/toys.pro
new file mode 100644
index 0000000..5c7f70b
--- /dev/null
+++ b/examples/declarative/toys/toys.pro
@@ -0,0 +1,8 @@
+TEMPLATE = subdirs
+
+SUBDIRS += \
+    clocks \
+    corkboards \
+    dynamicscene \
+    tic-tac-toe \
+    tvtennis
diff --git a/examples/declarative/ui-components/ui-components.pro b/examples/declarative/ui-components/ui-components.pro
new file mode 100644
index 0000000..62d1cdf
--- /dev/null
+++ b/examples/declarative/ui-components/ui-components.pro
@@ -0,0 +1,11 @@
+TEMPLATE = subdirs
+
+SUBDIRS += dialcontrol \
+           flipable \
+           main \
+           progressbar \
+           scrollbar \
+           searchbox \
+           slideswitch \
+           spinner \
+           tabwidget
diff --git a/examples/examples.pro b/examples/examples.pro
index 0c4c9cb..810e51a 100644
--- a/examples/examples.pro
+++ b/examples/examples.pro
@@ -62,7 +62,7 @@ embedded:SUBDIRS += qws
 contains(QT_CONFIG, opengl): SUBDIRS += opengl
 contains(QT_CONFIG, openvg): SUBDIRS += openvg
 contains(QT_CONFIG, dbus): SUBDIRS += dbus
-contains(QT_CONFIG, declarative): SUBDIRS += declarative
+contains(QT_CONFIG, declarative): SUBDIRS += declarative helper
 win32:!win32-g++*: SUBDIRS += activeqt
 contains(QT_CONFIG, xmlpatterns):!contains(QT_CONFIG, no-gui): SUBDIRS += xmlpatterns
 contains(DEFINES, QT_NO_CURSOR): SUBDIRS -= mainwindows
diff --git a/examples/helper/helper.pro b/examples/helper/helper.pro
new file mode 100644
index 0000000..34963bd
--- /dev/null
+++ b/examples/helper/helper.pro
@@ -0,0 +1,7 @@
+TEMPLATE = subdirs
+
+# the helpers simply need a make install target, but require no compilation 
+sources.files = \
+	qmlapplicationviewer
+sources.path = $$[QT_INSTALL_EXAMPLES]/helper
+INSTALLS += sources
diff --git a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri
index de03b4c..6809b64 100644
--- a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri
+++ b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri
@@ -75,19 +75,26 @@ symbian {
 } else:unix {
     maemo5 {
         installPrefix = /opt/$${TARGET}
+        target.path = $${installPrefix}/bin
         desktopfile.files = $${TARGET}.desktop
         desktopfile.path = /usr/share/applications/hildon
         icon.files = $${TARGET}64.png
         icon.path = /usr/share/icons/hicolor/64x64/apps
     } else:!isEmpty(MEEGO_VERSION_MAJOR) {
         installPrefix = /opt/$${TARGET}
+        target.path = $${installPrefix}/bin
         desktopfile.files = $${TARGET}_harmattan.desktop
         desktopfile.path = /usr/share/applications
         icon.files = $${TARGET}80.png
         icon.path = /usr/share/icons/hicolor/80x80/apps
     } else { # Assumed to be a Desktop Unix
-        isEmpty(desktopInstallPrefix):installPrefix = $$[QT_INSTALL_DEMOS]/$${TARGET}
-        else:installPrefix = $$desktopInstallPrefix
+        installPrefix = $$desktopInstallPrefix
+        target.path = $${installPrefix}
+        sources.files = *.cpp *.h *.desktop *.png *.pro *.qml *.qmlproject *.svg
+        sources.path = $$desktopInstallPrefix
+        export(sources.files)
+        export(sources.path)
+        INSTALLS += sources
         copyCommand =
         for(deploymentfolder, DEPLOYMENTFOLDERS) {
             source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
@@ -135,10 +142,7 @@ symbian {
         INSTALLS += icon desktopfile
     }
 
-    target.path = $${installPrefix}/bin
     export(target.path)
-    message($$target)
-    message($$installPrefix)
     INSTALLS += target
 }
 
-- 
cgit v0.12


From 7871aeef4ab8fdabc3e2d8f170e64ee5c8041512 Mon Sep 17 00:00:00 2001
From: Casper van Donderen <casper.vandonderen@nokia.com>
Date: Tue, 22 Nov 2011 16:34:03 +0100
Subject: Add Symbian platform notes.

---
 doc/src/platforms/platform-notes.qdoc      | 368 +++++++++++++++++++++++++++++
 doc/src/platforms/supported-platforms.qdoc |  90 ++++++-
 2 files changed, 457 insertions(+), 1 deletion(-)
 create mode 100644 doc/src/platforms/platform-notes.qdoc

diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc
new file mode 100644
index 0000000..0022704
--- /dev/null
+++ b/doc/src/platforms/platform-notes.qdoc
@@ -0,0 +1,368 @@
+/****************************************************************************
+**
+** 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 documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+    \group platform-specific
+    \title Platform-Specific Documentation
+    \brief Documents describing platform-specific features of Qt.
+
+    These documents describe platform-specific features provided by Qt, and
+    discuss issues related to particular platforms and environments.
+
+    \generatelist{related}
+*/
+
+/*!
+    \page platform-notes.html
+    \ingroup platform-specific
+    \title Platform and Compiler Notes
+    \brief Information about the platforms on which Qt can be used.
+
+    This page contains information about the platforms Qt is currently known
+    to run on, with links to platform-specific notes, including any known bugs
+    or incompatibilities.
+
+    Information about the combinations of platforms and compilers
+    supported by Qt can be found on the \l{Supported Platforms} page.
+
+    \list
+    \o \l{Platform and Compiler Notes - Symbian}
+    \tableofcontents{1 Platform and Compiler Notes - Symbian}
+    \endlist
+
+*/
+
+/*!
+    \page platform-notes-symbian.html
+    \title Platform and Compiler Notes - Symbian
+    \contentspage Platform and Compiler Notes
+    \ingroup platform-specific
+    \brief Information about the state of support for the Symbian platform.
+
+    This page describes implementation details regarding the Qt for Symbian port. To get 
+    started with application development for Symbian devices, read  the \l 
+    {http://doc.qt.nokia.com/qtcreator/creator-developing-symbian.html} 
+    {Connecting Symbian Devices} document.
+
+    \section1 Source Compatibility
+
+    Qt for Symbian provides the same level of source compatibility guarantee as
+    given for other platforms. That is, a program which compiles against a given
+    version of Qt for Symbian will also compile against all future versions of the
+    same major release.
+
+    \section1 Binary Compatibility
+
+    As with every supported platform, Qt strives to maintain application 
+    behavior and binary compatibility throughout the lifetime of the Qt 4.x 
+    major version and on the \l {Supported Devices}{Symbian devices that support Qt}.
+    Symbian support in Qt SDK and Ovi Store were introduced with Qt 4.6. Each Qt 
+    release contains bug fixes that might change the API behavior and thereby 
+    affect application compatibility.
+
+    In addition, Symbian devices have different input methods, such as different 
+    keyboard styles or touch input, screen sizes, memory, and CPU and GPU 
+    capabilities. Therefore, you must test applications on specific target 
+    devices to ensure compatibility. In order to build applications that are 
+    supported also on earlier devices, select the target in Qt SDK carefully. 
+    Generally, an earlier target (such as S60 5th Edition) is supported on a 
+    larger number of devices than a later target (such as Symbian Belle).
+
+    \target Supported Devices
+    \section1 Supported Devices
+    
+    The \l {http://developer.qt.nokia.com/wiki/support_for_Symbian}{Support for Symbian} document
+    details the Qt support on different Symbian devices.
+
+    The \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian#Supported_Devices}
+    {Nokia Smart Installer for Symbian} document lists how Qt is supported on 
+    different Symbian devices through Smart Installer.
+
+    Qt versions are supported by Symbian devices as follows:
+    \list
+    \o Qt 4.6 is supported by S60 3rd Edition feature pack 1 and newer devices 
+    through \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian}{Smart Installer}.
+    \o Qt 4.7.3 is supported by S60 5th Edition and newer devices
+    through \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian}{Smart Installer}.
+    \endlist
+    
+    Symbian devices have a pre-installed Qt support as follows:
+    \list
+    \o Symbian Anna: Qt 4.7.3 in C: drive. Note that Qt 4.7.4 is supported in Symbian Anna
+    through \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian}{Smart Installer}.
+    \o Symbian Belle: Qt 4.7.4 in device firmware (ROM).
+    \endlist
+    
+
+    \section1 Functionality Support
+
+    The following technologies and classes are not supported:
+    \list
+    \o QtConcurrent
+    \o QtDBus
+    \o \l {http://doc.qt.nokia.com/4.8/printing.html}{Printing support}
+    \o Qt3Support
+    \endlist
+    
+    The following technologies have limited support:
+    
+
+    \table
+    \header \o Module
+            \o Note
+    \row    \o QtSql
+            \o The supported drivers are SQLite and QSYMSQL.
+    \row    \o QtMultimedia
+            \o For support details see \l {Multimedia Support} section.
+    \row    \o QtGui
+            \o QtGui's widgets are deprecated (i.e. they are available but not 
+            recommended to use) in the Symbian port. It is recommended to use \l
+            {http://doc.qt.nokia.com/qt-components-symbian-1.1/symbian-components-functional.html}
+            {Qt Quick Components for Symbian} instead, because they provide 
+            better look and feel on Symbian devices.
+
+            Moreover, the following classes of QtGui \bold {should not 
+            be used} in a Symbian application:
+            
+            \list
+            \o QFileDialog with the \c DontUseNativeDialog option
+            \o QColorDialog with the \c DontUseNativeDialog option
+            \o QFontDialog
+            \o QWizard
+            \o QCalendarWidget
+            \o QDateTimeEdit
+            \o QMdiArea
+            \o QDockWidget
+            \o QMdiSubWindow
+            \o QPrintPreviewWidget
+            \endlist
+            
+            QScrollArea: The scrolling and focus handling of QScrollArea's all 
+            scrollable widgets, for example QListView, differs from native Avkon 
+            list widgets' one. Native Avkon scrollable components support 
+            touch-gesture-based scrolling by dragging and flicking the UI 
+            component but this functionality is not implemented in Qt widgets. 
+            Scrolling by dragging and flicking works also in Qt Quick Components 
+            that implements the \l 
+            {http://www.developer.nokia.com/Resources/Library/Symbian_Design_Guidelines/}
+            {Symbian design guidelines}.
+
+    \endtable
+
+    \section1 Compiler Notes
+    
+    For the application development the necessary compiler toolchain is included in \l 
+    {http://qt.nokia.com/downloads}{Qt SDK}. For instructions compiling Qt 
+    itself see the \l
+    {http://doc.qt.nokia.com/stable/install-symbian.html}
+    {Installing Qt for the Symbian platform} document.
+
+    \section1 Known Issues
+
+    Known issues can be found by visiting the
+    \l{http://qt.gitorious.org/qt/pages/QtKnownIssues}{wiki page} with an
+    up-to-date list of known issues, and the list of bugs can be found by
+    \l{http://bugreports.qt.nokia.com/browse/QTBUG/component/19171}{browsing} the
+    S60 component in Qt's public task tracker, located at
+    \l{http://bugreports.qt.nokia.com/}{http://bugreports.qt.nokia.com/}.
+
+    For information about mixing exceptions with Symbian leaves, see
+    \l{Exception Safety with Symbian}.
+
+    \section1 Required Capabilities
+
+    The Qt libraries are typically signed with \c{All -TCB} capabilites but
+    that does not mean your Qt application needs to be signed with the same
+    capabilities to function properly. The capabilities your application needs
+    to function properly depends on which parts of Qt you use. 
+    In a Qt application Symbian capabilities are defined in the
+    \l {http://doc.qt.nokia.com/4.8/qmake-variable-reference.html#target-capability}
+    {TARGET.CAPABILITY} qmake variable in the project file.
+    Here is an overview for which capabilities may be needed when using different modules:
+
+    \table
+    \header \o Module
+            \o Required Symbian Capability
+    \row    \o QtCore
+            \o \c PowerMgmt if QProcess::kill(...) or QProcess::terminate(...) is called.
+    \row    \o QtCore
+            \o \c AllFiles when \l{http://wiki.forum.nokia.com/index.php/Capabilities_%28Symbian_Signed%29/AllFiles_Capability}{accessing specific areas.}
+    \row    \o QtDeclarative
+            \o \c NetworkServices is automatically added for this module if no capabilities are explicitly specified.
+    \row    \o QtNetwork
+            \o \c NetworkServices is automatically added for this module if no capabilities are explicitly specified.
+    \row    \o QtNetwork
+            \o \c ReadUserData is required to include all the phone's SSL certificates in the system's default CA certificate list
+                  (for example those added by the user or stored in the SIM card),
+                  without this capability only the CA certs built into the phone are used.
+    \row    \o QtMultimedia
+            \o \c UserEnvironment if QAudioInput is used.
+    \row    \o QtWebKit
+            \o \c NetworkServices is automatically added for this module if no capabilities are explicitly specified.
+    \endtable
+
+    \note Some modules rely on other modules. E.g. QtWebkit and QtDeclarative
+    depend on QtNetwork and therefore any application that
+    depends on these modules is also likely to need \c NetworkServices capability.
+
+    For more information see the documentation of the individual Qt classes. If
+    a class does not mention Symbian capabilities, it requires none.
+
+    \target Multimedia Support
+    \section1 Multimedia Support
+
+    Qt Mobility provides a high-level API for multimedia functionality with
+    \l{http://doc.qt.nokia.com/qtmobility/multimedia.html}{QtMultimediaKit}.
+    In addition, Qt provides the low-level \l {QtMultimedia}{QtMultimedia} 
+    module that is internally used by the QtMultimediaKit. For more information
+    on developing multimedia applications for Symbian devices, see
+    \l {http://www.developer.nokia.com/info/sw.nokia.com/id/4abf12e7-72d8-45ef-b1a2-46184abe18ba/Guide_for_Qt_Multimedia_Developers.html}
+    {Guide for Qt Multimedia Developers}.
+
+    Moreover, there is a third multimedia-related module called Phonon. Qt 
+    provides two backends for the Phonon module in Symbian: \i MMF and \i Helix. 
+
+    Note that Phonon is a legacy module and the QtMultimediaKit module is 
+    replacing Phonon in Qt 5. Although Phonon is supported in Symbian for 
+    backwards compatibility and there is no plan to remove Phonon from Symbian 
+    any new applications should use QtMultimediaKit in Symbian using Qt 4.7 
+    bundle. The QtMultimediaKit feature set is comparable to that in Phonon.        
+
+    The following applies to Phonon:
+    \list
+    \o MMF Phonon backend supports video and sound playback through Symbian's 
+    Multimedia Framework, MMF. Phonon's video playback may show artifacts when 
+    the video is moved or resized (for instance, during device orientation 
+    changes from portrait to landscape and vice versa). This problem is present 
+    on S60 5th Edition and earlier versions, as well as in Symbian Anna devices.
+    \o The audio and video formats that Phonon supports depends on what support
+    the platform provides for MMF. The emulator is known to have limited
+    codec support.
+    \o In addition, there exists a backend for the Helix framework. However, since
+    it is not shipped with Qt, its availability depends on the Symbian platform
+    in use. If the MFF plugin fails to load, the Helix plugin, if present on the
+    device, will be loaded instead.
+    \endlist
+
+    \section1 Hardware Accelerated Rendering
+
+    The default graphics system on Symbian Anna is OpenVG, which uses OpenVG
+    hardware to accelerate \l QPainter functions. There are a few exceptions,
+    where Qt will use software rendering fallback.
+
+    Devices like the N8 and C7 only have 32Mb of GPU memory and limited support
+    for EGL surface transparency. These devices can be identified by querying
+    the\c GL_RENDERER or \c VG_RENDERER string which evaluates to \c {VideoCore III}.
+    On these devices, Qt will use software rendering in cases listed below.
+
+        \list
+        \o Translucent windows
+        \o Dialogs
+        \o Popups
+        \endlist
+
+    \section1 OpenGL Support in Symbian
+
+     Qt 4.7 introduces the \l {QtOpenGL} module. QtOpenGL is
+     supported on devices which support OpenGL ES 2.0. Symbian platforms prior
+     to Symbian Anna (and Symbian^3) are not supported.
+
+    \l QGLWidget usage as a \l QGraphicsView viewport is not recommended on
+    Symbian. The OpenVG graphics system is not able to manage OpenGL graphics
+    resources. Also, a QGLWidget object is not able to release its GPU resources
+    when the application goes to the background. If OpenGL functionality is
+    needed, \l { http://doc.qt.nokia.com/4.7-snapshot/qapplication.html#setGraphicsSystem}
+    {OpenGL graphics system} usage is recommended. If an application
+    decides to use QGLWidget, then it is the application's responsibility to
+    destroy and release QGLWidget and related OpenGL resources when the
+    application goes to the background. Otherwise, the \l{Graphics Out Of Memory monitor}
+    may decide to kill the application as it consumes GPU resources while in the
+    background.
+
+    \note \l QGLBuffer, \l QGLFramebufferObject, \l QGLPixelBuffer, \l
+    QGLShader, and \l QGLShaderProgram are direct GPU resources and it is the
+    application's responsibility to manage them.
+
+    \section1 UI Performance in S60 3rd and 5th Edition Devices
+
+    Qt uses the QPainter class to perform low-level painting on widgets and
+    other paint devices. QPainter provides functions to draw complex shapes,
+    aligned text and pixmaps. It can also do vector path clipping, coordinate
+    transformations and Porter-Duff composition. If the underlying graphics
+    architecture does not support all of these operations then Qt uses the
+    raster graphics system for rendering.
+    
+    In Symbian Anna (and Symbian^3) Qt uses hardware accelerated graphics as explained above.
+    This is enabled by \l
+    {http://library.developer.nokia.com/index.jsp?topic=/GUID-E35887BB-7E58-438C-AA27-97B2CDE7E069/GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.html}
+    {ScreenPlay Graphics Architecture} in these devices.
+
+    Most of the Symbian S60 3rd and 5th Edition devices have a
+    graphics architecture that does not have native support for all functions
+    provided by QPainter. In these \l
+    {http://library.developer.nokia.com/index.jsp?topic=/GUID-E35887BB-7E58-438C-AA27-97B2CDE7E069/GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.html}
+    {non-ScreenPlay} devices Qt uses the raster
+    graphics system by default that has a performance penalty compared
+    to native Symbian rendering.
+
+    In order to be able to perform all functions provided by QPainter, the
+    raster graphics system needs to have pixel level framebuffer access. To
+    make this possible in non-ScreenPlay devices Qt has to create an
+    additional offscreen buffer that is the target for all Qt rendering
+    operations. Qt renders the widget tree to the offscreen buffer and the
+    offscreen buffer is blitted to the framebuffer via Symbian Window Server.
+
+    The following table shows the rendering stacks of native Symbian and Qt in
+    \l {http://library.developer.nokia.com/index.jsp?topic=/GUID-E35887BB-7E58-438C-AA27-97B2CDE7E069/GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.html}
+    {non-ScreenPlay devices}.
+
+    \table
+    \header \o Symbian
+            \o Qt
+    \row    \o \image symbian-rendering-stack-non-screenplay.png
+            \o \image symbian-qt-rendering-stack-non-screenplay.png
+    \endtable
+
+    The following diagrams show a simplified sequence of drawing a pixmap in
+    a non-ScreenPlay device.
+
+    \table
+    \header \o Symbian
+    \row    \o \image symbian-draw-pixmap-sequence.png
+    \endtable
+
+    \table
+    \header \o Qt
+    \row    \o \image symbian-qt-draw-pixmap-sequence.png
+    \endtable
+
+    When compared to a native Symbian application, Qt does an additional blit
+    to the offscreen buffer before drawing to the framebuffer. That is the
+    performance penalty which needs to be paid to get all functionality
+    provided by QPainter in non-ScreenPlay architecture.
+*/
+
diff --git a/doc/src/platforms/supported-platforms.qdoc b/doc/src/platforms/supported-platforms.qdoc
index 38d4f16..f69bddb 100644
--- a/doc/src/platforms/supported-platforms.qdoc
+++ b/doc/src/platforms/supported-platforms.qdoc
@@ -355,6 +355,93 @@
 
 */
 /*!
+    \page symbian-support.html
+    \title Support for Symbian
+    \brief Platform support for Symbian.
+    \ingroup platform-specific
+    \ingroup platform-details
+
+    \section1 Qt on Symbian
+
+    Qt provides support for the Symbian platform with integration
+    to the S60 framework. If you are developing apps for the Symbian,
+    Maemo or MeeGo platforms in most cases, you can use Qt under the
+    free LGPL licensing option. Qt is cross-platform, and that means
+    that you can use the code from one single code-base and rebuild
+    for all \l{Supported Platforms}{supported platforms}.
+
+     \section1 Getting Started on Symbian
+
+    \list
+        \o \l{Supported Platforms}{Supported platform}
+        - Details on the Qt support for Symbian.
+        \o \l{Qt for the Symbian platform Requirements}{Qt for the
+        Symbian platform Requirements} - Software required to run Qt
+        on Symbian.
+        \o \l{Installing Qt for the Symbian platform}{Installing Qt
+        for the Symbian platform} - Build Qt for Symbian development.
+        \o \l{Platform and Compiler Notes - Symbian}{Platform Notes - Symbian}
+        - Platform specific notes.
+        \o \l{Getting Started Guides}{Getting started}
+        \o \l{Qt Quick Components for Symbian 1.1}{Qt Quick Components for Symbian}
+        - provides a QML component set for the Symbian^3 platform
+    \endlist
+
+    \section1 Key Features for Symbian Development
+
+    On top of all the tools and the API and class libraries that Qt
+    offers, Qt provides you with added functionality for an optimized
+    Symbian development experience.
+
+    \section2 Native Look and Feel
+
+    Qt will detect which theme the phone is running and applies the
+    style at runtime to your Qt application. The look and feel of your
+    applications can also be easily customized in a fraction of the
+    time and lines of code required for traditional UI styling with
+    Qt Style Sheets.
+
+    The \l{Qt Quick Components for Symbian 1.1}{Qt Quick Components for Symbian 1.1}
+    provides a native QML component set.
+
+    \section2 Graphics Features
+
+    Qt for Symbian contains a powerful paint engine that provides
+    features such as anti, aliasing, gradients, curves and transparency.
+    It also has animation support with timelines and easing curves. It
+    is already targeting future device technology by supporting hardware
+    acceleration using OpenVG.
+
+    \section2 Device Configurations
+
+    Using Qt for Symbian all supported Symbian devices provides automatic
+    support for swiching between landscape and portrait mode, different
+    screen resolutions as well as touch screen and key pad input.
+
+    \section2 Cross-Platform Development using Qt Creator
+
+    \l{http://doc.qt.nokia.com/qtcreator-snapshot/index.html}{Qt Creator} is
+    a complete Cross-platform IDE included in the Qt SDK. The IDE allows
+    programmers to create, build, debug and run Qt applications accross all
+    supported platforms.
+
+    \section3 Licensing
+
+    Qt for Symbian is available under the Qt Commercial License, the LGPL
+    v. 2.1 "LGPL") and the GPL v. 3.0.  Symbian currently licenses their
+    software products under either the Symbian Foundation License or the
+    Eclipse Public License ("EPL"). While the LGPL and the EPL are not
+    compatible and may not be combined on a file-by-file basis, they may
+    be used in a common environment provided that the interaction between
+    Qt and Symbian is limited to:  dynamic linking, inter-process
+    communication and data exchange. Therefore, most Symbian developers
+    can use Qt for Symbian under the LGPL.
+
+    Additional \l{Cross-Platform and Platform-Specific Development}
+    information.
+
+*/
+/*!
     \page supported-platforms.html
     \title Supported Platforms
     \brief The platforms supported by Nokia for Qt.
@@ -373,12 +460,13 @@
     \o {2,1} Qt Cross Platform Support
     \header
     \o {1,1} Desktop
-    \o {1,1} Embedded
+    \o {1,1} Embedded/Mobile
     \row
     \o \l{Support for Windows}{Windows}
     \o \l{Support for Embedded Linux}{Embedded Linux}
     \row
     \o \l{Support for Linux/X11}{Linux/X11}
+    \o \l{Support for Symbian}{Symbian}
     \row
     \o \l{Support for Mac OS X}{Mac OS X}
     \endtable
-- 
cgit v0.12


From 3d3b1a1549b18701a50d2da705d13368c35b4f38 Mon Sep 17 00:00:00 2001
From: Casper van Donderen <casper.vandonderen@nokia.com>
Date: Tue, 22 Nov 2011 17:01:55 +0100
Subject: Change installation location of examples.

The cppextensions examples were still installed to a previous location,
the files had been moved within the source tree, but the .pro files
were not changed accordingly.
---
 examples/declarative/cppextensions/imageprovider/imageprovider.pro  | 6 +++---
 examples/declarative/cppextensions/plugins/plugins.pro              | 6 +++---
 examples/declarative/cppextensions/qwidgets/qwidgets.pro            | 4 ++--
 .../declarative/cppextensions/referenceexamples/adding/adding.pro   | 4 ++--
 .../cppextensions/referenceexamples/attached/attached.pro           | 4 ++--
 .../declarative/cppextensions/referenceexamples/binding/binding.pro | 4 ++--
 .../cppextensions/referenceexamples/coercion/coercion.pro           | 4 ++--
 .../declarative/cppextensions/referenceexamples/default/default.pro | 4 ++--
 .../cppextensions/referenceexamples/extended/extended.pro           | 4 ++--
 .../declarative/cppextensions/referenceexamples/grouped/grouped.pro | 4 ++--
 .../declarative/cppextensions/referenceexamples/methods/methods.pro | 4 ++--
 .../cppextensions/referenceexamples/properties/properties.pro       | 4 ++--
 .../declarative/cppextensions/referenceexamples/signal/signal.pro   | 4 ++--
 .../cppextensions/referenceexamples/valuesource/valuesource.pro     | 4 ++--
 14 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/examples/declarative/cppextensions/imageprovider/imageprovider.pro b/examples/declarative/cppextensions/imageprovider/imageprovider.pro
index 6493640..ad918c3 100644
--- a/examples/declarative/cppextensions/imageprovider/imageprovider.pro
+++ b/examples/declarative/cppextensions/imageprovider/imageprovider.pro
@@ -8,13 +8,13 @@ TARGET  = qmlimageproviderplugin
 SOURCES += imageprovider.cpp
 
 sources.files = $$SOURCES imageprovider.qml imageprovider.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/imageprovider
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/imageprovider
 
-target.path = $$[QT_INSTALL_EXAMPLES]/declarative/imageprovider/ImageProviderCore
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/imageprovider/ImageProviderCore
 
 ImageProviderCore_sources.files = \
     ImageProviderCore/qmldir 
-ImageProviderCore_sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/imageprovider/ImageProviderCore
+ImageProviderCore_sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/imageprovider/ImageProviderCore
 
 INSTALLS = sources ImageProviderCore_sources target
 
diff --git a/examples/declarative/cppextensions/plugins/plugins.pro b/examples/declarative/cppextensions/plugins/plugins.pro
index 0b9a354..e5c05e0 100644
--- a/examples/declarative/cppextensions/plugins/plugins.pro
+++ b/examples/declarative/cppextensions/plugins/plugins.pro
@@ -15,11 +15,11 @@ qdeclarativesources.files += \
     com/nokia/TimeExample/hour.png \
     com/nokia/TimeExample/minute.png
 
-qdeclarativesources.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins/com/nokia/TimeExample
+qdeclarativesources.path += $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/plugins/com/nokia/TimeExample
 
 sources.files += plugins.pro plugin.cpp plugins.qml README
-sources.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins
-target.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins/com/nokia/TimeExample
+sources.path += $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/plugins
+target.path += $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/plugins/com/nokia/TimeExample
 
 INSTALLS += qdeclarativesources sources target
 
diff --git a/examples/declarative/cppextensions/qwidgets/qwidgets.pro b/examples/declarative/cppextensions/qwidgets/qwidgets.pro
index 4b69432..d272180 100644
--- a/examples/declarative/cppextensions/qwidgets/qwidgets.pro
+++ b/examples/declarative/cppextensions/qwidgets/qwidgets.pro
@@ -8,8 +8,8 @@ TARGET = qmlqwidgetsplugin
 SOURCES += qwidgets.cpp
 
 sources.files += qwidgets.pro qwidgets.cpp qwidgets.qml
-sources.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins
-target.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins
+sources.path += $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/plugins
+target.path += $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/plugins
 
 INSTALLS += sources target
 
diff --git a/examples/declarative/cppextensions/referenceexamples/adding/adding.pro b/examples/declarative/cppextensions/referenceexamples/adding/adding.pro
index 6072de4..b2acf0e 100644
--- a/examples/declarative/cppextensions/referenceexamples/adding/adding.pro
+++ b/examples/declarative/cppextensions/referenceexamples/adding/adding.pro
@@ -9,7 +9,7 @@ SOURCES += main.cpp \
            person.cpp 
 HEADERS += person.h
 RESOURCES += adding.qrc
-target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/adding
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/adding
 sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS adding.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/adding
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/adding
 INSTALLS += target sources
diff --git a/examples/declarative/cppextensions/referenceexamples/attached/attached.pro b/examples/declarative/cppextensions/referenceexamples/attached/attached.pro
index f6d76ed..2448841 100644
--- a/examples/declarative/cppextensions/referenceexamples/attached/attached.pro
+++ b/examples/declarative/cppextensions/referenceexamples/attached/attached.pro
@@ -11,7 +11,7 @@ SOURCES += main.cpp \
 HEADERS += person.h \
            birthdayparty.h
 RESOURCES += attached.qrc
-target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/attached
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/attached
 sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS attached.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/attached
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/attached
 INSTALLS += target sources
diff --git a/examples/declarative/cppextensions/referenceexamples/binding/binding.pro b/examples/declarative/cppextensions/referenceexamples/binding/binding.pro
index 896ce25..063de62 100644
--- a/examples/declarative/cppextensions/referenceexamples/binding/binding.pro
+++ b/examples/declarative/cppextensions/referenceexamples/binding/binding.pro
@@ -13,7 +13,7 @@ HEADERS += person.h \
            birthdayparty.h \
            happybirthdaysong.h
 RESOURCES += binding.qrc
-target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/binding
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/binding
 sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS binding.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/binding
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/binding
 INSTALLS += target sources
diff --git a/examples/declarative/cppextensions/referenceexamples/coercion/coercion.pro b/examples/declarative/cppextensions/referenceexamples/coercion/coercion.pro
index c8daed8..4b63bac 100644
--- a/examples/declarative/cppextensions/referenceexamples/coercion/coercion.pro
+++ b/examples/declarative/cppextensions/referenceexamples/coercion/coercion.pro
@@ -11,7 +11,7 @@ SOURCES += main.cpp \
 HEADERS += person.h \
            birthdayparty.h
 RESOURCES += coercion.qrc
-target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/coercion
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/coercion
 sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS coercion.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/coercion
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/coercion
 INSTALLS += target sources
diff --git a/examples/declarative/cppextensions/referenceexamples/default/default.pro b/examples/declarative/cppextensions/referenceexamples/default/default.pro
index 32aff0b..aa72c11 100644
--- a/examples/declarative/cppextensions/referenceexamples/default/default.pro
+++ b/examples/declarative/cppextensions/referenceexamples/default/default.pro
@@ -11,7 +11,7 @@ SOURCES += main.cpp \
 HEADERS += person.h \
            birthdayparty.h
 RESOURCES += default.qrc
-target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/default
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/default
 sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS default.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/default
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/default
 INSTALLS += target sources
diff --git a/examples/declarative/cppextensions/referenceexamples/extended/extended.pro b/examples/declarative/cppextensions/referenceexamples/extended/extended.pro
index 97af286..fb263fd 100644
--- a/examples/declarative/cppextensions/referenceexamples/extended/extended.pro
+++ b/examples/declarative/cppextensions/referenceexamples/extended/extended.pro
@@ -9,7 +9,7 @@ SOURCES += main.cpp \
            lineedit.cpp 
 HEADERS += lineedit.h
 RESOURCES += extended.qrc
-target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/extended
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/extended
 sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS extended.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/extended
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/extended
 INSTALLS += target sources
diff --git a/examples/declarative/cppextensions/referenceexamples/grouped/grouped.pro b/examples/declarative/cppextensions/referenceexamples/grouped/grouped.pro
index 576e1d2..93406b6 100644
--- a/examples/declarative/cppextensions/referenceexamples/grouped/grouped.pro
+++ b/examples/declarative/cppextensions/referenceexamples/grouped/grouped.pro
@@ -11,7 +11,7 @@ SOURCES += main.cpp \
 HEADERS += person.h \
            birthdayparty.h
 RESOURCES += grouped.qrc
-target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/grouped
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/grouped
 sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS grouped.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/grouped
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/grouped
 INSTALLS += target sources
diff --git a/examples/declarative/cppextensions/referenceexamples/methods/methods.pro b/examples/declarative/cppextensions/referenceexamples/methods/methods.pro
index a62927e..ae06242 100644
--- a/examples/declarative/cppextensions/referenceexamples/methods/methods.pro
+++ b/examples/declarative/cppextensions/referenceexamples/methods/methods.pro
@@ -12,7 +12,7 @@ HEADERS += person.h \
            birthdayparty.h
 RESOURCES += methods.qrc
 
-target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/methods
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/methods
 sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS methods.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/methods
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/methods
 INSTALLS += target sources
diff --git a/examples/declarative/cppextensions/referenceexamples/properties/properties.pro b/examples/declarative/cppextensions/referenceexamples/properties/properties.pro
index a8f4301..7b7616d 100644
--- a/examples/declarative/cppextensions/referenceexamples/properties/properties.pro
+++ b/examples/declarative/cppextensions/referenceexamples/properties/properties.pro
@@ -12,7 +12,7 @@ HEADERS += person.h \
            birthdayparty.h
 RESOURCES += properties.qrc
 
-target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/properties
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/properties
 sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS properties.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/properties
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/properties
 INSTALLS += target sources
diff --git a/examples/declarative/cppextensions/referenceexamples/signal/signal.pro b/examples/declarative/cppextensions/referenceexamples/signal/signal.pro
index 6367a38..339cfbc 100644
--- a/examples/declarative/cppextensions/referenceexamples/signal/signal.pro
+++ b/examples/declarative/cppextensions/referenceexamples/signal/signal.pro
@@ -11,7 +11,7 @@ SOURCES += main.cpp \
 HEADERS += person.h \
            birthdayparty.h
 RESOURCES += signal.qrc
-target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/signal
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/signal
 sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS signal.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/signal
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/signal
 INSTALLS += target sources
diff --git a/examples/declarative/cppextensions/referenceexamples/valuesource/valuesource.pro b/examples/declarative/cppextensions/referenceexamples/valuesource/valuesource.pro
index 0626c98..e95914b 100644
--- a/examples/declarative/cppextensions/referenceexamples/valuesource/valuesource.pro
+++ b/examples/declarative/cppextensions/referenceexamples/valuesource/valuesource.pro
@@ -13,7 +13,7 @@ HEADERS += person.h \
            birthdayparty.h \
            happybirthdaysong.h
 RESOURCES += valuesource.qrc
-target.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/valuesource
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/valuesource
 sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS valuesource.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/extending/valuesource
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/referenceexamples/valuesource
 INSTALLS += target sources
-- 
cgit v0.12


From a0f08012e0e26673635a6f4e3c496bf53f558726 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <daniel.molkentin@nokia.com>
Date: Tue, 22 Nov 2011 17:05:48 +0100
Subject: Fix qdoc output for <dependency> tag.

Also prepend relative path if required.

Reviewed-By: trustme
---
 tools/qdoc3/htmlgenerator.cpp | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index b7a5120..bc84288 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -4506,12 +4506,9 @@ void HtmlGenerator::generateManifestFile(QString manifest, QString element)
         if (!en->dependencies().isEmpty()) {
             for (int idx=0; idx<en->dependencies().size(); ++idx) {
                 writer.writeStartElement("dependency");
-                QString file = "$QTDIR/";
-                if (demos)
-                    file += "demos/";
-                else
-                    file += "examples/";
-                file += en->dependencies()[idx];
+                QString file(en->dependencies()[idx]);
+                if (!relativePath.isEmpty())
+                    file.prepend(relativePath);
                 writer.writeCharacters(file);
                 writer.writeEndElement(); // dependency
             }
-- 
cgit v0.12


From 702abf9b4cb062128fbae62ff0faa70f14404eac Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <daniel.molkentin@nokia.com>
Date: Tue, 22 Nov 2011 19:13:14 +0100
Subject: Declarative Examples: Fall back to local qmlapplicationviewer.

Rubberstamped-by: Oswald Buddenhagen
---
 demos/declarative/calculator/calculator.pro                   |  3 ++-
 demos/declarative/declarative.pro                             | 11 +++--------
 demos/declarative/flickr/flickr.pro                           |  3 ++-
 demos/declarative/minehunt/minehunt.pro                       |  3 ++-
 demos/declarative/photoviewer/photoviewer.pro                 |  3 ++-
 demos/declarative/rssnews/rssnews.pro                         |  3 ++-
 demos/declarative/samegame/samegame.pro                       |  3 ++-
 demos/declarative/snake/snake.pro                             |  3 ++-
 demos/declarative/twitter/twitter.pro                         |  3 ++-
 demos/declarative/webbrowser/webbrowser.pro                   |  3 ++-
 .../animation/basics/color-animation/coloranimation.pro       |  3 ++-
 .../animation/basics/property-animation/propertyanimation.pro |  3 ++-
 .../animation/behaviors/behavior-example/behaviorexample.pro  |  3 ++-
 examples/declarative/animation/easing/easing.pro              |  3 ++-
 examples/declarative/animation/states/states.pro              |  3 ++-
 .../networkaccessmanagerfactory.pro                           |  3 ++-
 .../qgraphicsgridlayout/qgraphicsgridlayout.pro               |  3 ++-
 .../qgraphicslinearlayout/qgraphicslinearlayout.pro           |  3 ++-
 examples/declarative/i18n/i18n.pro                            |  4 +++-
 .../declarative/imageelements/borderimage/borderimage.pro     |  3 ++-
 examples/declarative/imageelements/image/image.pro            |  3 ++-
 examples/declarative/imageelements/shadows/shadows.pro        |  3 ++-
 examples/declarative/keyinteraction/focus/focus.pro           |  3 ++-
 examples/declarative/modelviews/Delegate/Delegate.pro         |  3 ++-
 .../modelviews/abstractitemmodel/abstractitemmodel.pro        |  3 ++-
 .../modelviews/gridview-example/gridviewexample.pro           |  3 ++-
 .../modelviews/listview/dynamiclist/dynamiclist.pro           |  3 ++-
 .../listview/expandingdelegates/expandingdelegates.pro        |  3 ++-
 .../declarative/modelviews/listview/highlight/highlight.pro   |  3 ++-
 .../modelviews/listview/highlightranges/highlightranges.pro   |  3 ++-
 .../declarative/modelviews/listview/sections/sections.pro     |  3 ++-
 .../modelviews/objectlistmodel/objectlistmodel.pro            |  3 ++-
 examples/declarative/modelviews/package/Delegate.pro          |  3 ++-
 examples/declarative/modelviews/parallax/parallax.pro         |  3 ++-
 .../modelviews/pathview-example/pathviewexample.pro           |  3 ++-
 .../modelviews/stringlistmodel/stringlistmodel.pro            |  3 ++-
 .../modelviews/visualitemmodel/visualitemmodel.pro            |  3 ++-
 examples/declarative/modelviews/webview/alerts/alerts.pro     |  3 ++-
 examples/declarative/modelviews/webview/autosize/autosize.pro |  3 ++-
 .../declarative/modelviews/webview/googlemaps/googlemaps.pro  |  3 ++-
 .../declarative/modelviews/webview/inlinehtml/inlinehtml.pro  |  3 ++-
 .../declarative/modelviews/webview/newwindows/newwindows.pro  |  3 ++-
 examples/declarative/positioners/positioners.pro              |  4 +++-
 .../righttoleft/layoutdirection/layoutdirection.pro           |  3 ++-
 .../righttoleft/layoutmirroring/layoutmirroring.pro           |  3 ++-
 .../declarative/righttoleft/textalignment/textalignment.pro   |  3 ++-
 examples/declarative/shadereffects/shadereffects.pro          |  4 +++-
 examples/declarative/sqllocalstorage/sqllocalstorage.pro      |  4 +++-
 .../declarative/text/fonts/availableFonts/availableFonts.pro  |  3 ++-
 examples/declarative/text/fonts/banner/banner.pro             |  3 ++-
 examples/declarative/text/fonts/fonts/fonts.pro               |  3 ++-
 examples/declarative/text/fonts/hello/hello.pro               |  3 ++-
 examples/declarative/text/textselection/textselection.pro     |  3 ++-
 .../threading/threadedlistmodel/threadedlistmodel.pro         |  3 ++-
 examples/declarative/threading/workerscript/workerscript.pro  |  3 ++-
 .../gestures/experimental-gestures/experimentalgestures.pro   |  3 ++-
 .../mousearea/mousearea-example/mouseareaexample.pro          |  3 ++-
 examples/declarative/touchinteraction/pincharea/pincharea.pro |  3 ++-
 examples/declarative/toys/clocks/clocks.pro                   |  3 ++-
 examples/declarative/toys/corkboards/corkboards.pro           |  3 ++-
 examples/declarative/toys/dynamicscene/dynamicscene.pro       |  3 ++-
 examples/declarative/toys/tic-tac-toe/tictactoe.pro           |  3 ++-
 examples/declarative/toys/tvtennis/tvtennis.pro               |  3 ++-
 .../declarative/ui-components/dialcontrol/dialcontrol.pro     |  3 ++-
 examples/declarative/ui-components/flipable/flipable.pro      |  3 ++-
 examples/declarative/ui-components/main/main.pro              |  3 ++-
 .../declarative/ui-components/progressbar/progressbar.pro     |  3 ++-
 examples/declarative/ui-components/scrollbar/scrollbar.pro    |  3 ++-
 examples/declarative/ui-components/searchbox/searchbox.pro    |  3 ++-
 .../declarative/ui-components/slideswitch/slideswitch.pro     |  3 ++-
 examples/declarative/ui-components/spinner/spinner.pro        |  3 ++-
 examples/declarative/ui-components/tabwidget/tabwidget.pro    |  3 ++-
 .../xml/xmlhttprequest-example/xmlhttprequestexample.pro      |  3 ++-
 73 files changed, 151 insertions(+), 80 deletions(-)

diff --git a/demos/declarative/calculator/calculator.pro b/demos/declarative/calculator/calculator.pro
index 9c91bcc..c41b600 100644
--- a/demos/declarative/calculator/calculator.pro
+++ b/demos/declarative/calculator/calculator.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/calculator
-include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/demos/declarative/declarative.pro b/demos/declarative/declarative.pro
index 2963386..3380357 100644
--- a/demos/declarative/declarative.pro
+++ b/demos/declarative/declarative.pro
@@ -2,19 +2,14 @@ TEMPLATE = subdirs
 
 # These demos contain C++ and need to be compiled
 SUBDIRS = \
-    minehunt
-
-# These examples contain no C++ and can simply be copied
-sources.files = \
    calculator \
    flickr \
    photoviewer \
+   minehunt \
    samegame \
    snake \
-   twitter \
    rssnews \
-   webbrowser
+   twitter
 
-sources.path = $$[QT_INSTALL_DEMOS]/declarative
-INSTALLS += sources
+contains(QT_CONFIG, webkit):SUBDIRS += webbrowser
 
diff --git a/demos/declarative/flickr/flickr.pro b/demos/declarative/flickr/flickr.pro
index 1b45eee..d607fa0 100644
--- a/demos/declarative/flickr/flickr.pro
+++ b/demos/declarative/flickr/flickr.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/flickr
-include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/demos/declarative/minehunt/minehunt.pro b/demos/declarative/minehunt/minehunt.pro
index 17786f6..29af4cc 100644
--- a/demos/declarative/minehunt/minehunt.pro
+++ b/demos/declarative/minehunt/minehunt.pro
@@ -45,5 +45,6 @@ RESOURCES = minehunt.qrc
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/minehunt
-include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/demos/declarative/photoviewer/photoviewer.pro b/demos/declarative/photoviewer/photoviewer.pro
index c44ba24..72b4315 100644
--- a/demos/declarative/photoviewer/photoviewer.pro
+++ b/demos/declarative/photoviewer/photoviewer.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/photoviewer
-include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/demos/declarative/rssnews/rssnews.pro b/demos/declarative/rssnews/rssnews.pro
index e152311..6b1f68c 100644
--- a/demos/declarative/rssnews/rssnews.pro
+++ b/demos/declarative/rssnews/rssnews.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/rssnews
-include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/demos/declarative/samegame/samegame.pro b/demos/declarative/samegame/samegame.pro
index 13a9f76..fb85cd2 100644
--- a/demos/declarative/samegame/samegame.pro
+++ b/demos/declarative/samegame/samegame.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/samegame
-include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/demos/declarative/snake/snake.pro b/demos/declarative/snake/snake.pro
index 4f562ab..d9b7718 100644
--- a/demos/declarative/snake/snake.pro
+++ b/demos/declarative/snake/snake.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/snake
-include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/demos/declarative/twitter/twitter.pro b/demos/declarative/twitter/twitter.pro
index c8485bf..91bfd47 100644
--- a/demos/declarative/twitter/twitter.pro
+++ b/demos/declarative/twitter/twitter.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/twitter
-include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/demos/declarative/webbrowser/webbrowser.pro b/demos/declarative/webbrowser/webbrowser.pro
index d368832..c640e88 100644
--- a/demos/declarative/webbrowser/webbrowser.pro
+++ b/demos/declarative/webbrowser/webbrowser.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_DEMOS]/declarative/webbrowser
-include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/animation/basics/color-animation/coloranimation.pro b/examples/declarative/animation/basics/color-animation/coloranimation.pro
index 0a34190..7e0f050 100644
--- a/examples/declarative/animation/basics/color-animation/coloranimation.pro
+++ b/examples/declarative/animation/basics/color-animation/coloranimation.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/animation/basics/color-animation
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/animation/basics/property-animation/propertyanimation.pro b/examples/declarative/animation/basics/property-animation/propertyanimation.pro
index f79f1cb..82341e5 100644
--- a/examples/declarative/animation/basics/property-animation/propertyanimation.pro
+++ b/examples/declarative/animation/basics/property-animation/propertyanimation.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/animation/basics/property-animation
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/animation/behaviors/behavior-example/behaviorexample.pro b/examples/declarative/animation/behaviors/behavior-example/behaviorexample.pro
index 91b021f..3ea81e2 100644
--- a/examples/declarative/animation/behaviors/behavior-example/behaviorexample.pro
+++ b/examples/declarative/animation/behaviors/behavior-example/behaviorexample.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/animation/behaviors/behavior-example
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/animation/easing/easing.pro b/examples/declarative/animation/easing/easing.pro
index b3d1821..d9619d6 100644
--- a/examples/declarative/animation/easing/easing.pro
+++ b/examples/declarative/animation/easing/easing.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/animation/easing
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/animation/states/states.pro b/examples/declarative/animation/states/states.pro
index 1f06e4b..63650be 100644
--- a/examples/declarative/animation/states/states.pro
+++ b/examples/declarative/animation/states/states.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/animation/states
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.pro b/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.pro
index 5cc3660..4f32197 100644
--- a/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.pro
+++ b/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.pro
@@ -36,5 +36,6 @@ RESOURCES += networkaccessmanagerfactory.qrc
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/networkaccessmanagerfactory
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro
index 0822a1d..e42b7ed 100644
--- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro
@@ -43,6 +43,7 @@ RESOURCES += \
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
 
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro
index f8a4c97..52955e8 100644
--- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro
@@ -42,5 +42,6 @@ RESOURCES += \
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/i18n/i18n.pro b/examples/declarative/i18n/i18n.pro
index af9b65c..5aed214 100644
--- a/examples/declarative/i18n/i18n.pro
+++ b/examples/declarative/i18n/i18n.pro
@@ -36,5 +36,7 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/i18n
-include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/imageelements/borderimage/borderimage.pro b/examples/declarative/imageelements/borderimage/borderimage.pro
index 20528cc..2a86344 100644
--- a/examples/declarative/imageelements/borderimage/borderimage.pro
+++ b/examples/declarative/imageelements/borderimage/borderimage.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/imageelements/borderimage
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/imageelements/image/image.pro b/examples/declarative/imageelements/image/image.pro
index 5e7b905..bd53a43 100644
--- a/examples/declarative/imageelements/image/image.pro
+++ b/examples/declarative/imageelements/image/image.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/imageelements/image
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/imageelements/shadows/shadows.pro b/examples/declarative/imageelements/shadows/shadows.pro
index a760dd8..bba8c24 100644
--- a/examples/declarative/imageelements/shadows/shadows.pro
+++ b/examples/declarative/imageelements/shadows/shadows.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/imageelements/shadows
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/keyinteraction/focus/focus.pro b/examples/declarative/keyinteraction/focus/focus.pro
index 4129206..c2d4f6a 100644
--- a/examples/declarative/keyinteraction/focus/focus.pro
+++ b/examples/declarative/keyinteraction/focus/focus.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/keyinteraction/focus
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/Delegate/Delegate.pro b/examples/declarative/modelviews/Delegate/Delegate.pro
index 785d4a7..f1b76c0 100644
--- a/examples/declarative/modelviews/Delegate/Delegate.pro
+++ b/examples/declarative/modelviews/Delegate/Delegate.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/Delegate
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.pro b/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.pro
index 18fef97..3864dfc 100644
--- a/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.pro
+++ b/examples/declarative/modelviews/abstractitemmodel/abstractitemmodel.pro
@@ -36,5 +36,6 @@ RESOURCES += abstractitemmodel.qrc
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/abstractitemmodel
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/gridview-example/gridviewexample.pro b/examples/declarative/modelviews/gridview-example/gridviewexample.pro
index a768342..dce522c 100644
--- a/examples/declarative/modelviews/gridview-example/gridviewexample.pro
+++ b/examples/declarative/modelviews/gridview-example/gridviewexample.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/gridview-example
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/listview/dynamiclist/dynamiclist.pro b/examples/declarative/modelviews/listview/dynamiclist/dynamiclist.pro
index 0c1dfd5..dd7a96a 100644
--- a/examples/declarative/modelviews/listview/dynamiclist/dynamiclist.pro
+++ b/examples/declarative/modelviews/listview/dynamiclist/dynamiclist.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/listview/dynamiclist
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/listview/expandingdelegates/expandingdelegates.pro b/examples/declarative/modelviews/listview/expandingdelegates/expandingdelegates.pro
index 38394f9..6f16882 100644
--- a/examples/declarative/modelviews/listview/expandingdelegates/expandingdelegates.pro
+++ b/examples/declarative/modelviews/listview/expandingdelegates/expandingdelegates.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/listview/expandingdelegates
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/listview/highlight/highlight.pro b/examples/declarative/modelviews/listview/highlight/highlight.pro
index 944cc6a..2f124d7 100644
--- a/examples/declarative/modelviews/listview/highlight/highlight.pro
+++ b/examples/declarative/modelviews/listview/highlight/highlight.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/listview/highlight
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/listview/highlightranges/highlightranges.pro b/examples/declarative/modelviews/listview/highlightranges/highlightranges.pro
index 637b463..126b2a1 100644
--- a/examples/declarative/modelviews/listview/highlightranges/highlightranges.pro
+++ b/examples/declarative/modelviews/listview/highlightranges/highlightranges.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/listview/highlightranges
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/listview/sections/sections.pro b/examples/declarative/modelviews/listview/sections/sections.pro
index e78143f..78eca7f 100644
--- a/examples/declarative/modelviews/listview/sections/sections.pro
+++ b/examples/declarative/modelviews/listview/sections/sections.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/listview/sections
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/objectlistmodel/objectlistmodel.pro b/examples/declarative/modelviews/objectlistmodel/objectlistmodel.pro
index 76ebf4f..6d282ee 100644
--- a/examples/declarative/modelviews/objectlistmodel/objectlistmodel.pro
+++ b/examples/declarative/modelviews/objectlistmodel/objectlistmodel.pro
@@ -37,5 +37,6 @@ RESOURCES += objectlistmodel.qrc
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/objectlistmodel
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/package/Delegate.pro b/examples/declarative/modelviews/package/Delegate.pro
index 8326457..35e40e0 100644
--- a/examples/declarative/modelviews/package/Delegate.pro
+++ b/examples/declarative/modelviews/package/Delegate.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/package
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/parallax/parallax.pro b/examples/declarative/modelviews/parallax/parallax.pro
index f01fdda..fed6ed1 100644
--- a/examples/declarative/modelviews/parallax/parallax.pro
+++ b/examples/declarative/modelviews/parallax/parallax.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/parallax
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/pathview-example/pathviewexample.pro b/examples/declarative/modelviews/pathview-example/pathviewexample.pro
index ec56848..83bae6d 100644
--- a/examples/declarative/modelviews/pathview-example/pathviewexample.pro
+++ b/examples/declarative/modelviews/pathview-example/pathviewexample.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/pathview-example
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/stringlistmodel/stringlistmodel.pro b/examples/declarative/modelviews/stringlistmodel/stringlistmodel.pro
index 5642b8e..b6c7e22 100644
--- a/examples/declarative/modelviews/stringlistmodel/stringlistmodel.pro
+++ b/examples/declarative/modelviews/stringlistmodel/stringlistmodel.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/stringlistmodel
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/visualitemmodel/visualitemmodel.pro b/examples/declarative/modelviews/visualitemmodel/visualitemmodel.pro
index 88d7f1b..0d19fdc 100644
--- a/examples/declarative/modelviews/visualitemmodel/visualitemmodel.pro
+++ b/examples/declarative/modelviews/visualitemmodel/visualitemmodel.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/visualitemmodel
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/webview/alerts/alerts.pro b/examples/declarative/modelviews/webview/alerts/alerts.pro
index 31a9b6c..aa366dd 100644
--- a/examples/declarative/modelviews/webview/alerts/alerts.pro
+++ b/examples/declarative/modelviews/webview/alerts/alerts.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/webview/alerts
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/webview/autosize/autosize.pro b/examples/declarative/modelviews/webview/autosize/autosize.pro
index 595ab2e..36d70f6 100644
--- a/examples/declarative/modelviews/webview/autosize/autosize.pro
+++ b/examples/declarative/modelviews/webview/autosize/autosize.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/webview/autosize
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/webview/googlemaps/googlemaps.pro b/examples/declarative/modelviews/webview/googlemaps/googlemaps.pro
index 6b03c2d..14f7553 100644
--- a/examples/declarative/modelviews/webview/googlemaps/googlemaps.pro
+++ b/examples/declarative/modelviews/webview/googlemaps/googlemaps.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/webview/googlemaps
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/webview/inlinehtml/inlinehtml.pro b/examples/declarative/modelviews/webview/inlinehtml/inlinehtml.pro
index d779351..03cf189 100644
--- a/examples/declarative/modelviews/webview/inlinehtml/inlinehtml.pro
+++ b/examples/declarative/modelviews/webview/inlinehtml/inlinehtml.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/webview/inlinehtml
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/modelviews/webview/newwindows/newwindows.pro b/examples/declarative/modelviews/webview/newwindows/newwindows.pro
index 52324dd..adb1043 100644
--- a/examples/declarative/modelviews/webview/newwindows/newwindows.pro
+++ b/examples/declarative/modelviews/webview/newwindows/newwindows.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/modelviews/webview/newwindows
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/positioners/positioners.pro b/examples/declarative/positioners/positioners.pro
index 9aa4693..2b1adf1 100644
--- a/examples/declarative/positioners/positioners.pro
+++ b/examples/declarative/positioners/positioners.pro
@@ -36,5 +36,7 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/positioners
-include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/righttoleft/layoutdirection/layoutdirection.pro b/examples/declarative/righttoleft/layoutdirection/layoutdirection.pro
index ba634f5..6dad0ee 100644
--- a/examples/declarative/righttoleft/layoutdirection/layoutdirection.pro
+++ b/examples/declarative/righttoleft/layoutdirection/layoutdirection.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/righttoleft/layoutdirection
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.pro b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.pro
index 55b46fd..04868f9 100644
--- a/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.pro
+++ b/examples/declarative/righttoleft/layoutmirroring/layoutmirroring.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/righttoleft/layoutmirroring
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/righttoleft/textalignment/textalignment.pro b/examples/declarative/righttoleft/textalignment/textalignment.pro
index 366f793..e7feb00 100644
--- a/examples/declarative/righttoleft/textalignment/textalignment.pro
+++ b/examples/declarative/righttoleft/textalignment/textalignment.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/righttoleft/textalignment
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/shadereffects/shadereffects.pro b/examples/declarative/shadereffects/shadereffects.pro
index 13f345c..58e7ab7 100755
--- a/examples/declarative/shadereffects/shadereffects.pro
+++ b/examples/declarative/shadereffects/shadereffects.pro
@@ -40,5 +40,7 @@ symbian {
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/shadereffects
-include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/sqllocalstorage/sqllocalstorage.pro b/examples/declarative/sqllocalstorage/sqllocalstorage.pro
index 9a88b49..99f40a7 100644
--- a/examples/declarative/sqllocalstorage/sqllocalstorage.pro
+++ b/examples/declarative/sqllocalstorage/sqllocalstorage.pro
@@ -35,5 +35,7 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/sqllocalstorage
-include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/text/fonts/availableFonts/availableFonts.pro b/examples/declarative/text/fonts/availableFonts/availableFonts.pro
index 50fbfc4..2d8078a 100644
--- a/examples/declarative/text/fonts/availableFonts/availableFonts.pro
+++ b/examples/declarative/text/fonts/availableFonts/availableFonts.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/text/fonts/availableFonts
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/text/fonts/banner/banner.pro b/examples/declarative/text/fonts/banner/banner.pro
index aaada0d..34cee36 100644
--- a/examples/declarative/text/fonts/banner/banner.pro
+++ b/examples/declarative/text/fonts/banner/banner.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/text/fonts/banner
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/text/fonts/fonts/fonts.pro b/examples/declarative/text/fonts/fonts/fonts.pro
index 67e1646..5babc33 100644
--- a/examples/declarative/text/fonts/fonts/fonts.pro
+++ b/examples/declarative/text/fonts/fonts/fonts.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/text/fonts/fonts
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/text/fonts/hello/hello.pro b/examples/declarative/text/fonts/hello/hello.pro
index 194dcd8..6d65c8e 100644
--- a/examples/declarative/text/fonts/hello/hello.pro
+++ b/examples/declarative/text/fonts/hello/hello.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/text/fonts/hello
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/text/textselection/textselection.pro b/examples/declarative/text/textselection/textselection.pro
index fbf4a95..19a8431 100644
--- a/examples/declarative/text/textselection/textselection.pro
+++ b/examples/declarative/text/textselection/textselection.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/text/textselection
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/threading/threadedlistmodel/threadedlistmodel.pro b/examples/declarative/threading/threadedlistmodel/threadedlistmodel.pro
index 7545a06..c37a539 100644
--- a/examples/declarative/threading/threadedlistmodel/threadedlistmodel.pro
+++ b/examples/declarative/threading/threadedlistmodel/threadedlistmodel.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/threading/threadedlistmodel
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/threading/workerscript/workerscript.pro b/examples/declarative/threading/workerscript/workerscript.pro
index ce1c67e..da11a10 100644
--- a/examples/declarative/threading/workerscript/workerscript.pro
+++ b/examples/declarative/threading/workerscript/workerscript.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/threading/workerscript
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/touchinteraction/gestures/experimental-gestures/experimentalgestures.pro b/examples/declarative/touchinteraction/gestures/experimental-gestures/experimentalgestures.pro
index 00de964..63aa448 100644
--- a/examples/declarative/touchinteraction/gestures/experimental-gestures/experimentalgestures.pro
+++ b/examples/declarative/touchinteraction/gestures/experimental-gestures/experimentalgestures.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/touchinteraction/gestures/experimental-gestures
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/touchinteraction/mousearea/mousearea-example/mouseareaexample.pro b/examples/declarative/touchinteraction/mousearea/mousearea-example/mouseareaexample.pro
index 7bf1883..f80d99a 100644
--- a/examples/declarative/touchinteraction/mousearea/mousearea-example/mouseareaexample.pro
+++ b/examples/declarative/touchinteraction/mousearea/mousearea-example/mouseareaexample.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/touchinteraction/mousearea/mousearea-example
-include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/touchinteraction/pincharea/pincharea.pro b/examples/declarative/touchinteraction/pincharea/pincharea.pro
index 5c515f7..0d119e7 100644
--- a/examples/declarative/touchinteraction/pincharea/pincharea.pro
+++ b/examples/declarative/touchinteraction/pincharea/pincharea.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/touchinteraction/pincharea
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/toys/clocks/clocks.pro b/examples/declarative/toys/clocks/clocks.pro
index 6c9639b..dcb5d41 100644
--- a/examples/declarative/toys/clocks/clocks.pro
+++ b/examples/declarative/toys/clocks/clocks.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/toys/clocks
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/toys/corkboards/corkboards.pro b/examples/declarative/toys/corkboards/corkboards.pro
index caf1fb9..c9588e5 100644
--- a/examples/declarative/toys/corkboards/corkboards.pro
+++ b/examples/declarative/toys/corkboards/corkboards.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/toys/corkboards
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/toys/dynamicscene/dynamicscene.pro b/examples/declarative/toys/dynamicscene/dynamicscene.pro
index 49b8716..7aaf2cb 100644
--- a/examples/declarative/toys/dynamicscene/dynamicscene.pro
+++ b/examples/declarative/toys/dynamicscene/dynamicscene.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/toys/dynamicscene
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/toys/tic-tac-toe/tictactoe.pro b/examples/declarative/toys/tic-tac-toe/tictactoe.pro
index 70cc858..c81d8f0 100644
--- a/examples/declarative/toys/tic-tac-toe/tictactoe.pro
+++ b/examples/declarative/toys/tic-tac-toe/tictactoe.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/toys/tic-tac-toe
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/toys/tvtennis/tvtennis.pro b/examples/declarative/toys/tvtennis/tvtennis.pro
index d09f1c6..778b29f 100644
--- a/examples/declarative/toys/tvtennis/tvtennis.pro
+++ b/examples/declarative/toys/tvtennis/tvtennis.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/toys/tvtennis
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/dialcontrol/dialcontrol.pro b/examples/declarative/ui-components/dialcontrol/dialcontrol.pro
index 0d43b16..61b2bae 100644
--- a/examples/declarative/ui-components/dialcontrol/dialcontrol.pro
+++ b/examples/declarative/ui-components/dialcontrol/dialcontrol.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/dialcontrol
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/flipable/flipable.pro b/examples/declarative/ui-components/flipable/flipable.pro
index f35d336..7e6e339 100644
--- a/examples/declarative/ui-components/flipable/flipable.pro
+++ b/examples/declarative/ui-components/flipable/flipable.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/flipable
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/main/main.pro b/examples/declarative/ui-components/main/main.pro
index c362497..a844bbb 100644
--- a/examples/declarative/ui-components/main/main.pro
+++ b/examples/declarative/ui-components/main/main.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/main
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/progressbar/progressbar.pro b/examples/declarative/ui-components/progressbar/progressbar.pro
index 84307bd..43375b0 100644
--- a/examples/declarative/ui-components/progressbar/progressbar.pro
+++ b/examples/declarative/ui-components/progressbar/progressbar.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/progressbar
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/scrollbar/scrollbar.pro b/examples/declarative/ui-components/scrollbar/scrollbar.pro
index ddede4a..ba89f12 100644
--- a/examples/declarative/ui-components/scrollbar/scrollbar.pro
+++ b/examples/declarative/ui-components/scrollbar/scrollbar.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/scrollbar
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/searchbox/searchbox.pro b/examples/declarative/ui-components/searchbox/searchbox.pro
index 028998a..baa8ac9 100644
--- a/examples/declarative/ui-components/searchbox/searchbox.pro
+++ b/examples/declarative/ui-components/searchbox/searchbox.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/searchbox
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/slideswitch/slideswitch.pro b/examples/declarative/ui-components/slideswitch/slideswitch.pro
index ed78217..7aec431 100644
--- a/examples/declarative/ui-components/slideswitch/slideswitch.pro
+++ b/examples/declarative/ui-components/slideswitch/slideswitch.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/slideswitch
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/spinner/spinner.pro b/examples/declarative/ui-components/spinner/spinner.pro
index fb08dd8..13aa125 100644
--- a/examples/declarative/ui-components/spinner/spinner.pro
+++ b/examples/declarative/ui-components/spinner/spinner.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/spinner
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/ui-components/tabwidget/tabwidget.pro b/examples/declarative/ui-components/tabwidget/tabwidget.pro
index 11db318..47361ab 100644
--- a/examples/declarative/ui-components/tabwidget/tabwidget.pro
+++ b/examples/declarative/ui-components/tabwidget/tabwidget.pro
@@ -34,5 +34,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/ui-components/tabwidget
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
diff --git a/examples/declarative/xml/xmlhttprequest-example/xmlhttprequestexample.pro b/examples/declarative/xml/xmlhttprequest-example/xmlhttprequestexample.pro
index 01c0bda..bfeb038 100644
--- a/examples/declarative/xml/xmlhttprequest-example/xmlhttprequestexample.pro
+++ b/examples/declarative/xml/xmlhttprequest-example/xmlhttprequestexample.pro
@@ -36,5 +36,6 @@ SOURCES += main.cpp
 
 # Please do not modify the following two lines. Required for deployment.
 desktopInstallPrefix=$$[QT_INSTALL_EXAMPLES]/declarative/xml/xmlhttprequest-example
-include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
+exists(qmlapplicationviewer/qmlapplicationviewer.pri):include(qmlapplicationviewer/qmlapplicationviewer.pri)
+else:include(../../../helper/qmlapplicationviewer/qmlapplicationviewer.pri)
 qtcAddDeployment()
-- 
cgit v0.12


From 7eed617cf248e923e7b2ee49d842d5f7b2fb7816 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <daniel.molkentin@nokia.com>
Date: Tue, 22 Nov 2011 19:16:13 +0100
Subject: Help: Add \depends to all declarative examples & demos

Reviwed-By: trustme
---
 doc/src/examples/qml-calculator.qdoc      |   2 +
 doc/src/examples/qml-examples.qdoc        | 141 ++++++++++++++++++++++++++++--
 doc/src/examples/qml-flickr.qdoc          |   2 +
 doc/src/examples/qml-folderlistmodel.qdoc |   1 +
 doc/src/examples/qml-photoviewer.qdoc     |   2 +
 doc/src/examples/qml-rssnews.qdoc         |   2 +
 doc/src/examples/qml-samegame.qdoc        |   2 +
 doc/src/examples/qml-twitter.qdoc         |   2 +
 doc/src/examples/qml-webbrowser.qdoc      |   2 +
 9 files changed, 147 insertions(+), 9 deletions(-)

diff --git a/doc/src/examples/qml-calculator.qdoc b/doc/src/examples/qml-calculator.qdoc
index 2e2cdc8..edc87e2 100644
--- a/doc/src/examples/qml-calculator.qdoc
+++ b/doc/src/examples/qml-calculator.qdoc
@@ -31,5 +31,7 @@
 
     \brief The Qt Quick Calculator demo shows how to write a simple calculator application in QML and JavaScript.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-calculator-example.png
 */
diff --git a/doc/src/examples/qml-examples.qdoc b/doc/src/examples/qml-examples.qdoc
index bde2ed7..52fa2e4 100644
--- a/doc/src/examples/qml-examples.qdoc
+++ b/doc/src/examples/qml-examples.qdoc
@@ -31,6 +31,8 @@
 
     \brief This example shows how to create and combine \l{QML Animation}{animations} in QML.
 
+    \depends helper/qmlapplicationviewer
+
     \table
     \row
     \o \image qml-coloranim-example.png
@@ -44,6 +46,8 @@
 
     \brief This example shows how to create and combine \l{QML Animation}{animations} in QML.
 
+    \depends helper/qmlapplicationviewer
+
     \table
     \row
     \o \image qml-propertyanim-example.png
@@ -58,6 +62,8 @@
 
     \brief This example shows how to use QML behaviors. 
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-behaviors-example.png
 */
 
@@ -67,6 +73,8 @@
 
     \brief This example shows the different easing modes available for \l{QML Animation}{animations}.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-easing-example.png
 */
 
@@ -76,6 +84,8 @@
 
     \brief These examples show how to use \l{States}{states} and \l{Transitions}{transitions}.
 
+    \depends helper/qmlapplicationviewer
+
     The \c states.qml example shows how an item can change between states, and \c transitions.qml
     shows how these state changes can be animated.
 
@@ -100,6 +110,8 @@
 
     \brief These examples show how to use the BorderImage element.
 
+    \depends helper/qmlapplicationviewer
+
     \table
     \row
     \o \image qml-borderimage-example.png
@@ -113,6 +125,8 @@
 
     \brief This example shows how to use the BorderImage element.
 
+    \depends helper/qmlapplicationviewer
+
     \table
     \row
     \o \image qml-borderimage-shadows-example.png
@@ -127,6 +141,8 @@
 
     \brief This example shows how to use the \l Image element and its \l{Image::fillMode}{fillModes}.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-image-example.png
 */
 
@@ -248,6 +264,8 @@
 
     \brief This example shows how to enable text translation in QML.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-i18n-example.png
 
     \section1 Introduction
@@ -286,12 +304,16 @@
     \title Right-to-left User Interfaces: Text Alignment Example
     \example declarative/righttoleft/textalignment
 
-    This example shows how the horizontal alignment of \l Text,
+    \brief This example shows how the horizontal alignment of \l Text,
     \l TextInput and \l TextEdit is affected by the reading direction
-    of the text and by the layout mirrroring. Click on the gray buttons
+    of the text and by the layout mirrroring.
+
+    Click on the gray buttons
     shown at the bottom of the example to toggle between different
     horizontal alignment options.
 
+    \depends helper/qmlapplicationviewer
+
     \sa {QML Right-to-left User Interfaces}
 */
 
@@ -299,11 +321,15 @@
     \title Right-to-left User Interfaces: Layout Direction Example
     \example declarative/righttoleft/layoutdirection
 
-    This example shows how to control the horizontal layout direction of 
+    \ brief This example shows how to control the horizontal layout direction of
     \l Row, \l Grid and \l Flow positioners, and \l ListView and \l GridView
-    model views. Click on the gray buttons shown at the bottom of the example
+    model views.
+
+    Click on the gray buttons shown at the bottom of the example
     to toggle the layout direction of the shown elements.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-righttoleft-layoutdirection-example.png
 
     \sa {QML Right-to-left User Interfaces}
@@ -314,10 +340,13 @@
     \title Right-to-left User Interfaces: Layout Mirroring Example
     \example declarative/righttoleft/layoutmirroring
 
-    This example shows how to mirror the application layouts
-    using \l LayoutMirroring attached property. Click on the grey button
-    shown at the bottom of the example to enable or disable the
-    layout mirroring.
+    \brief This example shows how to mirror the application layouts
+    using \l LayoutMirroring attached property.
+
+    Click on the grey button shown at the bottom of the example to
+    enable or disable the layout mirroring.
+
+    \depends helper/qmlapplicationviewer
 
     \image qml-righttoleft-layoutmirroring-example.png
 
@@ -331,6 +360,8 @@
     \brief This example shows how to use positioner elements such as \l Row, \l Column,
     \l Grid and \l Flow.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-positioners-example.png
 */
 
@@ -340,6 +371,8 @@
 
     \brief This example shows how to handle keyboard input and focus in QML.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-focus-example.png
 */
 
@@ -349,6 +382,8 @@
 
     \brief This example shows how to use a QAbstractItemModel subclass as a model in QML.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-abstractitemmodel-example.png
 */
 
@@ -358,6 +393,8 @@
 
     \brief This example shows how to use the GridView element.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-gridview-example.png
 */
 
@@ -369,6 +406,8 @@
     and removed from a ListModel, and how these list
     modifications can be animated.
 
+    \depends helper/qmlapplicationviewer
+
     \table
     \row
     \o \image qml-listview-dynamiclist-example.png
@@ -383,6 +422,9 @@
     \brief This example shows how to create a dynamic delegate, which
     expands when selected.
 
+    \depends helper/qmlapplicationviewer
+
+
     \table
     \row
     \o \image qml-listview-expandingdelegates-example.png
@@ -397,6 +439,8 @@
     \brief This example shows how to highlight one item
     inside a ListView element.
 
+    \depends helper/qmlapplicationviewer
+
     \table
     \row
     \o \image qml-listview-highlight-example.png
@@ -411,6 +455,8 @@
     \brief This example shows how to highlight ranges within a
     ListView element.
 
+    \depends helper/qmlapplicationviewer
+
     \table
     \row
     \o \image qml-listview-highlightranges-example.png
@@ -424,6 +470,8 @@
 
     \brief This example shows how to use the ListView element.
 
+    \depends helper/qmlapplicationviewer
+
     \table
     \row
     \o \image qml-listview-sections-example.png
@@ -438,6 +486,8 @@
 
     \brief This example shows how to use the PathView element.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-pathview-example.png
 */
 
@@ -447,6 +497,8 @@
 
     \brief This example shows how to use a QList<QObject*> as a model in QML.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-objectlistmodel-example.png
 */
 
@@ -456,6 +508,8 @@
 
     \brief This example shows how to use the \l Package element.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-package-example.png
 */
 
@@ -465,6 +519,8 @@
 
     \brief This example shows how to combine and switch between views.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-parallax-example.png
 */
 
@@ -474,6 +530,8 @@
 
     \brief This example shows how to use a QStringList as a model in QML.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-stringlistmodel-example.png
 */
 
@@ -483,6 +541,8 @@
 
     \brief This example shows how to use the VisualItemModel element.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-visualitemmodel-example.png
 */
 
@@ -492,6 +552,8 @@
 
     \brief These examples show how to use the WebView element.
 
+    \depends helper/qmlapplicationviewer
+
     \table
     \row
     \o \image qml-webview-alert-example.png
@@ -505,6 +567,8 @@
 
     \brief These examples show how to use the WebView element.
 
+    \depends helper/qmlapplicationviewer
+
     \table
     \row
     \o \image qml-webview-autosize-example.png
@@ -518,6 +582,8 @@
 
     \brief These examples show how to use the WebView element.
 
+    \depends helper/qmlapplicationviewer
+
     \table
     \row
     \o \image qml-webview-googlemaps-example.png
@@ -531,6 +597,8 @@
 
     \brief These examples show how to use the WebView element.
 
+    \depends helper/qmlapplicationviewer
+
     \table
     \row
     \o \image qml-webview-inlinehtml-example.png
@@ -544,6 +612,8 @@
 
     \brief These examples show how to use the WebView element.
 
+    \depends helper/qmlapplicationviewer
+
     \table
     \row
     \o \image qml-webview-newwindows-example.png
@@ -558,6 +628,8 @@
     \example declarative/screenorientation
 
     \brief This example shows how to implement screen orientation support for your application.
+
+    \depends helper/qmlapplicationviewer
 */
 
 /*!
@@ -565,6 +637,8 @@
     \example declarative/sqllocalstorage
 
     \brief This example shows how to use the SQL Local Storage API in QML.
+
+    \depends helper/qmlapplicationviewer
 */
 
 /*!
@@ -573,6 +647,8 @@
 
     \brief These examples show how to discover available fonts from QML.
 
+    \depends helper/qmlapplicationviewer
+
     \table
     \row
     \o \image qml-fonts-availableFonts-example.png
@@ -586,6 +662,8 @@
 
     \brief These example shows how to manipulate text in various ways.
 
+    \depends helper/qmlapplicationviewer
+
     \table
     \row
     \o \image qml-fonts-banner-example.png
@@ -599,6 +677,8 @@
 
     \brief These examples shows how to display a text with multiple fonts.
 
+    \depends helper/qmlapplicationviewer
+
     \table
     \row
     \o \image qml-fonts-fonts-example.png
@@ -612,6 +692,8 @@
 
     \brief This example shows how to manipulate text in various ways.
 
+    \depends helper/qmlapplicationviewer
+
     \table
     \row
     \o \image qml-fonts-hello-example.png
@@ -627,6 +709,8 @@
     \brief This example shows how text selection, copy and paste operations
     can be implemented on top of the TextEdit element.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-textselection-example.png
 */
 
@@ -636,6 +720,8 @@
 
     \brief This example shows how to use a ListModel from multiple threads using
     WorkerScript.
+
+    \depends helper/qmlapplicationviewer
 */
 
 /*!
@@ -643,6 +729,8 @@
     \example declarative/threading/workerscript
 
     \brief This example shows how to use the WorkerScript element for threading in QML.
+
+    \depends helper/qmlapplicationviewer
 */
 
 /*!
@@ -650,6 +738,8 @@
     \example declarative/toys/clocks
 
     \brief This example displays a set of clocks with different times for different cities.
+
+    \depends helper/qmlapplicationviewer
     
     Each clock is created by combining \l Image elements with \l Rotation transforms 
     and \l SpringAnimation behaviors.
@@ -665,6 +755,8 @@
     through a combination of elements like \l ListModel, \l Repeater and \l TextEdit
     together with rotation and scaling transforms, animation and mouse interaction.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-corkboards-example.png
 */
 
@@ -676,6 +768,8 @@
     how to use QML's \l{Dynamic Object Creation} support to dynamically create and
     destroy objects.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-dynamicscene-example.png
 */
 
@@ -685,6 +779,8 @@
 
     \brief This example presents a simple implementation of Tic Tac Toe.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-tic-tac-toe-example.png
 */
 
@@ -695,6 +791,8 @@
     \brief This example shows how to use animation components such as \l SpringAnimation,
     \l SequentialAnimation and \l PropertyAction to create a game of TV tennis.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-tvtennis-example.png
 */
 
@@ -703,6 +801,8 @@
     \example declarative/touchinteraction/gestures
 
     \brief This example shows how to use the GestureArea element.
+    \depends helper/qmlapplicationviewer
+
 */
 
 /*!
@@ -712,6 +812,8 @@
     \brief This example shows how to use the MouseArea element to access information
     about mouse input.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-mousearea-example.png
 */
 
@@ -723,6 +825,8 @@
     \l Image elements with \l Rotation transforms and \l SpringAnimation behaviors
     to produce an interactive speedometer-type dial.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-dialcontrol-example.png
 */
 
@@ -730,9 +834,12 @@
 /*!
     \title UI Components: Flipable Example
     \example declarative/ui-components/flipable
+    \depends helper/qmlapplicationviewer
 
     \brief This example shows how to use the \l Flipable element.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-flipable-example.png
 */
 
@@ -742,6 +849,8 @@
 
     \brief This example shows how to create a progress bar.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-progressbar-example.png
 */
 
@@ -753,6 +862,8 @@
     using the \l {Flickable::visibleArea.xPosition}{Flickable::visibleArea}
     properties.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-scrollbar-example.png
 */
 
@@ -763,6 +874,8 @@
     \brief This example shows how to combine TextInput, FocusScope and BorderImage
     elements to display multiple text input fields.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-searchbox-example.png
 */
 
@@ -772,6 +885,8 @@
 
     \brief This example shows how to create a slide switch control.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-slideswitch-example.png
 */
 
@@ -781,6 +896,8 @@
 
     \brief This example shows how to create a spinner-type component using the PathView element.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-spinner-example.png
 */
 
@@ -793,6 +910,8 @@
     \l {Introduction to the QML Language#Default Properties}{default properties} can be used to collect and
     assemble the child items declared within an \l Item.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-tabwidget-example.png
 */
 
@@ -802,6 +921,8 @@
 
     \brief This example shows how to use the \l XmlHttpRequest API in QML.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-xmlhttprequest-example.png
 */
 
@@ -809,7 +930,9 @@
     \title Labs: Shader Effects
     \example declarative/shadereffects
 
-    This example shows how to create visual effects by using OpenGL shading language together with QML using \l ShaderEffectItem and \l ShaderEffectSource APIs.
+    \brief This example shows how to create visual effects by using OpenGL shading language together with QML using \l ShaderEffectItem and \l ShaderEffectSource APIs.
+
+    \depends helper/qmlapplicationviewer
 
     \image qml-shadereffects-example.png
 */
diff --git a/doc/src/examples/qml-flickr.qdoc b/doc/src/examples/qml-flickr.qdoc
index 65e8e0d..6f59451 100644
--- a/doc/src/examples/qml-flickr.qdoc
+++ b/doc/src/examples/qml-flickr.qdoc
@@ -31,5 +31,7 @@
 
     \brief The Qt Quick Flickr Mobile demo shows how to write a mobile Flickr browser application in QML.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-flickr-demo.png
 */
diff --git a/doc/src/examples/qml-folderlistmodel.qdoc b/doc/src/examples/qml-folderlistmodel.qdoc
index 609be27..2d73db8 100644
--- a/doc/src/examples/qml-folderlistmodel.qdoc
+++ b/doc/src/examples/qml-folderlistmodel.qdoc
@@ -31,6 +31,7 @@
 \example src/imports/folderlistmodel
 
 \brief The FolderListModel plugin example shows how to make a C++ model available to QML.
+\depends helper/qmlapplicationviewer
 
 It presents
 a simple file list for a single folder (directory) and allows the presented
diff --git a/doc/src/examples/qml-photoviewer.qdoc b/doc/src/examples/qml-photoviewer.qdoc
index 40b6372..65b3774 100644
--- a/doc/src/examples/qml-photoviewer.qdoc
+++ b/doc/src/examples/qml-photoviewer.qdoc
@@ -31,5 +31,7 @@
 
     \brief The Qt Quick Photo Viewer demo shows how to write a Flickr photo viewer application in QML.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-photoviewer-demo.png
 */
diff --git a/doc/src/examples/qml-rssnews.qdoc b/doc/src/examples/qml-rssnews.qdoc
index 76df4e3..8b2691f 100644
--- a/doc/src/examples/qml-rssnews.qdoc
+++ b/doc/src/examples/qml-rssnews.qdoc
@@ -31,5 +31,7 @@
 
     \brief The Qt Quick RSS News demo shows how to write a RSS news reader in QML.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-rssnews-demo.png
 */
diff --git a/doc/src/examples/qml-samegame.qdoc b/doc/src/examples/qml-samegame.qdoc
index 8b67a49..8c4c75b 100644
--- a/doc/src/examples/qml-samegame.qdoc
+++ b/doc/src/examples/qml-samegame.qdoc
@@ -32,5 +32,7 @@
     \brief The Qt Quick Same Game demo shows how to write a 'Same Game' game in QML, using Javascript
     for all the game logic.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-samegame-demo.png
 */
diff --git a/doc/src/examples/qml-twitter.qdoc b/doc/src/examples/qml-twitter.qdoc
index 3334370..50495e9 100644
--- a/doc/src/examples/qml-twitter.qdoc
+++ b/doc/src/examples/qml-twitter.qdoc
@@ -32,5 +32,7 @@
     \brief The Qt Quick Twitter Mobile demo shows how to write a mobile Twitter search client in QML. Use it to
     see what people think about Qt Quick!
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-twitter-demo.png
 */
diff --git a/doc/src/examples/qml-webbrowser.qdoc b/doc/src/examples/qml-webbrowser.qdoc
index bdead7f..a130dd7 100644
--- a/doc/src/examples/qml-webbrowser.qdoc
+++ b/doc/src/examples/qml-webbrowser.qdoc
@@ -33,6 +33,8 @@
     WebView element with other components including scroll bars, 
     \l Flickable views and TextInput fields.
 
+    \depends helper/qmlapplicationviewer
+
     \image qml-webbrowser-demo.png
 */
 
-- 
cgit v0.12


From 0f4a61a33942744b1609c2b375d28765a215e39f Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <daniel.molkentin@nokia.com>
Date: Tue, 22 Nov 2011 19:18:37 +0100
Subject: Add note to declarative calculator example

This example is not meant to be executed without qmlviewer, yet most
of it works. Add a warning for the uninitiated.

Reviewed-by: trustme
---
 demos/declarative/calculator/main.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/demos/declarative/calculator/main.cpp b/demos/declarative/calculator/main.cpp
index 4d29e0b..f477867 100644
--- a/demos/declarative/calculator/main.cpp
+++ b/demos/declarative/calculator/main.cpp
@@ -40,11 +40,17 @@
 
 #include "qmlapplicationviewer.h"
 #include <QtGui/QApplication>
+#include <QtCore/QDebug>
 
 Q_DECL_EXPORT int main(int argc, char *argv[])
 {
     QApplication app(argc, argv);
 
+    qDebug() << "NOTE: The runtime property and the Orientation enum are only available"
+             << "through qmlviewer and are not available in the complied version.\n"
+             << "Run 'qmlviewer calculator.qmlproject' or load 'calculator.qmlproject'"
+             << "in Qt Creator and run the project.";
+
     QmlApplicationViewer viewer;
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape);
     viewer.setMainQmlFile(QLatin1String("qml/calculator/calculator.qml"));
-- 
cgit v0.12