Change in plasma-framework[master]: move the controls to an independent style

Marco Martin (Code Review) noreply at kde.org
Mon Dec 1 12:26:28 UTC 2014


Marco Martin has uploaded a new change for review.

  https://gerrit.vesnicky.cesnet.cz/r/189

Change subject: move the controls to an independent style
......................................................................

move the controls to an independent style

* Adapt the existing controls to be generic enough to work on stock QtQuickControls
* Add missing styles needed for the set to be complete (and applications actually work)

The full list of controls styles is now:
ApplicationWindowStyle
BusyIndicatorStyle
ButtonStyle
CalendarStyle
CheckBoxStyle
ComboBoxStyle
MenuBarStyle
MenuStyle
ProgressBarStyle
RadioButtonStyle
ScrollViewStyle
SliderStyle
SpinBoxStyle
StatusBarStyle
SwitchStyle
TabViewStyle
TableViewStyle
TextAreaStyle
TextFieldStyle
ToolBarStyle
ToolButtonStyle
GroupBoxStyle

Change-Id: Ic5d33bc20c7456d1478c07aca33bda63378d5c05
---
M src/declarativeimports/CMakeLists.txt
M src/declarativeimports/core/iconitem.cpp
M src/declarativeimports/plasmacomponents/CMakeLists.txt
D src/declarativeimports/plasmacomponents/platformcomponents/touch/EditBubble.js
D src/declarativeimports/plasmacomponents/platformcomponents/touch/EditBubble.qml
D src/declarativeimports/plasmacomponents/platformcomponents/touch/Menu.qml
D src/declarativeimports/plasmacomponents/platformcomponents/touch/MenuItem.qml
D src/declarativeimports/plasmacomponents/platformcomponents/touch/ScrollBar.qml
D src/declarativeimports/plasmacomponents/platformcomponents/touch/ScrollDecorator.qml
D src/declarativeimports/plasmacomponents/platformcomponents/touch/SectionScroller.qml
D src/declarativeimports/plasmacomponents/platformcomponents/touch/Sheet.qml
D src/declarativeimports/plasmacomponents/platformcomponents/touch/Switch.qml
D src/declarativeimports/plasmacomponents/platformcomponents/touch/TextArea.qml
D src/declarativeimports/plasmacomponents/platformcomponents/touch/TextField.qml
D src/declarativeimports/plasmacomponents/platformcomponents/touch/TextFieldFocus.qml
D src/declarativeimports/plasmacomponents/platformcomponents/touch/Window.qml
D src/declarativeimports/plasmacomponents/platformcomponents/touch/private/ButtonShadow.qml
D src/declarativeimports/plasmacomponents/platformcomponents/touch/private/Config.js
D src/declarativeimports/plasmacomponents/platformcomponents/touch/private/RoundShadow.qml
D src/declarativeimports/plasmacomponents/platformcomponents/touch/qmldir
M src/declarativeimports/plasmacomponents/qml/BusyIndicator.qml
M src/declarativeimports/plasmacomponents/qml/Button.qml
M src/declarativeimports/plasmacomponents/qml/CheckBox.qml
M src/declarativeimports/plasmacomponents/qml/ComboBox.qml
M src/declarativeimports/plasmacomponents/qml/ProgressBar.qml
M src/declarativeimports/plasmacomponents/qml/RadioButton.qml
M src/declarativeimports/plasmacomponents/qml/Slider.qml
M src/declarativeimports/plasmacomponents/qml/TextArea.qml
M src/declarativeimports/plasmacomponents/qml/TextField.qml
M src/declarativeimports/plasmacomponents/qml/ToolButton.qml
D src/declarativeimports/plasmacomponents/qml/styles/ComboBoxStyle.qml
M src/declarativeimports/plasmaextracomponents/qml/ScrollArea.qml
A src/declarativeimports/plasmastyle/ApplicationWindowStyle.qml
R src/declarativeimports/plasmastyle/BusyIndicatorStyle.qml
R src/declarativeimports/plasmastyle/ButtonStyle.qml
A src/declarativeimports/plasmastyle/CalendarStyle.qml
R src/declarativeimports/plasmastyle/CheckBoxStyle.qml
A src/declarativeimports/plasmastyle/ComboBoxStyle.qml
A src/declarativeimports/plasmastyle/FocusFrameStyle.qml
A src/declarativeimports/plasmastyle/GroupBoxStyle.qml
A src/declarativeimports/plasmastyle/MenuBarStyle.qml
A src/declarativeimports/plasmastyle/MenuStyle.qml
R src/declarativeimports/plasmastyle/ProgressBarStyle.qml
R src/declarativeimports/plasmastyle/RadioButtonStyle.qml
R src/declarativeimports/plasmastyle/ScrollViewStyle.qml
R src/declarativeimports/plasmastyle/SliderStyle.qml
A src/declarativeimports/plasmastyle/SpinBoxStyle.qml
A src/declarativeimports/plasmastyle/StatusBarStyle.qml
A src/declarativeimports/plasmastyle/SwitchStyle.qml
A src/declarativeimports/plasmastyle/TabViewStyle.qml
A src/declarativeimports/plasmastyle/TableViewStyle.qml
R src/declarativeimports/plasmastyle/TextAreaStyle.qml
R src/declarativeimports/plasmastyle/TextFieldStyle.qml
A src/declarativeimports/plasmastyle/ToolBarStyle.qml
R src/declarativeimports/plasmastyle/ToolButtonStyle.qml
R src/declarativeimports/plasmastyle/private/ButtonShadow.qml
R src/declarativeimports/plasmastyle/private/RoundShadow.qml
R src/declarativeimports/plasmastyle/private/TextFieldFocus.qml
A src/declarativeimports/plasmastyle/qmldir
59 files changed, 1,115 insertions(+), 2,284 deletions(-)


  git pull ssh://gerrit.vesnicky.cesnet.cz:29418/plasma-framework refs/changes/89/189/1

diff --git a/src/declarativeimports/CMakeLists.txt b/src/declarativeimports/CMakeLists.txt
index 26dd3be..a5d6a91 100644
--- a/src/declarativeimports/CMakeLists.txt
+++ b/src/declarativeimports/CMakeLists.txt
@@ -4,3 +4,5 @@
 add_subdirectory(plasmaextracomponents)
 add_subdirectory(platformcomponents)
 add_subdirectory(calendar)
+
+install(DIRECTORY plasmastyle/ DESTINATION ${QML_INSTALL_DIR}/QtQuick/Controls/Styles/Plasma)
diff --git a/src/declarativeimports/core/iconitem.cpp b/src/declarativeimports/core/iconitem.cpp
index ed3bb97..5c44fc6 100644
--- a/src/declarativeimports/core/iconitem.cpp
+++ b/src/declarativeimports/core/iconitem.cpp
@@ -117,13 +117,21 @@
 
             //ok, svg not available
         } else {
-            m_icon = QIcon::fromTheme(source.toString());
-            delete m_svgIcon;
-            m_svgIcon = 0;
+            QUrl url = QUrl(source.toString());
+            if (url.isLocalFile()) {
+                m_icon = QIcon();
+                m_imageIcon = QImage(url.path());
+                m_pixmapIcon = QPixmap();
+                delete m_svgIcon;
+                m_svgIcon = 0;
+            } else {
+                m_icon = QIcon::fromTheme(source.toString());
+                delete m_svgIcon;
+                m_svgIcon = 0;
+                m_imageIcon = QImage();
+                m_pixmapIcon = QPixmap();
+            }
         }
-
-        m_imageIcon = QImage();
-        m_pixmapIcon = QPixmap();
 
     } else if (source.canConvert<QPixmap>()) {
         m_icon = QIcon();
diff --git a/src/declarativeimports/plasmacomponents/CMakeLists.txt b/src/declarativeimports/plasmacomponents/CMakeLists.txt
index 16e26db..cb25d9a 100644
--- a/src/declarativeimports/plasmacomponents/CMakeLists.txt
+++ b/src/declarativeimports/plasmacomponents/CMakeLists.txt
@@ -27,52 +27,3 @@
 
 install(DIRECTORY qml/ DESTINATION ${QML_INSTALL_DIR}/org/kde/plasma/components)
 
-
-
-#The platform specific stuff, overwrites a copy of the desktop one
-#it does install some files on top of the old ones, has to be done file by file since if some component from the generic set is more recent than the specifc ones, it wouldn't be overwritten
-
-install(TARGETS plasmacomponentsplugin DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-
-install(FILES qml/BusyIndicator.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/ButtonColumn.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/ButtonGroup.js DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/Button.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/ButtonRow.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/CheckBox.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/CommonDialog.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/Dialog.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/Highlight.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/Label.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/ListItem.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/Page.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/PageStack.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/ProgressBar.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/QueryDialog.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/RadioButton.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/SelectionDialog.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/Slider.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/TabBar.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/TabButton.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/TabGroup.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-#install(FILES qml/TextArea.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-#install(FILES qml/TextField.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/ToolBarLayout.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/ToolBar.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-install(FILES qml/ToolButton.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
-
-
-#Now install the private stuff!
-install(FILES qml/private/DualStateButton.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components/private)
-install(FILES qml/private/InlineDialog.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components/private)
-install(FILES qml/private/PageStack.js DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components/private)
-install(FILES qml/private/TabGroup.js DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components/private)
-install(FILES qml/private/ScrollBarDelegate.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components/private)
-install(FILES qml/private/ScrollDecoratorDelegate.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components/private)
-install(FILES qml/private/SectionScroller.js DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components/private)
-install(FILES qml/private/AppManager.js DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components/private)
-install(FILES qml/private/TabBarLayout.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components/private)
-install(FILES qml/private/TextFieldFocus.qml DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components/private)
-
-#install platform overrides
-install(DIRECTORY platformcomponents/touch/ DESTINATION ${QML_INSTALL_DIR}/../platformqml/touch/org/kde/plasma/components)
diff --git a/src/declarativeimports/plasmacomponents/platformcomponents/touch/EditBubble.js b/src/declarativeimports/plasmacomponents/platformcomponents/touch/EditBubble.js
deleted file mode 100644
index 1c72279..0000000
--- a/src/declarativeimports/plasmacomponents/platformcomponents/touch/EditBubble.js
+++ /dev/null
@@ -1,23 +0,0 @@
-function placeEditBubble(mouse) {
-    // Find the root item, then map our cursor position to it
-    // in order to check if the edit bubble could end up off-screen
-    var rootItem = parent;
-    while (rootItem.parent) {
-        rootItem = rootItem.parent;
-    }
-    var distanceToTop = mouseEventListener.mapToItem(rootItem, mouse.x, mouse.y);
-    //print( "   distanceToTop: " + distanceToTop.x);
-    if (distanceToTop.x < editBubble.width/2) {
-        // hitting the left edge
-        //editBubble.x = mouse.x
-
-    } else {
-        editBubble.x = mouse.x-(editBubble.width/2)
-    }
-    if (distanceToTop.y > editBubble.height) {
-        editBubble.y = mouse.y-editBubble.height-8
-    } else {
-        //editBubble.y = mouse.y-(editBubble.width/2)
-    }
-
-}
diff --git a/src/declarativeimports/plasmacomponents/platformcomponents/touch/EditBubble.qml b/src/declarativeimports/plasmacomponents/platformcomponents/touch/EditBubble.qml
deleted file mode 100644
index cca5bfc..0000000
--- a/src/declarativeimports/plasmacomponents/platformcomponents/touch/EditBubble.qml
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
-*   Copyright 2011 by Sebastian Kügler <sebas at kde.org>
-*
-*   This program is free software; you can redistribute it and/or modify
-*   it under the terms of the GNU Library General Public License as
-*   published by the Free Software Foundation; either version 2, or
-*   (at your option) any later version.
-*
-*   This program is distributed in the hope that it will be useful,
-*   but WITHOUT ANY WARRANTY; without even the implied warranty of
-*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*   GNU General Public License for more details
-*
-*   You should have received a copy of the GNU Library General Public
-*   License along with this program; if not, write to the
-*   Free Software Foundation, Inc.,
-*   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
-*/
-
-import QtQuick 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.kquickcontrolsaddons 2.0
-
-PlasmaCore.FrameSvgItem {
-    id: editBubble
-    objectName: "editBubble"
-    property int iconSize: 32;
-
-    imagePath: "dialogs/background"
-    width:  4*iconSize
-    height: 2*iconSize
-    z: 100000
-    //anchors { top: parent.bottom; right: parent.right; topMargin: -(iconSize/4); }
-
-    // fully dynamic show / hide
-    //state: (textInput.activeFocus && (textInput.selectedText != "" || textInput.canPaste)) ? "expanded" : "collapsed";
-    // state controlled externally
-    state: "collapsed"
-
-    Row {
-        id: buttonRow
-        spacing: iconSize
-        anchors { horizontalCenter: parent.horizontalCenter; verticalCenter: parent.verticalCenter; margins: 8; }
-        height: editBubble.iconSize
-        PlasmaCore.IconItem {
-            id: copyIcon
-            source: "edit-copy"
-            width: editBubble.iconSize
-            height: editBubble.iconSize
-            enabled: textInput.selectedText != ""
-            MouseArea {
-                anchors.centerIn: parent
-                width: 2*parent.width
-                height: 2*parent.height
-                onClicked: { textField.copy(); editBubble.state = "collapsed"; }
-                onPressed: PropertyAnimation {  target: copyIcon; properties: "scale";
-                                                from: 1.0; to: 0.9;
-                                                duration: units.shortDuration * 3; easing.type: Easing.OutExpo; }
-                onReleased: PropertyAnimation { target: copyIcon; properties: "scale";
-                                                from: 0.9; to: 1.0;
-                                                duration: units.shortDuration * 3; easing.type: Easing.OutExpo; }
-            }
-        }
-        PlasmaCore.IconItem {
-            id: pasteIcon
-            source: "edit-paste"
-            width: editBubble.iconSize
-            height: editBubble.iconSize
-            enabled: textInput.canPaste
-            MouseArea {
-                anchors.centerIn: parent;
-                width: 2*parent.width
-                height: 2*parent.height
-                onClicked: { textField.paste(); editBubble.state = "collapsed"; }
-                onPressed: PropertyAnimation {  target: pasteIcon; properties: "scale";
-                                                from: 1.0; to: 0.9;
-                                                duration: units.shortDuration * 3; easing.type: Easing.OutExpo; }
-                onReleased: PropertyAnimation { target: pasteIcon; properties: "scale";
-                                                from: 0.9; to: 1.0;
-                                                duration: units.shortDuration * 3; easing.type: Easing.OutExpo; }
-            }
-        }
-    }
-    states: [
-        State {
-            id: expanded
-            name: "expanded";
-            PropertyChanges { target: editBubble; opacity: 1.0; scale: 1.0 }
-        },
-        State {
-            id: collapsed
-            name: "collapsed";
-            PropertyChanges { target: editBubble; opacity: 0; scale: 0.9 }
-        }
-    ]
-
-    transitions: [
-        Transition {
-            from: "collapsed"; to: "expanded"
-            ParallelAnimation {
-                PropertyAnimation { properties: "opacity"; duration: units.shortDuration * 3; easing.type: Easing.InExpo; }
-                PropertyAnimation { properties: "scale"; duration: units.shortDuration * 3; easing.type: Easing.InExpo; }
-            }
-        },
-        Transition {
-            from: "expanded"; to: "collapsed"
-            ParallelAnimation {
-                PropertyAnimation { properties: "opacity"; duration: units.shortDuration * 3; easing.type: Easing.OutExpo; }
-                PropertyAnimation { properties: "scale"; duration: units.shortDuration * 2; easing.type: Easing.OutExpo; }
-            }
-        }
-    ]
-}
diff --git a/src/declarativeimports/plasmacomponents/platformcomponents/touch/Menu.qml b/src/declarativeimports/plasmacomponents/platformcomponents/touch/Menu.qml
deleted file mode 100644
index df5da47..0000000
--- a/src/declarativeimports/plasmacomponents/platformcomponents/touch/Menu.qml
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-*   Copyright (C) 2011 by Marco Martin <mart at kde.org>
-*
-*   This program is free software; you can redistribute it and/or modify
-*   it under the terms of the GNU Library General Public License as
-*   published by the Free Software Foundation; either version 2, or
-*   (at your option) any later version.
-*
-*   This program is distributed in the hope that it will be useful,
-*   but WITHOUT ANY WARRANTY; without even the implied warranty of
-*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*   GNU Library General Public License for more details
-*
-*   You should have received a copy of the GNU Library General Public
-*   License along with this program; if not, write to the
-*   Free Software Foundation, Inc.,
-*   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
-*/
-
-import QtQuick 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import "." 2.0
-
-Item {
-    id: root
-
-    default property alias content: menuColumn.children
-    property Item visualParent
-    property int status: DialogStatus.Closed
-
-    onVisualParentChanged: {
-        //if is a menuitem move to menuColumn
-        if (visualParent.separator !== undefined) {
-            var obj = arrowComponent.createObject(visualParent)
-        }
-    }
-
-    Component {
-        id: arrowComponent
-        PlasmaCore.SvgItem {
-            svg: PlasmaCore.Svg {imagePath: "widgets/arrows"}
-            elementId: "right-arrow"
-            width: naturalSize.width
-            height: naturalSize.height
-            anchors {
-                right: parent.right
-                verticalCenter: parent.verticalCenter
-            }
-        }
-    }
-    function open()
-    {
-        var parent = root.visualParent ? root.visualParent : root.parent
-        var pos = dialog.popupPosition(parent, Qt.AlignCenter)
-        dialog.x = pos.x
-        dialog.y = pos.y
-
-        dialog.visible = true
-        dialog.requestActivate()
-    }
-
-    function close()
-    {
-        dialog.visible = false
-    }
-
-    function addMenuItem(item)
-    {
-        item.parent = menuColumn
-    }
-
-    onChildrenChanged: {
-        for (var i = 0; i < children.length; ++i) {
-            var item = children[i]
-            //if is a menuitem move to menuColumn
-            if (item.separator !== undefined) {
-                item.parent = menuColumn
-            }
-        }
-    }
-
-    visible: false
-
-    PlasmaCore.Dialog {
-        id: dialog
-        visible: false
-        windowFlags: Qt.Popup
-        onVisibleChanged: {
-            if (visible) {
-                status = DialogStatus.Open
-            } else {
-                status = DialogStatus.Closed
-            }
-        }
-
-        mainItem: Item {
-            id: contentItem
-
-            width: Math.max(menuColumn.width, theme.mSize(theme.defaultFont).width * 12)
-            height: Math.min(menuColumn.height, theme.mSize(theme.defaultFont).height * 25)
-
-
-
-            Flickable {
-                id: listView
-                anchors.fill: parent
-
-                clip: true
-
-                Column {
-                    id: menuColumn
-                    spacing: 4
-                    onChildrenChanged: {
-                        for (var i = 0; i < children.length; ++i) {
-                            if (children[i].clicked != undefined)
-                                children[i].clicked.connect(root.close)
-                        }
-                    }
-                }
-            }
-
-            ScrollBar {
-                id: scrollBar
-                flickableItem: listView
-                visible: listView.contentHeight > contentItem.height
-                //platformInverted: root.platformInverted
-                anchors { top: listView.top; right: listView.right }
-            }
-        }
-    }
-
-
-    onStatusChanged: {
-        if (status == DialogStatus.Opening) {
-            if (listView.currentItem != null) {
-                listView.currentItem.focus = false
-            }
-            listView.currentIndex = -1
-            listView.positionViewAtIndex(0, ListView.Beginning)
-        }
-        else if (status == DialogStatus.Open) {
-            listView.focus = true
-        }
-    }
-}
diff --git a/src/declarativeimports/plasmacomponents/platformcomponents/touch/MenuItem.qml b/src/declarativeimports/plasmacomponents/platformcomponents/touch/MenuItem.qml
deleted file mode 100644
index 3b01b77..0000000
--- a/src/declarativeimports/plasmacomponents/platformcomponents/touch/MenuItem.qml
+++ /dev/null
@@ -1,156 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info at nokia.com)
-**
-** This file is part of the Qt Components project.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-**   * Redistributions of source code must retain the above copyright
-**     notice, this list of conditions and the following disclaimer.
-**   * Redistributions in binary form must reproduce the above copyright
-**     notice, this list of conditions and the following disclaimer in
-**     the documentation and/or other materials provided with the
-**     distribution.
-**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-**     the names of its contributors may be used to endorse or promote
-**     products derived from this software without specific prior written
-**     permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 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.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-Item {
-    id: root
-
-    property alias text: textArea.text
-
-    signal clicked
-
-    property bool checkable: false
-    property alias font: textArea.font
-
-    implicitWidth: textArea.paintedWidth + iconItem.width*2 + 6
-    implicitHeight: Math.max(units.iconSizes.small, textArea.paintedHeight + 6)
-    width: Math.max(implicitWidth, parent.width)
-
-    property bool separator: false
-    onSeparatorChanged: {
-        if (separator) {
-            internal.separatorItem = separatorComponent.createObject(root)
-        } else {
-            internal.separatorItem.destroy()
-        }
-    }
-    property alias icon: iconItem.source
-
-    enabled: !separator
-
-    PlasmaCore.IconItem {
-        id: iconItem
-        width: parent.height
-        anchors {
-            verticalCenter: parent.verticalCenter
-            left: parent.left
-            top: parent.top
-            bottom: parent.bottom
-        }
-    }
-    Label {
-        id: textArea
-        anchors.centerIn: parent
-
-        horizontalAlignment: Text.AlignHCenter
-        elide: Text.ElideRight
-    }
-
-    QtObject {
-        id: internal
-        property Item separatorItem
-    }
-    Component {
-        id: separatorComponent
-        PlasmaCore.FrameSvgItem {
-            imagePath: "widgets/viewitem"
-            prefix: "normal"
-            height: text ? parent.height : margins.top+margins.bottom
-            anchors {
-                right: parent.right
-                left: parent.left
-                verticalCenter: parent.verticalCenter
-            }
-        }
-    }
-
-    MouseArea {
-        id: mouseArea
-
-        property bool canceled: false
-
-        anchors.fill: parent
-
-        onPressed: {
-            canceled = false
-        }
-        onClicked: {
-            if (!canceled)
-                root.clicked()
-        }
-        onExited: canceled = true
-    }
-
-    Keys.onPressed: {
-        event.accepted = true
-        switch (event.key) {
-            case Qt.Key_Select:
-            case Qt.Key_Enter:
-            case Qt.Key_Return: {
-                if (!event.isAutoRepeat) {
-                        root.clicked()
-                }
-                break
-            }
-
-            case Qt.Key_Up: {
-                    if (ListView.view != null)
-                        ListView.view.decrementCurrentIndex()
-                    else
-                        event.accepted = false
-                break
-            }
-
-            case Qt.Key_Down: {
-                    if (ListView.view != null)
-                        ListView.view.incrementCurrentIndex()
-                    else
-                        event.accepted = false
-                break
-            }
-            default: {
-                event.accepted = false
-                break
-            }
-        }
-    }
-}
diff --git a/src/declarativeimports/plasmacomponents/platformcomponents/touch/ScrollBar.qml b/src/declarativeimports/plasmacomponents/platformcomponents/touch/ScrollBar.qml
deleted file mode 100644
index ccd31b4..0000000
--- a/src/declarativeimports/plasmacomponents/platformcomponents/touch/ScrollBar.qml
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
-*   Copyright (C) 2011 by Daker Fernandes Pinheiro <dakerfp at gmail.com>
-*   Copyright (C) 2011 Marco Martin <mart at kde.org>
-*
-*   This program is free software; you can redistribute it and/or modify
-*   it under the terms of the GNU Library General Public License as
-*   published by the Free Software Foundation; either version 2, or
-*   (at your option) any later version.
-*
-*   This program is distributed in the hope that it will be useful,
-*   but WITHOUT ANY WARRANTY; without even the implied warranty of
-*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*   GNU General Public License for more details
-*
-*   You should have received a copy of the GNU Library General Public
-*   License along with this program; if not, write to the
-*   Free Software Foundation, Inc.,
-*   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
-*/
-
-import QtQuick 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-import "private" as Private
-
-
-/**
- * A generic ScrollBar/ScrollDecorator component:
- * Always prefer this to ScrollDecorator that is not available on desktop.
- * By default, this component will look and behave like a scroll decorator on touchscreens
- */
-// TODO: add support mouse wheel events
-Item {
-    id: scrollbar
-
-    // Common API
-    property Flickable flickableItem: null
-    property int orientation: Qt.Vertical
-    property bool interactive: false
-
-    // Plasma API
-    property bool inverted: false
-    property alias stepSize: range.stepSize
-    property bool pressed: internalLoader.item.mouseArea?internalLoader.item.mouseArea.pressed:false
-    property real scrollButtonInterval: 50
-
-    implicitWidth: internalLoader.isVertical ? (interactive ? 22 : 12) : 200
-    implicitHeight: internalLoader.isVertical ? 200 : (interactive ? 22 : 12)
-    // TODO: needs to define if there will be specific graphics for
-    //     disabled scroll bars
-    opacity: enabled ? 1.0 : 0.5
-
-    visible: flickableItem && internalLoader.handleEnabled
-
-    anchors {
-        right: internalLoader.anchorableWithFlickable ? flickableItem.right : undefined
-        left: (orientation == Qt.Vertical) ? undefined : (internalLoader.anchorableWithFlickable ? flickableItem.left : undefined)
-        top: (orientation == Qt.Vertical) ? (internalLoader.anchorableWithFlickable ? flickableItem.top : undefined) : undefined
-        bottom: internalLoader.anchorableWithFlickable ? flickableItem.bottom : undefined
-    }
-
-    Loader {
-        id: internalLoader
-        anchors.fill: parent
-        //property bool handleEnabled: internalLoader.isVertical ? item.handle.height < item.contents.height : item.handle.width < item.contents.width
-        property bool handleEnabled: internalLoader.isVertical ? flickableItem.contentHeight > flickableItem.height : flickableItem.contentWidth > flickableItem.width
-        property bool isVertical: orientation == Qt.Vertical
-        property bool anchorableWithFlickable: scrollbar.parent == flickableItem || scrollbar.parent == flickableItem.parent
-
-        function incrementValue(increment)
-        {
-            if (!flickableItem)
-                return;
-
-            if (internalLoader.isVertical) {
-                flickableItem.contentY = Math.max(0, Math.min(flickableItem.contentHeight,
-                    flickableItem.contentY + increment))
-            } else {
-                flickableItem.contentX = Math.max(0, Math.min(flickableItem.contentWidth,
-                    flickableItem.contentX + increment))
-            }
-        }
-
-        PlasmaComponents.RangeModel {
-            id: range
-
-            minimumValue: 0
-            maximumValue: {
-                var diff;
-                if (internalLoader.isVertical) {
-                    diff = flickableItem.contentHeight - flickableItem.height
-                } else {
-                    diff = flickableItem.contentWidth - flickableItem.width
-                }
-
-                return Math.max(0, diff)
-            }
-
-            stepSize: 10
-            inverted: scrollbar.inverted
-            positionAtMinimum: 0
-            positionAtMaximum: {
-                if (internalLoader.isVertical) {
-                    internalLoader.item.contents.height - internalLoader.item.handle.height
-                } else {
-                    internalLoader.item.contents.width - internalLoader.item.handle.width
-                }
-            }
-            value: internalLoader.isVertical ? flickableItem.contentY : flickableItem.contentX
-            onValueChanged: {
-                if (flickableItem.moving) {
-                    return
-                }
-
-                if (internalLoader.isVertical) {
-                    flickableItem.contentY = value
-                } else {
-                    flickableItem.contentX = value
-                }
-            }
-
-            position: internalLoader.isVertical ? internalLoader.item.handle.y : internalLoader.item.handle.x
-
-            onPositionChanged: {
-                if (internalLoader.item.mouseArea && internalLoader.item.mouseArea.pressed) {
-                    return
-                }
-
-                if (internalLoader.isVertical) {
-                    internalLoader.item.handle.y = position
-                } else {
-                    internalLoader.item.handle.x = position
-                }
-            }
-        }
-
-        source: interactive ? "private/ScrollBarDelegate.qml" : "private/ScrollDecoratorDelegate.qml"
-    }
-}
diff --git a/src/declarativeimports/plasmacomponents/platformcomponents/touch/ScrollDecorator.qml b/src/declarativeimports/plasmacomponents/platformcomponents/touch/ScrollDecorator.qml
deleted file mode 100644
index a69c54a..0000000
--- a/src/declarativeimports/plasmacomponents/platformcomponents/touch/ScrollDecorator.qml
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-*   Copyright (C) 2011 Marco Martin <mart at kde.org>
-*
-*   This program is free software; you can redistribute it and/or modify
-*   it under the terms of the GNU Library General Public License as
-*   published by the Free Software Foundation; either version 2, or
-*   (at your option) any later version.
-*
-*   This program is distributed in the hope that it will be useful,
-*   but WITHOUT ANY WARRANTY; without even the implied warranty of
-*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*   GNU General Public License for more details
-*
-*   You should have received a copy of the GNU Library General Public
-*   License along with this program; if not, write to the
-*   Free Software Foundation, Inc.,
-*   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
-*/
-
-import QtQuick 2.0
-
-/**
- * Just provided for compatibility
- * Use ScrollBar instead. will behave like a ScrollDecorator on touchscreens
- */
-ScrollBar {
-    interactive: false
-}
diff --git a/src/declarativeimports/plasmacomponents/platformcomponents/touch/SectionScroller.qml b/src/declarativeimports/plasmacomponents/platformcomponents/touch/SectionScroller.qml
deleted file mode 100644
index 900c55e..0000000
--- a/src/declarativeimports/plasmacomponents/platformcomponents/touch/SectionScroller.qml
+++ /dev/null
@@ -1,238 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info at nokia.com)
-**
-** This file is part of the Qt Components project.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-**   * Redistributions of source code must retain the above copyright
-**     notice, this list of conditions and the following disclaimer.
-**   * Redistributions in binary form must reproduce the above copyright
-**     notice, this list of conditions and the following disclaimer in
-**     the documentation and/or other materials provided with the
-**     distribution.
-**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-**     the names of its contributors may be used to endorse or promote
-**     products derived from this software without specific prior written
-**     permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 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.0
-import "private/SectionScroller.js" as Sections
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-/**
- * It's similar to a ScrollBar or a ScrollDecorator.
- * It's interactive and works on ListViews that have section.property set,
- * so its contents are categorized.
- * An indicator will say to what category the user scrolled to.
- *
- * Useful for things like address books or things sorted by date.
- * Don't use with models too big (thousands of items) because implies
- * loading all the items to memory, as well loses precision.
- */
-Item {
-    id: root
-
-    /**
-     * The listview this scroll indicator will work on
-     */
-    property ListView listView
-
-    onListViewChanged: {
-        if (listView && listView.model)
-            internal.initDirtyObserver();
-    }
-
-    Connections {
-        target: listView
-        onModelChanged: {
-            if (listView && listView.model) {
-                internal.initDirtyObserver()
-            }
-        }
-        onMovementStarted: root.opacity = 1
-        onMovementEnded: {
-            if (!dragArea.pressed) {
-                fadeTimer.restart()
-            }
-        }
-    }
-
-    width: 48
-    opacity: 0
-    Behavior on opacity {
-        NumberAnimation {
-            duration: units.longDuration
-        }
-    }
-
-    anchors {
-        right: listView.right
-        top: listView.top
-        bottom: listView.bottom
-    }
-
-    Timer {
-        id: fadeTimer
-        interval: 4000
-        repeat: false
-        running: false
-        onTriggered: {
-            root.opacity = 0
-        }
-    }
-
-    PlasmaComponents.RangeModel {
-        id: range
-
-        minimumValue: 0
-        maximumValue: Math.max(0, listView.contentHeight - listView.height)
-        stepSize: 0
-        //inverted: true
-        positionAtMinimum: handle.height / 2
-        positionAtMaximum: root.height - handle.height - handle.height / 2
-        value: listView.contentY
-        onValueChanged: {
-            if (listView.moving) {
-                return
-            } else {
-                listView.contentY = value
-            }
-        }
-        //position: handle.y
-        onPositionChanged: {
-            if (!dragArea.pressed) {
-                handle.y = position
-            }
-        }
-    }
-
-    Rectangle {
-        anchors.fill: parent
-        color: Qt.rgba(0,0,0,0.3)
-    }
-
-    Rectangle {
-        id: handle
-        width: 6
-        height: 6
-        color: theme.textColor
-        opacity: 0.7
-        anchors.horizontalCenter: parent.horizontalCenter
-        border {
-            width: 1
-            color: theme.backgroundColor
-        }
-        onYChanged: {
-            if (dragArea.pressed) {
-                range.position = y
-            }
-            sectionLabel.text = Sections.closestSection(y/listView.height)
-        }
-    }
-    PlasmaCore.FrameSvgItem {
-        id: tooltip
-        imagePath: "widgets/tooltip"
-        width: sectionLabel.paintedWidth + margins.left + margins.right
-        height: sectionLabel.paintedHeight + margins.top + margins.bottom
-        Label {
-            id: sectionLabel
-            font.pointSize: theme.defaultFont.pointSize * 1.5
-            x: parent.margins.left
-            y: parent.margins.top
-        }
-        y: Math.min(root.height-height, Math.max(0, handle.y - height/2))
-        anchors {
-            //verticalCenter: handle.verticalCenter
-            right: parent.left
-        }
-        opacity: dragArea.pressed?1:0
-        Behavior on opacity {
-            NumberAnimation {
-                duration: units.longDuration
-            }
-        }
-    }
-
-    MouseArea {
-        id: dragArea
-        anchors.fill: parent
-        //enabled: scrollbar.enabled
-        drag {
-            target: handle
-            axis: Drag.YAxis
-            minimumY: range.positionAtMinimum
-            maximumY: range.positionAtMaximum
-        }
-        onPressed: {
-            mouse.accepted = true
-            handle.y = mouse.y
-            fadeTimer.running = false
-        }
-        onReleased: fadeTimer.restart()
-
-    }
-
-    Timer {
-        id: dirtyTimer
-        interval: 250
-        onTriggered: {
-            Sections.initSectionData(listView);
-            internal.modelDirty = false;
-            tooltip.visible = Sections._sections.length > 1
-        }
-    }
-    QtObject {
-        id: internal
-
-        property bool modelDirty: false
-        function initDirtyObserver() {
-            Sections.initSectionData(listView);
-            tooltip.visible = Sections._sections.length > 1
-            function dirtyObserver() {
-                if (!internal.modelDirty) {
-                    internal.modelDirty = true;
-                    dirtyTimer.running = true;
-                }
-            }
-
-            if (listView.model.countChanged)
-                listView.model.countChanged.connect(dirtyObserver);
-
-            if (listView.model.itemsChanged)
-                listView.model.itemsChanged.connect(dirtyObserver);
-
-            if (listView.model.itemsInserted)
-                listView.model.itemsInserted.connect(dirtyObserver);
-
-            if (listView.model.itemsMoved)
-                listView.model.itemsMoved.connect(dirtyObserver);
-
-            if (listView.model.itemsRemoved)
-                listView.model.itemsRemoved.connect(dirtyObserver);
-        }
-    }
-}
diff --git a/src/declarativeimports/plasmacomponents/platformcomponents/touch/Sheet.qml b/src/declarativeimports/plasmacomponents/platformcomponents/touch/Sheet.qml
deleted file mode 100644
index f684cc2..0000000
--- a/src/declarativeimports/plasmacomponents/platformcomponents/touch/Sheet.qml
+++ /dev/null
@@ -1,307 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Marco Martin  <mart at kde.org>
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info at nokia.com)
-**
-** This file is part of the Qt Components project.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-**   * Redistributions of source code must retain the above copyright
-**     notice, this list of conditions and the following disclaimer.
-**   * Redistributions in binary form must reproduce the above copyright
-**     notice, this list of conditions and the following disclaimer in
-**     the documentation and/or other materials provided with the
-**     distribution.
-**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-**     the names of its contributors may be used to endorse or promote
-**     products derived from this software without specific prior written
-**     permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 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.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import "private/AppManager.js" as Utils
-import "." 2.0
-
-/**Documented API
-Inherits:
-        Item
-
-Imports:
-        QtQuick 2.0
-        org.kde.plasma.core
-
-Description:
-        Provides a top-level window for short-term tasks and brief interaction with the user.
-        Is intended to be for interaction more complex and bigger in size then Dialog. On the desktop its looks is almost identical to Dialog, on touch interfaces is an almost fullscreen sliding Sheet. It is provided mostly for compatibility with mobile implementations
-
-Properties:
-        list<Item> content:
-        A list of items in the dialog's content area. You can use any component that is based on Item. For example, you can use ListView, so that the user can select from a list of names.
-
-        int status:
-        Indicates the dialog's phase in its life cycle. The values are as follows:
-            - DialogStatus.Opening - the dialog is opening
-            - DialogStatus.Open - the dialog is open and visible to the user
-            - DialogStatus.Closing - the dialog is closing
-            - DialogStatus.Closed - the dialog is closed and not visible to the user
-        The dialog's initial status is DialogStatus.Closed.
-
-        string title:
-        The title text of this Sheet.
-
-        Item acceptButton:
-        button that when pressed will close the dialog, representing the user accepting it, accepted() will be called
-
-        Item rejectButton:
-        button that when pressed will close the dialog, representing the user rejecting it, rejected() will be called
-
-        string acceptButtonText:
-        Text of the accept button
-
-        string rejectButtonText:
-        Text of the reject button
-
-        Item visualParent:
-        The item that is dimmed when the dialog opens. By default the root parent object is visualParent.
-
-Signals:
-        accepted():
-        This signal is emitted when the user accepts the dialog's request or the accept() method is called.
-        See also rejected().
-
-        clickedOutside(): This signal is emitted when the user taps in the area that is inside the dialog's visual parent area but outside the dialog's area. Normally the visual parent is the root object. In that case this signal is emitted if the user taps anywhere outside the dialog's area.
-        See also visualParent.
-
-        rejected():
-        This signal is emitted when the user rejects the dialog's request or the reject() method is called.
-        See also accepted().
-
-Methods:
-        void accept():
-        Accepts the dialog's request without any user interaction. The method emits the accepted() signal and closes the dialog.
-        See also reject().
-
-        void close():
-        Closes the dialog without any user interaction.
-
-        void open():
-        Shows the dialog to the user.
-
-        void reject():
-        Rejects the dialog's request without any user interaction. The method emits the rejected() signal and closes the dialog.
-        See also accept().
-**/
-
-Item {
-    id: root
-    width: 800
-    height: 600
-    onHeightChanged:print(height)
-
-    property alias title: titleLabel.text
-    property alias content: contentItem.children
-//    property alias visualParent: dialog.visualParent
-    property int status: DialogStatus.Closed
-    property alias acceptButtonText: acceptButton.text
-    property alias rejectButtonText: rejectButton.text
-    property alias acceptButton: acceptButton
-    property alias rejectButton: rejectButton
-
-
-    property alias privateTitleHeight: titleBar.height
-
-    signal accepted
-    signal rejected
-    signal clickedOutside
-
-    function open()
-    {
-        status = DialogStatus.Opening
-        delayOpenTimer.restart()
-    }
-
-    function accept()
-    {
-        if (status == DialogStatus.Open) {
-            status = DialogStatus.Closing
-            accepted()
-            dialog.state = "closed"
-        }
-    }
-
-    function reject()
-    {
-        if (status == DialogStatus.Open) {
-            status = DialogStatus.Closing
-            dialog.state = "closed"
-            rejected()
-        }
-    }
-
-    function close()
-    {
-        dialog.state = "closed"
-    }
-
-
-    MouseArea {
-        anchors.fill: parent
-        onClicked: {
-            clickedOutside()
-            close()
-        }
-    }
-    Timer {
-        id: delayOpenTimer
-        running: false
-        interval: 100
-        onTriggered: dialog.state = ""
-    }
-
-    PlasmaCore.FrameSvgItem {
-        id: dialog
-        anchors {
-            fill: parent
-            leftMargin: 50
-            topMargin: 50
-            rightMargin: 50
-            bottomMargin: 0
-        }
-        imagePath: "dialogs/background"
-        enabledBorders: "LeftBorder|TopBorder|RightBorder"
-
-        state: "closed"
-
-        //state: "Hidden"
-
-        MouseArea {
-            id: mainItem
-            x: dialog.margins.left
-            y: dialog.margins.top
-            width: parent.width - dialog.margins.left - dialog.margins.right
-            height: parent.height - dialog.margins.top - dialog.margins.bottom
-
-            onClicked: mouse.accepted = true
-
-            // Consume all key events that are not processed by children
-            Keys.onPressed: event.accepted = true
-            Keys.onReleased: event.accepted = true
-
-            PlasmaCore.FrameSvgItem {
-                id: titleBar
-                imagePath: "widgets/extender-dragger"
-                prefix: "root"
-                anchors.left: parent.left
-                anchors.right: parent.right
-                //FIXME: +5 because of Plasma::Dialog margins
-                height: Math.max(titleLabel.paintedHeight, acceptButton.height) + margins.top + margins.bottom
-
-                Item {
-                    id: titleLayoutHelper
-
-                    anchors {
-                        right: parent.right
-                        left: parent.left
-                        top: parent.top
-                        bottom: parent.bottom
-                        leftMargin: parent.margins.left
-                        rightMargin: parent.margins.right
-                        topMargin: parent.margins.top
-                        bottomMargin: parent.margins.bottom
-                    }
-
-                    Button {
-                        id: acceptButton
-                        onClicked: accept()
-                        visible: text !== ""
-                        anchors {
-                            left: parent.left
-                            verticalCenter: parent.verticalCenter
-                        }
-                    }
-                    Label {
-                        id: titleLabel
-                        elide: Text.ElideRight
-                        height: paintedHeight
-                        font.pointSize: theme.defaultFont.pointSize * 1.1
-                        font.weight: Font.Bold
-                        style: Text.Raised
-                        styleColor: Qt.rgba(1,1,1,0.8)
-                        anchors {
-                            left: acceptButton.visible ? acceptButton.right : parent.left
-                            //still depends from acceptButton to make text more centered
-                            right: acceptButton.visible ? rejectButton.left : parent.right
-                            verticalCenter: parent.verticalCenter
-                        }
-                        horizontalAlignment: Text.AlignHCenter
-                        verticalAlignment: Text.AlignVCenter
-                    }
-                    Button {
-                        id: rejectButton
-                        onClicked: reject()
-                        visible: text !== ""
-                        anchors {
-                            right: parent.right
-                            verticalCenter: parent.verticalCenter
-                        }
-                    }
-                }
-            }
-
-            Item {
-                id: contentItem
-
-                clip: true
-                onChildrenRectChanged: mainItem.width = childrenRect.width
-                anchors {
-                    top: titleBar.bottom
-                    left: parent.left
-                    right: parent.right
-                    bottom: parent.bottom
-                }
-            }
-
-        }
-
-        states: [
-            State {
-                name: "closed"
-                PropertyChanges {
-                    target: root
-                    status: DialogStatus.Closed
-                }
-            },
-            State {
-                name: ""
-                PropertyChanges {
-                    target: root
-                    status: DialogStatus.Open
-                }
-            }
-        ]
-
-    }
-}
diff --git a/src/declarativeimports/plasmacomponents/platformcomponents/touch/Switch.qml b/src/declarativeimports/plasmacomponents/platformcomponents/touch/Switch.qml
deleted file mode 100644
index 6f93e71..0000000
--- a/src/declarativeimports/plasmacomponents/platformcomponents/touch/Switch.qml
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-*   Copyright (C) 2011 by Daker Fernandes Pinheiro <dakerfp at gmail.com>
-*
-*   This program is free software; you can redistribute it and/or modify
-*   it under the terms of the GNU Library General Public License as
-*   published by the Free Software Foundation; either version 2, or
-*   (at your option) any later version.
-*
-*   This program is distributed in the hope that it will be useful,
-*   but WITHOUT ANY WARRANTY; without even the implied warranty of
-*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*   GNU General Public License for more details
-*
-*   You should have received a copy of the GNU Library General Public
-*   License along with this program; if not, write to the
-*   Free Software Foundation, Inc.,
-*   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
-*/
-
-import QtQuick 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import "private" as Private
-
-/**
- * A boolean toggle button with the visual representation of a "realistic"
- * switch with a movable toggle showing the state of the Switch. Generally
- * easier to use on touch devices than a CheckBox due to the larger surface
- * space and more evident state visualization.
- *
- * You can bind the Switch component, for example, to a feature that the
- * application has to enable or disable depending on the user's input.
- *
- * All elements of this component are defined in DualStateButton, its base component.
- */
-Private.DualStateButton {
-    id: switchItem
-
-    view: PlasmaCore.FrameSvgItem {
-        imagePath: "widgets/slider"
-        prefix: "groove"
-        width: height * 2
-        height: Math.max(theme.mSize(theme.defaultFont).height + margins.top + margins.bottom,
-                         button.margins.top + button.margins.bottom)
-
-        PlasmaCore.FrameSvgItem {
-            id: highlight
-            imagePath: "widgets/slider"
-            prefix: "groove-highlight"
-            anchors.fill: parent
-
-            opacity: checked ? 1 : 0
-            Behavior on opacity {
-                PropertyAnimation { duration: units.shortDuration * 2 }
-            }
-        }
-
-        PlasmaCore.FrameSvgItem {
-            imagePath: "widgets/button"
-            prefix: "shadow"
-            anchors {
-                fill: button
-                leftMargin: -margins.left
-                topMargin: -margins.top
-                rightMargin: -margins.right
-                bottomMargin: -margins.bottom
-            }
-        }
-
-        PlasmaCore.FrameSvgItem {
-            id: button
-            imagePath: "widgets/button"
-            prefix: "normal"
-            anchors {
-                top: parent.top
-                bottom: parent.bottom
-            }
-            width: height
-            x: checked ? width : 0
-            Behavior on x {
-                PropertyAnimation { duration: units.shortDuration * 2 }
-            }
-        }
-    }
-}
-
diff --git a/src/declarativeimports/plasmacomponents/platformcomponents/touch/TextArea.qml b/src/declarativeimports/plasmacomponents/platformcomponents/touch/TextArea.qml
deleted file mode 100644
index 87eeea1..0000000
--- a/src/declarativeimports/plasmacomponents/platformcomponents/touch/TextArea.qml
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
-*   Copyright (C) 2011 by Daker Fernandes Pinheiro <dakerfp at gmail.com>
-*
-*   This program is free software; you can redistribute it and/or modify
-*   it under the terms of the GNU Library General Public License as
-*   published by the Free Software Foundation; either version 2, or
-*   (at your option) any later version.
-*
-*   This program is distributed in the hope that it will be useful,
-*   but WITHOUT ANY WARRANTY; without even the implied warranty of
-*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*   GNU General Public License for more details
-*
-*   You should have received a copy of the GNU Library General Public
-*   License along with this program; if not, write to the
-*   Free Software Foundation, Inc.,
-*   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
-*/
-
-import QtQuick 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.kquickcontrolsaddons 2.0
-import "EditBubble.js" as EditBubbleHelper
-
-Item {
-    id: textArea
-
-    // Common API
-    property alias font: textEdit.font // alias to textEdit.font
-    property int inputMethodHints
-    property bool errorHighlight
-    property alias cursorPosition: textEdit.cursorPosition
-    property alias horizontalAlignment: textEdit.horizontalAlignment
-    property alias verticalAlignment: textEdit.verticalAlignment
-    property alias readOnly: textEdit.readOnly
-    property alias selectedText: textEdit.selectedText // read-only
-    property alias selectionEnd: textEdit.selectionEnd // read-only
-    property alias selectionStart: textEdit.selectionStart // read-only
-    property alias text: textEdit.text
-    property alias textFormat: textEdit.textFormat // enumeration
-    property alias wrapMode: textEdit.wrapMode // enumeration
-    property string placeholderText
-
-    property alias textField: textArea
-
-    // functions
-    function copy() {
-        textEdit.copy();
-    }
-
-    function paste() {
-        textEdit.paste();
-    }
-
-    function cut() {
-        textEdit.cut();
-    }
-
-    function select(start, end) {
-        textEdit.select(start, end);
-    }
-
-    function selectAll() {
-        textEdit.selectAll();
-    }
-
-    function selectWord() {
-        textEdit.selectWord();
-    }
-
-    function positionAt(pos) {
-        textEdit.positionAt(pos);
-    }
-
-    function positionToRectangle(pos) {
-        textEdit.positionToRectangle(pos);
-    }
-
-    // Plasma API
-    property alias interactive: flickArea.interactive
-    property alias contentMaxWidth: textEdit.width
-    property alias contentMaxHeight: textEdit.height
-    property alias textInput: textEdit
-
-    // Set active focus to it's internal textInput.
-    // Overriding QtQuick.Item forceActiveFocus function.
-    function forceActiveFocus() {
-        textEdit.forceActiveFocus();
-    }
-
-    // Overriding QtQuick.Item activeFocus property.
-    property alias activeFocus: textEdit.activeFocus
-
-    opacity: enabled ? 1.0 : 0.5
-
-    TextFieldFocus {
-        id: hover
-        state: textArea.activeFocus ? "focus" : (mouseWatcher.containsMouse ? "hover" : "hidden")
-        anchors.fill: base
-    }
-
-    MouseArea {
-        id: mouseWatcher
-        anchors.fill: hover
-        hoverEnabled: true
-    }
-
-    PlasmaCore.FrameSvgItem {
-        id: base
-
-        // TODO: see what is the best policy for margins
-        anchors {
-            fill: parent
-        }
-        imagePath: "widgets/lineedit"
-        prefix: "base"
-    }
-
-    Flickable {
-        id: flickArea
-        anchors {
-            fill: parent
-            leftMargin: 2 * base.margins.left
-            rightMargin: 2 * base.margins.right + (verticalScroll.visible ? verticalScroll.width : 0)
-            topMargin: 2 * base.margins.top
-            bottomMargin: 2 * base.margins.bottom + (horizontalScroll.visible ? verticalScroll.width : 0)
-        }
-        interactive: !verticalScroll.interactive //textArea.activeFocus
-        contentWidth: {
-            if (textEdit.wrapMode == TextEdit.NoWrap)
-                return textEdit.paintedWidth;
-
-            return Math.min(textEdit.paintedWidth, textEdit.width);
-        }
-        contentHeight: Math.min(textEdit.paintedHeight, textEdit.height)
-        clip: true
-        MouseEventListener {
-            id: mouseEventListener
-            //anchors.fill: parent
-            onPressed: forceActiveFocus();
-            //onPressed: print(" MouseEventListener Pressed");
-            onPressAndHold: {
-                print(" *** MouseEventListener PressAndHold");
-                //forceActiveFocus();
-                EditBubbleHelper.placeEditBubble(mouse);
-                editBubble.state  = (textInput.activeFocus && (textInput.selectedText != "" || textInput.canPaste)) ? "expanded" : "collapsed";
-            }
-            onPositionChanged: {
-                EditBubbleHelper.placeEditBubble(mouse);
-            }
-        }
-
-        TextEdit {
-            id: textEdit
-            parent: mouseEventListener
-            width: flickArea.width
-            height: flickArea.height
-            clip: true
-            wrapMode: TextEdit.Wrap
-            enabled: textArea.enabled
-            font.capitalization: theme.defaultFont.capitalization
-            font.family: theme.defaultFont.family
-            font.italic: theme.defaultFont.italic
-            font.letterSpacing: theme.defaultFont.letterSpacing
-            font.pointSize: theme.defaultFont.pointSize
-            font.strikeout: theme.defaultFont.strikeout
-            font.underline: theme.defaultFont.underline
-            font.weight: theme.defaultFont.weight
-            font.wordSpacing: theme.defaultFont.wordSpacing
-            color: theme.buttonTextColor
-            selectByMouse: verticalScroll.interactive
-
-            onCursorPositionChanged: {
-                if (cursorRectangle.x < flickArea.contentX) {
-                    flickArea.contentX = cursorRectangle.x;
-                    return;
-                }
-
-                if (cursorRectangle.x > flickArea.contentX +
-                    flickArea.width - cursorRectangle.width) {
-                    flickArea.contentX = cursorRectangle.x -
-                        cursorRectangle.width;
-                    return;
-                }
-
-                if (cursorRectangle.y < flickArea.contentY) {
-                    flickArea.contentY = cursorRectangle.y;
-                    return;
-                }
-
-                if (cursorRectangle.y > flickArea.contentY +
-                    flickArea.height - cursorRectangle.height) {
-                    flickArea.contentY = cursorRectangle.y -
-                        cursorRectangle.height;
-                    return;
-                }
-            }
-
-            // Proxying keys events  is not required by the
-            //     common API but is desired in the plasma API.
-            Keys.onPressed: textArea.Keys.pressed(event);
-            Keys.onReleased: textArea.Keys.released(event);
-
-            Text {
-                anchors.fill: parent
-                text: textArea.placeholderText
-                visible: textEdit.text == "" && !textArea.activeFocus
-                opacity: 0.5
-                color: theme.buttonTextColor
-            }
-        }
-    }
-
-    ScrollBar {
-        id: horizontalScroll
-        anchors {
-            bottom: parent.bottom
-            left: parent.left
-            right: flickArea.right
-        }
-        enabled: parent.enabled
-        flickableItem: flickArea
-        orientation: Qt.Horizontal
-        stepSize: textEdit.font.pixelSize
-    }
-
-    ScrollBar {
-        id: verticalScroll
-        anchors {
-            right: parent.right
-            top: parent.top
-            bottom: flickArea.bottom
-        }
-        enabled: parent.enabled
-        flickableItem: flickArea
-        orientation: Qt.Vertical
-        stepSize: textEdit.font.pixelSize
-    }
-
-    EditBubble { id: editBubble; iconSize: 32; }
-
-    onActiveFocusChanged: {
-        if (!activeFocus) {
-            editBubble.state = "collapsed";
-            //print("Hiding...");
-        }
-    }
-}
diff --git a/src/declarativeimports/plasmacomponents/platformcomponents/touch/TextField.qml b/src/declarativeimports/plasmacomponents/platformcomponents/touch/TextField.qml
deleted file mode 100644
index 8d0e517..0000000
--- a/src/declarativeimports/plasmacomponents/platformcomponents/touch/TextField.qml
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
-*   Copyright (C) 2011 by Daker Fernandes Pinheiro <dakerfp at gmail.com>
-*
-*   This program is free software; you can redistribute it and/or modify
-*   it under the terms of the GNU Library General Public License as
-*   published by the Free Software Foundation; either version 2, or
-*   (at your option) any later version.
-*
-*   This program is distributed in the hope that it will be useful,
-*   but WITHOUT ANY WARRANTY; without even the implied warranty of
-*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*   GNU General Public License for more details
-*
-*   You should have received a copy of the GNU Library General Public
-*   License along with this program; if not, write to the
-*   Free Software Foundation, Inc.,
-*   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
-*/
-
-import QtQuick 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.kquickcontrolsaddons 2.0
-import "EditBubble.js" as EditBubbleHelper
-
-Item {
-    id: textField
-
-    // Common API
-    property bool errorHighlight: false // TODO
-    property string placeholderText
-    property alias inputMethodHints: textInput.inputMethodHints
-    property alias font: textInput.font
-
-    property alias cursorPosition: textInput.cursorPosition
-    property alias readOnly: textInput.readOnly
-    property alias echoMode: textInput.echoMode // Supports TextInput.Normal,TextInput.Password, TextInput.NoEcho, TextInput.PasswordEchoOnEdit
-    property alias passwordCharacter: textInput.passwordCharacter
-
-    property alias acceptableInput: textInput.acceptableInput // read-only
-    property alias inputMask: textInput.inputMask
-    property alias validator: textInput.validator
-    property alias selectedText: textInput.selectedText // read-only
-    property alias selectionEnd: textInput.selectionEnd // read-only
-    property alias selectionStart: textInput.selectionStart // read-only
-    property alias text: textInput.text
-    property alias maximumLength: textInput.maximumLength
-
-    //Plasma api
-    property bool clearButtonShown: false
-
-    function copy() {
-        textInput.copy();
-    }
-
-    function paste() {
-        textInput.paste();
-    }
-
-    function cut() {
-        textInput.cut();
-    }
-
-    function select(start, end) {
-        textInput.select(start, end);
-    }
-
-    function selectAll() {
-        textInput.selectAll();
-    }
-
-    function selectWord() {
-        textInput.selectWord();
-    }
-
-    function positionAt(pos) {
-        textInput.positionAt(pos);
-    }
-
-    function positionToRectangle(pos) {
-        textInput.positionToRectangle(pos);
-    }
-
-
-    // Set active focus to it's internal textInput.
-    // Overriding QtQuick.Item forceActiveFocus function.
-    function forceActiveFocus() {
-        textInput.forceActiveFocus();
-    }
-
-
-    // TODO: fix default size
-    implicitWidth: theme.mSize(theme.defaultFont).width*12
-    implicitHeight: theme.mSize(theme.defaultFont).height*1.6
-    // TODO: needs to define if there will be specific graphics for
-    //     disabled text fields
-    opacity: enabled ? 1.0 : 0.5
-
-    TextFieldFocus {
-        id: hover
-        state: textInput.activeFocus ? "focus" : (mouseWatcher.containsMouse ? "hover" : "hidden")
-        anchors.fill: base
-    }
-
-    PlasmaCore.FrameSvgItem {
-        id: base
-
-        // TODO: see what is the correct policy for margins
-        anchors.fill: parent
-        imagePath: "widgets/lineedit"
-        prefix: "base"
-    }
-
-    MouseArea {
-        id: mouseWatcher
-        anchors.fill: hover
-        hoverEnabled: false
-    }
-
-    Text {
-        anchors {
-            left: parent.left
-            right: parent.right
-            verticalCenter: parent.verticalCenter
-            leftMargin: 2 * base.margins.left
-            rightMargin: 2 * base.margins.right
-        }
-        text: placeholderText
-        visible: textInput.text == "" && !textField.activeFocus
-        // XXX: using textColor and low opacity for theming placeholderText
-        color: theme.buttonTextColor
-        opacity: 0.5
-        elide: Text.ElideRight
-        clip: true
-        font.capitalization: theme.defaultFont.capitalization
-        font.family: theme.defaultFont.family
-        font.italic: theme.defaultFont.italic
-        font.letterSpacing: theme.defaultFont.letterSpacing
-        font.pointSize: theme.defaultFont.pointSize
-        font.strikeout: theme.defaultFont.strikeout
-        font.underline: theme.defaultFont.underline
-        font.weight: theme.defaultFont.weight
-        font.wordSpacing: theme.defaultFont.wordSpacing
-
-    }
-
-    EditBubble { id: editBubble; iconSize: 32 }
-
-    TextInput {
-        id: textInput
-        parent: mouseEventListener
-
-        anchors {
-            left: parent.left
-            right: parent.right
-            verticalCenter: parent.verticalCenter
-            // TODO: see what is the correct policy for margins
-            leftMargin: 2 * base.margins.left
-            rightMargin: 2 * base.margins.right
-        }
-        selectByMouse: true
-        passwordCharacter: "•"
-        color: theme.buttonTextColor
-        enabled: textField.enabled
-        clip: true
-
-        // Proxying keys events  is not required by the
-        //     common API but is desired in the plasma API.
-        Keys.forwardTo: textField
-    }
-
-
-    PlasmaCore.IconItem {
-        parent: mouseEventListener // reparent to the MouseFilter for MouseArea to work
-        id: clearButton
-        source: "edit-clear-locationbar-rtl"
-        height: Math.max(textInput.height, units.iconSizes.medium)
-        width: height
-        opacity: (textInput.text != "" && clearButtonShown) ? 1 : 0
-        Behavior on opacity {
-            NumberAnimation {
-                duration: units.longDuration
-                easing.type: Easing.InOutQuad
-            }
-        }
-        anchors {
-            right: parent.right
-            rightMargin: y
-            verticalCenter: textInput.verticalCenter
-        }
-        MouseArea {
-            anchors.fill: parent
-            onClicked: {
-                textInput.text = ""
-                textInput.forceActiveFocus()
-            }
-        }
-    }
-
-    MouseEventListener {
-        id: mouseEventListener
-        anchors.fill: parent
-        onPressAndHold: {
-            EditBubbleHelper.placeEditBubble(mouse);
-            editBubble.state  = (textInput.activeFocus && (textInput.selectedText != "" || textInput.canPaste)) ? "expanded" : "collapsed";
-        }
-        onPositionChanged: {
-            EditBubbleHelper.placeEditBubble(mouse);
-        }
-    }
-
-    onActiveFocusChanged: {
-        if (!activeFocus) {
-            editBubble.state = "collapsed";
-        }
-    }
-}
diff --git a/src/declarativeimports/plasmacomponents/platformcomponents/touch/TextFieldFocus.qml b/src/declarativeimports/plasmacomponents/platformcomponents/touch/TextFieldFocus.qml
deleted file mode 100644
index f550e66..0000000
--- a/src/declarativeimports/plasmacomponents/platformcomponents/touch/TextFieldFocus.qml
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- *   Copyright (C) 2011 by Daker Fernandes Pinheiro <dakerfp at gmail.com>
- *   Copyright (C) 2011 by Marco Martin <mart at kde.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU Library General Public License as
- *   published by the Free Software Foundation; either version 2, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU Library General Public License for more details
- *
- *   You should have received a copy of the GNU Library General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
- */
-
-import QtQuick 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-Item {
-    id: main
-    state: parent.state
-
-    PlasmaCore.FrameSvgItem {
-        id: hover
-
-        anchors {
-            fill: parent
-            leftMargin: -margins.left
-            topMargin: -margins.top
-            rightMargin: -margins.right
-            bottomMargin: -margins.bottom
-        }
-        opacity: 0
-        imagePath: "widgets/lineedit"
-        prefix: "hover"
-    }
-
-    states: [
-        State {
-            name: "focus"
-            PropertyChanges {
-                target: hover
-                opacity: 1
-                prefix: "focus"
-            }
-        },
-        State {
-            name: "hidden"
-            PropertyChanges {
-                target: hover
-                opacity: 0
-                prefix: "hover"
-            }
-        }
-    ]
-
-    transitions: [
-        Transition {
-            PropertyAnimation {
-                properties: "opacity"
-                duration: units.longDuration
-                easing.type: Easing.OutQuad
-            }
-        }
-    ]
-}
diff --git a/src/declarativeimports/plasmacomponents/platformcomponents/touch/Window.qml b/src/declarativeimports/plasmacomponents/platformcomponents/touch/Window.qml
deleted file mode 100644
index 01768be..0000000
--- a/src/declarativeimports/plasmacomponents/platformcomponents/touch/Window.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 at nokia.com)
-**
-** This file is part of the Qt Components project.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-**   * Redistributions of source code must retain the above copyright
-**     notice, this list of conditions and the following disclaimer.
-**   * Redistributions in binary form must reproduce the above copyright
-**     notice, this list of conditions and the following disclaimer in
-**     the documentation and/or other materials provided with the
-**     distribution.
-**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-**     the names of its contributors may be used to endorse or promote
-**     products derived from this software without specific prior written
-**     permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 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.0
-
-Item {
-    id: root
-
-    property bool inPortrait: height > width
-    signal orientationChangeAboutToStart
-    signal orientationChangeStarted
-    signal orientationChangeFinished
-
-    width: 800
-    height: 480
-
-    Connections {
-        target: root
-        onInPortraitChanged: {
-            root.orientationChangeFinished()
-        }
-    }
-}
diff --git a/src/declarativeimports/plasmacomponents/platformcomponents/touch/private/ButtonShadow.qml b/src/declarativeimports/plasmacomponents/platformcomponents/touch/private/ButtonShadow.qml
deleted file mode 100644
index e496556..0000000
--- a/src/declarativeimports/plasmacomponents/platformcomponents/touch/private/ButtonShadow.qml
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- *   Copyright (C) 2011 by Daker Fernandes Pinheiro <dakerfp at gmail.com>
- *   Copyright (C) 2011 by Marco Martin <mart at kde.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU Library General Public License as
- *   published by the Free Software Foundation; either version 2, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU Library General Public License for more details
- *
- *   You should have received a copy of the GNU Library General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
- */
-
-import QtQuick 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-Item {
-    id: main
-    state: parent.state
-    property bool hasOverState: false
-
-    PlasmaCore.FrameSvgItem {
-        id: shadow
-
-        anchors {
-            fill: parent
-            leftMargin: -margins.left
-            topMargin: -margins.top
-            rightMargin: -margins.right
-            bottomMargin: -margins.bottom
-        }
-        imagePath: "widgets/button"
-        prefix: "shadow"
-    }
-
-    states: [
-        State {
-            name: "shadow"
-            PropertyChanges {
-                target: shadow
-                opacity: 1
-            }
-        },
-        State {
-            name: "hidden"
-            PropertyChanges {
-                target: shadow
-                opacity: 0
-            }
-        }
-    ]
-
-    transitions: [
-        Transition {
-            PropertyAnimation {
-                properties: "opacity"
-                duration: units.longDuration
-                easing.type: Easing.OutQuad
-            }
-        }
-    ]
-}
diff --git a/src/declarativeimports/plasmacomponents/platformcomponents/touch/private/Config.js b/src/declarativeimports/plasmacomponents/platformcomponents/touch/private/Config.js
deleted file mode 100644
index 2087808..0000000
--- a/src/declarativeimports/plasmacomponents/platformcomponents/touch/private/Config.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-*   Copyright (C) 2012 Marco Martin <mart at kde.org>
-*
-*   This program is free software; you can redistribute it and/or modify
-*   it under the terms of the GNU Library General Public License as
-*   published by the Free Software Foundation; either version 2, or
-*   (at your option) any later version.
-*
-*   This program is distributed in the hope that it will be useful,
-*   but WITHOUT ANY WARRANTY; without even the implied warranty of
-*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*   GNU Library General Public License for more details
-*
-*   You should have received a copy of the GNU Library General Public
-*   License along with this program; if not, write to the
-*   Free Software Foundation, Inc.,
-*   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-*/
-
-var mouseOverEnabled = false
diff --git a/src/declarativeimports/plasmacomponents/platformcomponents/touch/private/RoundShadow.qml b/src/declarativeimports/plasmacomponents/platformcomponents/touch/private/RoundShadow.qml
deleted file mode 100644
index fb92858..0000000
--- a/src/declarativeimports/plasmacomponents/platformcomponents/touch/private/RoundShadow.qml
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- *   Copyright (C) 2011 by Daker Fernandes Pinheiro <dakerfp at gmail.com>
- *   Copyright (C) 2011 by Marco Martin <mart at kde.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU Library General Public License as
- *   published by the Free Software Foundation; either version 2, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU Library General Public License for more details
- *
- *   You should have received a copy of the GNU Library General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
- */
-
-import QtQuick 2.0
-import org.kde.plasma.core 2.0 as PlasmaCore
-
-Item {
-    id: main
-    state: parent.state
-    property alias imagePath: shadowSvg.imagePath
-    property string hoverElement: "hover"
-    property string focusElement: "focus"
-    property alias shadowElement: shadow.elementId
-    property bool hasOverState: false
-
-    PlasmaCore.Svg {
-        id: shadowSvg
-        imagePath: "widgets/actionbutton"
-    }
-
-    PlasmaCore.SvgItem {
-        id: hover
-        svg: shadowSvg
-        elementId: "hover"
-
-        anchors.fill: parent
-
-        opacity: 0
-    }
-
-    PlasmaCore.SvgItem {
-        id: shadow
-        svg: shadowSvg
-        elementId: "shadow"
-
-        anchors.fill: parent
-    }
-
-    states: [
-        State {
-            name: "shadow"
-            PropertyChanges {
-                target: shadow
-                opacity: 1
-            }
-            PropertyChanges {
-                target: hover
-                opacity: 0
-                elementId: hoverElement
-            }
-        },
-        State {
-            name: "focus"
-            PropertyChanges {
-                target: shadow
-                opacity: 0
-            }
-            PropertyChanges {
-                target: hover
-                opacity: 1
-                elementId: focusElement
-            }
-        },
-        State {
-            name: "hidden"
-            PropertyChanges {
-                target: shadow
-                opacity: 0
-            }
-            PropertyChanges {
-                target: hover
-                opacity: 0
-                elementId: hoverElement
-            }
-        }
-    ]
-
-    transitions: [
-        Transition {
-            PropertyAnimation {
-                properties: "opacity"
-                duration: units.longDuration
-                easing.type: Easing.OutQuad
-            }
-        }
-    ]
-}
diff --git a/src/declarativeimports/plasmacomponents/platformcomponents/touch/qmldir b/src/declarativeimports/plasmacomponents/platformcomponents/touch/qmldir
deleted file mode 100644
index c816d0d..0000000
--- a/src/declarativeimports/plasmacomponents/platformcomponents/touch/qmldir
+++ /dev/null
@@ -1,37 +0,0 @@
-module org.kde.plasma.components
-plugin plasmacomponentsplugin
-
-BusyIndicator 2.0 BusyIndicator.qml
-Button 2.0 Button.qml
-ButtonColumn 2.0 ButtonColumn.qml
-ButtonGroup 2.0 ButtonGroup.js
-ButtonRow 2.0 ButtonRow.qml
-CheckBox 2.0 CheckBox.qml
-CommonDialog 2.0 CommonDialog.qml
-ContextMenu 2.0 Menu.qml
-Dialog 2.0 Dialog.qml
-Highlight 2.0 Highlight.qml
-Label 2.0 Label.qml
-ListItem 2.0 ListItem.qml
-Menu 2.0 Menu.qml
-MenuItem 2.0 MenuItem.qml
-Page 2.0 Page.qml
-PageStack 2.0 PageStack.qml
-ProgressBar 2.0 ProgressBar.qml
-QueryDialog 2.0 QueryDialog.qml
-RadioButton 2.0 RadioButton.qml
-ScrollBar 2.0 ScrollBar.qml
-ScrollDecorator 2.0 ScrollDecorator.qml
-SectionScroller 2.0 SectionScroller.qml
-SelectionDialog 2.0 SelectionDialog.qml
-Slider 2.0 Slider.qml
-Switch 2.0 Switch.qml
-TabBar 2.0 TabBar.qml
-TabButton 2.0 TabButton.qml
-TabGroup 2.0 TabGroup.qml
-TextArea 2.0 TextArea.qml
-TextField 2.0 TextField.qml
-ToolBar 2.0 ToolBar.qml
-ToolBarLayout 2.0 ToolBarLayout.qml
-ToolButton 2.0 ToolButton.qml
-Window 2.0 Window.qml
diff --git a/src/declarativeimports/plasmacomponents/qml/BusyIndicator.qml b/src/declarativeimports/plasmacomponents/qml/BusyIndicator.qml
index 39201bc..27fffb2 100644
--- a/src/declarativeimports/plasmacomponents/qml/BusyIndicator.qml
+++ b/src/declarativeimports/plasmacomponents/qml/BusyIndicator.qml
@@ -21,7 +21,7 @@
 
 import QtQuick 2.2
 import QtQuick.Controls 1.2
