aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/controls/material
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2020-03-27 11:17:35 +0100
committerMitch Curtis <mitch.curtis@qt.io>2020-08-26 11:45:57 +0200
commit5246dd2de211ffb81313a5c29ae7894545a28c43 (patch)
treeeedd1652642e519ccd8603612378eb5c0bfdca83 /src/imports/controls/material
parent9aafea810b8867fb31f9ec27a238628467e7ab56 (diff)
Register C++ types declaratively
Adapt to the new way of registering C++ types. The types need to be seen at compile time so that code can be generated that invokes them. This patch: - Adds QML_* macros where applicable. - Adapts the build system files to the new way of registering modules. - Splits up the QtQuick.Controls[.*].impl files into their own plugins, as we can only register one QML module per .pro file. - Removes C++ type registration calls in every plugin. - Moves private types from src/quickcontrols2/quickcontrols2.pro to src/quickcontrols2/impl/quickcontrols2-impl.pro. Some of these types need to be exposed to QML, but quickcontrols2.pro is already in use to declare the QtQuick.Controls import (and also provides the public C++ QQuickStyle API), and the new QML_IMPORT_NAME/VERSION syntax only allows one module per project. As some of the types that need to be exposed to QML are also referenced by some C++ code (e.g. tests, etc.), we just move all of the private types to the new library. Follow-up patches will register the QML types declaratively. Task-number: QTBUG-82922 Change-Id: Iaf9ee106237d61701d57a8896f3822304c8151a6 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/imports/controls/material')
-rw-r--r--src/imports/controls/material/.prev_CMakeLists.txt6
-rw-r--r--src/imports/controls/material/CMakeLists.txt6
-rw-r--r--src/imports/controls/material/ComboBox.qml2
-rw-r--r--src/imports/controls/material/MenuItem.qml2
-rw-r--r--src/imports/controls/material/impl/BoxShadow.qml (renamed from src/imports/controls/material/BoxShadow.qml)0
-rw-r--r--src/imports/controls/material/impl/CheckIndicator.qml (renamed from src/imports/controls/material/CheckIndicator.qml)2
-rw-r--r--src/imports/controls/material/impl/CursorDelegate.qml (renamed from src/imports/controls/material/CursorDelegate.qml)0
-rw-r--r--src/imports/controls/material/impl/ElevationEffect.qml (renamed from src/imports/controls/material/ElevationEffect.qml)0
-rw-r--r--src/imports/controls/material/impl/RadioIndicator.qml (renamed from src/imports/controls/material/RadioIndicator.qml)0
-rw-r--r--src/imports/controls/material/impl/RectangularGlow.qml (renamed from src/imports/controls/material/RectangularGlow.qml)2
-rw-r--r--src/imports/controls/material/impl/SliderHandle.qml (renamed from src/imports/controls/material/SliderHandle.qml)0
-rw-r--r--src/imports/controls/material/impl/SwitchIndicator.qml (renamed from src/imports/controls/material/SwitchIndicator.qml)0
-rw-r--r--src/imports/controls/material/impl/material-impl.pro41
-rw-r--r--src/imports/controls/material/impl/qmldir3
-rw-r--r--src/imports/controls/material/impl/qquickmaterialbusyindicator.cpp (renamed from src/imports/controls/material/qquickmaterialbusyindicator.cpp)2
-rw-r--r--src/imports/controls/material/impl/qquickmaterialbusyindicator_p.h (renamed from src/imports/controls/material/qquickmaterialbusyindicator_p.h)2
-rw-r--r--src/imports/controls/material/impl/qquickmaterialprogressbar.cpp (renamed from src/imports/controls/material/qquickmaterialprogressbar.cpp)2
-rw-r--r--src/imports/controls/material/impl/qquickmaterialprogressbar_p.h (renamed from src/imports/controls/material/qquickmaterialprogressbar_p.h)2
-rw-r--r--src/imports/controls/material/impl/qquickmaterialripple.cpp (renamed from src/imports/controls/material/qquickmaterialripple.cpp)2
-rw-r--r--src/imports/controls/material/impl/qquickmaterialripple_p.h (renamed from src/imports/controls/material/qquickmaterialripple_p.h)2
-rw-r--r--src/imports/controls/material/impl/qtquickcontrols2materialstyleimplplugin.cpp57
-rw-r--r--src/imports/controls/material/material.pri14
-rw-r--r--src/imports/controls/material/material.pro2
-rw-r--r--src/imports/controls/material/qquickmaterialstyle_p.h7
-rw-r--r--src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp11
-rw-r--r--src/imports/controls/material/qtquickcontrols2materialstyleplugin.qrc2
26 files changed, 129 insertions, 40 deletions
diff --git a/src/imports/controls/material/.prev_CMakeLists.txt b/src/imports/controls/material/.prev_CMakeLists.txt
index 15fe3519..7039271f 100644
--- a/src/imports/controls/material/.prev_CMakeLists.txt
+++ b/src/imports/controls/material/.prev_CMakeLists.txt
@@ -5,7 +5,7 @@
#####################################################################
add_qml_module(qtquickcontrols2materialstyleplugin
- TARGET_PATH "QtQuick/Controls.2/Material"
+ TARGET_PATH "QtQuick/Controls/Material"
URI "QtQuick.Controls.Material"
VERSION "2.${CMAKE_PROJECT_VERSION_MINOR}"
CLASSNAME QtQuickControls2MaterialStylePlugin
@@ -58,7 +58,7 @@ set(qtquickcontrols2materialstyleplugin_resource_files
add_qt_resource(qtquickcontrols2materialstyleplugin "qtquickcontrols2materialstyleplugin"
PREFIX
- "/qt-project.org/imports/QtQuick/Controls.2/Material"
+ "/qt-project.org/imports/QtQuick/Controls/Material"
FILES
${qtquickcontrols2materialstyleplugin_resource_files}
)
@@ -68,7 +68,7 @@ add_qt_resource(qtquickcontrols2materialstyleplugin "qtquickcontrols2materialsty
# IMPORT_NAME = "QtQuick.Controls.Material"
# IMPORT_VERSION = "2.$$QT_MINOR_VERSION"
# OTHER_FILES = "qmldir" "$$QML_FILES"
-# TARGETPATH = "QtQuick/Controls.2/Material"
+# TARGETPATH = "QtQuick/Controls/Material"
# _REQUIREMENTS = "qtConfig(quickcontrols2-material)"
set(qml_files
diff --git a/src/imports/controls/material/CMakeLists.txt b/src/imports/controls/material/CMakeLists.txt
index 1270bfc6..8bcb9c5d 100644
--- a/src/imports/controls/material/CMakeLists.txt
+++ b/src/imports/controls/material/CMakeLists.txt
@@ -5,7 +5,7 @@
#####################################################################
qt_add_qml_module(qtquickcontrols2materialstyleplugin
- TARGET_PATH "QtQuick/Controls.2/Material"
+ TARGET_PATH "QtQuick/Controls/Material"
URI "QtQuick.Controls.Material"
VERSION "2.${CMAKE_PROJECT_VERSION_MINOR}"
CLASSNAME QtQuickControls2MaterialStylePlugin
@@ -58,7 +58,7 @@ set(qtquickcontrols2materialstyleplugin_resource_files
qt_add_resource(qtquickcontrols2materialstyleplugin "qtquickcontrols2materialstyleplugin"
PREFIX
- "/qt-project.org/imports/QtQuick/Controls.2/Material"
+ "/qt-project.org/imports/QtQuick/Controls/Material"
FILES
${qtquickcontrols2materialstyleplugin_resource_files}
)
@@ -68,7 +68,7 @@ qt_add_resource(qtquickcontrols2materialstyleplugin "qtquickcontrols2materialsty
# IMPORT_NAME = "QtQuick.Controls.Material"
# IMPORT_VERSION = "2.$$QT_MINOR_VERSION"
# OTHER_FILES = "qmldir" "$$QML_FILES"
-# TARGETPATH = "QtQuick/Controls.2/Material"
+# TARGETPATH = "QtQuick/Controls/Material"
# _REQUIREMENTS = "qtConfig(quickcontrols2-material)"
set(qml_files
diff --git a/src/imports/controls/material/ComboBox.qml b/src/imports/controls/material/ComboBox.qml
index a9bdd934..791e57ab 100644
--- a/src/imports/controls/material/ComboBox.qml
+++ b/src/imports/controls/material/ComboBox.qml
@@ -74,7 +74,7 @@ T.ComboBox {
x: control.mirrored ? control.padding : control.width - width - control.padding
y: control.topPadding + (control.availableHeight - height) / 2
color: control.enabled ? control.Material.foreground : control.Material.hintTextColor
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Material/images/drop-indicator.png"
+ source: "qrc:/qt-project.org/imports/QtQuick/Controls/Material/images/drop-indicator.png"
}
contentItem: T.TextField {
diff --git a/src/imports/controls/material/MenuItem.qml b/src/imports/controls/material/MenuItem.qml
index a5d2f8a1..cb558e4c 100644
--- a/src/imports/controls/material/MenuItem.qml
+++ b/src/imports/controls/material/MenuItem.qml
@@ -73,7 +73,7 @@ T.MenuItem {
visible: control.subMenu
mirror: control.mirrored
color: control.enabled ? control.Material.foreground : control.Material.hintTextColor
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Material/images/arrow-indicator.png"
+ source: "qrc:/qt-project.org/imports/QtQuick/Controls/Material/images/arrow-indicator.png"
}
contentItem: IconLabel {
diff --git a/src/imports/controls/material/BoxShadow.qml b/src/imports/controls/material/impl/BoxShadow.qml
index 5a746c0f..5a746c0f 100644
--- a/src/imports/controls/material/BoxShadow.qml
+++ b/src/imports/controls/material/impl/BoxShadow.qml
diff --git a/src/imports/controls/material/CheckIndicator.qml b/src/imports/controls/material/impl/CheckIndicator.qml
index 7caf8553..ecaa673d 100644
--- a/src/imports/controls/material/CheckIndicator.qml
+++ b/src/imports/controls/material/impl/CheckIndicator.qml
@@ -72,7 +72,7 @@ Rectangle {
y: (parent.height - height) / 2
width: 14
height: 14
- source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Material/images/check.png"
+ source: "qrc:/qt-project.org/imports/QtQuick/Controls/Material/images/check.png"
fillMode: Image.PreserveAspectFit
scale: indicatorItem.checkState === Qt.Checked ? 1 : 0
diff --git a/src/imports/controls/material/CursorDelegate.qml b/src/imports/controls/material/impl/CursorDelegate.qml
index fe2d25c6..fe2d25c6 100644
--- a/src/imports/controls/material/CursorDelegate.qml
+++ b/src/imports/controls/material/impl/CursorDelegate.qml
diff --git a/src/imports/controls/material/ElevationEffect.qml b/src/imports/controls/material/impl/ElevationEffect.qml
index 73a2a238..73a2a238 100644
--- a/src/imports/controls/material/ElevationEffect.qml
+++ b/src/imports/controls/material/impl/ElevationEffect.qml
diff --git a/src/imports/controls/material/RadioIndicator.qml b/src/imports/controls/material/impl/RadioIndicator.qml
index e2c55184..e2c55184 100644
--- a/src/imports/controls/material/RadioIndicator.qml
+++ b/src/imports/controls/material/impl/RadioIndicator.qml
diff --git a/src/imports/controls/material/RectangularGlow.qml b/src/imports/controls/material/impl/RectangularGlow.qml
index c01e536d..7e09c1a5 100644
--- a/src/imports/controls/material/RectangularGlow.qml
+++ b/src/imports/controls/material/impl/RectangularGlow.qml
@@ -235,6 +235,6 @@ Item {
property real spread: rootItem.spread / 2.0
property real cornerRadius: clampedCornerRadius()
- fragmentShader: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Material/shaders/RectangularGlow.frag"
+ fragmentShader: "qrc:/qt-project.org/imports/QtQuick/Controls/Material/shaders/RectangularGlow.frag"
}
}
diff --git a/src/imports/controls/material/SliderHandle.qml b/src/imports/controls/material/impl/SliderHandle.qml
index c9078bc8..c9078bc8 100644
--- a/src/imports/controls/material/SliderHandle.qml
+++ b/src/imports/controls/material/impl/SliderHandle.qml
diff --git a/src/imports/controls/material/SwitchIndicator.qml b/src/imports/controls/material/impl/SwitchIndicator.qml
index 3034e771..3034e771 100644
--- a/src/imports/controls/material/SwitchIndicator.qml
+++ b/src/imports/controls/material/impl/SwitchIndicator.qml
diff --git a/src/imports/controls/material/impl/material-impl.pro b/src/imports/controls/material/impl/material-impl.pro
new file mode 100644
index 00000000..f0a97b18
--- /dev/null
+++ b/src/imports/controls/material/impl/material-impl.pro
@@ -0,0 +1,41 @@
+TARGET = qtquickcontrols2materialstyleimplplugin
+TARGETPATH = QtQuick/Controls.2/Material/impl
+
+QML_IMPORT_NAME = QtQuick.Controls.Material.impl
+QML_IMPORT_VERSION = 2.$$QT_MINOR_VERSION
+
+QT += qml quick
+QT_PRIVATE += core-private gui qml-private quick-private quicktemplates2-private quickcontrols2impl-private
+QT_FOR_CONFIG = quickcontrols2-private
+
+DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
+
+QML_FILES += \
+ $$PWD/BoxShadow.qml \
+ $$PWD/CheckIndicator.qml \
+ $$PWD/CursorDelegate.qml \
+ $$PWD/ElevationEffect.qml \
+ $$PWD/RadioIndicator.qml \
+ $$PWD/RectangularGlow.qml \
+ $$PWD/SliderHandle.qml \
+ $$PWD/SwitchIndicator.qml
+
+OTHER_FILES += \
+ qmldir \
+ $$QML_FILES
+
+HEADERS += \
+ qquickmaterialbusyindicator_p.h \
+ qquickmaterialprogressbar_p.h \
+ qquickmaterialripple_p.h
+
+SOURCES += \
+ $$PWD/qquickmaterialbusyindicator.cpp \
+ $$PWD/qquickmaterialprogressbar.cpp \
+ $$PWD/qquickmaterialripple.cpp \
+ $$PWD/qtquickcontrols2materialstyleimplplugin.cpp
+
+CONFIG += qmltypes install_qmltypes no_cxx_module install_qml_files builtin_resources qtquickcompiler
+load(qml_plugin)
+
+requires(qtConfig(quickcontrols2-material))
diff --git a/src/imports/controls/material/impl/qmldir b/src/imports/controls/material/impl/qmldir
new file mode 100644
index 00000000..4c863d9d
--- /dev/null
+++ b/src/imports/controls/material/impl/qmldir
@@ -0,0 +1,3 @@
+module QtQuick.Controls.Material.impl
+plugin qtquickcontrols2materialstyleimplplugin
+classname QtQuickControls2MaterialStyleImplPlugin
diff --git a/src/imports/controls/material/qquickmaterialbusyindicator.cpp b/src/imports/controls/material/impl/qquickmaterialbusyindicator.cpp
index 58c1fd8c..10bcc035 100644
--- a/src/imports/controls/material/qquickmaterialbusyindicator.cpp
+++ b/src/imports/controls/material/impl/qquickmaterialbusyindicator.cpp
@@ -41,7 +41,7 @@
#include <QtGui/qpainter.h>
#include <QtQuick/qsgimagenode.h>
#include <QtQuick/qquickwindow.h>
-#include <QtQuickControls2/private/qquickanimatednode_p.h>
+#include <QtQuickControls2Impl/private/qquickanimatednode_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/imports/controls/material/qquickmaterialbusyindicator_p.h b/src/imports/controls/material/impl/qquickmaterialbusyindicator_p.h
index ad7bc002..72aeaf66 100644
--- a/src/imports/controls/material/qquickmaterialbusyindicator_p.h
+++ b/src/imports/controls/material/impl/qquickmaterialbusyindicator_p.h
@@ -58,6 +58,8 @@ class QQuickMaterialBusyIndicator : public QQuickItem
Q_OBJECT
Q_PROPERTY(QColor color READ color WRITE setColor FINAL)
Q_PROPERTY(bool running READ isRunning WRITE setRunning FINAL)
+ QML_NAMED_ELEMENT(BusyIndicatorImpl)
+ QML_ADDED_IN_VERSION(2, 0)
public:
explicit QQuickMaterialBusyIndicator(QQuickItem *parent = nullptr);
diff --git a/src/imports/controls/material/qquickmaterialprogressbar.cpp b/src/imports/controls/material/impl/qquickmaterialprogressbar.cpp
index 4635c57b..8b3dde23 100644
--- a/src/imports/controls/material/qquickmaterialprogressbar.cpp
+++ b/src/imports/controls/material/impl/qquickmaterialprogressbar.cpp
@@ -43,7 +43,7 @@
#include <QtQuick/qsgrectanglenode.h>
#include <QtQuick/qsgimagenode.h>
#include <QtQuick/qquickwindow.h>
-#include <QtQuickControls2/private/qquickanimatednode_p.h>
+#include <QtQuickControls2Impl/private/qquickanimatednode_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/imports/controls/material/qquickmaterialprogressbar_p.h b/src/imports/controls/material/impl/qquickmaterialprogressbar_p.h
index 680f36a4..bf93812d 100644
--- a/src/imports/controls/material/qquickmaterialprogressbar_p.h
+++ b/src/imports/controls/material/impl/qquickmaterialprogressbar_p.h
@@ -59,6 +59,8 @@ class QQuickMaterialProgressBar : public QQuickItem
Q_PROPERTY(QColor color READ color WRITE setColor FINAL)
Q_PROPERTY(qreal progress READ progress WRITE setProgress FINAL)
Q_PROPERTY(bool indeterminate READ isIndeterminate WRITE setIndeterminate FINAL)
+ QML_NAMED_ELEMENT(ProgressBarImpl)
+ QML_ADDED_IN_VERSION(2, 0)
public:
explicit QQuickMaterialProgressBar(QQuickItem *parent = nullptr);
diff --git a/src/imports/controls/material/qquickmaterialripple.cpp b/src/imports/controls/material/impl/qquickmaterialripple.cpp
index e6287ff9..a39a115b 100644
--- a/src/imports/controls/material/qquickmaterialripple.cpp
+++ b/src/imports/controls/material/impl/qquickmaterialripple.cpp
@@ -39,7 +39,7 @@
#include <QtCore/qmath.h>
#include <QtQuick/private/qquickitem_p.h>
#include <QtQuick/private/qsgadaptationlayer_p.h>
-#include <QtQuickControls2/private/qquickanimatednode_p.h>
+#include <QtQuickControls2Impl/private/qquickanimatednode_p.h>
#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
#include <QtQuickTemplates2/private/qquickabstractbutton_p_p.h>
diff --git a/src/imports/controls/material/qquickmaterialripple_p.h b/src/imports/controls/material/impl/qquickmaterialripple_p.h
index 8a80113b..51728389 100644
--- a/src/imports/controls/material/qquickmaterialripple_p.h
+++ b/src/imports/controls/material/impl/qquickmaterialripple_p.h
@@ -62,6 +62,8 @@ class QQuickMaterialRipple : public QQuickItem
Q_PROPERTY(bool active READ isActive WRITE setActive FINAL)
Q_PROPERTY(QQuickItem *anchor READ anchor WRITE setAnchor FINAL)
Q_PROPERTY(Trigger trigger READ trigger WRITE setTrigger FINAL)
+ QML_NAMED_ELEMENT(Ripple)
+ QML_ADDED_IN_VERSION(2, 0)
public:
QQuickMaterialRipple(QQuickItem *parent = nullptr);
diff --git a/src/imports/controls/material/impl/qtquickcontrols2materialstyleimplplugin.cpp b/src/imports/controls/material/impl/qtquickcontrols2materialstyleimplplugin.cpp
new file mode 100644
index 00000000..258ea2b6
--- /dev/null
+++ b/src/imports/controls/material/impl/qtquickcontrols2materialstyleimplplugin.cpp
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL3$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPLv3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or later as published by the Free
+** Software Foundation and appearing in the file LICENSE.GPL included in
+** the packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 2.0 requirements will be
+** met: http://www.gnu.org/licenses/gpl-2.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtQml/qqmlextensionplugin.h>
+
+QT_BEGIN_NAMESPACE
+
+class QtQuickControls2MaterialStyleImplPlugin : public QQmlEngineExtensionPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
+
+public:
+ QtQuickControls2MaterialStyleImplPlugin(QObject *parent = nullptr);
+};
+
+QtQuickControls2MaterialStyleImplPlugin::QtQuickControls2MaterialStyleImplPlugin(QObject *parent)
+ : QQmlEngineExtensionPlugin(parent)
+{
+}
+
+QT_END_NAMESPACE
+
+#include "qtquickcontrols2materialstyleimplplugin.moc"
diff --git a/src/imports/controls/material/material.pri b/src/imports/controls/material/material.pri
index 457a8df1..8cffdabb 100644
--- a/src/imports/controls/material/material.pri
+++ b/src/imports/controls/material/material.pri
@@ -1,33 +1,23 @@
HEADERS += \
- $$PWD/qquickmaterialbusyindicator_p.h \
- $$PWD/qquickmaterialprogressbar_p.h \
- $$PWD/qquickmaterialripple_p.h \
$$PWD/qquickmaterialstyle_p.h \
$$PWD/qquickmaterialtheme_p.h
SOURCES += \
- $$PWD/qquickmaterialbusyindicator.cpp \
- $$PWD/qquickmaterialprogressbar.cpp \
- $$PWD/qquickmaterialripple.cpp \
$$PWD/qquickmaterialstyle.cpp \
$$PWD/qquickmaterialtheme.cpp
QML_FILES += \
$$PWD/ApplicationWindow.qml \
- $$PWD/BoxShadow.qml \
$$PWD/BusyIndicator.qml \
$$PWD/Button.qml \
$$PWD/CheckBox.qml \
$$PWD/CheckDelegate.qml \
- $$PWD/CheckIndicator.qml \
$$PWD/ComboBox.qml \
- $$PWD/CursorDelegate.qml \
$$PWD/DelayButton.qml \
$$PWD/Dial.qml \
$$PWD/Dialog.qml \
$$PWD/DialogButtonBox.qml \
$$PWD/Drawer.qml \
- $$PWD/ElevationEffect.qml \
$$PWD/Frame.qml \
$$PWD/GroupBox.qml \
$$PWD/HorizontalHeaderView.qml \
@@ -45,14 +35,11 @@ QML_FILES += \
$$PWD/ProgressBar.qml \
$$PWD/RadioButton.qml \
$$PWD/RadioDelegate.qml \
- $$PWD/RadioIndicator.qml \
$$PWD/RangeSlider.qml \
$$PWD/RoundButton.qml \
- $$PWD/RectangularGlow.qml \
$$PWD/ScrollBar.qml \
$$PWD/ScrollIndicator.qml \
$$PWD/Slider.qml \
- $$PWD/SliderHandle.qml \
$$PWD/SpinBox.qml \
$$PWD/SplitView.qml \
$$PWD/StackView.qml \
@@ -60,7 +47,6 @@ QML_FILES += \
$$PWD/SwipeView.qml \
$$PWD/Switch.qml \
$$PWD/SwitchDelegate.qml \
- $$PWD/SwitchIndicator.qml \
$$PWD/TabBar.qml \
$$PWD/TabButton.qml \
$$PWD/TextArea.qml \
diff --git a/src/imports/controls/material/material.pro b/src/imports/controls/material/material.pro
index cf08b925..269f704d 100644
--- a/src/imports/controls/material/material.pro
+++ b/src/imports/controls/material/material.pro
@@ -5,7 +5,7 @@ IMPORT_NAME = QtQuick.Controls.Material
IMPORT_VERSION = 2.$$QT_MINOR_VERSION
QT += qml quick
-QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2-private quickcontrols2-private
+QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2-private quickcontrols2-private quickcontrols2impl-private
DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
diff --git a/src/imports/controls/material/qquickmaterialstyle_p.h b/src/imports/controls/material/qquickmaterialstyle_p.h
index fa980efc..557a4434 100644
--- a/src/imports/controls/material/qquickmaterialstyle_p.h
+++ b/src/imports/controls/material/qquickmaterialstyle_p.h
@@ -49,7 +49,7 @@
//
#include <QtGui/qcolor.h>
-#include <QtQuickControls2/private/qquickattachedobject_p.h>
+#include <QtQuickControls2Impl/private/qquickattachedobject_p.h>
QT_BEGIN_NAMESPACE
@@ -109,6 +109,11 @@ class QQuickMaterialStyle : public QQuickAttachedObject
Q_PROPERTY(int switchDelegateVerticalPadding READ switchDelegateVerticalPadding CONSTANT FINAL)
Q_PROPERTY(int tooltipHeight READ tooltipHeight CONSTANT FINAL)
+ QML_NAMED_ELEMENT(Material)
+ QML_ATTACHED(QQuickMaterialStyle)
+ QML_UNCREATABLE("")
+ QML_ADDED_IN_VERSION(2, 0)
+
public:
enum Theme {
Light,
diff --git a/src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp b/src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp
index 88f6cd1e..c0dc5721 100644
--- a/src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp
+++ b/src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp
@@ -38,11 +38,8 @@
#include "qquickmaterialstyle_p.h"
#include "qquickmaterialtheme_p.h"
-#include "qquickmaterialbusyindicator_p.h"
-#include "qquickmaterialprogressbar_p.h"
-#include "qquickmaterialripple_p.h"
-#include <QtQuickControls2/private/qquickpaddedrectangle_p.h>
+#include <QtQuickControls2Impl/private/qquickpaddedrectangle_p.h>
QT_BEGIN_NAMESPACE
@@ -67,15 +64,9 @@ QtQuickControls2MaterialStylePlugin::QtQuickControls2MaterialStylePlugin(QObject
void QtQuickControls2MaterialStylePlugin::registerTypes(const char *uri)
{
- qmlRegisterModule(uri, 2, 15); // Qt 5.12->2.12, 5.13->2.13...
- qmlRegisterUncreatableType<QQuickMaterialStyle>(uri, 2, 0, "Material", tr("Material is an attached property"));
-
QByteArray import = QByteArray(uri) + ".impl";
qmlRegisterModule(import, 2, 15); // Qt 5.12->2.12, 5.13->2.13...
- qmlRegisterType<QQuickMaterialBusyIndicator>(import, 2, 0, "BusyIndicatorImpl");
- qmlRegisterType<QQuickMaterialProgressBar>(import, 2, 0, "ProgressBarImpl");
- qmlRegisterType<QQuickMaterialRipple>(import, 2, 0, "Ripple");
qmlRegisterType(resolvedUrl(QStringLiteral("BoxShadow.qml")), import, 2, 0, "BoxShadow");
qmlRegisterType(resolvedUrl(QStringLiteral("CheckIndicator.qml")), import, 2, 0, "CheckIndicator");
qmlRegisterType(resolvedUrl(QStringLiteral("CursorDelegate.qml")), import, 2, 0, "CursorDelegate");
diff --git a/src/imports/controls/material/qtquickcontrols2materialstyleplugin.qrc b/src/imports/controls/material/qtquickcontrols2materialstyleplugin.qrc
index 71f9563b..981960c4 100644
--- a/src/imports/controls/material/qtquickcontrols2materialstyleplugin.qrc
+++ b/src/imports/controls/material/qtquickcontrols2materialstyleplugin.qrc
@@ -1,5 +1,5 @@
<RCC>
- <qresource prefix="/qt-project.org/imports/QtQuick/Controls.2/Material">
+ <qresource prefix="/qt-project.org/imports/QtQuick/Controls/Material">
<file>images/arrow-indicator.png</file>
<file>images/arrow-indicator@2x.png</file>
<file>images/arrow-indicator@3x.png</file>