diff --git a/tests/manual/workshop/content/AboutDialog.qml b/tests/manual/workshop/content/AboutDialog.qml
new file mode 100644
index 0000000000000000000000000000000000000000..c4d87ee03e5b6dda9c50599482bda12eb5ab218b
--- /dev/null
+++ b/tests/manual/workshop/content/AboutDialog.qml
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Quick Controls 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 Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.2
+import QtQuick.Dialogs 1.1
+
+MessageDialog {
+    icon: StandardIcon.Information
+    title: "Qt Quick Controls Workshop"
+    text: "Qt Quick Controls Workshop"
+    detailedText: "A manual test for most of the available Qt Quick Controls"
+}
diff --git a/tests/manual/workshop/content/Controls.qml b/tests/manual/workshop/content/Controls.qml
new file mode 100644
index 0000000000000000000000000000000000000000..1abd57e4cbf9c00f96fff9eb64985f211b1facfb
--- /dev/null
+++ b/tests/manual/workshop/content/Controls.qml
@@ -0,0 +1,280 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Quick Controls 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 Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.2
+import QtQuick.Controls 1.2
+import QtQuick.Layouts 1.1
+import QtQuick.Controls.Styles 1.1
+
+Item {
+    id: flickable
+    anchors.fill: parent
+    enabled: enabledCheck.checked
+
+    property int tabPosition: tabPositionGroup.current === r2 ? Qt.BottomEdge : Qt.TopEdge
+
+    property string loremIpsum:
+            "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor "+
+            "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor "+
+            "incididunt ut labore et dolore magna aliqua.\n Ut enim ad minim veniam, quis nostrud "+
+            "exercitation ullamco laboris nisi ut aliquip ex ea commodo cosnsequat. ";
+
+    ListModel {
+        id: choices
+        ListElement { text: "Banana" }
+        ListElement { text: "Orange" }
+        ListElement { text: "Apple" }
+        ListElement { text: "Coconut" }
+    }
+
+    RowLayout {
+        id: contentRow
+        anchors.fill:parent
+        anchors.margins: 8
+        spacing: 16
+        ColumnLayout {
+            id: firstColumn
+            Layout.minimumWidth: implicitWidth
+            Layout.fillWidth: false
+            RowLayout {
+                id: buttonrow
+                Button {
+                    id: button1
+                    text: "Button 1"
+                    tooltip:"This is an interesting tool tip"
+                    Layout.fillWidth: true
+                }
+                Button {
+                    id:button2
+                    text:"Button 2"
+                    Layout.fillWidth: true
+                    menu: Menu {
+                        MenuItem { text: "This Button" }
+                        MenuItem { text: "Happens To Have" }
+                        MenuItem { text: "A Menu Assigned" }
+                    }
+                }
+            }
+            ComboBox {
+                id: combo
+                model: choices
+                currentIndex: 2
+                Layout.fillWidth: true
+            }
+            ComboBox {
+                model: Qt.fontFamilies()
+                Layout.fillWidth: true
+                currentIndex: 47
+            }
+            ComboBox {
+                id: editableCombo
+                editable: true
+                model: choices
+                Layout.fillWidth: true
+                currentIndex: 2
+                onAccepted: {
+                    if (editableCombo.find(currentText) === -1) {
+                        choices.append({text: editText})
+                        currentIndex = editableCombo.find(editText)
+                    }
+                }
+            }
+            RowLayout {
+                SpinBox {
+                    id: t1
+                    Layout.fillWidth: true
+                    minimumValue: -50
+                    value: -20
+                }
+                SpinBox {
+                    id: t2
+                    Layout.fillWidth: true
+                }
+            }
+            TextField {
+                id: t3
+                placeholderText: "This is a placeholder for a TextField"
+                Layout.fillWidth: true
+            }
+            ProgressBar {
+                // normalize value [0.0 .. 1.0]
+                value: (slider.value - slider.minimumValue) / (slider.maximumValue - slider.minimumValue)
+                Layout.fillWidth: true
+            }
+            ProgressBar {
+                indeterminate: true
+                Layout.fillWidth: true
+            }
+            Slider {
+                id: slider
+                value: 0.5
+                Layout.fillWidth: true
+                tickmarksEnabled: tickmarkCheck.checked
+                stepSize: tickmarksEnabled ? 0.1 : 0
+            }
+            MouseArea {
+                id: busyCheck
+                Layout.fillWidth: true
+                Layout.fillHeight: true
+                hoverEnabled:true
+                Layout.preferredHeight: busyIndicator.height
+                BusyIndicator {
+                    id: busyIndicator
+                    running: busyCheck.containsMouse
+                    anchors.horizontalCenter: parent.horizontalCenter
+                }
+            }
+        }
+        ColumnLayout {
+            id: rightcol
+            Layout.fillWidth: true
+            anchors {
+                top: parent.top
+                bottom: parent.bottom
+            }
+
+            GroupBox {
+                id: group1
+                title: "CheckBox"
+                Layout.fillWidth: true
+                RowLayout {
+                    Layout.fillWidth: true
+                    CheckBox {
+                        id: frameCheckbox
+                        text: "Text frame"
+                        checked: true
+                        Layout.minimumWidth: 100
+                    }
+                    CheckBox {
+                        id: tickmarkCheck
+                        text: "Tickmarks"
+                        checked: false
+                        Layout.minimumWidth: 100
+                    }
+                    CheckBox {
+                        id: wrapCheck
+                        text: "Word wrap"
+                        checked: true
+                        Layout.minimumWidth: 100
+                    }
+                }
+            }
+            GroupBox {
+                id: group2
+                title:"Tab Position"
+                Layout.fillWidth: true
+                RowLayout {
+                    ExclusiveGroup { id: tabPositionGroup }
+                    RadioButton {
+                        id: r1
+                        text: "Top"
+                        checked: true
+                        exclusiveGroup: tabPositionGroup
+                        Layout.minimumWidth: 100
+                    }
+                    RadioButton {
+                        id: r2
+                        text: "Bottom"
+                        exclusiveGroup: tabPositionGroup
+                        Layout.minimumWidth: 100
+                    }
+                }
+            }
+
+            TextArea {
+                id: area
+                frameVisible: frameCheckbox.checked
+                text: loremIpsum + loremIpsum
+                textFormat: Qt.RichText
+                wrapMode: wrapCheck.checked ? TextEdit.WordWrap : TextEdit.NoWrap
+                Layout.fillWidth: true
+                Layout.fillHeight: true
+                menu: editmenu
+            }
+        }
+    }
+
+    ExclusiveGroup {
+        id: textFormatGroup
+
+        Action {
+            id: a1
+            text: "Align &Left"
+            checkable: true
+            Component.onCompleted: checked = true
+        }
+
+        Action {
+            id: a2
+            text: "&Center"
+            checkable: true
+        }
+
+        Action {
+            id: a3
+            text: "Align &Right"
+            checkable: true
+        }
+    }
+
+    Component {
+        id: editmenu
+        Menu {
+            MenuItem { action: cutAction }
+            MenuItem { action: copyAction }
+            MenuItem { action: pasteAction }
+            MenuSeparator {}
+            Menu {
+                title: "Text &Format"
+                MenuItem { action: a1 }
+                MenuItem { action: a2 }
+                MenuItem { action: a3 }
+                MenuSeparator { }
+                MenuItem { text: "Allow &Hyphenation"; checkable: true }
+            }
+            Menu {
+                title: "Font &Style"
+                MenuItem { text: "&Bold"; checkable: true }
+                MenuItem { text: "&Italic"; checkable: true }
+                MenuItem { text: "&Underline"; checkable: true }
+            }
+        }
+    }
+}
diff --git a/tests/manual/workshop/content/ImageViewer.qml b/tests/manual/workshop/content/ImageViewer.qml
new file mode 100644
index 0000000000000000000000000000000000000000..26d2da173cf5506944647302f596650816115634
--- /dev/null
+++ b/tests/manual/workshop/content/ImageViewer.qml
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Quick Controls 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 Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.2
+import QtQuick.Window 2.1
+
+Window {
+    id: imageViewer
+    minimumWidth: viewerImage.width
+    minimumHeight: viewerImage.height
+    function open(source) {
+        viewerImage.source = source
+        width = viewerImage.implicitWidth + 20
+        height = viewerImage.implicitHeight + 20
+        title = source
+        visible = true
+    }
+    Image {
+        id: viewerImage
+        anchors.centerIn: parent
+    }
+}
diff --git a/tests/manual/workshop/content/ModelView.qml b/tests/manual/workshop/content/ModelView.qml
new file mode 100644
index 0000000000000000000000000000000000000000..eb9f720d384f294fba35641771c3280793b4f2d4
--- /dev/null
+++ b/tests/manual/workshop/content/ModelView.qml
@@ -0,0 +1,88 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Quick Controls 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 Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.2
+import QtQuick.Controls 1.2
+
+Item {
+    id: root
+    width: 600
+    height: 300
+    anchors.fill: parent
+    anchors.margins: Qt.platform.os === "osx" ? 12 : 6
+
+    ListModel {
+        id: dummyModel
+        Component.onCompleted: {
+            for (var i = 0 ; i < 100 ; ++i) {
+                append({"index": i, "title": "A title " + i, "imagesource" :"http://someurl.com", "credit" : "N/A"})
+            }
+        }
+    }
+
+    TableView{
+        model: dummyModel
+        anchors.fill: parent
+
+        TableViewColumn {
+            role: "index"
+            title: "#"
+            width: 36
+            resizable: false
+            movable: false
+        }
+        TableViewColumn {
+            role: "title"
+            title: "Title"
+            width: 120
+        }
+        TableViewColumn {
+            role: "credit"
+            title: "Credit"
+            width: 120
+        }
+        TableViewColumn {
+            role: "imagesource"
+            title: "Image source"
+            width: 200
+            visible: true
+        }
+    }
+}
diff --git a/tests/manual/workshop/content/Styles.qml b/tests/manual/workshop/content/Styles.qml
new file mode 100644
index 0000000000000000000000000000000000000000..d490e2b5e589df5182ba7646511047b44c99d07a
--- /dev/null
+++ b/tests/manual/workshop/content/Styles.qml
@@ -0,0 +1,382 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Quick Controls 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 Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.2
+import QtQuick.Controls 1.2
+import QtQuick.Controls.Styles 1.1
+import QtQuick.Particles 2.0
+import QtQuick.Layouts 1.0
+
+Item {
+    id: root
+    width: 300
+    height: 200
+
+    property int columnWidth: 120
+    GridLayout {
+        rowSpacing: 12
+        columnSpacing: 30
+        anchors.top: parent.top
+        anchors.horizontalCenter: parent.horizontalCenter
+        anchors.margins: 30
+
+        Button {
+            text: "Push me"
+            style: ButtonStyle { }
+            implicitWidth: columnWidth
+        }
+        Button {
+            text: "Push me"
+            style: ButtonStyle {
+                background: BorderImage {
+                    source: control.pressed ? "../images/button-pressed.png" : "../images/button.png"
+                    border.left: 4 ; border.right: 4 ; border.top: 4 ; border.bottom: 4
+                }
+            }
+            implicitWidth: columnWidth
+        }
+        Button {
+            text: "Push me"
+            style: buttonStyle
+            implicitWidth: columnWidth
+        }
+
+        TextField {
+            Layout.row: 1
+            style: TextFieldStyle { }
+            implicitWidth: columnWidth
+        }
+        TextField {
+            style: TextFieldStyle {
+                background: BorderImage {
+                    source: "../images/textfield.png"
+                    border.left: 4 ; border.right: 4 ; border.top: 4 ; border.bottom: 4
+                }
+            }
+            implicitWidth: columnWidth
+        }
+        TextField {
+            style: textfieldStyle
+            implicitWidth: columnWidth
+        }
+
+        Slider {
+            id: slider1
+            Layout.row: 2
+            value: 0.5
+            implicitWidth: columnWidth
+            style: SliderStyle { }
+        }
+        Slider {
+            id: slider2
+            value: 0.5
+            implicitWidth: columnWidth
+            style: SliderStyle {
+                groove: BorderImage {
+                    height: 6
+                    border.top: 1
+                    border.bottom: 1
+                    source: "../images/progress-background.png"
+                    border.left: 6
+                    border.right: 6
+                    BorderImage {
+                        anchors.verticalCenter: parent.verticalCenter
+                        source: "../images/progress-fill.png"
+                        border.left: 5 ; border.top: 1
+                        border.right: 5 ; border.bottom: 1
+                        width: styleData.handlePosition
+                        height: parent.height
+                    }
+                }
+                handle: Item {
+                    width: 13
+                    height: 13
+                    Image {
+                        anchors.centerIn: parent
+                        source: "../images/slider-handle.png"
+                    }
+                }
+            }
+        }
+        Slider {
+            id: slider3
+            value: 0.5
+            implicitWidth: columnWidth
+            style: sliderStyle
+        }
+
+        ProgressBar {
+            Layout.row: 3
+            value: slider1.value
+            implicitWidth: columnWidth
+            style: ProgressBarStyle{ }
+        }
+        ProgressBar {
+            value: slider2.value
+            implicitWidth: columnWidth
+            style: progressBarStyle
+        }
+        ProgressBar {
+            value: slider3.value
+            implicitWidth: columnWidth
+            style: progressBarStyle2
+        }
+
+        CheckBox {
+            text: "CheckBox"
+            style: CheckBoxStyle{}
+            Layout.row: 4
+            implicitWidth: columnWidth
+        }
+        RadioButton {
+            style: RadioButtonStyle{}
+            text: "RadioButton"
+            implicitWidth: columnWidth
+        }
+
+        ComboBox {
+            model: ["Paris", "Oslo", "New York"]
+            style: ComboBoxStyle{}
+            implicitWidth: columnWidth
+        }
+
+        TabView {
+            Layout.row: 5
+            Layout.columnSpan: 3
+            Layout.fillWidth: true
+            implicitHeight: 30
+            Tab { title: "One" ; Item {}}
+            Tab { title: "Two" ; Item {}}
+            Tab { title: "Three" ; Item {}}
+            Tab { title: "Four" ; Item {}}
+            style: TabViewStyle {}
+        }
+
+        TabView {
+            Layout.row: 6
+            Layout.columnSpan: 3
+            Layout.fillWidth: true
+            implicitHeight: 30
+            Tab { title: "One" ; Item {}}
+            Tab { title: "Two" ; Item {}}
+            Tab { title: "Three" ; Item {}}
+            Tab { title: "Four" ; Item {}}
+            style: tabViewStyle
+        }
+    }
+
+    // Style delegates:
+
+    property Component buttonStyle: ButtonStyle {
+        background: Rectangle {
+            implicitHeight: 22
+            implicitWidth: columnWidth
+            color: control.pressed ? "darkGray" : control.activeFocus ? "#cdd" : "#ccc"
+            antialiasing: true
+            border.color: "gray"
+            radius: height/2
+            Rectangle {
+                anchors.fill: parent
+                anchors.margins: 1
+                color: "transparent"
+                antialiasing: true
+                visible: !control.pressed
+                border.color: "#aaffffff"
+                radius: height/2
+            }
+        }
+    }
+
+    property Component textfieldStyle: TextFieldStyle {
+        background: Rectangle {
+            implicitWidth: columnWidth
+            implicitHeight: 22
+            color: "#f0f0f0"
+            antialiasing: true
+            border.color: "gray"
+            radius: height/2
+            Rectangle {
+                anchors.fill: parent
+                anchors.margins: 1
+                color: "transparent"
+                antialiasing: true
+                border.color: "#aaffffff"
+                radius: height/2
+            }
+        }
+    }
+
+    property Component sliderStyle: SliderStyle {
+        handle: Rectangle {
+            width: 18
+            height: 18
+            color: control.pressed ? "darkGray" : "lightGray"
+            border.color: "gray"
+            antialiasing: true
+            radius: height/2
+            Rectangle {
+                anchors.fill: parent
+                anchors.margins: 1
+                color: "transparent"
+                antialiasing: true
+                border.color: "#eee"
+                radius: height/2
+            }
+        }
+
+        groove: Rectangle {
+            height: 8
+            implicitWidth: columnWidth
+            implicitHeight: 22
+
+            antialiasing: true
+            color: "#ccc"
+            border.color: "#777"
+            radius: height/2
+            Rectangle {
+                anchors.fill: parent
+                anchors.margins: 1
+                color: "transparent"
+                antialiasing: true
+                border.color: "#66ffffff"
+                radius: height/2
+            }
+        }
+    }
+
+    property Component progressBarStyle: ProgressBarStyle {
+        background: BorderImage {
+            source: "../images/progress-background.png"
+            border.left: 2 ; border.right: 2 ; border.top: 2 ; border.bottom: 2
+        }
+        progress: Item {
+            clip: true
+            BorderImage {
+                anchors.fill: parent
+                anchors.rightMargin: (control.value < control.maximumValue) ? -4 : 0
+                source: "../images/progress-fill.png"
+                border.left: 10 ; border.right: 10
+                Rectangle {
+                    width: 1
+                    color: "#a70"
+                    opacity: 0.8
+                    anchors.top: parent.top
+                    anchors.bottom: parent.bottom
+                    anchors.bottomMargin: 1
+                    anchors.right: parent.right
+                    visible: control.value < control.maximumValue
+                    anchors.rightMargin: -parent.anchors.rightMargin
+                }
+            }
+            ParticleSystem{ id: bubbles; running: visible }
+            ImageParticle{
+                id: fireball
+                system: bubbles
+                source: "../images/bubble.png"
+                opacity: 0.7
+            }
+            Emitter{
+                system: bubbles
+                anchors.bottom: parent.bottom
+                anchors.margins: 4
+                anchors.bottomMargin: -4
+                anchors.left: parent.left
+                anchors.right: parent.right
+                size: 4
+                sizeVariation: 4
+                acceleration: PointDirection{ y: -6; xVariation: 3 }
+                emitRate: 6 * control.value
+                lifeSpan: 3000
+            }
+        }
+    }
+
+    property Component progressBarStyle2: ProgressBarStyle {
+        background: Rectangle {
+            implicitWidth: columnWidth
+            implicitHeight: 24
+            color: "#f0f0f0"
+            border.color: "gray"
+        }
+        progress: Rectangle {
+            color: "#ccc"
+            border.color: "gray"
+            Rectangle {
+                color: "transparent"
+                border.color: "#44ffffff"
+                anchors.fill: parent
+                anchors.margins: 1
+            }
+        }
+    }
+
+    property Component tabViewStyle: TabViewStyle {
+        tabOverlap: 16
+        frameOverlap: 4
+        tabsMovable: true
+
+        frame: Rectangle {
+            gradient: Gradient{
+                GradientStop { color: "#e5e5e5" ; position: 0 }
+                GradientStop { color: "#e0e0e0" ; position: 1 }
+            }
+            border.color: "#898989"
+            Rectangle { anchors.fill: parent ; anchors.margins: 1 ; border.color: "white" ; color: "transparent" }
+        }
+        tab: Item {
+            property int totalOverlap: tabOverlap * (control.count - 1)
+            implicitWidth: Math.min ((styleData.availableWidth + totalOverlap)/control.count - 4, image.sourceSize.width)
+            implicitHeight: image.sourceSize.height
+            BorderImage {
+                id: image
+                anchors.fill: parent
+                source: styleData.selected ? "../images/tab_selected.png" : "../images/tab.png"
+                border.left: 30
+                smooth: false
+                border.right: 30
+            }
+            Text {
+                text: styleData.title
+                anchors.centerIn: parent
+            }
+        }
+        leftCorner: Item { implicitWidth: 12 }
+    }
+}
diff --git a/tests/manual/workshop/images/bubble.png b/tests/manual/workshop/images/bubble.png
new file mode 100644
index 0000000000000000000000000000000000000000..62aa1efe54c76991fdaea3a103d362bcc635e5c6
Binary files /dev/null and b/tests/manual/workshop/images/bubble.png differ
diff --git a/tests/manual/workshop/images/button-pressed.png b/tests/manual/workshop/images/button-pressed.png
new file mode 100644
index 0000000000000000000000000000000000000000..d64cdaa7876296e8ff5fe0953c5f364a0a6be118
Binary files /dev/null and b/tests/manual/workshop/images/button-pressed.png differ
diff --git a/tests/manual/workshop/images/button.png b/tests/manual/workshop/images/button.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ab41cc804991d9da9d2c0dd2140579b8a405cf7
Binary files /dev/null and b/tests/manual/workshop/images/button.png differ
diff --git a/tests/manual/workshop/images/document-open.png b/tests/manual/workshop/images/document-open.png
new file mode 100644
index 0000000000000000000000000000000000000000..f35f2583540678b7a544d9175245096082f302af
Binary files /dev/null and b/tests/manual/workshop/images/document-open.png differ
diff --git a/tests/manual/workshop/images/document-open@2x.png b/tests/manual/workshop/images/document-open@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..9fdbb6657744a38310d3fa4ab8b7558e5966987e
Binary files /dev/null and b/tests/manual/workshop/images/document-open@2x.png differ
diff --git a/tests/manual/workshop/images/document-save-as.png b/tests/manual/workshop/images/document-save-as.png
new file mode 100644
index 0000000000000000000000000000000000000000..5c9f6b343bdff4e1295342362486b2cc37387ecb
Binary files /dev/null and b/tests/manual/workshop/images/document-save-as.png differ
diff --git a/tests/manual/workshop/images/document-save-as@2x.png b/tests/manual/workshop/images/document-save-as@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..a15e34c924abc6f343e2a3ff35368035930488d6
Binary files /dev/null and b/tests/manual/workshop/images/document-save-as@2x.png differ
diff --git a/tests/manual/workshop/images/folder_new.png b/tests/manual/workshop/images/folder_new.png
new file mode 100644
index 0000000000000000000000000000000000000000..8d8bb9bd768d8e8ab785d95483ead02ae6800dc5
Binary files /dev/null and b/tests/manual/workshop/images/folder_new.png differ
diff --git a/tests/manual/workshop/images/go-next.png b/tests/manual/workshop/images/go-next.png
new file mode 100644
index 0000000000000000000000000000000000000000..a68e2db77531cb15a2cddd62f567f030513b60fa
Binary files /dev/null and b/tests/manual/workshop/images/go-next.png differ
diff --git a/tests/manual/workshop/images/go-previous.png b/tests/manual/workshop/images/go-previous.png
new file mode 100644
index 0000000000000000000000000000000000000000..c37bc0414c24b6e4f34096d0c0f20fbe0bf84045
Binary files /dev/null and b/tests/manual/workshop/images/go-previous.png differ
diff --git a/tests/manual/workshop/images/preferences-system.png b/tests/manual/workshop/images/preferences-system.png
new file mode 100644
index 0000000000000000000000000000000000000000..6e52db7cfd482e228dae640a7717ea1dcaf523e8
Binary files /dev/null and b/tests/manual/workshop/images/preferences-system.png differ
diff --git a/tests/manual/workshop/images/process-stop.png b/tests/manual/workshop/images/process-stop.png
new file mode 100644
index 0000000000000000000000000000000000000000..e7a8d1722f328be5fa649f774e2fa6bcf049ebef
Binary files /dev/null and b/tests/manual/workshop/images/process-stop.png differ
diff --git a/tests/manual/workshop/images/progress-background.png b/tests/manual/workshop/images/progress-background.png
new file mode 100644
index 0000000000000000000000000000000000000000..55a069dfce0cba716f426a78c04346cadb60cfad
Binary files /dev/null and b/tests/manual/workshop/images/progress-background.png differ
diff --git a/tests/manual/workshop/images/progress-fill.png b/tests/manual/workshop/images/progress-fill.png
new file mode 100644
index 0000000000000000000000000000000000000000..b588c9586d9c9ba0d07966f448c19e23320bf6e3
Binary files /dev/null and b/tests/manual/workshop/images/progress-fill.png differ
diff --git a/tests/manual/workshop/images/slider-handle.png b/tests/manual/workshop/images/slider-handle.png
new file mode 100644
index 0000000000000000000000000000000000000000..ac4d4a0d981cf7257756d5ecd7951154b70b87d5
Binary files /dev/null and b/tests/manual/workshop/images/slider-handle.png differ
diff --git a/tests/manual/workshop/images/tab.png b/tests/manual/workshop/images/tab.png
new file mode 100644
index 0000000000000000000000000000000000000000..74fefab78a719e4883756d2bcc1b968835dd4fa0
Binary files /dev/null and b/tests/manual/workshop/images/tab.png differ
diff --git a/tests/manual/workshop/images/tab_selected.png b/tests/manual/workshop/images/tab_selected.png
new file mode 100644
index 0000000000000000000000000000000000000000..665400ccfd2da9264fa4cf0e653e2573a8f7daf7
Binary files /dev/null and b/tests/manual/workshop/images/tab_selected.png differ
diff --git a/tests/manual/workshop/images/textfield.png b/tests/manual/workshop/images/textfield.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d4a38ab38bea53d34f71c84e4f88669b99f3447
Binary files /dev/null and b/tests/manual/workshop/images/textfield.png differ
diff --git a/tests/manual/workshop/images/toplevel_window.png b/tests/manual/workshop/images/toplevel_window.png
new file mode 100644
index 0000000000000000000000000000000000000000..4dc6a8cee217d45990972ff43f27d06c6a851b61
Binary files /dev/null and b/tests/manual/workshop/images/toplevel_window.png differ
diff --git a/tests/manual/workshop/images/view-refresh.png b/tests/manual/workshop/images/view-refresh.png
new file mode 100644
index 0000000000000000000000000000000000000000..606ea9eba46b82eea04678e64369b97e595f9da5
Binary files /dev/null and b/tests/manual/workshop/images/view-refresh.png differ
diff --git a/tests/manual/workshop/images/window-new@2x.png b/tests/manual/workshop/images/window-new@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..36503018ef4157fa20f6cfdaf9fb851137384c53
Binary files /dev/null and b/tests/manual/workshop/images/window-new@2x.png differ
diff --git a/tests/manual/workshop/main.qml b/tests/manual/workshop/main.qml
new file mode 100644
index 0000000000000000000000000000000000000000..723a8886b1eea48a4644b89b7d3496cff0b10e2f
--- /dev/null
+++ b/tests/manual/workshop/main.qml
@@ -0,0 +1,169 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Quick Controls 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 Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.2
+import QtQuick.Controls 1.2
+import QtQuick.Layouts 1.0
+import QtQuick.Dialogs 1.0
+import "content"
+
+ApplicationWindow {
+    visible: true
+    title: "Qt Quick Controls Workshop"
+
+    width: 640
+    height: 420
+    minimumHeight: 400
+    minimumWidth: 600
+
+    ImageViewer { id: imageViewer }
+
+    FileDialog {
+        id: fileDialog
+        nameFilters: [ "Image files (*.png *.jpg)" ]
+        onAccepted: imageViewer.open(fileUrl)
+    }
+
+    AboutDialog { id: aboutDialog }
+
+    Action {
+        id: openAction
+        text: "&Open"
+        shortcut: StandardKey.Open
+        iconSource: "images/document-open.png"
+        onTriggered: fileDialog.open()
+        tooltip: "Open an image"
+    }
+
+    Action {
+        id: copyAction
+        text: "&Copy"
+        shortcut: StandardKey.Copy
+        iconName: "edit-copy"
+        enabled: (!!activeFocusItem && !!activeFocusItem["copy"])
+        onTriggered: activeFocusItem.copy()
+    }
+
+    Action {
+        id: cutAction
+        text: "Cu&t"
+        shortcut: StandardKey.Cut
+        iconName: "edit-cut"
+        enabled: (!!activeFocusItem && !!activeFocusItem["cut"])
+        onTriggered: activeFocusItem.cut()
+    }
+
+    Action {
+        id: pasteAction
+        text: "&Paste"
+        shortcut: StandardKey.Paste
+        iconName: "edit-paste"
+        enabled: (!!activeFocusItem && !!activeFocusItem["paste"])
+        onTriggered: activeFocusItem.paste()
+    }
+
+    toolBar: ToolBar {
+        id: toolbar
+        RowLayout {
+            id: toolbarLayout
+            spacing: 0
+            anchors.fill: parent
+            ToolButton { action: openAction }
+            ToolButton {
+                Accessible.name: "Save as"
+                iconSource: "images/document-save-as.png"
+                tooltip: "(Pretend to) Save as..."
+            }
+            Item { Layout.fillWidth: true }
+            CheckBox {
+                id: enabledCheck
+                text: "Enabled"
+                checked: true
+            }
+        }
+    }
+
+    menuBar: MenuBar {
+        Menu {
+            title: "&File"
+            MenuItem { action: openAction }
+            MenuItem {
+                text: "E&xit"
+                shortcut: StandardKey.Quit
+                onTriggered: Qt.quit()
+            }
+        }
+        Menu {
+            title: "&Edit"
+            MenuItem { action: cutAction }
+            MenuItem { action: copyAction }
+            MenuItem { action: pasteAction }
+        }
+        Menu {
+            title: "&Help"
+            MenuItem {
+                text: "About..."
+                onTriggered: aboutDialog.open()
+            }
+        }
+    }
+
+    TabView {
+        id:frame
+        enabled: enabledCheck.checked
+        tabPosition: controlPage.item ? controlPage.item.tabPosition : Qt.TopEdge
+        anchors.fill: parent
+        anchors.margins: Qt.platform.os === "osx" ? 12 : 2
+
+        Tab {
+            id: controlPage
+            title: "Controls"
+            Controls { }
+        }
+        Tab {
+            title: "Itemviews"
+            ModelView { }
+        }
+        Tab {
+            title: "Styles"
+            Styles { anchors.fill: parent }
+        }
+    }
+}
diff --git a/tests/manual/workshop/src/main.cpp b/tests/manual/workshop/src/main.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..d8b3665ca4eb5eb1f2687d57b37b7171ccc1566f
--- /dev/null
+++ b/tests/manual/workshop/src/main.cpp
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Quick Controls 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 Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR 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 "qt_quick_controls_testapp.h"
+#include <QtQml/QQmlApplicationEngine>
+#include <QtGui/QSurfaceFormat>
+#include <QtQuick/QQuickWindow>
+
+int main(int argc, char *argv[])
+{
+    QtQuickControlsTestApp app(argc, argv);
+    if (QCoreApplication::arguments().contains(QLatin1String("--coreprofile"))) {
+        QSurfaceFormat fmt;
+        fmt.setVersion(4, 4);
+        fmt.setProfile(QSurfaceFormat::CoreProfile);
+        QSurfaceFormat::setDefaultFormat(fmt);
+    }
+    QQmlApplicationEngine engine(QUrl("qrc:/main.qml"));
+    return app.exec();
+}
diff --git a/tests/manual/workshop/src/src.pri b/tests/manual/workshop/src/src.pri
new file mode 100644
index 0000000000000000000000000000000000000000..66d903eacf02b2c8c3cf57b9c10fc4835937357a
--- /dev/null
+++ b/tests/manual/workshop/src/src.pri
@@ -0,0 +1,2 @@
+SOURCES += \
+    $$PWD/main.cpp
diff --git a/tests/manual/workshop/workshop.pro b/tests/manual/workshop/workshop.pro
new file mode 100644
index 0000000000000000000000000000000000000000..c3abc14ce6cde1eb980f62df140955446f23cf1e
--- /dev/null
+++ b/tests/manual/workshop/workshop.pro
@@ -0,0 +1,18 @@
+QT += qml quick
+TARGET = workshop
+!no_desktop: QT += widgets
+
+include(src/src.pri)
+
+INCLUDEPATH += ../../shared
+
+OTHER_FILES += \
+    main.qml \
+    content/AboutDialog.qml \
+    content/Controls.qml \
+    content/ImageViewer.qml \
+    content/ModelView.qml \
+    content/Styles.qml
+
+RESOURCES += \
+    workshop.qrc
diff --git a/tests/manual/workshop/workshop.qrc b/tests/manual/workshop/workshop.qrc
new file mode 100644
index 0000000000000000000000000000000000000000..57d803b228cbc26d75cd031e184cad5481025899
--- /dev/null
+++ b/tests/manual/workshop/workshop.qrc
@@ -0,0 +1,24 @@
+<RCC>
+    <qresource prefix="/">
+        <file>main.qml</file>
+        <file>content/AboutDialog.qml</file>
+        <file>content/Controls.qml</file>
+        <file>content/ImageViewer.qml</file>
+        <file>content/ModelView.qml</file>
+        <file>content/Styles.qml</file>
+        <file>images/document-open.png</file>
+        <file>images/document-open@2x.png</file>
+        <file>images/document-save-as.png</file>
+        <file>images/document-save-as@2x.png</file>
+        <file>images/folder_new.png</file>
+        <file>images/tab.png</file>
+        <file>images/tab_selected.png</file>
+        <file>images/bubble.png</file>
+        <file>images/button-pressed.png</file>
+        <file>images/button.png</file>
+        <file>images/progress-background.png</file>
+        <file>images/progress-fill.png</file>
+        <file>images/textfield.png</file>
+        <file>images/slider-handle.png</file>
+    </qresource>
+</RCC>