-import "styles" as Styles
+import QtQuick.Controls.Styles.Plasma 2.0 as Styles
 
 /**
  * A simple busy indicator,
diff --git a/src/declarativeimports/plasmacomponents/qml/Button.qml b/src/declarativeimports/plasmacomponents/qml/Button.qml
index c993ee4..041af28 100644
--- a/src/declarativeimports/plasmacomponents/qml/Button.qml
+++ b/src/declarativeimports/plasmacomponents/qml/Button.qml
@@ -30,7 +30,7 @@
  */
 import QtQuick 2.1
 import QtQuick.Controls 1.2 as QtControls
-import "styles" as Styles
+import QtQuick.Controls.Styles.Plasma 2.0 as Styles
 
 /**
  * The push button is perhaps the most commonly used widget in any graphical user interface.
diff --git a/src/declarativeimports/plasmacomponents/qml/CheckBox.qml b/src/declarativeimports/plasmacomponents/qml/CheckBox.qml
index 8a66df2..13bfbd6 100644
--- a/src/declarativeimports/plasmacomponents/qml/CheckBox.qml
+++ b/src/declarativeimports/plasmacomponents/qml/CheckBox.qml
@@ -21,7 +21,7 @@
 import QtQuick 2.1
 import QtQuick.Controls 1.2 as QtControls
 import org.kde.plasma.core 2.0 as PlasmaCore
-import "styles" as Styles
+import QtQuick.Controls.Styles.Plasma 2.0 as Styles
 
 /**
  * A check box is a component that can be switched on (checked) or off
diff --git a/src/declarativeimports/plasmacomponents/qml/ComboBox.qml b/src/declarativeimports/plasmacomponents/qml/ComboBox.qml
index 5f655aa..eaaefa7 100644
--- a/src/declarativeimports/plasmacomponents/qml/ComboBox.qml
+++ b/src/declarativeimports/plasmacomponents/qml/ComboBox.qml
@@ -18,7 +18,7 @@
 */
 
 import QtQuick.Controls 1.1
