[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    Change in plasma-framework[master]: move the controls to an independent style
From:       "Marco Martin (Code Review)" <noreply () kde ! org>
Date:       2014-12-01 12:26:28
Message-ID: gerrit.1417436771907.Ic5d33bc20c7456d1478c07aca33bda63378d5c05 () gerrit ! vesnicky ! cesnet ! cz
[Download RAW message or body]

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@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@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@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@gmail.com>
-*   Copyright (C) 2011 Marco Martin <mart@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@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@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@kde.org>
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@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@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@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@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@gmail.com>
- *   Copyright (C) 2011 by Marco Martin <mart@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@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@gmail.com>
- *   Copyright (C) 2011 by Marco Martin <mart@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@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@gmail.com>
- *   Copyright (C) 2011 by Marco Martin <mart@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@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@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@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@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@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@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@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@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@kde.org>
+ *   Copyright 2014 by David Edmundson <davidedmundson@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@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@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@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@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@kde.org>
+ *   Copyright 2014 by David Edmundson <davidedmundson@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@gmail.com>
Gerrit-Reviewer: Daker Pinheiro <dakerfp@gmail.com>
Gerrit-Reviewer: David Edmundson <david@davidedmundson.co.uk>
Gerrit-Reviewer: Sebastian Kügler <sebas@kde.org>
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic