From c8a9f6c909c81b4d0d33e3ad15e4a8eebf9ac858 Mon Sep 17 00:00:00 2001
From: Liang Qi <liang.qi@digia.com>
Date: Mon, 26 Nov 2012 11:10:48 +0100
Subject: [PATCH] Modularized for Qt 5

Still missing sth from qmake, it doesn't support non c++ module
correctly yet(there is no CXX_MODULE in our project).

Change-Id: I9a6a754e863b51b3e3a4b1eaf864ddab24e92f75
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
---
 .qmake.conf                                   |  1 +
 README                                        |  4 +-
 desktop.pro                                   |  8 --
 desktop.qmlproject                            | 18 ----
 imports/QtDesktop/components.pro              | 85 -------------------
 qtdesktopcomponents.pro                       |  6 ++
 .../qtdesktop}/ApplicationWindow.qml          |  0
 .../QtDesktop => src/qtdesktop}/Button.qml    |  0
 .../qtdesktop}/ButtonColumn.qml               |  0
 .../QtDesktop => src/qtdesktop}/ButtonRow.qml |  0
 .../QtDesktop => src/qtdesktop}/CheckBox.qml  |  0
 .../QtDesktop => src/qtdesktop}/ComboBox.qml  |  0
 .../qtdesktop}/ContextMenu.qml                |  0
 {imports/QtDesktop => src/qtdesktop}/Dial.qml |  0
 .../QtDesktop => src/qtdesktop}/Dialog.qml    |  0
 .../QtDesktop => src/qtdesktop}/Frame.qml     |  0
 .../QtDesktop => src/qtdesktop}/GroupBox.qml  |  0
 .../QtDesktop => src/qtdesktop}/Label.qml     |  0
 .../qtdesktop}/ProgressBar.qml                |  0
 .../qtdesktop}/RadioButton.qml                |  0
 .../qtdesktop}/ScrollArea.qml                 |  0
 .../QtDesktop => src/qtdesktop}/ScrollBar.qml |  0
 .../QtDesktop => src/qtdesktop}/Slider.qml    |  0
 .../QtDesktop => src/qtdesktop}/SpinBox.qml   |  0
 .../qtdesktop}/SplitterColumn.qml             |  0
 .../qtdesktop}/SplitterRow.qml                |  0
 .../QtDesktop => src/qtdesktop}/StatusBar.qml |  0
 {imports/QtDesktop => src/qtdesktop}/Tab.qml  |  0
 .../QtDesktop => src/qtdesktop}/TabBar.qml    |  0
 .../QtDesktop => src/qtdesktop}/TabFrame.qml  |  0
 .../qtdesktop}/TableColumn.qml                |  0
 .../QtDesktop => src/qtdesktop}/TableView.qml |  0
 .../QtDesktop => src/qtdesktop}/TextArea.qml  |  0
 .../QtDesktop => src/qtdesktop}/TextField.qml |  0
 .../QtDesktop => src/qtdesktop}/ToolBar.qml   |  0
 .../qtdesktop}/ToolButton.qml                 |  0
 .../qtdesktop}/plugins.qmltypes               |  0
 .../qtdesktop}/private/BasicButton.qml        |  0
 .../qtdesktop}/private/ButtonBehavior.qml     |  0
 .../qtdesktop}/private/ButtonGroup.js         |  0
 .../qtdesktop}/private/ModalPopupBehavior.qml |  0
 .../qtdesktop}/private/ScrollAreaHelper.qml   |  0
 .../qtdesktop}/private/Splitter.qml           |  0
 src/{ => qtdesktop}/qdesktopitem.cpp          |  0
 src/{ => qtdesktop}/qdesktopitem.h            |  0
 src/{ => qtdesktop}/qfiledialogitem.cpp       |  0
 src/{ => qtdesktop}/qfiledialogitem.h         |  0
 {imports/QtDesktop => src/qtdesktop}/qmldir   |  0
 .../qquickcomponentsprivate.cpp               |  0
 src/{ => qtdesktop}/qquickcomponentsprivate.h |  0
 src/{ => qtdesktop}/qquicklayout.cpp          |  0
 src/{ => qtdesktop}/qquicklayout.h            |  0
 src/{ => qtdesktop}/qquicklayoutengine.cpp    |  0
 src/{ => qtdesktop}/qquicklayoutengine_p.h    |  0
 src/{ => qtdesktop}/qquicklinearlayout.cpp    |  0
 src/{ => qtdesktop}/qquicklinearlayout.h      |  0
 src/{ => qtdesktop}/qrangemodel.cpp           |  0
 src/{ => qtdesktop}/qrangemodel.h             |  0
 src/{ => qtdesktop}/qrangemodel_p.h           |  0
 src/{ => qtdesktop}/qstyleitem.cpp            |  0
 src/{ => qtdesktop}/qstyleitem.h              |  0
 src/{ => qtdesktop}/qstyleplugin.cpp          |  0
 src/{ => qtdesktop}/qstyleplugin.h            |  0
 src/qtdesktop/qtdesktop.pro                   | 58 +++++++++++++
 src/{ => qtdesktop}/qtmenu.cpp                |  0
 src/{ => qtdesktop}/qtmenu.h                  |  0
 src/{ => qtdesktop}/qtmenubar.cpp             |  0
 src/{ => qtdesktop}/qtmenubar.h               |  0
 src/{ => qtdesktop}/qtmenuitem.cpp            |  0
 src/{ => qtdesktop}/qtmenuitem.h              |  0
 src/{ => qtdesktop}/qtsplitterbase.cpp        |  0
 src/{ => qtdesktop}/qtsplitterbase.h          |  0
 src/{ => qtdesktop}/qwheelarea.cpp            |  0
 src/{ => qtdesktop}/qwheelarea.h              |  0
 src/{ => qtdesktop}/styleplugin.json          |  0
 src/qtdesktop/styleplugin.pri                 | 35 ++++++++
 src/src.pro                                   | 59 +------------
 .../Styles => src/styles}/ButtonStyle.qml     |  0
 .../Styles => src/styles}/CheckBoxStyle.qml   |  0
 .../Styles => src/styles}/ComboBoxStyle.qml   |  0
 .../styles}/Desktop/ButtonStyle.qml           |  0
 .../styles}/Desktop/CheckBoxStyle.qml         |  0
 .../styles}/Desktop/ComboBoxStyle.qml         |  0
 .../styles}/Desktop/FrameStyle.qml            |  0
 .../styles}/Desktop/GroupBoxStyle.qml         |  0
 .../styles}/Desktop/ProgressBarStyle.qml      |  0
 .../styles}/Desktop/RadioButtonStyle.qml      |  0
 .../styles}/Desktop/ScrollAreaStyle.qml       |  0
 .../styles}/Desktop/ScrollBarStyle.qml        |  0
 .../styles}/Desktop/SliderStyle.qml           |  0
 .../styles}/Desktop/SpinBoxStyle.qml          |  0
 .../styles}/Desktop/TabBarStyle.qml           |  0
 .../styles}/Desktop/TabFrameStyle.qml         |  0
 .../styles}/Desktop/TextFieldStyle.qml        |  0
 .../styles}/Desktop/ToolBarStyle.qml          |  0
 .../styles}/Desktop/ToolButtonStyle.qml       |  0
 .../Styles => src/styles}/FrameStyle.qml      |  0
 .../Styles => src/styles}/GroupBoxStyle.qml   |  0
 .../styles}/ProgressBarStyle.qml              |  0
 .../styles}/RadioButtonStyle.qml              |  0
 .../Styles => src/styles}/ScrollAreaStyle.qml |  0
 .../Styles => src/styles}/ScrollBarStyle.qml  |  0
 .../Styles => src/styles}/Settings.js         |  0
 .../Styles => src/styles}/SliderStyle.qml     |  0
 .../Styles => src/styles}/SpinBoxStyle.qml    |  0
 .../Styles => src/styles}/TabBarStyle.qml     |  0
 .../Styles => src/styles}/TabFrameStyle.qml   |  0
 .../Styles => src/styles}/TextFieldStyle.qml  |  0
 .../Styles => src/styles}/ToolBarStyle.qml    |  0
 .../Styles => src/styles}/ToolButtonStyle.qml |  0
 .../QtDesktop/Styles => src/styles}/qmldir    |  0
 src/styles/styles.pro                         | 41 +++++++++
 sync.profile                                  |  1 -
 {qmlwidget => tools/qmlwidget}/main.cpp       |  0
 {qmlwidget => tools/qmlwidget}/qmlwidget.pro  |  0
 115 files changed, 145 insertions(+), 171 deletions(-)
 create mode 100644 .qmake.conf
 delete mode 100644 desktop.pro
 delete mode 100644 desktop.qmlproject
 delete mode 100644 imports/QtDesktop/components.pro
 create mode 100644 qtdesktopcomponents.pro
 rename {imports/QtDesktop => src/qtdesktop}/ApplicationWindow.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/Button.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/ButtonColumn.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/ButtonRow.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/CheckBox.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/ComboBox.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/ContextMenu.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/Dial.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/Dialog.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/Frame.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/GroupBox.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/Label.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/ProgressBar.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/RadioButton.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/ScrollArea.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/ScrollBar.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/Slider.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/SpinBox.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/SplitterColumn.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/SplitterRow.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/StatusBar.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/Tab.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/TabBar.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/TabFrame.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/TableColumn.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/TableView.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/TextArea.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/TextField.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/ToolBar.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/ToolButton.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/plugins.qmltypes (100%)
 rename {imports/QtDesktop => src/qtdesktop}/private/BasicButton.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/private/ButtonBehavior.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/private/ButtonGroup.js (100%)
 rename {imports/QtDesktop => src/qtdesktop}/private/ModalPopupBehavior.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/private/ScrollAreaHelper.qml (100%)
 rename {imports/QtDesktop => src/qtdesktop}/private/Splitter.qml (100%)
 rename src/{ => qtdesktop}/qdesktopitem.cpp (100%)
 rename src/{ => qtdesktop}/qdesktopitem.h (100%)
 rename src/{ => qtdesktop}/qfiledialogitem.cpp (100%)
 rename src/{ => qtdesktop}/qfiledialogitem.h (100%)
 rename {imports/QtDesktop => src/qtdesktop}/qmldir (100%)
 rename src/{ => qtdesktop}/qquickcomponentsprivate.cpp (100%)
 rename src/{ => qtdesktop}/qquickcomponentsprivate.h (100%)
 rename src/{ => qtdesktop}/qquicklayout.cpp (100%)
 rename src/{ => qtdesktop}/qquicklayout.h (100%)
 rename src/{ => qtdesktop}/qquicklayoutengine.cpp (100%)
 rename src/{ => qtdesktop}/qquicklayoutengine_p.h (100%)
 rename src/{ => qtdesktop}/qquicklinearlayout.cpp (100%)
 rename src/{ => qtdesktop}/qquicklinearlayout.h (100%)
 rename src/{ => qtdesktop}/qrangemodel.cpp (100%)
 rename src/{ => qtdesktop}/qrangemodel.h (100%)
 rename src/{ => qtdesktop}/qrangemodel_p.h (100%)
 rename src/{ => qtdesktop}/qstyleitem.cpp (100%)
 rename src/{ => qtdesktop}/qstyleitem.h (100%)
 rename src/{ => qtdesktop}/qstyleplugin.cpp (100%)
 rename src/{ => qtdesktop}/qstyleplugin.h (100%)
 create mode 100644 src/qtdesktop/qtdesktop.pro
 rename src/{ => qtdesktop}/qtmenu.cpp (100%)
 rename src/{ => qtdesktop}/qtmenu.h (100%)
 rename src/{ => qtdesktop}/qtmenubar.cpp (100%)
 rename src/{ => qtdesktop}/qtmenubar.h (100%)
 rename src/{ => qtdesktop}/qtmenuitem.cpp (100%)
 rename src/{ => qtdesktop}/qtmenuitem.h (100%)
 rename src/{ => qtdesktop}/qtsplitterbase.cpp (100%)
 rename src/{ => qtdesktop}/qtsplitterbase.h (100%)
 rename src/{ => qtdesktop}/qwheelarea.cpp (100%)
 rename src/{ => qtdesktop}/qwheelarea.h (100%)
 rename src/{ => qtdesktop}/styleplugin.json (100%)
 create mode 100644 src/qtdesktop/styleplugin.pri
 rename {imports/QtDesktop/Styles => src/styles}/ButtonStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/CheckBoxStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/ComboBoxStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/Desktop/ButtonStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/Desktop/CheckBoxStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/Desktop/ComboBoxStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/Desktop/FrameStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/Desktop/GroupBoxStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/Desktop/ProgressBarStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/Desktop/RadioButtonStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/Desktop/ScrollAreaStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/Desktop/ScrollBarStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/Desktop/SliderStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/Desktop/SpinBoxStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/Desktop/TabBarStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/Desktop/TabFrameStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/Desktop/TextFieldStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/Desktop/ToolBarStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/Desktop/ToolButtonStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/FrameStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/GroupBoxStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/ProgressBarStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/RadioButtonStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/ScrollAreaStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/ScrollBarStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/Settings.js (100%)
 rename {imports/QtDesktop/Styles => src/styles}/SliderStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/SpinBoxStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/TabBarStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/TabFrameStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/TextFieldStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/ToolBarStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/ToolButtonStyle.qml (100%)
 rename {imports/QtDesktop/Styles => src/styles}/qmldir (100%)
 create mode 100644 src/styles/styles.pro
 rename {qmlwidget => tools/qmlwidget}/main.cpp (100%)
 rename {qmlwidget => tools/qmlwidget}/qmlwidget.pro (100%)