-import "styles" as Styles
+import QtQuick.Controls.Styles.Plasma 2.0 as Styles
 
 /**
  * This is a combobox which uses the plasma theme.
diff --git a/src/declarativeimports/plasmacomponents/qml/ProgressBar.qml b/src/declarativeimports/plasmacomponents/qml/ProgressBar.qml
index 64340aa..c5ca47c 100644
--- a/src/declarativeimports/plasmacomponents/qml/ProgressBar.qml
+++ b/src/declarativeimports/plasmacomponents/qml/ProgressBar.qml
@@ -23,7 +23,7 @@
 
 import org.kde.plasma.core 2.0 as PlasmaCore
 
-import "styles" as Styles
+import QtQuick.Controls.Styles.Plasma 2.0 as Styles
 
 /**
  * Simple progressBar using the plasma theme.
diff --git a/src/declarativeimports/plasmacomponents/qml/RadioButton.qml b/src/declarativeimports/plasmacomponents/qml/RadioButton.qml
index 5720208..d864eca 100644
--- a/src/declarativeimports/plasmacomponents/qml/RadioButton.qml
+++ b/src/declarativeimports/plasmacomponents/qml/RadioButton.qml
@@ -21,7 +21,7 @@
 import QtQuick 2.1
 import QtQuick.Controls 1.2 as QtControls
 import org.kde.plasma.core 2.0 as PlasmaCore
-import "styles" as Styles
+import QtQuick.Controls.Styles.Plasma 2.0 as Styles
 
 /**
  * A radio button component consists of a radio button and a line of text. Only
diff --git a/src/declarativeimports/plasmacomponents/qml/Slider.qml b/src/declarativeimports/plasmacomponents/qml/Slider.qml
index 2b1e169..efd1ed8 100644
--- a/src/declarativeimports/plasmacomponents/qml/Slider.qml
+++ b/src/declarativeimports/plasmacomponents/qml/Slider.qml
@@ -22,7 +22,7 @@
 import org.kde.plasma.core 2.0 as PlasmaCore
 import "private" as Private
 import QtQuick.Controls 1.2 as QtControls
-import "styles" as Styles
+import QtQuick.Controls.Styles.Plasma 2.0 as Styles
 
 
 /**
diff --git a/src/declarativeimports/plasmacomponents/qml/TextArea.qml b/src/declarativeimports/plasmacomponents/qml/TextArea.qml
index 2ade47c..1fcbb5b 100644
--- a/src/declarativeimports/plasmacomponents/qml/TextArea.qml
+++ b/src/declarativeimports/plasmacomponents/qml/TextArea.qml
@@ -20,7 +20,7 @@
 import QtQuick 2.1
 import QtQuick.Controls 1.2 as QtControls
 import org.kde.plasma.core 2.0 as PlasmaCore
-import "styles" as Styles
+import QtQuick.Controls.Styles.Plasma 2.0 as Styles
 
 /**
    @class TextArea
diff --git a/src/declarativeimports/plasmacomponents/qml/TextField.qml b/src/declarativeimports/plasmacomponents/qml/TextField.qml
index 1b074c9..c027add 100644
--- a/src/declarativeimports/plasmacomponents/qml/TextField.qml
+++ b/src/declarativeimports/plasmacomponents/qml/TextField.qml
@@ -21,7 +21,7 @@
 import QtQuick 2.1
 import QtQuick.Controls 1.2 as QtControls
 import org.kde.plasma.core 2.0 as PlasmaCore
-import "styles" as Styles
+import QtQuick.Controls.Styles.Plasma 2.0 as Styles
 
 
 /**
diff --git a/src/declarativeimports/plasmacomponents/qml/ToolButton.qml b/src/declarativeimports/plasmacomponents/qml/ToolButton.qml
index ee4f019..0b5472f 100644
--- a/src/declarativeimports/plasmacomponents/qml/ToolButton.qml
+++ b/src/declarativeimports/plasmacomponents/qml/ToolButton.qml
@@ -20,7 +20,7 @@
 
 import QtQuick 2.1
 import QtQuick.Controls 1.2 as QtControls
-import "styles" as Styles
+import QtQuick.Controls.Styles.Plasma 2.0 as Styles
 
 /**
  * A plasma theme based toolbutton.
diff --git a/src/declarativeimports/plasmacomponents/qml/styles/ComboBoxStyle.qml b/src/declarativeimports/plasmacomponents/qml/styles/ComboBoxStyle.qml
deleted file mode 100644
index 016d5b7..0000000
--- a/src/declarativeimports/plasmacomponents/qml/styles/ComboBoxStyle.qml
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
-*   Copyright (C) 2014 by David Edmundson <davidedmundson at kde.org>
-*
-*   This program is free software; you can redistribute it and/or modify
-*   it under the terms of the GNU Library General Public License as
-*   published by the Free Software Foundation; either version 2, or
-*   (at your option) any later version.
-*
-*   This program is distributed in the hope that it will be useful,
-*   but WITHOUT ANY WARRANTY; without even the implied warranty of
-*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*   GNU Library General Public License for more details
-*
-*   You should have received a copy of the GNU Library General Public
-*   License along with this program; if not, write to the
-*   Free Software Foundation, Inc.,
-*   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
-*/
-
-import QtQuick 2.0
-import QtQuick.Controls.Styles 1.1 as QtQuickControlStyle
-
-import org.kde.plasma.core 2.0 as PlasmaCore
-import org.kde.plasma.components 2.0 as PlasmaComponents
-
-import "../private" as Private
-
-QtQuickControlStyle.ComboBoxStyle {
-        drowDownButtonWidth: units.iconSizes.small
-
-        label: PlasmaComponents.Label {
-            text: control.currentText
-            elide: Text.ElideRight
-            verticalAlignment: Text.AlignTop
-        }
-
-        background: Item {
-
-            //size copied from Plasma Button
-            //for some reason the logic there is:
-            // maximum of
-            //   the calculated height + frame margins
-            //   Or 1.6 letters tall no matter how big the margins are
-
-            //QtQuickControls tries to be helpful and adds on the margin sizes for us
-            //to compensate, we have to subtract our margins here in order to do the  max 1.6 lines high tall feature
-            implicitHeight: Math.max(theme.mSize(theme.defaultFont).height*1.6 - surfaceNormal.margins.top - surfaceNormal.margins.bottom,
-                                        theme.mSize(theme.defaultFont).height)
-
-            implicitWidth: theme.mSize(theme.defaultFont).width*12
-
-            Private.ButtonShadow {
-                anchors.fill: parent
-                state: {
-                    if (control.pressed) {
-                        return "hidden"
-                    } else if (control.hovered) {
-                        return "hover"
-                    } else if (control.activeFocus) {
-                        return "focus"
-                    } else {
-                        return "shadow"
-                    }
-                }
-            }
-
-
-            //This code is duplicated here and Button and ToolButton
-            //maybe we can make an AbstractButton class?
-            PlasmaCore.FrameSvgItem {
-                id: surfaceNormal
-                anchors.fill: parent
-                imagePath: "widgets/button"
-                prefix: "normal"
-            }
-
-            PlasmaCore.FrameSvgItem {
-                id: surfacePressed
-                anchors.fill: parent
-                imagePath: "widgets/button"
-                prefix: "pressed"
-                opacity: 0
-            }
-
-            state: control.pressed ? "pressed" : "normal"
-
-            states: [
-                State { name: "normal" },
-                State { name: "pressed"
-                        PropertyChanges {
-                            target: surfaceNormal
-                            opacity: 0
-                        }
-                        PropertyChanges {
-                            target: surfacePressed
-                            opacity: 1
-                        }
-                }
-            ]
-
-            transitions: [
-                Transition {
-                    to: "normal"
-                    //Cross fade from pressed to normal
-                    ParallelAnimation {
-                        NumberAnimation { target: surfaceNormal; property: "opacity"; to: 1; duration: 100 }
-                        NumberAnimation { target: surfacePressed; property: "opacity"; to: 0; duration: 100 }
-                    }
-                }
-            ]
-
-            PlasmaCore.SvgItem {
-                width: drowDownButtonWidth
-                height: drowDownButtonWidth
-                anchors {
-                    right: parent.right
-                    rightMargin: surfaceNormal.margins.right
-                    verticalCenter: parent.verticalCenter
-                }
-                svg: PlasmaCore.Svg {
-                    imagePath: "widgets/arrows"
-                    colorGroup: PlasmaCore.Theme.ButtonColorGroup
-                }
-                elementId: "down-arrow"
-            }
-
-            Component.onCompleted: {
-                padding.top = surfaceNormal.margins.top
-                padding.left = surfaceNormal.margins.left
-                padding.right = surfaceNormal.margins.right
-                padding.bottom = surfaceNormal.margins.bottom
-            }
-        }
-    }
diff --git a/src/declarativeimports/plasmaextracomponents/qml/ScrollArea.qml b/src/declarativeimports/plasmaextracomponents/qml/ScrollArea.qml
index 93fcd7c..bede92c 100644
--- a/src/declarativeimports/plasmaextracomponents/qml/ScrollArea.qml
+++ b/src/declarativeimports/plasmaextracomponents/qml/ScrollArea.qml
@@ -19,7 +19,7 @@
 
 import QtQuick 2.2
 import QtQuick.Controls 1.1 as QtQuickControls
