diff options
Diffstat (limited to 'src/imports/controls')
43 files changed, 155 insertions, 251 deletions
diff --git a/src/imports/controls/ComboBox.qml b/src/imports/controls/ComboBox.qml index 189eed92..30f45af3 100644 --- a/src/imports/controls/ComboBox.qml +++ b/src/imports/controls/ComboBox.qml @@ -36,6 +36,7 @@ import QtQuick 2.6 import QtQuick.Window 2.2 +import Qt.labs.controls 1.0 import Qt.labs.templates 1.0 as T T.ComboBox { diff --git a/src/imports/controls/TextArea.qml b/src/imports/controls/TextArea.qml index 8326fc89..46b6bc6c 100644 --- a/src/imports/controls/TextArea.qml +++ b/src/imports/controls/TextArea.qml @@ -67,7 +67,7 @@ T.TextArea { color: "#c2c2c2" horizontalAlignment: control.horizontalAlignment verticalAlignment: control.verticalAlignment - visible: !control.length && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter) + visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter) elide: Text.ElideRight } } diff --git a/src/imports/controls/TextField.qml b/src/imports/controls/TextField.qml index d9f31b2f..7abf540b 100644 --- a/src/imports/controls/TextField.qml +++ b/src/imports/controls/TextField.qml @@ -66,7 +66,7 @@ T.TextField { color: "#bdbebf" horizontalAlignment: control.horizontalAlignment verticalAlignment: control.verticalAlignment - visible: !control.displayText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter) + visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter) elide: Text.ElideRight } diff --git a/src/imports/controls/controls.pri b/src/imports/controls/controls.pri index c3391929..32e86f3a 100644 --- a/src/imports/controls/controls.pri +++ b/src/imports/controls/controls.pri @@ -1,4 +1,4 @@ -QML_FILES = \ +QML_CONTROLS = \ ApplicationWindow.qml \ BusyIndicator.qml \ Button.qml \ @@ -33,3 +33,5 @@ QML_FILES = \ ToolBar.qml \ ToolButton.qml \ Tumbler.qml + +!qtquickcompiler: QML_FILES += $$QML_CONTROLS diff --git a/src/imports/controls/controls.pro b/src/imports/controls/controls.pro index 30f8e223..0ccdf5a0 100644 --- a/src/imports/controls/controls.pro +++ b/src/imports/controls/controls.pro @@ -27,5 +27,11 @@ RESOURCES += \ include(controls.pri) include(designer/designer.pri) +qtquickcompiler { + qmlfiles.prefix = /qt-project.org/imports/Qt/labs/controls + qmlfiles.files += $$QML_CONTROLS + RESOURCES += qmlfiles +} + CONFIG += no_cxx_module load(qml_plugin) diff --git a/src/imports/controls/material/CheckBox.qml b/src/imports/controls/material/CheckBox.qml index 5becfc5c..88a8a3fc 100644 --- a/src/imports/controls/material/CheckBox.qml +++ b/src/imports/controls/material/CheckBox.qml @@ -37,6 +37,7 @@ import QtQuick 2.6 import Qt.labs.templates 1.0 as T import Qt.labs.controls.material 1.0 +import Qt.labs.controls.material.impl 1.0 T.CheckBox { id: control diff --git a/src/imports/controls/material/ComboBox.qml b/src/imports/controls/material/ComboBox.qml index 351feead..b87034c5 100644 --- a/src/imports/controls/material/ComboBox.qml +++ b/src/imports/controls/material/ComboBox.qml @@ -36,6 +36,7 @@ import QtQuick 2.6 import QtQuick.Window 2.2 +import Qt.labs.controls 1.0 import Qt.labs.templates 1.0 as T import Qt.labs.controls.material 1.0 import QtGraphicalEffects 1.0 diff --git a/src/imports/controls/material/ItemDelegate.qml b/src/imports/controls/material/ItemDelegate.qml index 8cd53e88..b955c6d9 100644 --- a/src/imports/controls/material/ItemDelegate.qml +++ b/src/imports/controls/material/ItemDelegate.qml @@ -37,6 +37,7 @@ import QtQuick 2.6 import Qt.labs.templates 1.0 as T import Qt.labs.controls.material 1.0 +import Qt.labs.controls.material.impl 1.0 T.ItemDelegate { id: control diff --git a/src/imports/controls/material/MenuItem.qml b/src/imports/controls/material/MenuItem.qml index f9c69291..15ef6065 100644 --- a/src/imports/controls/material/MenuItem.qml +++ b/src/imports/controls/material/MenuItem.qml @@ -37,6 +37,7 @@ import QtQuick 2.6 import Qt.labs.templates 1.0 as T import Qt.labs.controls.material 1.0 +import Qt.labs.controls.material.impl 1.0 T.MenuItem { id: control diff --git a/src/imports/controls/material/RadioButton.qml b/src/imports/controls/material/RadioButton.qml index 25d91a5c..893248c8 100644 --- a/src/imports/controls/material/RadioButton.qml +++ b/src/imports/controls/material/RadioButton.qml @@ -37,6 +37,7 @@ import QtQuick 2.6 import Qt.labs.templates 1.0 as T import Qt.labs.controls.material 1.0 +import Qt.labs.controls.material.impl 1.0 T.RadioButton { id: control diff --git a/src/imports/controls/material/RangeSlider.qml b/src/imports/controls/material/RangeSlider.qml index bf8c16ef..617f9ac7 100644 --- a/src/imports/controls/material/RangeSlider.qml +++ b/src/imports/controls/material/RangeSlider.qml @@ -37,6 +37,7 @@ import QtQuick 2.6 import Qt.labs.templates 1.0 as T import Qt.labs.controls.material 1.0 +import Qt.labs.controls.material.impl 1.0 T.RangeSlider { id: control diff --git a/src/imports/controls/material/Slider.qml b/src/imports/controls/material/Slider.qml index 139c9151..c121c10b 100644 --- a/src/imports/controls/material/Slider.qml +++ b/src/imports/controls/material/Slider.qml @@ -37,6 +37,7 @@ import QtQuick 2.6 import Qt.labs.templates 1.0 as T import Qt.labs.controls.material 1.0 +import Qt.labs.controls.material.impl 1.0 T.Slider { id: control diff --git a/src/imports/controls/material/Switch.qml b/src/imports/controls/material/Switch.qml index f44fb31a..3b9bb18f 100644 --- a/src/imports/controls/material/Switch.qml +++ b/src/imports/controls/material/Switch.qml @@ -36,6 +36,7 @@ import QtQuick 2.6 import Qt.labs.controls.material 1.0 +import Qt.labs.controls.material.impl 1.0 import Qt.labs.templates 1.0 as T import QtGraphicalEffects 1.0 diff --git a/src/imports/controls/material/TextArea.qml b/src/imports/controls/material/TextArea.qml index a5423727..b6f614c0 100644 --- a/src/imports/controls/material/TextArea.qml +++ b/src/imports/controls/material/TextArea.qml @@ -92,7 +92,7 @@ T.TextArea { horizontalAlignment: control.horizontalAlignment verticalAlignment: control.verticalAlignment elide: Text.ElideRight - visible: !control.length && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter) + visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter) } //! [placeholder] diff --git a/src/imports/controls/material/TextField.qml b/src/imports/controls/material/TextField.qml index 6a0010f7..eaea710e 100644 --- a/src/imports/controls/material/TextField.qml +++ b/src/imports/controls/material/TextField.qml @@ -91,7 +91,7 @@ T.TextField { horizontalAlignment: control.horizontalAlignment verticalAlignment: control.verticalAlignment elide: Text.ElideRight - visible: !control.displayText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter) + visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter) } //! [placeholder] diff --git a/src/imports/controls/material/qquickmaterialprogressring.cpp b/src/imports/controls/material/qquickmaterialprogressring.cpp index c11a347f..dc96fe03 100644 --- a/src/imports/controls/material/qquickmaterialprogressring.cpp +++ b/src/imports/controls/material/qquickmaterialprogressring.cpp @@ -67,11 +67,11 @@ public: QQuickMaterialRingAnimatorJob(); ~QQuickMaterialRingAnimatorJob(); - void initialize(QQuickAnimatorController *controller) Q_DECL_OVERRIDE; - void updateCurrentTime(int time) Q_DECL_OVERRIDE; - void writeBack() Q_DECL_OVERRIDE; - void nodeWasDestroyed() Q_DECL_OVERRIDE; - void afterNodeSync() Q_DECL_OVERRIDE; + void initialize(QQuickAnimatorController *controller) override; + void updateCurrentTime(int time) override; + void writeBack() override; + void nodeWasDestroyed() override; + void afterNodeSync() override; private: qreal m_devicePixelRatio; @@ -167,8 +167,8 @@ QQuickAnimatorJob *QQuickMaterialRingAnimator::createJob() const QQuickMaterialRingAnimatorJob::QQuickMaterialRingAnimatorJob() : m_devicePixelRatio(1.0), - m_containerNode(Q_NULLPTR), - m_window(Q_NULLPTR) + m_containerNode(nullptr), + m_window(nullptr) { } @@ -258,8 +258,8 @@ void QQuickMaterialRingAnimatorJob::writeBack() void QQuickMaterialRingAnimatorJob::nodeWasDestroyed() { - m_containerNode = Q_NULLPTR; - m_window = Q_NULLPTR; + m_containerNode = nullptr; + m_window = nullptr; } void QQuickMaterialRingAnimatorJob::afterNodeSync() diff --git a/src/imports/controls/material/qquickmaterialprogressring_p.h b/src/imports/controls/material/qquickmaterialprogressring_p.h index 6f4ebc6b..a829f948 100644 --- a/src/imports/controls/material/qquickmaterialprogressring_p.h +++ b/src/imports/controls/material/qquickmaterialprogressring_p.h @@ -60,7 +60,7 @@ class QQuickMaterialProgressRing : public QQuickItem Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged FINAL) public: - explicit QQuickMaterialProgressRing(QQuickItem *parent = Q_NULLPTR); + explicit QQuickMaterialProgressRing(QQuickItem *parent = nullptr); ~QQuickMaterialProgressRing(); QColor color() const; @@ -70,7 +70,7 @@ Q_SIGNALS: void colorChanged(); protected: - QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) Q_DECL_OVERRIDE; + QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) override; private: QColor m_color; @@ -79,11 +79,11 @@ private: class QQuickMaterialRingAnimator : public QQuickAnimator { public: - QQuickMaterialRingAnimator(QObject *parent = Q_NULLPTR); + QQuickMaterialRingAnimator(QObject *parent = nullptr); protected: - QString propertyName() const Q_DECL_OVERRIDE; - QQuickAnimatorJob *createJob() const Q_DECL_OVERRIDE; + QString propertyName() const override; + QQuickAnimatorJob *createJob() const override; }; QT_END_NAMESPACE diff --git a/src/imports/controls/material/qquickmaterialprogressstrip.cpp b/src/imports/controls/material/qquickmaterialprogressstrip.cpp index 3ac09e24..a3ff6c9b 100644 --- a/src/imports/controls/material/qquickmaterialprogressstrip.cpp +++ b/src/imports/controls/material/qquickmaterialprogressstrip.cpp @@ -54,11 +54,11 @@ class QQuickMaterialProgressStripAnimatorJob : public QQuickAnimatorJob public: QQuickMaterialProgressStripAnimatorJob(); - void initialize(QQuickAnimatorController *controller) Q_DECL_OVERRIDE; - void updateCurrentTime(int time) Q_DECL_OVERRIDE; - void writeBack() Q_DECL_OVERRIDE; - void nodeWasDestroyed() Q_DECL_OVERRIDE; - void afterNodeSync() Q_DECL_OVERRIDE; + void initialize(QQuickAnimatorController *controller) override; + void updateCurrentTime(int time) override; + void writeBack() override; + void nodeWasDestroyed() override; + void afterNodeSync() override; void moveNode(QSGTransformNode *node, const QRectF &geometry, qreal progress); @@ -66,7 +66,7 @@ private: QSGNode *m_node; }; -QQuickMaterialProgressStripAnimatorJob::QQuickMaterialProgressStripAnimatorJob() : m_node(Q_NULLPTR) +QQuickMaterialProgressStripAnimatorJob::QQuickMaterialProgressStripAnimatorJob() : m_node(nullptr) { } @@ -111,7 +111,7 @@ void QQuickMaterialProgressStripAnimatorJob::writeBack() void QQuickMaterialProgressStripAnimatorJob::nodeWasDestroyed() { - m_node = Q_NULLPTR; + m_node = nullptr; } void QQuickMaterialProgressStripAnimatorJob::afterNodeSync() diff --git a/src/imports/controls/material/qquickmaterialprogressstrip_p.h b/src/imports/controls/material/qquickmaterialprogressstrip_p.h index d0618af6..38333ee5 100644 --- a/src/imports/controls/material/qquickmaterialprogressstrip_p.h +++ b/src/imports/controls/material/qquickmaterialprogressstrip_p.h @@ -61,7 +61,7 @@ class QQuickMaterialProgressStrip : public QQuickItem Q_PROPERTY(bool indeterminate READ isIndeterminate WRITE setIndeterminate FINAL) public: - QQuickMaterialProgressStrip(QQuickItem *parent = Q_NULLPTR); + QQuickMaterialProgressStrip(QQuickItem *parent = nullptr); QColor color() const; void setColor(const QColor &color); @@ -73,7 +73,7 @@ public: void setIndeterminate(bool indeterminate); protected: - QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) Q_DECL_OVERRIDE; + QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) override; private: QColor m_color; @@ -86,11 +86,11 @@ class QQuickMaterialStripAnimator : public QQuickAnimator Q_OBJECT public: - QQuickMaterialStripAnimator(QObject *parent = Q_NULLPTR); + QQuickMaterialStripAnimator(QObject *parent = nullptr); protected: - QString propertyName() const Q_DECL_OVERRIDE; - QQuickAnimatorJob *createJob() const Q_DECL_OVERRIDE; + QString propertyName() const override; + QQuickAnimatorJob *createJob() const override; }; QT_END_NAMESPACE diff --git a/src/imports/controls/material/qquickmaterialstyle.cpp b/src/imports/controls/material/qquickmaterialstyle.cpp index 103db01f..71b48a2b 100644 --- a/src/imports/controls/material/qquickmaterialstyle.cpp +++ b/src/imports/controls/material/qquickmaterialstyle.cpp @@ -451,7 +451,8 @@ void QQuickMaterialStyle::inheritTheme(Theme theme) void QQuickMaterialStyle::propagateTheme() { - foreach (QQuickStyle *child, childStyles()) { + const auto styles = childStyles(); + for (QQuickStyle *child : styles) { QQuickMaterialStyle *material = qobject_cast<QQuickMaterialStyle *>(child); if (material) material->inheritTheme(m_theme); @@ -590,7 +591,8 @@ void QQuickMaterialStyle::inheritAccent(uint accent, bool custom) void QQuickMaterialStyle::propagateAccent() { - foreach (QQuickStyle *child, childStyles()) { + const auto styles = childStyles(); + for (QQuickStyle *child : styles) { QQuickMaterialStyle *material = qobject_cast<QQuickMaterialStyle *>(child); if (material) material->inheritAccent(m_accent, m_customAccent); diff --git a/src/imports/controls/material/qquickmaterialstyle_p.h b/src/imports/controls/material/qquickmaterialstyle_p.h index 67eccb24..00103361 100644 --- a/src/imports/controls/material/qquickmaterialstyle_p.h +++ b/src/imports/controls/material/qquickmaterialstyle_p.h @@ -145,7 +145,7 @@ public: Q_ENUM(Color) Q_ENUM(Shade) - explicit QQuickMaterialStyle(QObject *parent = Q_NULLPTR); + explicit QQuickMaterialStyle(QObject *parent = nullptr); static QQuickMaterialStyle *qmlAttachedProperties(QObject *object); @@ -212,7 +212,7 @@ Q_SIGNALS: void paletteChanged(); protected: - void parentStyleChange(QQuickStyle *newParent, QQuickStyle *oldParent) Q_DECL_OVERRIDE; + void parentStyleChange(QQuickStyle *newParent, QQuickStyle *oldParent) override; private: void init(); diff --git a/src/imports/controls/material/qquickmaterialtheme_p.h b/src/imports/controls/material/qquickmaterialtheme_p.h index 28fb30e9..e144233c 100644 --- a/src/imports/controls/material/qquickmaterialtheme_p.h +++ b/src/imports/controls/material/qquickmaterialtheme_p.h @@ -61,7 +61,7 @@ public: ~QQuickMaterialTheme(); - const QFont *font(Font type = SystemFont) const Q_DECL_OVERRIDE; + const QFont *font(Font type = SystemFont) const override; private: QFont systemFont; diff --git a/src/imports/controls/material/qtlabsmaterialstyleplugin.cpp b/src/imports/controls/material/qtlabsmaterialstyleplugin.cpp index ca10c289..0c6f2ad0 100644 --- a/src/imports/controls/material/qtlabsmaterialstyleplugin.cpp +++ b/src/imports/controls/material/qtlabsmaterialstyleplugin.cpp @@ -47,6 +47,9 @@ static inline void initResources() { Q_INIT_RESOURCE(qtlabsmaterialstyleplugin); +#ifdef QT_STATIC + Q_INIT_RESOURCE(qmake_Qt_labs_controls_material); +#endif } QT_BEGIN_NAMESPACE @@ -57,14 +60,20 @@ class QtLabsMaterialStylePlugin : public QQmlExtensionPlugin Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface/1.0") public: + QtLabsMaterialStylePlugin(QObject *parent = nullptr); ~QtLabsMaterialStylePlugin(); - void registerTypes(const char *uri) Q_DECL_OVERRIDE; - void initializeEngine(QQmlEngine *engine, const char *uri) Q_DECL_OVERRIDE; + void registerTypes(const char *uri) override; + void initializeEngine(QQmlEngine *engine, const char *uri) override; private: QQuickProxyTheme *theme; }; +QtLabsMaterialStylePlugin::QtLabsMaterialStylePlugin(QObject *parent) : QQmlExtensionPlugin(parent) +{ + initResources(); +} + QtLabsMaterialStylePlugin::~QtLabsMaterialStylePlugin() { if (theme) { @@ -82,7 +91,6 @@ void QtLabsMaterialStylePlugin::registerTypes(const char *uri) void QtLabsMaterialStylePlugin::initializeEngine(QQmlEngine *engine, const char *uri) { Q_UNUSED(engine); - Q_UNUSED(uri); QQuickStyleSelector selector; if (selector.style() == QLatin1String("material")) { @@ -95,13 +103,13 @@ void QtLabsMaterialStylePlugin::initializeEngine(QQmlEngine *engine, const char } } - initResources(); - QByteArray import = QByteArray(uri) + ".impl"; qmlRegisterType<QQuickMaterialProgressRing>(import, 1, 0, "ProgressRing"); qmlRegisterType<QQuickMaterialProgressStrip>(import, 1, 0, "ProgressStrip"); qmlRegisterType<QQuickMaterialRingAnimator>(import, 1, 0, "RingAnimator"); qmlRegisterType<QQuickMaterialStripAnimator>(import, 1, 0, "StripAnimator"); + qmlRegisterType(QUrl(baseUrl().toString() + QStringLiteral("/Ripple.qml")), import, 1, 0, "Ripple"); + qmlRegisterType(QUrl(baseUrl().toString() + QStringLiteral("/SliderHandle.qml")), import, 1, 0, "SliderHandle"); } QT_END_NAMESPACE diff --git a/src/imports/controls/qquickbusyindicatorring.cpp b/src/imports/controls/qquickbusyindicatorring.cpp index 96213fa4..06e62c16 100644 --- a/src/imports/controls/qquickbusyindicatorring.cpp +++ b/src/imports/controls/qquickbusyindicatorring.cpp @@ -50,11 +50,11 @@ public: QQuickBusyIndicatorAnimatorJob(); ~QQuickBusyIndicatorAnimatorJob(); - void initialize(QQuickAnimatorController *controller) Q_DECL_OVERRIDE; - void updateCurrentTime(int time) Q_DECL_OVERRIDE; - void writeBack() Q_DECL_OVERRIDE; - void nodeWasDestroyed() Q_DECL_OVERRIDE; - void afterNodeSync() Q_DECL_OVERRIDE; + void initialize(QQuickAnimatorController *controller) override; + void updateCurrentTime(int time) override; + void writeBack() override; + void nodeWasDestroyed() override; + void afterNodeSync() override; private: QSGNode *m_node; @@ -159,7 +159,7 @@ QQuickAnimatorJob *QQuickBusyIndicatorAnimator::createJob() const return new QQuickBusyIndicatorAnimatorJob; } -QQuickBusyIndicatorAnimatorJob::QQuickBusyIndicatorAnimatorJob() : m_node(Q_NULLPTR) +QQuickBusyIndicatorAnimatorJob::QQuickBusyIndicatorAnimatorJob() : m_node(nullptr) { } @@ -217,7 +217,7 @@ void QQuickBusyIndicatorAnimatorJob::writeBack() void QQuickBusyIndicatorAnimatorJob::nodeWasDestroyed() { - m_node = Q_NULLPTR; + m_node = nullptr; } void QQuickBusyIndicatorAnimatorJob::afterNodeSync() diff --git a/src/imports/controls/qquickbusyindicatorring_p.h b/src/imports/controls/qquickbusyindicatorring_p.h index 4697628d..cd1e70ad 100644 --- a/src/imports/controls/qquickbusyindicatorring_p.h +++ b/src/imports/controls/qquickbusyindicatorring_p.h @@ -58,21 +58,21 @@ class QQuickBusyIndicatorRing : public QQuickItem Q_OBJECT public: - explicit QQuickBusyIndicatorRing(QQuickItem *parent = Q_NULLPTR); + explicit QQuickBusyIndicatorRing(QQuickItem *parent = nullptr); ~QQuickBusyIndicatorRing(); protected: - QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) Q_DECL_OVERRIDE; + QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) override; }; class QQuickBusyIndicatorAnimator : public QQuickAnimator { public: - QQuickBusyIndicatorAnimator(QObject *parent = Q_NULLPTR); + QQuickBusyIndicatorAnimator(QObject *parent = nullptr); protected: - QString propertyName() const Q_DECL_OVERRIDE; - QQuickAnimatorJob *createJob() const Q_DECL_OVERRIDE; + QString propertyName() const override; + QQuickAnimatorJob *createJob() const override; }; QT_END_NAMESPACE diff --git a/src/imports/controls/qquickprogressstrip.cpp b/src/imports/controls/qquickprogressstrip.cpp index e9480ff1..0fc72087 100644 --- a/src/imports/controls/qquickprogressstrip.cpp +++ b/src/imports/controls/qquickprogressstrip.cpp @@ -47,11 +47,11 @@ public: QQuickProgressAnimatorJob(); ~QQuickProgressAnimatorJob(); - void initialize(QQuickAnimatorController *controller) Q_DECL_OVERRIDE; - void afterNodeSync() Q_DECL_OVERRIDE; - void updateCurrentTime(int time) Q_DECL_OVERRIDE; - void writeBack() Q_DECL_OVERRIDE; - void nodeWasDestroyed() Q_DECL_OVERRIDE; + void initialize(QQuickAnimatorController *controller) override; + void afterNodeSync() override; + void updateCurrentTime(int time) override; + void writeBack() override; + void nodeWasDestroyed() override; private: QSGNode *m_node; @@ -210,7 +210,7 @@ QQuickAnimatorJob *QQuickProgressAnimator::createJob() const } QQuickProgressAnimatorJob::QQuickProgressAnimatorJob() : - m_node(Q_NULLPTR) + m_node(nullptr) { } @@ -308,7 +308,7 @@ void QQuickProgressAnimatorJob::writeBack() void QQuickProgressAnimatorJob::nodeWasDestroyed() { - m_node = Q_NULLPTR; + m_node = nullptr; } QT_END_NAMESPACE diff --git a/src/imports/controls/qquickprogressstrip_p.h b/src/imports/controls/qquickprogressstrip_p.h index c34698dc..105c6a29 100644 --- a/src/imports/controls/qquickprogressstrip_p.h +++ b/src/imports/controls/qquickprogressstrip_p.h @@ -60,7 +60,7 @@ class QQuickProgressStrip : public QQuickItem Q_PROPERTY(qreal progress READ progress WRITE setProgress NOTIFY progressChanged FINAL) public: - explicit QQuickProgressStrip(QQuickItem *parent = Q_NULLPTR); + explicit QQuickProgressStrip(QQuickItem *parent = nullptr); ~QQuickProgressStrip(); bool isIndeterminate() const; @@ -74,7 +74,7 @@ Q_SIGNALS: void indeterminateChanged(); protected: - QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) Q_DECL_OVERRIDE; + QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) override; private: qreal m_progress; @@ -84,11 +84,11 @@ private: class QQuickProgressAnimator : public QQuickAnimator { public: - QQuickProgressAnimator(QObject *parent = Q_NULLPTR); + QQuickProgressAnimator(QObject *parent = nullptr); protected: - QString propertyName() const Q_DECL_OVERRIDE; - QQuickAnimatorJob *createJob() const Q_DECL_OVERRIDE; + QString propertyName() const override; + QQuickAnimatorJob *createJob() const override; }; QT_END_NAMESPACE diff --git a/src/imports/controls/qtlabscontrolsplugin.cpp b/src/imports/controls/qtlabscontrolsplugin.cpp index 4258fb9c..008d13a7 100644 --- a/src/imports/controls/qtlabscontrolsplugin.cpp +++ b/src/imports/controls/qtlabscontrolsplugin.cpp @@ -36,6 +36,7 @@ #include <QtQml/qqmlextensionplugin.h> #include <QtCore/qurl.h> +#include <QtCore/qfile.h> #include <QtCore/qcoreapplication.h> #include <QtLabsTemplates/private/qquickabstractbutton_p.h> @@ -51,6 +52,9 @@ static inline void initResources() { Q_INIT_RESOURCE(qtlabscontrolsplugin); +#ifdef QT_STATIC + Q_INIT_RESOURCE(qmake_Qt_labs_controls); +#endif } QT_BEGIN_NAMESPACE @@ -61,10 +65,16 @@ class QtLabsControlsPlugin: public QQmlExtensionPlugin Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface/1.0") public: + QtLabsControlsPlugin(QObject *parent = nullptr); void registerTypes(const char *uri); void initializeEngine(QQmlEngine *engine, const char *uri); }; +QtLabsControlsPlugin::QtLabsControlsPlugin(QObject *parent) : QQmlExtensionPlugin(parent) +{ + initResources(); +} + void QtLabsControlsPlugin::registerTypes(const char *uri) { qmlRegisterType<QQuickAbstractButton>(uri, 1, 0, "AbstractButton"); @@ -74,7 +84,10 @@ void QtLabsControlsPlugin::registerTypes(const char *uri) qmlRegisterType<QQuickControl>(uri, 1, 0, "Control"); QQuickStyleSelector selector; - selector.setBaseUrl(baseUrl()); + if (QFile::exists(QLatin1String(":/qt-project.org/imports/Qt/labs/controls/ApplicationWindow.qml"))) + selector.setBaseUrl(QUrl(QLatin1String("qrc:/qt-project.org/imports/Qt/labs/controls")));\ + else + selector.setBaseUrl(baseUrl()); qmlRegisterType(selector.select(QStringLiteral("/ApplicationWindow.qml")), uri, 1, 0, "ApplicationWindow"); qmlRegisterType(selector.select(QStringLiteral("/BusyIndicator.qml")), uri, 1, 0, "BusyIndicator"); @@ -116,7 +129,6 @@ void QtLabsControlsPlugin::initializeEngine(QQmlEngine *engine, const char *uri) { Q_UNUSED(engine); Q_UNUSED(uri); - initResources(); const QByteArray import = QByteArray(uri) + ".impl"; qmlRegisterType<QQuickBusyIndicatorRing>(import, 1, 0, "BusyRing"); diff --git a/src/imports/controls/universal/ComboBox.qml b/src/imports/controls/universal/ComboBox.qml index 5c0f1004..f736ef96 100644 --- a/src/imports/controls/universal/ComboBox.qml +++ b/src/imports/controls/universal/ComboBox.qml @@ -36,6 +36,7 @@ import QtQuick 2.6 import QtQuick.Window 2.2 +import Qt.labs.controls 1.0 import Qt.labs.templates 1.0 as T import Qt.labs.controls.universal 1.0 diff --git a/src/imports/controls/universal/TextArea.qml b/src/imports/controls/universal/TextArea.qml index 72b69cb9..4f3f8a34 100644 --- a/src/imports/controls/universal/TextArea.qml +++ b/src/imports/controls/universal/TextArea.qml @@ -73,7 +73,7 @@ T.TextArea { font: control.font color: !control.enabled ? control.Universal.chromeDisabledLowColor : control.activeFocus ? control.Universal.chromeBlackMediumLowColor : control.Universal.baseMediumColor - visible: !control.length && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter) + visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter) horizontalAlignment: control.horizontalAlignment verticalAlignment: control.verticalAlignment renderType: Text.NativeRendering diff --git a/src/imports/controls/universal/TextField.qml b/src/imports/controls/universal/TextField.qml index 1f066220..a0c854b2 100644 --- a/src/imports/controls/universal/TextField.qml +++ b/src/imports/controls/universal/TextField.qml @@ -74,7 +74,7 @@ T.TextField { font: control.font color: !control.enabled ? control.Universal.chromeDisabledLowColor : control.activeFocus ? control.Universal.chromeBlackMediumLowColor : control.Universal.baseMediumColor - visible: !control.displayText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter) + visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter) horizontalAlignment: control.horizontalAlignment verticalAlignment: control.verticalAlignment renderType: Text.NativeRendering diff --git a/src/imports/controls/universal/qquickuniversalfocusrectangle_p.h b/src/imports/controls/universal/qquickuniversalfocusrectangle_p.h index 6b15bc8d..628db5b2 100644 --- a/src/imports/controls/universal/qquickuniversalfocusrectangle_p.h +++ b/src/imports/controls/universal/qquickuniversalfocusrectangle_p.h @@ -57,9 +57,9 @@ class QQuickUniversalFocusRectangle : public QQuickPaintedItem Q_OBJECT public: - QQuickUniversalFocusRectangle(QQuickItem *parent = Q_NULLPTR); + QQuickUniversalFocusRectangle(QQuickItem *parent = nullptr); - void paint(QPainter *painter) Q_DECL_OVERRIDE; + void paint(QPainter *painter) override; }; QT_END_NAMESPACE diff --git a/src/imports/controls/universal/qquickuniversalimageprovider.cpp b/src/imports/controls/universal/qquickuniversalimageprovider.cpp deleted file mode 100644 index 7cb7b926..00000000 --- a/src/imports/controls/universal/qquickuniversalimageprovider.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the Qt Labs Controls 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 "qquickuniversalimageprovider_p.h" - -#include <QtCore/qdebug.h> -#include <QtGui/qpainter.h> -#include <QtGui/qguiapplication.h> -#include <QtGui/qscreen.h> -#include <QtGui/qicon.h> - -QT_BEGIN_NAMESPACE - -QQuickUniversalImageProvider::QQuickUniversalImageProvider() : QQuickImageProvider(Image) -{ -} - -QImage QQuickUniversalImageProvider::requestImage(const QString &id, QSize *size, const QSize &requestedSize) -{ - Q_UNUSED(requestedSize); - - int sep = id.indexOf(QLatin1Char('/')); - QString name = id.left(sep); - QString color = id.mid(sep + 1); - qreal dpr = qApp->primaryScreen()->devicePixelRatio(); - QString file = qt_findAtNxFile(QStringLiteral(":/qt-project.org/imports/Qt/labs/controls/universal/images/") + name + QStringLiteral(".png"), dpr); - - QImage image(file); - if (image.isNull()) { - qWarning() << "QQuickUniversalImageProvider: unknown id:" << id; - return QImage(); - } - - if (size) - *size = image.size(); - - if (!color.isEmpty()) { - QPainter painter(&image); - painter.setCompositionMode(QPainter::CompositionMode_SourceIn); - painter.fillRect(image.rect(), QColor(color)); - } - - return image; -} - -QT_END_NAMESPACE diff --git a/src/imports/controls/universal/qquickuniversalimageprovider_p.h b/src/imports/controls/universal/qquickuniversalimageprovider_p.h deleted file mode 100644 index 15648157..00000000 --- a/src/imports/controls/universal/qquickuniversalimageprovider_p.h +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the Qt Labs Controls 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$ -** -****************************************************************************/ - -#ifndef QQUICKUNIVERSALIMAGEPROVIDER_P_H -#define QQUICKUNIVERSALIMAGEPROVIDER_P_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include <QtQuick/qquickimageprovider.h> - -QT_BEGIN_NAMESPACE - -class QQuickUniversalImageProvider : public QQuickImageProvider -{ -public: - QQuickUniversalImageProvider(); - - QImage requestImage(const QString &id, QSize *size, const QSize &requestedSize) Q_DECL_OVERRIDE; -}; - -QT_END_NAMESPACE - -#endif // QQUICKUNIVERSALIMAGEPROVIDER_P_H diff --git a/src/imports/controls/universal/qquickuniversalprogressring.cpp b/src/imports/controls/universal/qquickuniversalprogressring.cpp index 2fe66047..9b95341d 100644 --- a/src/imports/controls/universal/qquickuniversalprogressring.cpp +++ b/src/imports/controls/universal/qquickuniversalprogressring.cpp @@ -53,11 +53,11 @@ class QQuickUniversalProgressRingAnimatorJob : public QQuickAnimatorJob public: QQuickUniversalProgressRingAnimatorJob(); - void initialize(QQuickAnimatorController *controller) Q_DECL_OVERRIDE; - void updateCurrentTime(int time) Q_DECL_OVERRIDE; - void writeBack() Q_DECL_OVERRIDE; - void nodeWasDestroyed() Q_DECL_OVERRIDE; - void afterNodeSync() Q_DECL_OVERRIDE; + void initialize(QQuickAnimatorController *controller) override; + void updateCurrentTime(int time) override; + void writeBack() override; + void nodeWasDestroyed() override; + void afterNodeSync() override; private: struct Phase { @@ -73,7 +73,7 @@ private: Phase m_phases[PhaseCount]; }; -QQuickUniversalProgressRingAnimatorJob::QQuickUniversalProgressRingAnimatorJob() : m_node(Q_NULLPTR) +QQuickUniversalProgressRingAnimatorJob::QQuickUniversalProgressRingAnimatorJob() : m_node(nullptr) { m_phases[0] = Phase(433, -110, 10, QEasingCurve::BezierSpline); m_phases[1] = Phase(767, 10, 93, QEasingCurve::Linear ); @@ -153,7 +153,7 @@ void QQuickUniversalProgressRingAnimatorJob::writeBack() void QQuickUniversalProgressRingAnimatorJob::nodeWasDestroyed() { - m_node = Q_NULLPTR; + m_node = nullptr; } void QQuickUniversalProgressRingAnimatorJob::afterNodeSync() diff --git a/src/imports/controls/universal/qquickuniversalprogressring_p.h b/src/imports/controls/universal/qquickuniversalprogressring_p.h index 1d484e3a..f32beb54 100644 --- a/src/imports/controls/universal/qquickuniversalprogressring_p.h +++ b/src/imports/controls/universal/qquickuniversalprogressring_p.h @@ -60,7 +60,7 @@ class QQuickUniversalProgressRing : public QQuickItem Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged FINAL) public: - QQuickUniversalProgressRing(QQuickItem *parent = Q_NULLPTR); + QQuickUniversalProgressRing(QQuickItem *parent = nullptr); int count() const; void setCount(int count); @@ -73,7 +73,7 @@ Q_SIGNALS: void colorChanged(); protected: - QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) Q_DECL_OVERRIDE; + QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) override; private: int m_count; @@ -85,11 +85,11 @@ class QQuickUniversalProgressRingAnimator : public QQuickAnimator Q_OBJECT public: - QQuickUniversalProgressRingAnimator(QObject *parent = Q_NULLPTR); + QQuickUniversalProgressRingAnimator(QObject *parent = nullptr); protected: - QString propertyName() const Q_DECL_OVERRIDE; - QQuickAnimatorJob *createJob() const Q_DECL_OVERRIDE; + QString propertyName() const override; + QQuickAnimatorJob *createJob() const override; }; QT_END_NAMESPACE diff --git a/src/imports/controls/universal/qquickuniversalprogressstrip.cpp b/src/imports/controls/universal/qquickuniversalprogressstrip.cpp index 39ce1b5c..c4fab7ae 100644 --- a/src/imports/controls/universal/qquickuniversalprogressstrip.cpp +++ b/src/imports/controls/universal/qquickuniversalprogressstrip.cpp @@ -62,11 +62,11 @@ class QQuickUniversalProgressStripAnimatorJob : public QQuickAnimatorJob public: QQuickUniversalProgressStripAnimatorJob(); - void initialize(QQuickAnimatorController *controller) Q_DECL_OVERRIDE; - void updateCurrentTime(int time) Q_DECL_OVERRIDE; - void writeBack() Q_DECL_OVERRIDE; - void nodeWasDestroyed() Q_DECL_OVERRIDE; - void afterNodeSync() Q_DECL_OVERRIDE; + void initialize(QQuickAnimatorController *controller) override; + void updateCurrentTime(int time) override; + void writeBack() override; + void nodeWasDestroyed() override; + void afterNodeSync() override; private: struct Phase { @@ -82,7 +82,7 @@ private: Phase m_ellipsePhases[PhaseCount]; }; -QQuickUniversalProgressStripAnimatorJob::QQuickUniversalProgressStripAnimatorJob() : m_node(Q_NULLPTR) +QQuickUniversalProgressStripAnimatorJob::QQuickUniversalProgressStripAnimatorJob() : m_node(nullptr) { m_borderPhases[0] = Phase( 500, -50, 0); m_borderPhases[1] = Phase(1500, 0, 0); @@ -203,7 +203,7 @@ void QQuickUniversalProgressStripAnimatorJob::writeBack() void QQuickUniversalProgressStripAnimatorJob::nodeWasDestroyed() { - m_node = Q_NULLPTR; + m_node = nullptr; } void QQuickUniversalProgressStripAnimatorJob::afterNodeSync() diff --git a/src/imports/controls/universal/qquickuniversalprogressstrip_p.h b/src/imports/controls/universal/qquickuniversalprogressstrip_p.h index b61e73c6..1b2c729d 100644 --- a/src/imports/controls/universal/qquickuniversalprogressstrip_p.h +++ b/src/imports/controls/universal/qquickuniversalprogressstrip_p.h @@ -59,7 +59,7 @@ class QQuickUniversalProgressStrip : public QQuickItem Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged FINAL) public: - QQuickUniversalProgressStrip(QQuickItem *parent = Q_NULLPTR); + QQuickUniversalProgressStrip(QQuickItem *parent = nullptr); QColor color() const; void setColor(const QColor &color); @@ -68,7 +68,7 @@ Q_SIGNALS: void colorChanged(); protected: - QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) Q_DECL_OVERRIDE; + QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) override; private: QColor m_color; @@ -79,11 +79,11 @@ class QQuickUniversalProgressStripAnimator : public QQuickAnimator Q_OBJECT public: - QQuickUniversalProgressStripAnimator(QObject *parent = Q_NULLPTR); + QQuickUniversalProgressStripAnimator(QObject *parent = nullptr); protected: - QString propertyName() const Q_DECL_OVERRIDE; - QQuickAnimatorJob *createJob() const Q_DECL_OVERRIDE; + QString propertyName() const override; + QQuickAnimatorJob *createJob() const override; }; QT_END_NAMESPACE diff --git a/src/imports/controls/universal/qquickuniversalstyle.cpp b/src/imports/controls/universal/qquickuniversalstyle.cpp index 2f9c86cb..49b2d9f7 100644 --- a/src/imports/controls/universal/qquickuniversalstyle.cpp +++ b/src/imports/controls/universal/qquickuniversalstyle.cpp @@ -174,7 +174,8 @@ void QQuickUniversalStyle::inheritTheme(Theme theme) void QQuickUniversalStyle::propagateTheme() { - foreach (QQuickStyle *child, childStyles()) { + const auto styles = childStyles(); + for (QQuickStyle *child : styles) { QQuickUniversalStyle *universal = qobject_cast<QQuickUniversalStyle *>(child); if (universal) universal->inheritTheme(m_theme); @@ -238,7 +239,8 @@ void QQuickUniversalStyle::inheritAccent(QRgb accent) void QQuickUniversalStyle::propagateAccent() { - foreach (QQuickStyle *child, childStyles()) { + const auto styles = childStyles(); + for (QQuickStyle *child : styles) { QQuickUniversalStyle *universal = qobject_cast<QQuickUniversalStyle *>(child); if (universal) universal->inheritAccent(m_accent); diff --git a/src/imports/controls/universal/qquickuniversalstyle_p.h b/src/imports/controls/universal/qquickuniversalstyle_p.h index 00a04c65..bba1876d 100644 --- a/src/imports/controls/universal/qquickuniversalstyle_p.h +++ b/src/imports/controls/universal/qquickuniversalstyle_p.h @@ -87,7 +87,7 @@ class QQuickUniversalStyle : public QQuickStyle Q_PROPERTY(QColor listMediumColor READ listMediumColor NOTIFY paletteChanged FINAL) public: - explicit QQuickUniversalStyle(QObject *parent = Q_NULLPTR); + explicit QQuickUniversalStyle(QObject *parent = nullptr); static QQuickUniversalStyle *qmlAttachedProperties(QObject *object); @@ -190,7 +190,7 @@ Q_SIGNALS: void paletteChanged(); protected: - void parentStyleChange(QQuickStyle *newParent, QQuickStyle *oldParent) Q_DECL_OVERRIDE; + void parentStyleChange(QQuickStyle *newParent, QQuickStyle *oldParent) override; private: void init(); diff --git a/src/imports/controls/universal/qquickuniversaltheme_p.h b/src/imports/controls/universal/qquickuniversaltheme_p.h index 20243917..809d7a89 100644 --- a/src/imports/controls/universal/qquickuniversaltheme_p.h +++ b/src/imports/controls/universal/qquickuniversaltheme_p.h @@ -61,7 +61,7 @@ public: ~QQuickUniversalTheme(); - const QFont *font(Font type = SystemFont) const Q_DECL_OVERRIDE; + const QFont *font(Font type = SystemFont) const override; private: QFont systemFont; diff --git a/src/imports/controls/universal/qtlabsuniversalstyleplugin.cpp b/src/imports/controls/universal/qtlabsuniversalstyleplugin.cpp index 6eceb44b..b88e69b5 100644 --- a/src/imports/controls/universal/qtlabsuniversalstyleplugin.cpp +++ b/src/imports/controls/universal/qtlabsuniversalstyleplugin.cpp @@ -36,18 +36,21 @@ #include <QtQml/qqmlextensionplugin.h> #include "qquickuniversalfocusrectangle_p.h" -#include "qquickuniversalimageprovider_p.h" #include "qquickuniversalprogressring_p.h" #include "qquickuniversalprogressstrip_p.h" #include "qquickuniversalstyle_p.h" #include "qquickuniversaltheme_p.h" #include <QtGui/private/qguiapplication_p.h> +#include <QtLabsControls/private/qquickcolorimageprovider_p.h> #include <QtLabsControls/private/qquickstyleselector_p.h> static inline void initResources() { Q_INIT_RESOURCE(qtlabsuniversalstyleplugin); +#ifdef QT_STATIC + Q_INIT_RESOURCE(qmake_Qt_labs_controls_universal); +#endif } QT_BEGIN_NAMESPACE @@ -58,14 +61,20 @@ class QtLabsUniversalStylePlugin: public QQmlExtensionPlugin Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface/1.0") public: + QtLabsUniversalStylePlugin(QObject *parent = nullptr); ~QtLabsUniversalStylePlugin(); - void registerTypes(const char *uri) Q_DECL_OVERRIDE; - void initializeEngine(QQmlEngine *engine, const char *uri) Q_DECL_OVERRIDE; + void registerTypes(const char *uri) override; + void initializeEngine(QQmlEngine *engine, const char *uri) override; private: QQuickProxyTheme *theme; }; +QtLabsUniversalStylePlugin::QtLabsUniversalStylePlugin(QObject *parent) : QQmlExtensionPlugin(parent) +{ + initResources(); +} + QtLabsUniversalStylePlugin::~QtLabsUniversalStylePlugin() { if (theme) { @@ -93,8 +102,7 @@ void QtLabsUniversalStylePlugin::initializeEngine(QQmlEngine *engine, const char } } - initResources(); - engine->addImageProvider(QStringLiteral("universal"), new QQuickUniversalImageProvider); + engine->addImageProvider(QStringLiteral("universal"), new QQuickColorImageProvider(QStringLiteral(":/qt-project.org/imports/Qt/labs/controls/universal/images"))); QByteArray import = QByteArray(uri) + ".impl"; qmlRegisterType<QQuickUniversalFocusRectangle>(import, 1, 0, "FocusRectangle"); diff --git a/src/imports/controls/universal/universal.pri b/src/imports/controls/universal/universal.pri index c7717d78..965228cb 100644 --- a/src/imports/controls/universal/universal.pri +++ b/src/imports/controls/universal/universal.pri @@ -34,7 +34,6 @@ QML_FILES += \ HEADERS += \ $$PWD/qquickuniversalfocusrectangle_p.h \ - $$PWD/qquickuniversalimageprovider_p.h \ $$PWD/qquickuniversalprogressring_p.h \ $$PWD/qquickuniversalprogressstrip_p.h \ $$PWD/qquickuniversalstyle_p.h \ @@ -42,7 +41,6 @@ HEADERS += \ SOURCES += \ $$PWD/qquickuniversalfocusrectangle.cpp \ - $$PWD/qquickuniversalimageprovider.cpp \ $$PWD/qquickuniversalprogressring.cpp \ $$PWD/qquickuniversalprogressstrip.cpp \ $$PWD/qquickuniversalstyle.cpp \ |