diff --git a/.qmake.conf b/.qmake.conf
new file mode 100644
index 000000000..42ba8e45f
--- /dev/null
+++ b/.qmake.conf
@@ -0,0 +1 @@
+load(qt_build_config)
diff --git a/README b/README
index 911a04fcf..f0294c013 100644
--- a/README
+++ b/README
@@ -18,14 +18,14 @@ You can also contact the maintainer at: jens.bache-wiig (at) digia (dot) com
 
 INSTALLATION
 
-Note the MINIMUM REQUIREMENT for this project is that you have Qt 4.7.4. (Qt Quick 1.1)
+Note the MINIMUM REQUIREMENT for this project is that you have Qt 5.0. (Qt Quick 2)
 
 The components rely on several C++ plugins in order to integrate with the desktop. To install the
 components into your Qt directory, simply enter the root directory and do:
 
 'qmake && make install'
 
-This will compile and copy the plugins and components into your QTDIR/imports folder.
+This will compile and copy the plugins and components into your QTDIR/qml folder.
 If you are compiling against a system Qt on linux, you might have to do a 'sudo make install'
 in order to install the project.
 
diff --git a/desktop.pro b/desktop.pro
deleted file mode 100644
index 9d7cc0958..000000000
--- a/desktop.pro
+++ /dev/null
@@ -1,8 +0,0 @@
-TEMPLATE = subdirs
-
-contains(QT_CONFIG, accessibility) {
-    SUBDIRS = imports/QtDesktop/components.pro src
-} else {
-    message("Building Qt without accessibility is not supported for desktop components.")
-}
-
diff --git a/desktop.qmlproject b/desktop.qmlproject
deleted file mode 100644
index 961602a92..000000000
--- a/desktop.qmlproject
+++ /dev/null
@@ -1,18 +0,0 @@
-/* File generated by QtCreator */
-
-import QmlProject 1.0
-
-Project {
-    /* Include .qml, .js, and image files from current directory and subdirectories */
-    QmlFiles {
-        directory: "."
-    }
-    JavaScriptFiles {
-        directory: "."
-    }/*
-    ImageFiles {
-        directory: "."
-    }*/
-    /* List of plugin directories passed to QML runtime */
-    // importPaths: [ "../exampleplugin" ]
-}
diff --git a/imports/QtDesktop/components.pro b/imports/QtDesktop/components.pro
deleted file mode 100644
index d22667b1a..000000000
--- a/imports/QtDesktop/components.pro
+++ /dev/null
@@ -1,85 +0,0 @@
-TEMPLATE = subdirs # XXX: Avoid calling the linker
-TARGETPATH = QtDesktop
-
-QML_FILES = \
-            plugins.qmltypes \
-            qmldir \
-            Label.qml \
-            Button.qml \
-            ComboBox.qml \
-            Dial.qml \
-            Dialog.qml \
-            ProgressBar.qml \
-            ScrollBar.qml \
-            Switch.qml \
-            TableView.qml \
-            ToolBar.qml \
-            ButtonRow.qml \
-            ButtonColumn.qml \
-            Frame.qml \
-            Slider.qml \
-            TabBar.qml \
-            Tab.qml \
-            ToolButton.qml \
-            CheckBox.qml \
-            ContextMenu.qml \
-            GroupBox.qml \
-            RadioButton.qml \
-            SpinBox.qml \
-            TabFrame.qml \
-            TextArea.qml \
-            ScrollArea.qml \
-            SplitterRow.qml \
-            SplitterColumn.qml \
-            StatusBar.qml \
-            TableColumn.qml \
-            TextField.qml \
-            ApplicationWindow.qml \
-            Styles/ToolButtonStyle.qml \
-            Styles/ToolBarStyle.qml \
-            Styles/TextFieldStyle.qml \
-            Styles/TabBarStyle.qml \
-            Styles/TabFrameStyle.qml \
-            Styles/SpinBoxStyle.qml \
-            Styles/SliderStyle.qml \
-            Styles/ScrollBarStyle.qml \
-            Styles/ScrollAreaStyle.qml \
-            Styles/RadioButtonStyle.qml \
-            Styles/ProgressBarStyle.qml \
-            Styles/GroupBoxStyle.qml \
-            Styles/FrameStyle.qml \
-            Styles/ComboBoxStyle.qml \
-            Styles/CheckBoxStyle.qml \
-            Styles/ButtonStyle.qml \
-            Styles/Desktop/ToolButtonStyle.qml \
-            Styles/Desktop/ToolBarStyle.qml \
-            Styles/Desktop/TextFieldStyle.qml \
-            Styles/Desktop/TabBarStyle.qml \
-            Styles/Desktop/TabFrameStyle.qml \
-            Styles/Desktop/SpinBoxStyle.qml \
-            Styles/Desktop/SliderStyle.qml \
-            Styles/Desktop/ScrollBarStyle.qml \
-            Styles/Desktop/ScrollAreaStyle.qml \
-            Styles/Desktop/RadioButtonStyle.qml \
-            Styles/Desktop/ProgressBarStyle.qml \
-            Styles/Desktop/GroupBoxStyle.qml \
-            Styles/Desktop/FrameStyle.qml \
-            Styles/Desktop/ComboBoxStyle.qml \
-            Styles/Desktop/CheckBoxStyle.qml \
-            Styles/Desktop/ButtonStyle.qml
-
-QML_DIRS = \
-        custom \
-        private \
-        Styles \
-        images 
-
-qmlfiles.files = $$QML_FILES
-qmlfiles.sources = $$QML_FILES
-qmlfiles.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
-
-qmldirs.files = $$QML_DIRS
-qmldirs.sources = $$QML_DIRS
-qmldirs.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
-
-INSTALLS += qmlfiles qmldirs
diff --git a/qtdesktopcomponents.pro b/qtdesktopcomponents.pro
new file mode 100644
index 000000000..289b01810
--- /dev/null
+++ b/qtdesktopcomponents.pro
@@ -0,0 +1,6 @@
+load(qt_parts)
+
+# We need accessibility
+!contains(QT_CONFIG, accessibility) {
+    error("Building Qt without accessibility is not supported for desktop components.")
+}
diff --git a/imports/QtDesktop/ApplicationWindow.qml b/src/qtdesktop/ApplicationWindow.qml
similarity index 100%
rename from imports/QtDesktop/ApplicationWindow.qml
rename to src/qtdesktop/ApplicationWindow.qml
diff --git a/imports/QtDesktop/Button.qml b/src/qtdesktop/Button.qml
similarity index 100%
rename from imports/QtDesktop/Button.qml
rename to src/qtdesktop/Button.qml
diff --git a/imports/QtDesktop/ButtonColumn.qml b/src/qtdesktop/ButtonColumn.qml
similarity index 100%
rename from imports/QtDesktop/ButtonColumn.qml
rename to src/qtdesktop/ButtonColumn.qml
diff --git a/imports/QtDesktop/ButtonRow.qml b/src/qtdesktop/ButtonRow.qml
similarity index 100%
rename from imports/QtDesktop/ButtonRow.qml
rename to src/qtdesktop/ButtonRow.qml
diff --git a/imports/QtDesktop/CheckBox.qml b/src/qtdesktop/CheckBox.qml
similarity index 100%
rename from imports/QtDesktop/CheckBox.qml
rename to src/qtdesktop/CheckBox.qml
diff --git a/imports/QtDesktop/ComboBox.qml b/src/qtdesktop/ComboBox.qml
similarity index 100%
rename from imports/QtDesktop/ComboBox.qml
rename to src/qtdesktop/ComboBox.qml
diff --git a/imports/QtDesktop/ContextMenu.qml b/src/qtdesktop/ContextMenu.qml
similarity index 100%
rename from imports/QtDesktop/ContextMenu.qml
rename to src/qtdesktop/ContextMenu.qml
diff --git a/imports/QtDesktop/Dial.qml b/src/qtdesktop/Dial.qml
similarity index 100%
rename from imports/QtDesktop/Dial.qml
rename to src/qtdesktop/Dial.qml
diff --git a/imports/QtDesktop/Dialog.qml b/src/qtdesktop/Dialog.qml
similarity index 100%
rename from imports/QtDesktop/Dialog.qml
rename to src/qtdesktop/Dialog.qml
diff --git a/imports/QtDesktop/Frame.qml b/src/qtdesktop/Frame.qml
similarity index 100%
rename from imports/QtDesktop/Frame.qml
rename to src/qtdesktop/Frame.qml
diff --git a/imports/QtDesktop/GroupBox.qml b/src/qtdesktop/GroupBox.qml
similarity index 100%
rename from imports/QtDesktop/GroupBox.qml
rename to src/qtdesktop/GroupBox.qml
diff --git a/imports/QtDesktop/Label.qml b/src/qtdesktop/Label.qml
similarity index 100%
rename from imports/QtDesktop/Label.qml
rename to src/qtdesktop/Label.qml
diff --git a/imports/QtDesktop/ProgressBar.qml b/src/qtdesktop/ProgressBar.qml
similarity index 100%
rename from imports/QtDesktop/ProgressBar.qml
rename to src/qtdesktop/ProgressBar.qml
diff --git a/imports/QtDesktop/RadioButton.qml b/src/qtdesktop/RadioButton.qml
similarity index 100%
rename from imports/QtDesktop/RadioButton.qml
rename to src/qtdesktop/RadioButton.qml
diff --git a/imports/QtDesktop/ScrollArea.qml b/src/qtdesktop/ScrollArea.qml
similarity index 100%
rename from imports/QtDesktop/ScrollArea.qml
rename to src/qtdesktop/ScrollArea.qml
diff --git a/imports/QtDesktop/ScrollBar.qml b/src/qtdesktop/ScrollBar.qml
similarity index 100%
rename from imports/QtDesktop/ScrollBar.qml
rename to src/qtdesktop/ScrollBar.qml
diff --git a/imports/QtDesktop/Slider.qml b/src/qtdesktop/Slider.qml
similarity index 100%
rename from imports/QtDesktop/Slider.qml
rename to src/qtdesktop/Slider.qml
diff --git a/imports/QtDesktop/SpinBox.qml b/src/qtdesktop/SpinBox.qml
similarity index 100%
rename from imports/QtDesktop/SpinBox.qml
rename to src/qtdesktop/SpinBox.qml
diff --git a/imports/QtDesktop/SplitterColumn.qml b/src/qtdesktop/SplitterColumn.qml
similarity index 100%
rename from imports/QtDesktop/SplitterColumn.qml
rename to src/qtdesktop/SplitterColumn.qml
diff --git a/imports/QtDesktop/SplitterRow.qml b/src/qtdesktop/SplitterRow.qml
similarity index 100%
rename from imports/QtDesktop/SplitterRow.qml
rename to src/qtdesktop/SplitterRow.qml
diff --git a/imports/QtDesktop/StatusBar.qml b/src/qtdesktop/StatusBar.qml
similarity index 100%
rename from imports/QtDesktop/StatusBar.qml
rename to src/qtdesktop/StatusBar.qml
diff --git a/imports/QtDesktop/Tab.qml b/src/qtdesktop/Tab.qml
similarity index 100%
rename from imports/QtDesktop/Tab.qml
rename to src/qtdesktop/Tab.qml
diff --git a/imports/QtDesktop/TabBar.qml b/src/qtdesktop/TabBar.qml
similarity index 100%
rename from imports/QtDesktop/TabBar.qml
rename to src/qtdesktop/TabBar.qml
diff --git a/imports/QtDesktop/TabFrame.qml b/src/qtdesktop/TabFrame.qml
similarity index 100%
rename from imports/QtDesktop/TabFrame.qml
rename to src/qtdesktop/TabFrame.qml
diff --git a/imports/QtDesktop/TableColumn.qml b/src/qtdesktop/TableColumn.qml
similarity index 100%
rename from imports/QtDesktop/TableColumn.qml
rename to src/qtdesktop/TableColumn.qml
diff --git a/imports/QtDesktop/TableView.qml b/src/qtdesktop/TableView.qml
similarity index 100%
rename from imports/QtDesktop/TableView.qml
rename to src/qtdesktop/TableView.qml
diff --git a/imports/QtDesktop/TextArea.qml b/src/qtdesktop/TextArea.qml
similarity index 100%
rename from imports/QtDesktop/TextArea.qml
rename to src/qtdesktop/TextArea.qml
diff --git a/imports/QtDesktop/TextField.qml b/src/qtdesktop/TextField.qml
similarity index 100%
rename from imports/QtDesktop/TextField.qml
rename to src/qtdesktop/TextField.qml
diff --git a/imports/QtDesktop/ToolBar.qml b/src/qtdesktop/ToolBar.qml
similarity index 100%
rename from imports/QtDesktop/ToolBar.qml
rename to src/qtdesktop/ToolBar.qml
diff --git a/imports/QtDesktop/ToolButton.qml b/src/qtdesktop/ToolButton.qml
similarity index 100%
rename from imports/QtDesktop/ToolButton.qml
rename to src/qtdesktop/ToolButton.qml
diff --git a/imports/QtDesktop/plugins.qmltypes b/src/qtdesktop/plugins.qmltypes
similarity index 100%
rename from imports/QtDesktop/plugins.qmltypes
rename to src/qtdesktop/plugins.qmltypes
diff --git a/imports/QtDesktop/private/BasicButton.qml b/src/qtdesktop/private/BasicButton.qml
similarity index 100%
rename from imports/QtDesktop/private/BasicButton.qml
rename to src/qtdesktop/private/BasicButton.qml
diff --git a/imports/QtDesktop/private/ButtonBehavior.qml b/src/qtdesktop/private/ButtonBehavior.qml
similarity index 100%
rename from imports/QtDesktop/private/ButtonBehavior.qml
rename to src/qtdesktop/private/ButtonBehavior.qml
diff --git a/imports/QtDesktop/private/ButtonGroup.js b/src/qtdesktop/private/ButtonGroup.js
similarity index 100%
rename from imports/QtDesktop/private/ButtonGroup.js
rename to src/qtdesktop/private/ButtonGroup.js
diff --git a/imports/QtDesktop/private/ModalPopupBehavior.qml b/src/qtdesktop/private/ModalPopupBehavior.qml
similarity index 100%
rename from imports/QtDesktop/private/ModalPopupBehavior.qml
rename to src/qtdesktop/private/ModalPopupBehavior.qml
diff --git a/imports/QtDesktop/private/ScrollAreaHelper.qml b/src/qtdesktop/private/ScrollAreaHelper.qml
similarity index 100%
rename from imports/QtDesktop/private/ScrollAreaHelper.qml
rename to src/qtdesktop/private/ScrollAreaHelper.qml
diff --git a/imports/QtDesktop/private/Splitter.qml b/src/qtdesktop/private/Splitter.qml
similarity index 100%
rename from imports/QtDesktop/private/Splitter.qml
rename to src/qtdesktop/private/Splitter.qml
diff --git a/src/qdesktopitem.cpp b/src/qtdesktop/qdesktopitem.cpp
similarity index 100%
rename from src/qdesktopitem.cpp
rename to src/qtdesktop/qdesktopitem.cpp
diff --git a/src/qdesktopitem.h b/src/qtdesktop/qdesktopitem.h
similarity index 100%
rename from src/qdesktopitem.h
rename to src/qtdesktop/qdesktopitem.h
diff --git a/src/qfiledialogitem.cpp b/src/qtdesktop/qfiledialogitem.cpp
similarity index 100%
rename from src/qfiledialogitem.cpp
rename to src/qtdesktop/qfiledialogitem.cpp
diff --git a/src/qfiledialogitem.h b/src/qtdesktop/qfiledialogitem.h
similarity index 100%
rename from src/qfiledialogitem.h
rename to src/qtdesktop/qfiledialogitem.h
diff --git a/imports/QtDesktop/qmldir b/src/qtdesktop/qmldir
similarity index 100%
rename from imports/QtDesktop/qmldir
rename to src/qtdesktop/qmldir
diff --git a/src/qquickcomponentsprivate.cpp b/src/qtdesktop/qquickcomponentsprivate.cpp
similarity index 100%
rename from src/qquickcomponentsprivate.cpp
rename to src/qtdesktop/qquickcomponentsprivate.cpp
diff --git a/src/qquickcomponentsprivate.h b/src/qtdesktop/qquickcomponentsprivate.h
similarity index 100%
rename from src/qquickcomponentsprivate.h
rename to src/qtdesktop/qquickcomponentsprivate.h
diff --git a/src/qquicklayout.cpp b/src/qtdesktop/qquicklayout.cpp
similarity index 100%
rename from src/qquicklayout.cpp
rename to src/qtdesktop/qquicklayout.cpp
diff --git a/src/qquicklayout.h b/src/qtdesktop/qquicklayout.h
similarity index 100%
rename from src/qquicklayout.h
rename to src/qtdesktop/qquicklayout.h
diff --git a/src/qquicklayoutengine.cpp b/src/qtdesktop/qquicklayoutengine.cpp
similarity index 100%
rename from src/qquicklayoutengine.cpp
rename to src/qtdesktop/qquicklayoutengine.cpp
diff --git a/src/qquicklayoutengine_p.h b/src/qtdesktop/qquicklayoutengine_p.h
similarity index 100%
rename from src/qquicklayoutengine_p.h
rename to src/qtdesktop/qquicklayoutengine_p.h
diff --git a/src/qquicklinearlayout.cpp b/src/qtdesktop/qquicklinearlayout.cpp
similarity index 100%
rename from src/qquicklinearlayout.cpp
rename to src/qtdesktop/qquicklinearlayout.cpp
diff --git a/src/qquicklinearlayout.h b/src/qtdesktop/qquicklinearlayout.h
similarity index 100%
rename from src/qquicklinearlayout.h
rename to src/qtdesktop/qquicklinearlayout.h
diff --git a/src/qrangemodel.cpp b/src/qtdesktop/qrangemodel.cpp
similarity index 100%
rename from src/qrangemodel.cpp
rename to src/qtdesktop/qrangemodel.cpp
diff --git a/src/qrangemodel.h b/src/qtdesktop/qrangemodel.h
similarity index 100%
rename from src/qrangemodel.h
rename to src/qtdesktop/qrangemodel.h
diff --git a/src/qrangemodel_p.h b/src/qtdesktop/qrangemodel_p.h
similarity index 100%
rename from src/qrangemodel_p.h
rename to src/qtdesktop/qrangemodel_p.h
diff --git a/src/qstyleitem.cpp b/src/qtdesktop/qstyleitem.cpp
similarity index 100%
rename from src/qstyleitem.cpp
rename to src/qtdesktop/qstyleitem.cpp
diff --git a/src/qstyleitem.h b/src/qtdesktop/qstyleitem.h
similarity index 100%
rename from src/qstyleitem.h
rename to src/qtdesktop/qstyleitem.h
diff --git a/src/qstyleplugin.cpp b/src/qtdesktop/qstyleplugin.cpp
similarity index 100%
rename from src/qstyleplugin.cpp
rename to src/qtdesktop/qstyleplugin.cpp
diff --git a/src/qstyleplugin.h b/src/qtdesktop/qstyleplugin.h
similarity index 100%
rename from src/qstyleplugin.h
rename to src/qtdesktop/qstyleplugin.h
diff --git a/src/qtdesktop/qtdesktop.pro b/src/qtdesktop/qtdesktop.pro
new file mode 100644
index 000000000..d348cd71f
--- /dev/null
+++ b/src/qtdesktop/qtdesktop.pro
@@ -0,0 +1,58 @@
+QT += qml quick widgets
+
+TARGETPATH = QtDesktop
+
+QML_FILES = \
+    ApplicationWindow.qml \
+    Button.qml \
+    ButtonColumn.qml \
+    ButtonRow.qml \
+    CheckBox.qml \
+    ComboBox.qml \
+    ContextMenu.qml \
+    Dial.qml \
+    Dialog.qml \
+    Frame.qml \
+    GroupBox.qml \
+    Label.qml \
+    ProgressBar.qml \
+    RadioButton.qml \
+    ScrollArea.qml \
+    ScrollBar.qml \
+    Slider.qml \
+    SpinBox.qml \
+    SplitterColumn.qml \
+    SplitterRow.qml \
+    StatusBar.qml \
+    Tab.qml \
+    TabBar.qml \
+    TabFrame.qml \
+    TableColumn.qml \
+    TableView.qml \
+    TextArea.qml \
+    TextField.qml \
+    ToolBar.qml \
+    ToolButton.qml
+
+# private qml files
+QML_FILES += \
+    private/BasicButton.qml \
+    private/ButtonBehavior.qml \
+    private/ButtonGroup.js \
+    private/ModalPopupBehavior.qml \
+    private/ScrollAreaHelper.qml \
+    private/Splitter.qml
+
+include(styleplugin.pri)
+
+DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
+
+mac {
+    LIBS += -framework Carbon
+}
+
+load(qml_plugin)
+
+#tmp solution for QTBUG-28200
+TARGET = $$qtLibraryTarget(styleplugin)
+DESTDIR = $$QT.core.qml/QtDesktop/plugin
diff --git a/src/qtmenu.cpp b/src/qtdesktop/qtmenu.cpp
similarity index 100%
rename from src/qtmenu.cpp
rename to src/qtdesktop/qtmenu.cpp
diff --git a/src/qtmenu.h b/src/qtdesktop/qtmenu.h
similarity index 100%
rename from src/qtmenu.h
rename to src/qtdesktop/qtmenu.h
diff --git a/src/qtmenubar.cpp b/src/qtdesktop/qtmenubar.cpp
similarity index 100%
rename from src/qtmenubar.cpp
rename to src/qtdesktop/qtmenubar.cpp
diff --git a/src/qtmenubar.h b/src/qtdesktop/qtmenubar.h
similarity index 100%
rename from src/qtmenubar.h
rename to src/qtdesktop/qtmenubar.h
diff --git a/src/qtmenuitem.cpp b/src/qtdesktop/qtmenuitem.cpp
similarity index 100%
rename from src/qtmenuitem.cpp
rename to src/qtdesktop/qtmenuitem.cpp
diff --git a/src/qtmenuitem.h b/src/qtdesktop/qtmenuitem.h
similarity index 100%
rename from src/qtmenuitem.h
rename to src/qtdesktop/qtmenuitem.h
diff --git a/src/qtsplitterbase.cpp b/src/qtdesktop/qtsplitterbase.cpp
similarity index 100%
rename from src/qtsplitterbase.cpp
rename to src/qtdesktop/qtsplitterbase.cpp
diff --git a/src/qtsplitterbase.h b/src/qtdesktop/qtsplitterbase.h
similarity index 100%
rename from src/qtsplitterbase.h
rename to src/qtdesktop/qtsplitterbase.h
diff --git a/src/qwheelarea.cpp b/src/qtdesktop/qwheelarea.cpp
similarity index 100%
rename from src/qwheelarea.cpp
rename to src/qtdesktop/qwheelarea.cpp
diff --git a/src/qwheelarea.h b/src/qtdesktop/qwheelarea.h
similarity index 100%
rename from src/qwheelarea.h
rename to src/qtdesktop/qwheelarea.h
diff --git a/src/styleplugin.json b/src/qtdesktop/styleplugin.json
similarity index 100%
rename from src/styleplugin.json
rename to src/qtdesktop/styleplugin.json
diff --git a/src/qtdesktop/styleplugin.pri b/src/qtdesktop/styleplugin.pri
new file mode 100644
index 000000000..5083a873e
--- /dev/null
+++ b/src/qtdesktop/styleplugin.pri
@@ -0,0 +1,35 @@
+HEADERS += \
+    qdesktopitem.h \
+    qfiledialogitem.h \
+    qquickcomponentsprivate.h \
+    qquicklayout.h \
+    qquicklayoutengine_p.h \
+    qquicklinearlayout.h \
+    qrangemodel.h \
+    qrangemodel_p.h \
+    qstyleitem.h \
+    qstyleplugin.h \
+    qtmenu.h \
+    qtmenubar.h \
+    qtmenuitem.h \
+    qtsplitterbase.h \
+    qwheelarea.h
+
+SOURCES += \
+    qdesktopitem.cpp \
+    qfiledialogitem.cpp \
+    qquickcomponentsprivate.cpp \
+    qquicklayout.cpp \
+    qquicklayoutengine.cpp \
+    qquicklinearlayout.cpp \
+    qrangemodel.cpp \
+    qstyleitem.cpp \
+    qstyleplugin.cpp \
+    qtmenu.cpp \
+    qtmenubar.cpp \
+    qtmenuitem.cpp \
+    qtsplitterbase.cpp \
+    qwheelarea.cpp
+
+OTHER_FILES += \
+    styleplugin.json
diff --git a/src/src.pro b/src/src.pro
index 2114df781..3b0d512ec 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -1,58 +1,3 @@
-TEMPLATE = lib
-CONFIG += qt plugin
-QT += qml
-QT += quick
-QT += widgets
+TEMPLATE = subdirs
 