-import "../components/styles" as Styles
+import QtQuick.Controls.Styles.Plasma 2.0 as Styles
 
 /**
  * This item takes a Flickable and automatically puts scrollbars in adjusting
diff --git a/src/declarativeimports/plasmastyle/ApplicationWindowStyle.qml b/src/declarativeimports/plasmastyle/ApplicationWindowStyle.qml
new file mode 100644
index 0000000..bbb3f8f
--- /dev/null
+++ b/src/declarativeimports/plasmastyle/ApplicationWindowStyle.qml
@@ -0,0 +1,33 @@
+/*
+ *   Copyright 2014 Marco Martin <mart at kde.org>
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU Library General Public License as
+ *   published by the Free Software Foundation; either version 2, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU Library General Public License for more details
+ *
+ *   You should have received a copy of the GNU Library General Public
+ *   License along with this program; if not, write to the
+ *   Free Software Foundation, Inc.,
+ *   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
+ */
+
+import QtQuick 2.2
+import QtQuick.Controls 1.3
+import QtQuick.Controls.Styles 1.3 as QtQuickControlStyle
+import QtQuick.Controls.Private 1.0
+import org.kde.plasma.core 2.0 as PlasmaCore
+
+
+QtQuickControlStyle.ApplicationWindowStyle {
+
+    property Component background: Rectangle {
+        visible: !styleData.hasColor
+        color: PlasmaCore.ColorScope.backgroundColor
+    }
+}
diff --git a/src/declarativeimports/plasmacomponents/qml/styles/BusyIndicatorStyle.qml b/src/declarativeimports/plasmastyle/BusyIndicatorStyle.qml
similarity index 93%
rename from src/declarativeimports/plasmacomponents/qml/styles/BusyIndicatorStyle.qml
rename to src/declarativeimports/plasmastyle/BusyIndicatorStyle.qml
index 3fb89f6..49021de 100644
--- a/src/declarativeimports/plasmacomponents/qml/styles/BusyIndicatorStyle.qml
+++ b/src/declarativeimports/plasmastyle/BusyIndicatorStyle.qml
@@ -30,7 +30,7 @@
         anchors.centerIn: parent
         width:  Math.min(control.width, control.height)
         height: width
-        smooth: !control.running || control.smoothAnimation
+        smooth: !control.running || (control.hasOwnProperty("smoothAnimation") && control.smoothAnimation)
 
         Connections {
             target: control
diff --git a/src/declarativeimports/plasmacomponents/qml/styles/ButtonStyle.qml b/src/declarativeimports/plasmastyle/ButtonStyle.qml
similarity index 95%
rename from src/declarativeimports/plasmacomponents/qml/styles/ButtonStyle.qml
rename to src/declarativeimports/plasmastyle/ButtonStyle.qml
index c5ccf81..5842791 100644
--- a/src/declarativeimports/plasmacomponents/qml/styles/ButtonStyle.qml
+++ b/src/declarativeimports/plasmastyle/ButtonStyle.qml
@@ -21,12 +21,13 @@
 import QtQuick 2.0
 import QtQuick.Controls.Styles 1.1 as QtQuickControlStyle
 import QtQuick.Layouts 1.1
+import QtQuick.Controls.Private 1.0 as QtQuickControlsPrivate
 
 import org.kde.plasma.core 2.0 as PlasmaCore
 import org.kde.plasma.extras 2.0 as PlasmaExtras
 import org.kde.plasma.components 2.0 as PlasmaComponents
 
-import "../private" as Private
+import "private" as Private
 
 QtQuickControlStyle.ButtonStyle {
     id: style
@@ -71,8 +72,8 @@
         PlasmaComponents.Label {
             id: label
             Layout.minimumWidth: implicitWidth
-            text: control.text
-            font: control.font
+            text: QtQuickControlsPrivate.StyleHelpers.stylizeMnemonics(control.text)
+            font: control.font === undefined ? theme.defaultFont : control.font
             visible: control.text != ""
             Layout.fillWidth: true
             height: parent.height
diff --git a/src/declarativeimports/plasmastyle/CalendarStyle.qml b/src/declarativeimports/plasmastyle/CalendarStyle.qml
new file mode 100644
index 0000000..00ef9e8
--- /dev/null
+++ b/src/declarativeimports/plasmastyle/CalendarStyle.qml
@@ -0,0 +1,127 @@
+/*
+ *   Copyright 2014 Digia Plc and/or its subsidiary(-ies).
+ *   Copyright 2014 Marco Martin <mart at kde.org>
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU Library General Public License as
+ *   published by the Free Software Foundation; either version 2, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU Library General Public License for more details
+ *
+ *   You should have received a copy of the GNU Library General Public
+ *   License along with this program; if not, write to the
+ *   Free Software Foundation, Inc.,
+ *   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
+ */
+
+import QtQuick 2.0
+import QtQuick.Controls.Styles 1.1 as QtQuickControlStyle
+
+import org.kde.plasma.core 2.0 as PlasmaCore
+import org.kde.plasma.components 2.0 as PlasmaComponents
+import org.kde.plasma.extras 2.0 as PlasmaExtras
+
+QtQuickControlStyle.CalendarStyle {
+    id: styleRoot
+
+    gridColor: Qt.rgba(PlasmaCore.ColorScope.textColor.r, PlasmaCore.ColorScope.textColor.g, PlasmaCore.ColorScope.textColor.b, 0.4)
+
+    gridVisible: true
+
+
+    background: Item {
+        implicitWidth: Math.max(250, Math.round(units.gridUnit * 14))
+        implicitHeight: Math.max(250, Math.round(units.gridUnit * 14))
+    }
+
+    navigationBar: Item {
+        height: Math.round(units.gridUnit * 2.73)
+
+        PlasmaComponents.ToolButton {
+            id: previousMonth
+            width: parent.height
+            height: width
+            anchors.verticalCenter: parent.verticalCenter
+            anchors.left: parent.left
+            iconSource: "go-previous"
+            onClicked: control.showPreviousMonth()
+        }
+        PlasmaExtras.Heading {
+            id: dateText
+            text: styleData.title
+            elide: Text.ElideRight
+            horizontalAlignment: Text.AlignHCenter
+            font.pixelSize: units.gridUnit * 1.25
+            anchors.verticalCenter: parent.verticalCenter
+            anchors.left: previousMonth.right
+            anchors.leftMargin: 2
+            anchors.right: nextMonth.left
+            anchors.rightMargin: 2
+        }
+        PlasmaComponents.ToolButton {
+            id: nextMonth
+            width: parent.height
+            height: width
+            anchors.verticalCenter: parent.verticalCenter
+            anchors.right: parent.right
+            iconSource: "go-next"
+            onClicked: control.showNextMonth()
+        }
+    }
+
+    dayDelegate: Rectangle {
+        //FIXME: this stuff should depend from localization
+        property int daysInAWeek: 7
+        property int weeksOnACalendarMonth: 6
+        anchors.fill: parent
+        anchors.leftMargin: (!addExtraMargin || control.weekNumbersVisible) && styleData.index % daysInAWeek === 0 ? 0 : -1
+        anchors.rightMargin: !addExtraMargin && styleData.index % daysInAWeek === daysInAWeek - 1 ? 0 : -1
+        anchors.bottomMargin: !addExtraMargin && styleData.index >= daysInAWeek * (weeksOnACalendarMonth - 1) ? 0 : -1
+        anchors.topMargin: styleData.selected ? -1 : 0
+        color: styleData.date !== undefined && styleData.selected ? selectedDateColor : "transparent"
+
+        readonly property bool addExtraMargin: control.frameVisible && styleData.selected
+        readonly property color sameMonthDateTextColor: PlasmaCore.ColorScope.textColor
+        readonly property color selectedDateColor: theme.highlightColor
+        readonly property color selectedDateTextColor: PlasmaCore.ColorScope.textColor
+        readonly property color differentMonthDateTextColor: Qt.rgba(PlasmaCore.ColorScope.textColor.r, PlasmaCore.ColorScope.textColor.g, PlasmaCore.ColorScope.textColor.b, 0.4)
+        readonly property color invalidDateColor: Qt.rgba(PlasmaCore.ColorScope.textColor.r, PlasmaCore.ColorScope.textColor.g, PlasmaCore.ColorScope.textColor.b, 0.2)
+        PlasmaComponents.Label {
+            id: dayDelegateText
+            text: styleData.date.getDate()
+            anchors.centerIn: parent
+            horizontalAlignment: Text.AlignRight
+            font.pixelSize: Math.min(parent.height/3, parent.width/3)
+            color: {
+                var theColor = invalidDateColor;
+                if (styleData.valid) {
+                    // Date is within the valid range.
+                    theColor = styleData.visibleMonth ? sameMonthDateTextColor : differentMonthDateTextColor;
+                    if (styleData.selected)
+                        theColor = selectedDateTextColor;
+                }
+                theColor;
+            }
+        }
+    }
+
+    dayOfWeekDelegate: Item {
+        implicitHeight: Math.round(units.gridUnit * 2.25)
+        PlasmaComponents.Label {
+            text: control.__locale.dayName(styleData.dayOfWeek, control.dayOfWeekFormat)
+            anchors.centerIn: parent
+        }
+    }
+
+    weekNumberDelegate: Item {
+        implicitWidth: Math.round(units.gridUnit * 2)
+        PlasmaComponents.Label {
+            text: styleData.weekNumber
+            anchors.centerIn: parent
+        }
+    }
+}
diff --git a/src/declarativeimports/plasmacomponents/qml/styles/CheckBoxStyle.qml b/src/declarativeimports/plasmastyle/CheckBoxStyle.qml
similarity index 98%
rename from src/declarativeimports/plasmacomponents/qml/styles/CheckBoxStyle.qml
rename to src/declarativeimports/plasmastyle/CheckBoxStyle.qml
index a83ac28..4241d54 100644
--- a/src/declarativeimports/plasmacomponents/qml/styles/CheckBoxStyle.qml
+++ b/src/declarativeimports/plasmastyle/CheckBoxStyle.qml
@@ -22,7 +22,7 @@
 
 import org.kde.plasma.core 2.0 as PlasmaCore
 import org.kde.plasma.components 2.0 as PlasmaComponents
-import "../private" as Private
+import "private" as Private
 
 QtQuickControlStyle.CheckBoxStyle {
     id: checkboxStyle
diff --git a/src/declarativeimports/plasmastyle/ComboBoxStyle.qml b/src/declarativeimports/plasmastyle/ComboBoxStyle.qml
new file mode 100644
index 0000000..e73d0da
--- /dev/null
+++ b/src/declarativeimports/plasmastyle/ComboBoxStyle.qml
@@ -0,0 +1,134 @@
+/*
+*   Copyright (C) 2014 by David Edmundson <davidedmundson at kde.org>
+*
+*   This program is free software; you can redistribute it and/or modify
+*   it under the terms of the GNU Library General Public License as
+*   published by the Free Software Foundation; either version 2, or
+*   (at your option) any later version.
+*
+*   This program is distributed in the hope that it will be useful,
+*   but WITHOUT ANY WARRANTY; without even the implied warranty of
+*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*   GNU Library General Public License for more details
+*
+*   You should have received a copy of the GNU Library General Public
+*   License along with this program; if not, write to the
+*   Free Software Foundation, Inc.,
+*   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
+*/
+
+import QtQuick 2.0
+import QtQuick.Controls.Styles 1.1 as QtQuickControlStyle
+
+import org.kde.plasma.core 2.0 as PlasmaCore
+import org.kde.plasma.components 2.0 as PlasmaComponents
+
+import "private" as Private
+
+QtQuickControlStyle.ComboBoxStyle {
+    drowDownButtonWidth: units.iconSizes.small
+
+    label: PlasmaComponents.Label {
+        text: control.currentText
+        elide: Text.ElideRight
+        verticalAlignment: Text.AlignTop
+    }
+
+    background: Item {
+
+        //size copied from Plasma Button
+        //for some reason the logic there is:
+        // maximum of
+        //   the calculated height + frame margins
+        //   Or 1.6 letters tall no matter how big the margins are
+
+        //QtQuickControls tries to be helpful and adds on the margin sizes for us
+        //to compensate, we have to subtract our margins here in order to do the  max 1.6 lines high tall feature
+        implicitHeight: Math.max(theme.mSize(theme.defaultFont).height*1.6 - surfaceNormal.margins.top - surfaceNormal.margins.bottom,
+                                    theme.mSize(theme.defaultFont).height)
+
+        implicitWidth: theme.mSize(theme.defaultFont).width*12
+
+        Private.ButtonShadow {
+            anchors.fill: parent
+            state: {
+                if (control.pressed) {
+                    return "hidden"
+                } else if (control.hovered) {
+                    return "hover"
+                } else if (control.activeFocus) {
+                    return "focus"
+                } else {
+                    return "shadow"
+                }
+            }
+        }
+
+
+        //This code is duplicated here and Button and ToolButton
+        //maybe we can make an AbstractButton class?
+        PlasmaCore.FrameSvgItem {
+            id: surfaceNormal
+            anchors.fill: parent
+            imagePath: "widgets/button"
+            prefix: "normal"
+        }
+
+        PlasmaCore.FrameSvgItem {
+            id: surfacePressed
+            anchors.fill: parent
+            imagePath: "widgets/button"
+            prefix: "pressed"
+            opacity: 0
+        }
+
+        state: control.pressed ? "pressed" : "normal"
+
+        states: [
+            State { name: "normal" },
+            State { name: "pressed"
+                    PropertyChanges {
+                        target: surfaceNormal
+                        opacity: 0
+                    }
+                    PropertyChanges {
+                        target: surfacePressed
+                        opacity: 1
+                    }
+            }
+        ]
+
+        transitions: [
+            Transition {
+                to: "normal"
+                //Cross fade from pressed to normal
+                ParallelAnimation {
+                    NumberAnimation { target: surfaceNormal; property: "opacity"; to: 1; duration: 100 }
+                    NumberAnimation { target: surfacePressed; property: "opacity"; to: 0; duration: 100 }
+                }
+            }
+        ]
+
+        PlasmaCore.SvgItem {
+            width: drowDownButtonWidth
+            height: drowDownButtonWidth
+            anchors {
+                right: parent.right
+                rightMargin: surfaceNormal.margins.right
+                verticalCenter: parent.verticalCenter
+            }
+            svg: PlasmaCore.Svg {
+                imagePath: "widgets/arrows"
+                colorGroup: PlasmaCore.Theme.ButtonColorGroup
+            }
+            elementId: "down-arrow"
+        }
+
+        Component.onCompleted: {
+            padding.top = surfaceNormal.margins.top
+            padding.left = surfaceNormal.margins.left
+            padding.right = surfaceNormal.margins.right
+            padding.bottom = surfaceNormal.margins.bottom
+        }
+    }
+}
diff --git a/src/declarativeimports/plasmastyle/FocusFrameStyle.qml b/src/declarativeimports/plasmastyle/FocusFrameStyle.qml
new file mode 100644
index 0000000..a3edb5e
--- /dev/null
+++ b/src/declarativeimports/plasmastyle/FocusFrameStyle.qml
@@ -0,0 +1,25 @@
+/*
+ *   Copyright 2014 Marco Martin <mart at kde.org>
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU Library General Public License as
+ *   published by the Free Software Foundation; either version 2, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU Library General Public License for more details
+ *
+ *   You should have received a copy of the GNU Library General Public
+ *   License along with this program; if not, write to the
+ *   Free Software Foundation, Inc.,
+ *   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
+ */
+
+import QtQuick 2.2
+
+//FocusFrameStyle is not exported
+Item {
+    property int margin: 0
+}
diff --git a/src/declarativeimports/plasmastyle/GroupBoxStyle.qml b/src/declarativeimports/plasmastyle/GroupBoxStyle.qml
new file mode 100644
index 0000000..a90d06a
--- /dev/null
+++ b/src/declarativeimports/plasmastyle/GroupBoxStyle.qml
@@ -0,0 +1,69 @@
+/*
+ *   Copyright 2014 Marco Martin <mart at kde.org>
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU Library General Public License as
+ *   published by the Free Software Foundation; either version 2, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU Library General Public License for more details
+ *
+ *   You should have received a copy of the GNU Library General Public
+ *   License along with this program; if not, write to the
+ *   Free Software Foundation, Inc.,
+ *   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
+ */
+
+import QtQuick 2.2
+import QtQuick.Controls 1.2
+import QtQuick.Controls.Private 1.0
+import QtQuick.Controls.Styles 1.2 as QtQuickControlStyle
+import org.kde.plasma.core 2.0 as PlasmaCore
+import org.kde.plasma.components 2.0 as PlasmaComponents
+
+//GroupBoxStyle is not exported
+Style  {
+    id: styleRoot
+
+    property color textColor: theme.textColor
+
+    property Component checkbox: PlasmaComponents.CheckBox {
+        checked: control.checked
+    }
+
+    property Component panel: Item {
+        anchors.fill: parent
+        Loader {
+            id: checkboxloader
+            anchors.left: parent.left
+            sourceComponent: control.checkable ? checkbox : null
+            anchors.verticalCenter: label.verticalCenter
+            width: item ? item.implicitWidth : 0
+        }
+
+        PlasmaComponents.Label {
+            id: label
+            anchors.top: parent.top
+            anchors.left: checkboxloader.right
+            anchors.margins: units.smallSpacing
+            text: control.title
+        }
+
+        PlasmaCore.FrameSvgItem {
+            id: frame
+            anchors.fill: parent
+            imagePath: "widgets/frame"
+            prefix: "plain"
+            visible: !control.flat
+            Component.onCompleted: {
+                styleRoot.padding.left = frame.margins.left
+                styleRoot.padding.top = frame.margins.top + label.height
+                styleRoot.padding.right = frame.margins.right
+                styleRoot.padding.bottom = frame.margins.bottom
+            }
+        }
+    }
+}
diff --git a/src/declarativeimports/plasmastyle/MenuBarStyle.qml b/src/declarativeimports/plasmastyle/MenuBarStyle.qml
new file mode 100644
index 0000000..28858a6
--- /dev/null
+++ b/src/declarativeimports/plasmastyle/MenuBarStyle.qml
@@ -0,0 +1,58 @@
+/*
+ *   Copyright 2014 Marco Martin <mart at kde.org>
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU Library General Public License as
+ *   published by the Free Software Foundation; either version 2, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU Library General Public License for more details
+ *
+ *   You should have received a copy of the GNU Library General Public
+ *   License along with this program; if not, write to the
+ *   Free Software Foundation, Inc.,
+ *   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
+ */
+
+import QtQuick 2.2
+import QtQuick.Controls.Styles 1.2 as QtQuickControlStyle
+import QtQuick.Controls.Private 1.0 as QtQuickControlsPrivate
+import QtQuick.Controls 1.2
+import org.kde.plasma.components 2.0 as PlasmaComponents
+import org.kde.plasma.core 2.0 as PlasmaCore
+import "." as Style
+
+QtQuickControlStyle.MenuBarStyle {
+    id: styleRoot
+
+    function formatMnemonic(text, underline) {
+        return underline ? QtQuickControlsPrivate.StyleHelpers.stylizeMnemonics(text) : StyleHelpers.removeMnemonics(text)
+    }
+
+    background: Item {
+        Accessible.role: Accessible.MenuBar
+    }
+
+    itemDelegate: PlasmaCore.FrameSvgItem {
+        imagePath: "widgets/tabbar"
+        prefix: styleData.open || styleData.selected ? "north-active-tab" : ""
+        property string plainText: QtQuickControlsPrivate.StyleHelpers.removeMnemonics(styleData.text)
+        implicitWidth: text.implicitWidth + units.smallSpacing * 3
+        implicitHeight: text.implicitHeight + units.smallSpacing * 2
+        enabled: styleData.enabled
+
+        Accessible.role: Accessible.MenuItem
+        Accessible.name: plainText
+
+        PlasmaComponents.Label {
+            id: text
+            text: formatMnemonic(styleData.text, styleData.underlineMnemonic)
+            anchors.centerIn: parent
+        }
+    }
+
+    menuStyle: Style.MenuStyle { }
+}
diff --git a/src/declarativeimports/plasmastyle/MenuStyle.qml b/src/declarativeimports/plasmastyle/MenuStyle.qml
new file mode 100644
index 0000000..90b713b
--- /dev/null
+++ b/src/declarativeimports/plasmastyle/MenuStyle.qml
@@ -0,0 +1,108 @@
+/*
+ *   Copyright 2014 Marco Martin <mart at kde.org>
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU Library General Public License as
+ *   published by the Free Software Foundation; either version 2, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU Library General Public License for more details
+ *
+ *   You should have received a copy of the GNU Library General Public
+ *   License along with this program; if not, write to the
+ *   Free Software Foundation, Inc.,
+ *   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
+ */
+
+import QtQuick 2.2
+import QtQuick.Window 2.1
+import QtQuick.Controls 1.2
+import QtQuick.Controls.Private 1.0
+import QtQuick.Controls.Styles 1.2 as QtQuickControlStyle
+import org.kde.plasma.components 2.0 as PlasmaComponents
+
+QtQuickControlStyle.MenuStyle {
+    id: styleRoot
+
+    __menuItemType: "menuitem"
+
+    submenuOverlap: 0
+    submenuPopupDelay: 0
+    __maxPopupHeight: 0
+
+    frame: StyleItem {
+        elementType: "menu"
+
+        Rectangle {
+            visible: anchors.margins > 0
+            anchors {
+                fill: parent
+                margins: pixelMetric("menupanelwidth")
+            }
+            color: theme.backgroundColor
+        }
+
+        Accessible.role: Accessible.PopupMenu
+
+        Component.onCompleted: {
+            var menuHMargin = pixelMetric("menuhmargin")
+            var menuVMargin = pixelMetric("menuvmargin")
+            var menuPanelWidth = pixelMetric("menupanelwidth")
+            styleRoot.padding.left = menuHMargin + menuPanelWidth
+            styleRoot.padding.right = menuHMargin + menuPanelWidth
+            styleRoot.padding.top = menuVMargin + menuPanelWidth
+            styleRoot.padding.bottom = menuVMargin + menuPanelWidth
+            styleRoot.submenuOverlap = 2 * menuPanelWidth
+            styleRoot.submenuPopupDelay = styleHint("submenupopupdelay")
+        }
+
+        readonly property int desktopAvailableHeight: Screen.desktopAvailableHeight
+        Binding {
+            target: styleRoot
+            property: "__maxPopupHeight"
+            value: desktopAvailableHeight * 0.99
+        }
+    }
+
+    __scrollerStyle: null
+
+    itemDelegate.background: PlasmaComponents.Highlight {
+        visible: styleData.selected && styleData.enabled
+    }
+    itemDelegate.label: PlasmaComponents.Label {
+        text: formatMnemonic(styleData.text, styleData.underlineMnemonic)
+    }
+    itemDelegate.submenuIndicator: PlasmaComponents.Label {
+        text: __mirrored ? "\u25c2" : "\u25b8" // BLACK LEFT/RIGHT-POINTING SMALL TRIANGLE
+        style: styleData.selected ? Text.Normal : Text.Raised
+        styleColor: Qt.lighter(color, 4)
+    }
+
+    itemDelegate.shortcut: PlasmaComponents.Label {
+        text: styleData.shortcut
+    }
+
+    itemDelegate.checkmarkIndicator: Loader {
+        sourceComponent: styleData.exclusive ? exclusiveCheckMark : nonExclusiveCheckMark
+        Component {
+            id: exclusiveCheckMark
+            PlasmaComponents.RadioButton {
+                width: parent.height
+                height: parent.height
+                checked: styleData.checked
+            }
+        }
+
+        Component {
+            id: nonExclusiveCheckMark
+            PlasmaComponents.CheckBox {
+                width: parent.height
+                height: parent.height
+                checked: styleData.checked
+            }
+        }
+    }
+}
diff --git a/src/declarativeimports/plasmacomponents/qml/styles/ProgressBarStyle.qml b/src/declarativeimports/plasmastyle/ProgressBarStyle.qml
similarity index 86%
rename from src/declarativeimports/plasmacomponents/qml/styles/ProgressBarStyle.qml
rename to src/declarativeimports/plasmastyle/ProgressBarStyle.qml
index a37f7a9..009e580 100644
--- a/src/declarativeimports/plasmacomponents/qml/styles/ProgressBarStyle.qml
+++ b/src/declarativeimports/plasmastyle/ProgressBarStyle.qml
@@ -43,10 +43,12 @@
     }
 
     background: Item {
+        implicitWidth: units.gridUnit * 14
+        implicitHeight: theme.mSize(theme.defaultFont).height * 1.6
         PlasmaCore.FrameSvgItem {
             anchors.centerIn: parent
             width: parent.width
-            height: style.implicitHeight
+            height: implicitHeight
             imagePath: style.imagePath
             prefix: "bar-inactive"
         }
@@ -60,10 +62,11 @@
             prefix: "bar-active"
 
             width: control.indeterminate ? units.gridUnit * 2 : Math.max(margins.left + margins.right, parent.width)
-            height: style.implicitHeight
+            height: implicitHeight
             visible: control.indeterminate || currentProgress > 0
 
             SequentialAnimation {
+                id: anim
                 loops: Animation.Infinite
 
                 running: control.indeterminate && control.visible
@@ -80,6 +83,12 @@
                     // The progress Item's width might be left over from the previous state
                     // so we use the control.width/height directly instead
                     to: control.width - units.gridUnit * 2
+                    onToChanged: {
+                        //the animation won't update the boundaries automatically
+                        if (anim.running) {
+                            anim.restart();
+                        }
+                    }
                 }
                 PropertyAnimation {
                     target: progressSvg
diff --git a/src/declarativeimports/plasmacomponents/qml/styles/RadioButtonStyle.qml b/src/declarativeimports/plasmastyle/RadioButtonStyle.qml
similarity index 92%
rename from src/declarativeimports/plasmacomponents/qml/styles/RadioButtonStyle.qml
rename to src/declarativeimports/plasmastyle/RadioButtonStyle.qml
index 0f4cac0..352bfc4 100644
--- a/src/declarativeimports/plasmacomponents/qml/styles/RadioButtonStyle.qml
+++ b/src/declarativeimports/plasmastyle/RadioButtonStyle.qml
@@ -22,7 +22,7 @@
 
 import org.kde.plasma.core 2.0 as PlasmaCore
 import org.kde.plasma.components 2.0 as PlasmaComponents
-import "../private" as Private
+import "private" as Private
 
 QtQuickControlStyle.RadioButtonStyle {
     id: radiobuttonStyle
@@ -42,8 +42,8 @@
         }
         elementId: "normal"
 
-        width: theme.mSize(theme.defaultFont).height + margins.left
-        height: theme.mSize(theme.defaultFont).height + margins.top
+        width: height
+        height: theme.mSize(theme.defaultFont).height * 1.6
 
         PlasmaCore.SvgItem {
             id: checkmark
diff --git a/src/declarativeimports/plasmacomponents/qml/styles/ScrollViewStyle.qml b/src/declarativeimports/plasmastyle/ScrollViewStyle.qml
similarity index 100%
rename from src/declarativeimports/plasmacomponents/qml/styles/ScrollViewStyle.qml
rename to src/declarativeimports/plasmastyle/ScrollViewStyle.qml
diff --git a/src/declarativeimports/plasmacomponents/qml/styles/SliderStyle.qml b/src/declarativeimports/plasmastyle/SliderStyle.qml
similarity index 98%
rename from src/declarativeimports/plasmacomponents/qml/styles/SliderStyle.qml
rename to src/declarativeimports/plasmastyle/SliderStyle.qml
index 0d03237..aeedfcf 100644
--- a/src/declarativeimports/plasmacomponents/qml/styles/SliderStyle.qml
+++ b/src/declarativeimports/plasmastyle/SliderStyle.qml
@@ -25,7 +25,7 @@
 import org.kde.plasma.core 2.0 as PlasmaCore
 import org.kde.plasma.components 2.0 as PlasmaComponents
 
-import "../private" as Private
+import "private" as Private
 
 QtQuickControlStyle.SliderStyle {
     id: styleItem
diff --git a/src/declarativeimports/plasmastyle/SpinBoxStyle.qml b/src/declarativeimports/plasmastyle/SpinBoxStyle.qml
new file mode 100644
index 0000000..01f18ad
--- /dev/null
+++ b/src/declarativeimports/plasmastyle/SpinBoxStyle.qml
@@ -0,0 +1,90 @@
+/*
+ *   Copyright 2014 by Marco Martin <mart at kde.org>
+ *   Copyright 2014 by David Edmundson <davidedmundson at kde.org>
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU Library General Public License as
+ *   published by the Free Software Foundation; either version 2, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU Library General Public License for more details
+ *
+ *   You should have received a copy of the GNU Library General Public
+ *   License along with this program; if not, write to the
+ *   Free Software Foundation, Inc.,
+ *   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
+ */
+
+import QtQuick 2.0
+import QtQuick.Controls.Styles 1.1 as QtQuickControlStyle
+import QtQuick.Layouts 1.1
+
+import org.kde.plasma.core 2.0 as PlasmaCore
+import org.kde.plasma.extras 2.0 as PlasmaExtras
+import org.kde.plasma.components 2.0 as PlasmaComponents
+
+import "private" as Private
+
+QtQuickControlStyle.SpinBoxStyle {
+    id: styleRoot
+
+    horizontalAlignment: Qt.AlignRight
+
+    textColor: theme.viewTextColor
+    selectionColor: theme.viewFocusColor
+    selectedTextColor: theme.viewBackgroundColor
+
+
+    renderType: Text.NativeRendering
+
+    PlasmaCore.Svg {
+        id: arrowSvg
+        imagePath: "widgets/arrows"
+        colorGroup: PlasmaCore.Theme.ButtonColorGroup
+    }
+
+    incrementControl: PlasmaCore.SvgItem {
+        anchors {
+            fill: parent
+            margins : 1
+            leftMargin: -1
+            rightMargin: 3
+        }
+        svg: arrowSvg
+        elementId: "up-arrow"
+        opacity: control.enabled ? (styleData.upPressed ? 1 : 0.6) : 0.5
+    }
+
+    decrementControl: PlasmaCore.SvgItem {
+        anchors {
+            fill: parent
+            margins : 1
+            leftMargin: -1
+            rightMargin: 3
+        }
+        svg: arrowSvg
+        elementId: "down-arrow"
+        opacity: control.enabled ? (styleData.downPressed ? 1 : 0.6) : 0.5
+    }
+
+
+    background: Item {
+        implicitHeight: theme.mSize(theme.defaultFont).height * 1.6
+        implicitWidth: theme.mSize(theme.defaultFont).width * 12
+
+        Private.TextFieldFocus {
+            id: hover
+            state: control.activeFocus ? "focus" : (control.hovered ? "hover" : "hidden")
+            anchors.fill: base
+        }
+        PlasmaCore.FrameSvgItem {
+            id: base
+            anchors.fill: parent
+            imagePath: "widgets/lineedit"
+            prefix: "base"
+        }
+    }
+}
diff --git a/src/declarativeimports/plasmastyle/StatusBarStyle.qml b/src/declarativeimports/plasmastyle/StatusBarStyle.qml
new file mode 100644
index 0000000..42dc39b2
--- /dev/null
+++ b/src/declarativeimports/plasmastyle/StatusBarStyle.qml
@@ -0,0 +1,47 @@
+/*
+ *   Copyright 2014 Marco Martin <mart at kde.org>
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU Library General Public License as
+ *   published by the Free Software Foundation; either version 2, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU Library General Public License for more details
+ *
+ *   You should have received a copy of the GNU Library General Public
+ *   License along with this program; if not, write to the
+ *   Free Software Foundation, Inc.,
+ *   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
+ */
+
+import QtQuick 2.2
+import QtQuick.Controls.Styles 1.2 as QtQuickControlStyle
+import QtQuick.Controls 1.2
+import org.kde.plasma.core 2.0 as PlasmaCore
+
+QtQuickControlStyle.StatusBarStyle {
+
+    padding {
+        left: units.smallSpacing
+        right: units.smallSpacing
+        top: units.smallSpacing
+        bottom: units.smallSpacing/2
+    }
+
+
+    background: Item {
+        implicitHeight: 16
+        implicitWidth: 200
+
+        Rectangle {
+            anchors.top: parent.top
+            width: parent.width
+            height: 1
+            color: theme.textColor
+            opacity: 0.1
+        }
+    }
+}
diff --git a/src/declarativeimports/plasmastyle/SwitchStyle.qml b/src/declarativeimports/plasmastyle/SwitchStyle.qml
new file mode 100644
index 0000000..95ecc7d
--- /dev/null
+++ b/src/declarativeimports/plasmastyle/SwitchStyle.qml
@@ -0,0 +1,60 @@
+/*
+ *   Copyright 2014 Marco Martin <mart at kde.org>
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU Library General Public License as
+ *   published by the Free Software Foundation; either version 2, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU Library General Public License for more details
+ *
+ *   You should have received a copy of the GNU Library General Public
+ *   License along with this program; if not, write to the
+ *   Free Software Foundation, Inc.,
+ *   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
+ */
+
+import QtQuick 2.2
+import QtQuick.Controls.Styles 1.2 as QtQuickControlStyle
+import QtQuick.Controls 1.2
+import org.kde.plasma.core 2.0 as PlasmaCore
+
+QtQuickControlStyle.SwitchStyle {
+    id: styleRoot
+
+    handle: PlasmaCore.FrameSvgItem {
+        opacity: control.enabled ? 1.0 : 0.6
+        width: height
+        imagePath: "widgets/button"
+        prefix: "shadow"
+
+        PlasmaCore.FrameSvgItem {
+            id: button
+            imagePath: "widgets/button"
+            prefix: "normal"
+            anchors.fill: parent
+        }
+    }
+
+    groove: PlasmaCore.FrameSvgItem {
+        imagePath: "widgets/slider"
+        prefix: "groove"
+        implicitHeight: theme.mSize(theme.defaultFont).height
+        implicitWidth: height * 2
+
+        PlasmaCore.FrameSvgItem {
+            id: highlight
+            imagePath: "widgets/slider"
+            prefix: "groove-highlight"
+            anchors.fill: parent
+
+            opacity: checked ? 1 : 0
+            Behavior on opacity {
+                PropertyAnimation { duration: units.shortDuration * 2 }
+            }
+        }
+    }
+}
diff --git a/src/declarativeimports/plasmastyle/TabViewStyle.qml b/src/declarativeimports/plasmastyle/TabViewStyle.qml
new file mode 100644
index 0000000..997e9ee
--- /dev/null
+++ b/src/declarativeimports/plasmastyle/TabViewStyle.qml
@@ -0,0 +1,77 @@
+/*
+ *   Copyright 2014 Marco Martin <mart at kde.org>
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU Library General Public License as
+ *   published by the Free Software Foundation; either version 2, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU Library General Public License for more details
+ *
+ *   You should have received a copy of the GNU Library General Public
+ *   License along with this program; if not, write to the
+ *   Free Software Foundation, Inc.,
+ *   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
+ */
+
+import QtQuick 2.2
+import QtQuick.Controls 1.2
+import QtQuick.Controls.Private 1.0
+import QtQuick.Controls.Styles 1.2 as QtQuickControlStyle
+import org.kde.plasma.core 2.0 as PlasmaCore
+import org.kde.plasma.components 2.0 as PlasmaComponents
+
+
+QtQuickControlStyle.TabViewStyle {
+    tabsMovable: false
+
+    tabsAlignment: Qt.AlignLeft
+
+    tabOverlap: 1
+
+    frameOverlap: 2
+
+    /*! This defines the tab frame. */
+    property Component frame: Item {}
+
+
+    property Component tab: Item {
+        property int totalOverlap: tabOverlap * (control.count - 1)
+        property real maxTabWidth: control.count > 0 ? (styleData.availableWidth + totalOverlap) / control.count : 0
+
+        implicitWidth: Math.round(Math.min(maxTabWidth, textitem.implicitWidth + 20))
+        implicitHeight: Math.round(textitem.implicitHeight + 10)
+
+        PlasmaCore.FrameSvgItem {
+            anchors.fill: parent
+            opacity: styleData.selected ? 1 : (styleData.hovered ? 0.4 : 0)
+            imagePath: "widgets/tabbar"
+            prefix: control.tabPosition === Qt.TopEdge ? "north-active-tab" : "south-active-tab"
+            Behavior on opacity {
+                PropertyAnimation {
+                    duration: units.longDuration
+                }
+            }
+        }
+
+        PlasmaComponents.Label {
+            id: textitem
+            anchors.fill: parent
+            anchors.leftMargin: 4
+            anchors.rightMargin: 4
+            verticalAlignment: Text.AlignVCenter
+            horizontalAlignment: Text.AlignHCenter
+            text: styleData.title
+            elide: Text.ElideMiddle
+        }
+    }
+
+    property Component leftCorner: null
+
+    property Component rightCorner: null
+
+    property Component tabBar: null
+}
diff --git a/src/declarativeimports/plasmastyle/TableViewStyle.qml b/src/declarativeimports/plasmastyle/TableViewStyle.qml
new file mode 100644
index 0000000..0b19bb1
--- /dev/null
+++ b/src/declarativeimports/plasmastyle/TableViewStyle.qml
@@ -0,0 +1,168 @@
+/*
+ *   Copyright 2014 Digia Plc and/or its subsidiary(-ies).
+ *   Copyright 2014 Marco Martin <mart at kde.org>
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU Library General Public License as
+ *   published by the Free Software Foundation; either version 2, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU Library General Public License for more details
+ *
+ *   You should have received a copy of the GNU Library General Public
+ *   License along with this program; if not, write to the
+ *   Free Software Foundation, Inc.,
+ *   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
+ */
+
+import QtQuick 2.2
+import QtQuick.Controls.Styles 1.2 as QtQuickControlStyle
+import QtQuick.Controls 1.2
+import org.kde.plasma.core 2.0 as PlasmaCore
+import org.kde.plasma.components 2.0 as PlasmaComponents
+
+QtQuickControlStyle.TableViewStyle {
+    id: styleRoot
+
+    textColor: PlasmaCore.ColorScope.textColor
+    backgroundColor: control.backgroundVisible ? theme.viewBackgroundColor : "transparent"
+    alternateBackgroundColor: Qt.darker(theme.viewBackgroundColor, 1.05)
+    highlightedTextColor: theme.viewTextColor
+    activateItemOnSingleClick: false
+
+
+    property real widthHint: Math.round( (scrollbarSvg.hasElement("hint-scrollbar-size") ? scrollbarSvg.elementSize("hint-scrollbar-size").width : scrollbarSvg.elementSize("arrow-up").width) * units.devicePixelRatio)
+
+    headerDelegate: PlasmaCore.FrameSvgItem {
+        imagePath: "widgets/button"
+        prefix: "normal"
+        enabledBorders: PlasmaCore.FrameSvgItem.TopEdge | PlasmaCore.FrameSvgItem.BottomEdge
+
+        height: textItem.implicitHeight * 1.2
+
+        PlasmaComponents.Label {
+            id: textItem
+            anchors.fill: parent
+            verticalAlignment: Text.AlignVCenter
+            horizontalAlignment: styleData.textAlignment
+            anchors.leftMargin: 12
+            color: theme.buttonTextColor
+            text: styleData.value
+            elide: Text.ElideRight
+        }
+        Rectangle {
+            anchors.right: parent.right
+            anchors.top: parent.top
+            anchors.bottom: parent.bottom
+            anchors.bottomMargin: 1
+            anchors.topMargin: 1
+            width: 1
+            color: Qt.rgba(PlasmaCore.ColorScope.textColor.r, PlasmaCore.ColorScope.textColor.g, PlasmaCore.ColorScope.textColor.b, 0.2)
+        }
+    }
+
+
+    rowDelegate: Rectangle {
+        height: Math.round(units.gridUnit * 1.2)
+        property color selectedColor: styleData.hasActiveFocus ? theme.viewHoverColor: theme.viewFocusColor
+
+        color: styleData.selected ? selectedColor :
+                                    !styleData.alternate ? alternateBackgroundColor : theme.viewBackgroundColor
+    }
+
+
+    itemDelegate: Item {
+        height: Math.max(16, label.implicitHeight)
+        property int implicitWidth: label.implicitWidth + 20
+
+        PlasmaComponents.Label {
+            id: label
+            objectName: "label"
+            width: parent.width
+            anchors.leftMargin: 12
+            anchors.left: parent.left
+            anchors.right: parent.right
+            horizontalAlignment: styleData.textAlignment
+            anchors.verticalCenter: parent.verticalCenter
+            anchors.verticalCenterOffset: 1
+            elide: styleData.elideMode
+            text: styleData.value !== undefined ? styleData.value : ""
+            color: theme.viewTextColor
+        }
+    }
+
+
+    frame: Item {
+
+    }
+
+    scrollBarBackground: PlasmaCore.FrameSvgItem {
+        imagePath:"widgets/scrollbar"
+        prefix: styleData.horizontal ? "background-horizontal" : "background-vertical"
+        implicitWidth: widthHint
+    }
+
+    handle: PlasmaCore.FrameSvgItem {
+        imagePath:"widgets/scrollbar"
+        implicitWidth: widthHint
+        implicitHeight: widthHint
+
+        prefix: {
+            if (styleData.hovered) {
+                return "sunken-slider"
+            }
+            if (styleData.pressed) {
+                return "mouseover-slider"
+            } else {
+                return "slider"
+            }
+        }
+    }
+
+    incrementControl: PlasmaCore.SvgItem {
+        svg: scrollbarSvg
+        visible: scrollbarSvg.arrowPresent
+        //if there is no arrow we don't want to waste space, a tiny margin does look better though
+        implicitWidth: scrollbarSvg.arrowPresent ? widthHint : units.smallSpacing
+        implicitHeight: scrollbarSvg.arrowPresent ? widthHint : units.smallSpacing
+        elementId: {
+            if (styleData.pressed) {
+                return styleData.horizontal ? "sunken-arrow-right" : "sunken-arrow-down"
+            }
+            if (styleData.hovered) {
+                return styleData.horizontal ? "mouseover-arrow-right" : "mouseover-arrow-down"
+            } else {
+                return styleData.horizontal ? "arrow-right" : "arrow-down"
+            }
+        }
+    }
+
+    decrementControl: PlasmaCore.SvgItem {
+        svg: scrollbarSvg
+        visible: scrollbarSvg.arrowPresent
+        implicitWidth: scrollbarSvg.arrowPresent ? widthHint : units.smallSpacing
+        implicitHeight: scrollbarSvg.arrowPresent ? widthHint : units.smallSpacing
+        elementId: {
+            if (styleData.pressed) {
+                return styleData.horizontal ? "sunken-arrow-left" : "sunken-arrow-up"
+            }
+            if (styleData.hovered) {
+                return styleData.horizontal ? "mouseover-arrow-left" : "mouseover-arrow-up"
+            } else {
+                return styleData.horizontal ? "arrow-left" : "arrow-up"
+            }
+        }
+    }
+
+    PlasmaCore.Svg {
+        id: scrollbarSvg
+        imagePath: "widgets/scrollbar"
+        property bool arrowPresent: scrollbarSvg.hasElement("arrow-up")
+        //new theme may be different
+        onRepaintNeeded: arrowPresent = scrollbarSvg.hasElement("arrow-up")
+    }
+}
+
diff --git a/src/declarativeimports/plasmacomponents/qml/styles/TextAreaStyle.qml b/src/declarativeimports/plasmastyle/TextAreaStyle.qml
similarity index 98%
rename from src/declarativeimports/plasmacomponents/qml/styles/TextAreaStyle.qml
rename to src/declarativeimports/plasmastyle/TextAreaStyle.qml
index 90af0c5..41299c5 100644
--- a/src/declarativeimports/plasmacomponents/qml/styles/TextAreaStyle.qml
+++ b/src/declarativeimports/plasmastyle/TextAreaStyle.qml
@@ -25,7 +25,7 @@
 import org.kde.plasma.core 2.0 as PlasmaCore
 import org.kde.plasma.components 2.0 as PlasmaComponents
 
-import "../private" as Private
+import "private" as Private
 
 QtQuickControlStyle.TextAreaStyle {
     id: style
diff --git a/src/declarativeimports/plasmacomponents/qml/styles/TextFieldStyle.qml b/src/declarativeimports/plasmastyle/TextFieldStyle.qml
similarity index 98%
rename from src/declarativeimports/plasmacomponents/qml/styles/TextFieldStyle.qml
rename to src/declarativeimports/plasmastyle/TextFieldStyle.qml
index 63be906..2e5b718 100644
--- a/src/declarativeimports/plasmacomponents/qml/styles/TextFieldStyle.qml
+++ b/src/declarativeimports/plasmastyle/TextFieldStyle.qml
@@ -23,7 +23,7 @@
 import org.kde.plasma.core 2.0 as PlasmaCore
 import org.kde.plasma.components 2.0 as PlasmaComponents
 
-import "../private" as Private
+import "private" as Private
 
 QtQuickControlStyle.TextFieldStyle {
     id: root
diff --git a/src/declarativeimports/plasmastyle/ToolBarStyle.qml b/src/declarativeimports/plasmastyle/ToolBarStyle.qml
new file mode 100644
index 0000000..cc6c715
--- /dev/null
+++ b/src/declarativeimports/plasmastyle/ToolBarStyle.qml
@@ -0,0 +1,32 @@
+/*
+ *   Copyright 2014 by Marco Martin <mart at kde.org>
+ *   Copyright 2014 by David Edmundson <davidedmundson at kde.org>
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU Library General Public License as
+ *   published by the Free Software Foundation; either version 2, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU Library General Public License for more details
+ *
+ *   You should have received a copy of the GNU Library General Public
+ *   License along with this program; if not, write to the
+ *   Free Software Foundation, Inc.,
+ *   51 Franklin Street, Fifth Floor, Boston, MA  2.010-1301, USA.
+ */
+
+import QtQuick 2.0
+import QtQuick.Controls.Styles 1.1 as QtQuickControlStyle
+import QtQuick.Layouts 1.1
+
+import org.kde.plasma.core 2.0 as PlasmaCore
+
+QtQuickControlStyle.ToolBarStyle {
+
+    background: PlasmaCore.FrameSvgItem {
+        imagePath: "widgets/toolbar"
+    }
+}
diff --git a/src/declarativeimports/plasmacomponents/qml/styles/ToolButtonStyle.qml b/src/declarativeimports/plasmastyle/ToolButtonStyle.qml
similarity index 93%
rename from src/declarativeimports/plasmacomponents/qml/styles/ToolButtonStyle.qml
rename to src/declarativeimports/plasmastyle/ToolButtonStyle.qml
index cf19524..6828003 100644
--- a/src/declarativeimports/plasmacomponents/qml/styles/ToolButtonStyle.qml
+++ b/src/declarativeimports/plasmastyle/ToolButtonStyle.qml
@@ -21,19 +21,20 @@
 import QtQuick 2.0
 import QtQuick.Controls.Styles 1.1 as QtQuickControlStyle
 import QtQuick.Layouts 1.1
+import QtQuick.Controls.Private 1.0 as QtQuickControlsPrivate
 
 import org.kde.plasma.core 2.0 as PlasmaCore
 import org.kde.plasma.extras 2.0 as PlasmaExtras
 import org.kde.plasma.components 2.0 as PlasmaComponents
 
-import "../private" as Private
+import "private" as Private
 
 QtQuickControlStyle.ButtonStyle {
     id: style
 
     property int minimumWidth
     property int minimumHeight
-
+    property bool flat: control.flat !== undefined ? control.flat : !(control.pressed || (control.checkable && control.checked))
     label: Item {
         //wrapper is needed as we are adjusting the preferredHeight of the layout from the default
         //and the implicitHeight is implicitly read only
@@ -76,18 +77,18 @@
                 Layout.minimumHeight: Layout.minimumWidth
                 Layout.maximumHeight: Layout.minimumWidth
                 active: control.hovered
-                colorGroup: control.hovered || !control.flat ? PlasmaCore.Theme.ButtonColorGroup : PlasmaCore.Theme.NormalColorGroup
+                colorGroup: control.hovered || !style.flat ? PlasmaCore.Theme.ButtonColorGroup : PlasmaCore.Theme.NormalColorGroup
             }
 
             PlasmaComponents.Label {
                 id: label
                 Layout.minimumWidth: implicitWidth
-                text: control.text
-                font: control.font
+                text: QtQuickControlsPrivate.StyleHelpers.stylizeMnemonics(control.text)
+                font: control.font === undefined ? theme.defaultFont : control.font
                 visible: control.text != ""
                 Layout.fillWidth: true
                 height: parent.height
-                color: control.hovered || !control.flat ? theme.buttonTextColor : PlasmaCore.ColorScope.textColor
+                color: control.hovered || !style.flat ? theme.buttonTextColor : PlasmaCore.ColorScope.textColor
                 horizontalAlignment: icon.valid ? Text.AlignLeft : Text.AlignHCenter
                 verticalAlignment: Text.AlignVCenter
                 elide: Text.ElideRight
@@ -108,7 +109,7 @@
                         anchors.fill: parent
                         svg: PlasmaCore.Svg {
                             imagePath: "widgets/arrows"
-                            colorGroup: control.hovered || !control.flat ? PlasmaCore.Theme.ButtonColorGroup : PlasmaCore.Theme.NormalColorGroup
+                            colorGroup: control.hovered || !style.flat ? PlasmaCore.Theme.ButtonColorGroup : PlasmaCore.Theme.NormalColorGroup
                         }
                         elementId: "down-arrow"
                     }
@@ -118,7 +119,7 @@
     }
 
     background: {
-        if (control.text.length == 0 && control.width == control.height && (control.parent && control.parent.checkedButton === undefined) && !control.flat) {
+        if (control.text.length == 0 && control.width == control.height && (control.parent && control.parent.checkedButton === undefined) && !style.flat) {
             return roundButtonComponent
         } else {
             return buttonComponent
@@ -141,7 +142,7 @@
             property alias hasOverState: roundShadow.hasOverState
             Private.RoundShadow {
                 id: roundShadow
-                visible: !flat
+                visible: !style.flat
                 anchors.fill: parent
                 state: {
                     if (control.pressed) {
@@ -168,7 +169,7 @@
                 width: Math.floor(parent.height/2) * 2
                 height: width
                 //internal: if there is no hover status, don't paint on mouse over in touchscreens
-                opacity: (control.pressed || control.checked || !control.flat || (roundShadow.hasOverState && control.hovered)) ? 1 : 0
+                opacity: (control.pressed || control.checked || !style.flat || (roundShadow.hasOverState && control.hovered)) ? 1 : 0
                 Behavior on opacity {
                     PropertyAnimation { duration: units.longDuration }
                 }
@@ -226,7 +227,7 @@
                 prefix: "normal"
 
                 enabledBorders: {
-                    if (control.flat || !control.parent ||
+                    if (style.flat || !control.parent ||
                         control.parent.width < control.parent.implicitWidth ||
                         control.parent.checkedButton === undefined ||
                         !bordersSvg.hasElement("pressed-hint-compose-over-border")) {
@@ -352,7 +353,7 @@
                 State { name: "normal"
                     PropertyChanges {
                         target: surfaceNormal
-                        opacity: control.flat ? 0 : 1
+                        opacity: style.flat ? 0 : 1
                     }
                     PropertyChanges {
                         target: surfacePressed
diff --git a/src/declarativeimports/plasmacomponents/qml/private/ButtonShadow.qml b/src/declarativeimports/plasmastyle/private/ButtonShadow.qml
similarity index 100%
rename from src/declarativeimports/plasmacomponents/qml/private/ButtonShadow.qml
rename to src/declarativeimports/plasmastyle/private/ButtonShadow.qml
diff --git a/src/declarativeimports/plasmacomponents/qml/private/RoundShadow.qml b/src/declarativeimports/plasmastyle/private/RoundShadow.qml
similarity index 100%
rename from src/declarativeimports/plasmacomponents/qml/private/RoundShadow.qml
rename to src/declarativeimports/plasmastyle/private/RoundShadow.qml
diff --git a/src/declarativeimports/plasmacomponents/qml/private/TextFieldFocus.qml b/src/declarativeimports/plasmastyle/private/TextFieldFocus.qml
similarity index 100%
rename from src/declarativeimports/plasmacomponents/qml/private/TextFieldFocus.qml
rename to src/declarativeimports/plasmastyle/private/TextFieldFocus.qml
diff --git a/src/declarativeimports/plasmastyle/qmldir b/src/declarativeimports/plasmastyle/qmldir
new file mode 100644
index 0000000..6d539fa
--- /dev/null
+++ b/src/declarativeimports/plasmastyle/qmldir
@@ -0,0 +1,24 @@
+module QtQuick.Controls.Styles.Plasma
+ApplicationWindowStyle 1.3 ApplicationWindowStyle.qml
+BusyIndicatorStyle 2.0 BusyIndicatorStyle.qml
+ButtonStyle 2.0 ButtonStyle.qml
+CalendarStyle 2.0 CalendarStyle.qml
+CheckBoxStyle 2.0 CheckBoxStyle.qml
+ComboBoxStyle 2.0 ComboBoxStyle.qml
+MenuBarStyle 2.0 MenuBarStyle.qml
+MenuStyle 2.0 MenuStyle.qml
+ProgressBarStyle 2.0 ProgressBarStyle.qml
+RadioButtonStyle 2.0 RadioButtonStyle.qml
+ScrollViewStyle 2.0 ScrollViewStyle.qml
+SliderStyle 2.0 SliderStyle.qml
+SpinBoxStyle 2.0 SpinBoxStyle.qml
+StatusBarStyle 2.0 StatusBarStyle.qml
+SwitchStyle 2.0 SwitchStyle.qml
+TabViewStyle 2.0 TabViewStyle.qml
+TableViewStyle 2.0 TableViewStyle.qml
+TextAreaStyle 2.0 TextAreaStyle.qml
+TextFieldStyle 2.0 TextFieldStyle.qml
+ToolBarStyle 2.0 ToolBarStyle.qml
+ToolButtonStyle 2.0 ToolButtonStyle.qml
+GroupBoxStyle 2.0 GroupBoxStyle.qml
+

-- 
To view, visit https://gerrit.vesnicky.cesnet.cz/r/189
To unsubscribe, visit https://gerrit.vesnicky.cesnet.cz/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic5d33bc20c7456d1478c07aca33bda63378d5c05
Gerrit-PatchSet: 1
Gerrit-Project: plasma-framework
Gerrit-Branch: master
Gerrit-Owner: Marco Martin <notmart at gmail.com>
Gerrit-Reviewer: Daker Pinheiro <dakerfp at gmail.com>
Gerrit-Reviewer: David Edmundson <david at davidedmundson.co.uk>
Gerrit-Reviewer: Sebastian Kügler <sebas at kde.org>


More information about the Plasma-devel mailing list