-TARGET  = styleplugin
-
-DESTDIR = ../imports/QtDesktop/plugin
-OBJECTS_DIR = obj
-MOC_DIR = moc
-
-HEADERS += qtmenu.h \
-           qtmenubar.h \
-           qrangemodel_p.h \
-           qrangemodel.h \
-           qstyleplugin.h \
-           qstyleitem.h \
-           qwheelarea.h \
-           qtmenuitem.h \
-           qdesktopitem.h \
-           qquicklayoutengine_p.h \
-           qquicklayout.h \
-           qquicklinearlayout.h \
-           qquickcomponentsprivate.h \
-           qtsplitterbase.h \
-           qfiledialogitem.h
-
-SOURCES += qtmenu.cpp \
-           qtmenubar.cpp \
-           qrangemodel.cpp \
-           qstyleplugin.cpp \
-           qstyleitem.cpp \
-           qwheelarea.cpp \
-           qtmenuitem.cpp \
-           qdesktopitem.cpp \
-           qquicklayout.cpp \
-           qquicklayoutengine.cpp \
-           qquicklinearlayout.cpp \
-           qquickcomponentsprivate.cpp \
-           qtsplitterbase.cpp \
-           qfiledialogitem.cpp
-
-TARGETPATH = QtDesktop/plugin
-
-target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
-
-win32 {
-    CONFIG(debug, debug|release) {
-        TARGET = $$member(TARGET, 0)d
-    }
-}
-
-mac {
-    LIBS += -framework Carbon
-}
-
-INSTALLS += target
+SUBDIRS += qtdesktop styles
diff --git a/imports/QtDesktop/Styles/ButtonStyle.qml b/src/styles/ButtonStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/ButtonStyle.qml
rename to src/styles/ButtonStyle.qml
diff --git a/imports/QtDesktop/Styles/CheckBoxStyle.qml b/src/styles/CheckBoxStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/CheckBoxStyle.qml
rename to src/styles/CheckBoxStyle.qml
diff --git a/imports/QtDesktop/Styles/ComboBoxStyle.qml b/src/styles/ComboBoxStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/ComboBoxStyle.qml
rename to src/styles/ComboBoxStyle.qml
diff --git a/imports/QtDesktop/Styles/Desktop/ButtonStyle.qml b/src/styles/Desktop/ButtonStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/Desktop/ButtonStyle.qml
rename to src/styles/Desktop/ButtonStyle.qml
diff --git a/imports/QtDesktop/Styles/Desktop/CheckBoxStyle.qml b/src/styles/Desktop/CheckBoxStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/Desktop/CheckBoxStyle.qml
rename to src/styles/Desktop/CheckBoxStyle.qml
diff --git a/imports/QtDesktop/Styles/Desktop/ComboBoxStyle.qml b/src/styles/Desktop/ComboBoxStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/Desktop/ComboBoxStyle.qml
rename to src/styles/Desktop/ComboBoxStyle.qml
diff --git a/imports/QtDesktop/Styles/Desktop/FrameStyle.qml b/src/styles/Desktop/FrameStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/Desktop/FrameStyle.qml
rename to src/styles/Desktop/FrameStyle.qml
diff --git a/imports/QtDesktop/Styles/Desktop/GroupBoxStyle.qml b/src/styles/Desktop/GroupBoxStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/Desktop/GroupBoxStyle.qml
rename to src/styles/Desktop/GroupBoxStyle.qml
diff --git a/imports/QtDesktop/Styles/Desktop/ProgressBarStyle.qml b/src/styles/Desktop/ProgressBarStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/Desktop/ProgressBarStyle.qml
rename to src/styles/Desktop/ProgressBarStyle.qml
diff --git a/imports/QtDesktop/Styles/Desktop/RadioButtonStyle.qml b/src/styles/Desktop/RadioButtonStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/Desktop/RadioButtonStyle.qml
rename to src/styles/Desktop/RadioButtonStyle.qml
diff --git a/imports/QtDesktop/Styles/Desktop/ScrollAreaStyle.qml b/src/styles/Desktop/ScrollAreaStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/Desktop/ScrollAreaStyle.qml
rename to src/styles/Desktop/ScrollAreaStyle.qml
diff --git a/imports/QtDesktop/Styles/Desktop/ScrollBarStyle.qml b/src/styles/Desktop/ScrollBarStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/Desktop/ScrollBarStyle.qml
rename to src/styles/Desktop/ScrollBarStyle.qml
diff --git a/imports/QtDesktop/Styles/Desktop/SliderStyle.qml b/src/styles/Desktop/SliderStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/Desktop/SliderStyle.qml
rename to src/styles/Desktop/SliderStyle.qml
diff --git a/imports/QtDesktop/Styles/Desktop/SpinBoxStyle.qml b/src/styles/Desktop/SpinBoxStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/Desktop/SpinBoxStyle.qml
rename to src/styles/Desktop/SpinBoxStyle.qml
diff --git a/imports/QtDesktop/Styles/Desktop/TabBarStyle.qml b/src/styles/Desktop/TabBarStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/Desktop/TabBarStyle.qml
rename to src/styles/Desktop/TabBarStyle.qml
diff --git a/imports/QtDesktop/Styles/Desktop/TabFrameStyle.qml b/src/styles/Desktop/TabFrameStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/Desktop/TabFrameStyle.qml
rename to src/styles/Desktop/TabFrameStyle.qml
diff --git a/imports/QtDesktop/Styles/Desktop/TextFieldStyle.qml b/src/styles/Desktop/TextFieldStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/Desktop/TextFieldStyle.qml
rename to src/styles/Desktop/TextFieldStyle.qml
diff --git a/imports/QtDesktop/Styles/Desktop/ToolBarStyle.qml b/src/styles/Desktop/ToolBarStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/Desktop/ToolBarStyle.qml
rename to src/styles/Desktop/ToolBarStyle.qml
diff --git a/imports/QtDesktop/Styles/Desktop/ToolButtonStyle.qml b/src/styles/Desktop/ToolButtonStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/Desktop/ToolButtonStyle.qml
rename to src/styles/Desktop/ToolButtonStyle.qml
diff --git a/imports/QtDesktop/Styles/FrameStyle.qml b/src/styles/FrameStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/FrameStyle.qml
rename to src/styles/FrameStyle.qml
diff --git a/imports/QtDesktop/Styles/GroupBoxStyle.qml b/src/styles/GroupBoxStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/GroupBoxStyle.qml
rename to src/styles/GroupBoxStyle.qml
diff --git a/imports/QtDesktop/Styles/ProgressBarStyle.qml b/src/styles/ProgressBarStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/ProgressBarStyle.qml
rename to src/styles/ProgressBarStyle.qml
diff --git a/imports/QtDesktop/Styles/RadioButtonStyle.qml b/src/styles/RadioButtonStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/RadioButtonStyle.qml
rename to src/styles/RadioButtonStyle.qml
diff --git a/imports/QtDesktop/Styles/ScrollAreaStyle.qml b/src/styles/ScrollAreaStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/ScrollAreaStyle.qml
rename to src/styles/ScrollAreaStyle.qml
diff --git a/imports/QtDesktop/Styles/ScrollBarStyle.qml b/src/styles/ScrollBarStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/ScrollBarStyle.qml
rename to src/styles/ScrollBarStyle.qml
diff --git a/imports/QtDesktop/Styles/Settings.js b/src/styles/Settings.js
similarity index 100%
rename from imports/QtDesktop/Styles/Settings.js
rename to src/styles/Settings.js
diff --git a/imports/QtDesktop/Styles/SliderStyle.qml b/src/styles/SliderStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/SliderStyle.qml
rename to src/styles/SliderStyle.qml
diff --git a/imports/QtDesktop/Styles/SpinBoxStyle.qml b/src/styles/SpinBoxStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/SpinBoxStyle.qml
rename to src/styles/SpinBoxStyle.qml
diff --git a/imports/QtDesktop/Styles/TabBarStyle.qml b/src/styles/TabBarStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/TabBarStyle.qml
rename to src/styles/TabBarStyle.qml
diff --git a/imports/QtDesktop/Styles/TabFrameStyle.qml b/src/styles/TabFrameStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/TabFrameStyle.qml
rename to src/styles/TabFrameStyle.qml
diff --git a/imports/QtDesktop/Styles/TextFieldStyle.qml b/src/styles/TextFieldStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/TextFieldStyle.qml
rename to src/styles/TextFieldStyle.qml
diff --git a/imports/QtDesktop/Styles/ToolBarStyle.qml b/src/styles/ToolBarStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/ToolBarStyle.qml
rename to src/styles/ToolBarStyle.qml
diff --git a/imports/QtDesktop/Styles/ToolButtonStyle.qml b/src/styles/ToolButtonStyle.qml
similarity index 100%
rename from imports/QtDesktop/Styles/ToolButtonStyle.qml
rename to src/styles/ToolButtonStyle.qml
diff --git a/imports/QtDesktop/Styles/qmldir b/src/styles/qmldir
similarity index 100%
rename from imports/QtDesktop/Styles/qmldir
rename to src/styles/qmldir
diff --git a/src/styles/styles.pro b/src/styles/styles.pro
new file mode 100644
index 000000000..23dd37f11
--- /dev/null
+++ b/src/styles/styles.pro
@@ -0,0 +1,41 @@
+TARGETPATH = QtDesktop/Styles
+
+QML_FILES = \
+    ButtonStyle.qml \
+    CheckBoxStyle.qml \
+    ComboBoxStyle.qml \
+    FrameStyle.qml \
+    GroupBoxStyle.qml \
+    ProgressBarStyle.qml \
+    RadioButtonStyle.qml \
+    ScrollAreaStyle.qml \
+    ScrollBarStyle.qml \
+    Settings.js \
+    SliderStyle.qml \
+    SpinBoxStyle.qml \
+    TabBarStyle.qml \
+    TabFrameStyle.qml \
+    TextFieldStyle.qml \
+    ToolBarStyle.qml \
+    ToolButtonStyle.qml
+
+# Desktop
+QML_FILES += \
+    Desktop/ButtonStyle.qml \
+    Desktop/CheckBoxStyle.qml \
+    Desktop/ComboBoxStyle.qml \
+    Desktop/FrameStyle.qml \
+    Desktop/GroupBoxStyle.qml \
+    Desktop/ProgressBarStyle.qml \
+    Desktop/RadioButtonStyle.qml \
+    Desktop/ScrollAreaStyle.qml \
+    Desktop/ScrollBarStyle.qml \
+    Desktop/SliderStyle.qml \
+    Desktop/SpinBoxStyle.qml \
+    Desktop/TabBarStyle.qml \
+    Desktop/TabFrameStyle.qml \
+    Desktop/TextFieldStyle.qml \
+    Desktop/ToolBarStyle.qml \
+    Desktop/ToolButtonStyle.qml
+
+load(qml_module)
diff --git a/sync.profile b/sync.profile
index 28dcdcba9..169a092fd 100644
--- a/sync.profile
+++ b/sync.profile
@@ -1,5 +1,4 @@
 %modules = ( # path to module name map
-    "QtDesktopComponents" => "$basedir",
 );
 %moduleheaders = ( # restrict the module headers to those found in relative path
 );
diff --git a/qmlwidget/main.cpp b/tools/qmlwidget/main.cpp
similarity index 100%
rename from qmlwidget/main.cpp
rename to tools/qmlwidget/main.cpp
diff --git a/qmlwidget/qmlwidget.pro b/tools/qmlwidget/qmlwidget.pro
similarity index 100%
rename from qmlwidget/qmlwidget.pro
rename to tools/qmlwidget/qmlwidget.pro
-- 
GitLab