summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/controls/ScrollView.qml2
-rw-r--r--src/controls/doc/qtquickcontrols.qdocconf4
-rw-r--r--src/private/Style.qml3
-rw-r--r--src/private/plugin.cpp4
-rw-r--r--src/private/private.pro4
-rw-r--r--src/private/qquickabstractstyle.cpp (renamed from src/private/qquickpaddedstyle.cpp)58
-rw-r--r--src/private/qquickabstractstyle_p.h (renamed from src/private/qquickpaddedstyle_p.h)25
-rw-r--r--src/styles/Base/ButtonStyle.qml2
-rw-r--r--src/styles/Base/CheckBoxStyle.qml2
-rw-r--r--src/styles/Base/ComboBoxStyle.qml2
-rw-r--r--src/styles/Base/GroupBoxStyle.qml2
-rw-r--r--src/styles/Base/ProgressBarStyle.qml2
-rw-r--r--src/styles/Base/RadioButtonStyle.qml2
-rw-r--r--src/styles/Base/ScrollViewStyle.qml2
-rw-r--r--src/styles/Base/SliderStyle.qml2
-rw-r--r--src/styles/Base/SpinBoxStyle.qml2
-rw-r--r--src/styles/Base/TextFieldStyle.qml2
-rw-r--r--src/styles/Desktop/GroupBoxStyle.qml2
-rw-r--r--src/styles/Desktop/ScrollViewStyle.qml2
-rw-r--r--src/styles/Desktop/SliderStyle.qml2
-rw-r--r--src/styles/Desktop/SpinBoxStyle.qml2
21 files changed, 85 insertions, 43 deletions
diff --git a/src/controls/ScrollView.qml b/src/controls/ScrollView.qml
index efa6e631..0af69a0d 100644
--- a/src/controls/ScrollView.qml
+++ b/src/controls/ScrollView.qml
@@ -147,7 +147,7 @@ FocusScope {
property Component style: Qt.createComponent(Settings.style + "/ScrollViewStyle.qml", root)
/*! \internal */
- property PaddedStyle __style: styleLoader.item
+ property Style __style: styleLoader.item
activeFocusOnTab: true
diff --git a/src/controls/doc/qtquickcontrols.qdocconf b/src/controls/doc/qtquickcontrols.qdocconf
index c04bced2..1f692597 100644
--- a/src/controls/doc/qtquickcontrols.qdocconf
+++ b/src/controls/doc/qtquickcontrols.qdocconf
@@ -52,7 +52,7 @@ sources += ../../private/qstyleitem.cpp \
../../private/TabBar.qml \
../../private/Control.qml \
../../private/Style.qml \
- ../../private/qquickpaddedstyle.h \
- ../../private/qquickpaddedstyle.cpp
+ ../../private/qquickabstractstyle.h \
+ ../../private/qquickabstractstyle.cpp
imagedirs += images
diff --git a/src/private/Style.qml b/src/private/Style.qml
index 990f61dd..6b4c08ef 100644
--- a/src/private/Style.qml
+++ b/src/private/Style.qml
@@ -39,6 +39,7 @@
****************************************************************************/
import QtQuick 2.1
import QtQuick.Controls 1.0
+import QtQuick.Controls.Private 1.0
/*!
\qmltype Style
@@ -46,7 +47,7 @@ import QtQuick.Controls 1.0
\inqmlmodule QtQuick.Controls.Private 1.0
*/
-QtObject {
+AbstractStyle {
/*! The control attached to this style */
readonly property Item control: __control
diff --git a/src/private/plugin.cpp b/src/private/plugin.cpp
index 17bfed07..e33c2d37 100644
--- a/src/private/plugin.cpp
+++ b/src/private/plugin.cpp
@@ -45,7 +45,7 @@
#include "qquicktooltip_p.h"
#include "qquickcontrolsettings_p.h"
#include "qquickspinboxvalidator_p.h"
-#include "qquickpaddedstyle_p.h"
+#include "qquickabstractstyle_p.h"
#ifndef QT_NO_WIDGETS
#include "qquickstyleitem_p.h"
@@ -81,7 +81,7 @@ public:
void QtQuickControlsPrivatePlugin::registerTypes(const char *uri)
{
- qmlRegisterType<QQuickPaddedStyle>(uri, 1, 0, "PaddedStyle");
+ qmlRegisterType<QQuickAbstractStyle>(uri, 1, 0, "AbstractStyle");
qmlRegisterType<QQuickPadding>();
qmlRegisterType<QQuickRangeModel>(uri, 1, 0, "RangeModel");
qmlRegisterType<QQuickWheelArea>(uri, 1, 0, "WheelArea");
diff --git a/src/private/private.pro b/src/private/private.pro
index cbb08a80..803b703f 100644
--- a/src/private/private.pro
+++ b/src/private/private.pro
@@ -10,7 +10,7 @@ HEADERS += \
$$PWD/qquickrangemodel_p_p.h \
$$PWD/qquickcontrolsettings_p.h \
$$PWD/qquickwheelarea_p.h \
- $$PWD/qquickpaddedstyle_p.h \
+ $$PWD/qquickabstractstyle_p.h \
$$PWD/qquickpadding_p.h
SOURCES += \
@@ -20,7 +20,7 @@ SOURCES += \
$$PWD/qquickrangemodel.cpp \
$$PWD/qquickcontrolsettings.cpp \
$$PWD/qquickwheelarea.cpp \
- $$PWD/qquickpaddedstyle.cpp
+ $$PWD/qquickabstractstyle.cpp
# private qml files
QML_FILES += \
diff --git a/src/private/qquickpaddedstyle.cpp b/src/private/qquickabstractstyle.cpp
index 320a3f53..eba57b03 100644
--- a/src/private/qquickpaddedstyle.cpp
+++ b/src/private/qquickabstractstyle.cpp
@@ -39,30 +39,60 @@
**
****************************************************************************/
-#include "qquickpaddedstyle_p.h"
-#include "qquickpadding_p.h"
+#include "qquickabstractstyle_p.h"
+
+QT_BEGIN_NAMESPACE
/*!
- \qmltype PaddedStyle
- \instantiates QQuickPaddedStyle
+ \qmltype AbstractStyle
+ \instantiates QQuickAbstractStyle
\qmlabstract
\internal
*/
-QT_BEGIN_NAMESPACE
+/*!
+ \qmlproperty int AbstractStyle::padding.top
+ \qmlproperty int AbstractStyle::padding.left
+ \qmlproperty int AbstractStyle::padding.right
+ \qmlproperty int AbstractStyle::padding.bottom
+
+ This grouped property holds the \c top, \c left, \c right and \c bottom padding.
+*/
-QQuickPaddedStyle::QQuickPaddedStyle(QQuickItem *parent) :
- QQuickItem(parent)
+QQuickAbstractStyle::QQuickAbstractStyle(QObject *parent) : QObject(parent)
{
}
-/*!
- \qmlproperty int PaddedStyle::padding.top
- \qmlproperty int PaddedStyle::padding.left
- \qmlproperty int PaddedStyle::padding.right
- \qmlproperty int PaddedStyle::padding.bottom
+QQmlListProperty<QObject> QQuickAbstractStyle::data()
+{
+ return QQmlListProperty<QObject>(this, 0, &QQuickAbstractStyle::data_append, &QQuickAbstractStyle::data_count,
+ &QQuickAbstractStyle::data_at, &QQuickAbstractStyle::data_clear);
+}
- This grouped property holds the \c top, \c left, \c right and \c bottom padding.
-*/
+void QQuickAbstractStyle::data_append(QQmlListProperty<QObject> *list, QObject *object)
+{
+ if (QQuickAbstractStyle *style = qobject_cast<QQuickAbstractStyle *>(list->object))
+ style->m_data.append(object);
+}
+
+int QQuickAbstractStyle::data_count(QQmlListProperty<QObject> *list)
+{
+ if (QQuickAbstractStyle *style = qobject_cast<QQuickAbstractStyle *>(list->object))
+ return style->m_data.count();
+ return 0;
+}
+
+QObject *QQuickAbstractStyle::data_at(QQmlListProperty<QObject> *list, int index)
+{
+ if (QQuickAbstractStyle *style = qobject_cast<QQuickAbstractStyle *>(list->object))
+ return style->m_data.at(index);
+ return 0;
+}
+
+void QQuickAbstractStyle::data_clear(QQmlListProperty<QObject> *list)
+{
+ if (QQuickAbstractStyle *style = qobject_cast<QQuickAbstractStyle *>(list->object))
+ style->m_data.clear();
+}
QT_END_NAMESPACE
diff --git a/src/private/qquickpaddedstyle_p.h b/src/private/qquickabstractstyle_p.h
index 1a5a3c95..13764053 100644
--- a/src/private/qquickpaddedstyle_p.h
+++ b/src/private/qquickabstractstyle_p.h
@@ -39,29 +39,40 @@
**
****************************************************************************/
-#ifndef QQUICKPADDEDSTYLE_H
-#define QQUICKPADDEDSTYLE_H
+#ifndef QQUICKABSTRACTSTYLE_H
+#define QQUICKABSTRACTSTYLE_H
-#include <QtQuick/QQuickItem>
-#include <QtQml/QQmlListProperty>
+#include <QtCore/qobject.h>
+#include <QtQml/qqmllist.h>
#include "qquickpadding_p.h"
QT_BEGIN_NAMESPACE
-class QQuickPaddedStyle : public QQuickItem
+class QQuickAbstractStyle : public QObject
{
Q_OBJECT
Q_PROPERTY(QQuickPadding* padding READ padding CONSTANT)
+ Q_PROPERTY(QQmlListProperty<QObject> data READ data DESIGNABLE false)
+ Q_CLASSINFO("DefaultProperty", "data")
public:
- QQuickPaddedStyle(QQuickItem *parent = 0);
+ QQuickAbstractStyle(QObject *parent = 0);
+
QQuickPadding* padding() { return &m_padding; }
+ QQmlListProperty<QObject> data();
+
private:
+ static void data_append(QQmlListProperty<QObject> *list, QObject *object);
+ static int data_count(QQmlListProperty<QObject> *list);
+ static QObject *data_at(QQmlListProperty<QObject> *list, int index);
+ static void data_clear(QQmlListProperty<QObject> *list);
+
QQuickPadding m_padding;
+ QList<QObject *> m_data;
};
QT_END_NAMESPACE
-#endif // QQUICKPADDEDSTYLE_H
+#endif // QQUICKABSTRACTSTYLE_H
diff --git a/src/styles/Base/ButtonStyle.qml b/src/styles/Base/ButtonStyle.qml
index 5674c118..fe37d170 100644
--- a/src/styles/Base/ButtonStyle.qml
+++ b/src/styles/Base/ButtonStyle.qml
@@ -72,7 +72,7 @@ import QtQuick.Controls.Private 1.0
If you need a custom label, you can replace the label item.
*/
-PaddedStyle {
+Style {
id: buttonstyle
/*! The \l Button attached to this style. */
diff --git a/src/styles/Base/CheckBoxStyle.qml b/src/styles/Base/CheckBoxStyle.qml
index b10b2859..4311c629 100644
--- a/src/styles/Base/CheckBoxStyle.qml
+++ b/src/styles/Base/CheckBoxStyle.qml
@@ -72,7 +72,7 @@ import QtQuick.Controls.Private 1.0
}
\endqml
*/
-PaddedStyle {
+Style {
id: checkboxStyle
/*! The \l CheckBox attached to this style. */
diff --git a/src/styles/Base/ComboBoxStyle.qml b/src/styles/Base/ComboBoxStyle.qml
index 5643d50f..08382f15 100644
--- a/src/styles/Base/ComboBoxStyle.qml
+++ b/src/styles/Base/ComboBoxStyle.qml
@@ -49,7 +49,7 @@ import QtQuick.Controls.Private 1.0
\brief Provides custom styling for ComboBox
*/
-PaddedStyle {
+Style {
/*! \internal */
property var __syspal: SystemPalette {
diff --git a/src/styles/Base/GroupBoxStyle.qml b/src/styles/Base/GroupBoxStyle.qml
index 86fc83fe..db0c3bf6 100644
--- a/src/styles/Base/GroupBoxStyle.qml
+++ b/src/styles/Base/GroupBoxStyle.qml
@@ -47,7 +47,7 @@ import QtQuick.Controls.Private 1.0
\inqmlmodule QtQuick.Controls.Styles 1.0
\since QtQuick.Controls.Styles 1.0
*/
-PaddedStyle {
+Style {
/*! \internal */
property var __syspal: SystemPalette {
diff --git a/src/styles/Base/ProgressBarStyle.qml b/src/styles/Base/ProgressBarStyle.qml
index c93a6356..eab286f0 100644
--- a/src/styles/Base/ProgressBarStyle.qml
+++ b/src/styles/Base/ProgressBarStyle.qml
@@ -71,7 +71,7 @@ import QtQuick.Controls.Private 1.0
\endqml
*/
-PaddedStyle {
+Style {
id: progressBarStyle
/*! \internal */
diff --git a/src/styles/Base/RadioButtonStyle.qml b/src/styles/Base/RadioButtonStyle.qml
index 614a9537..f8fdb647 100644
--- a/src/styles/Base/RadioButtonStyle.qml
+++ b/src/styles/Base/RadioButtonStyle.qml
@@ -72,7 +72,7 @@ import QtQuick.Controls.Private 1.0
\endqml
*/
-PaddedStyle {
+Style {
id: radiobuttonStyle
/*! \internal */
diff --git a/src/styles/Base/ScrollViewStyle.qml b/src/styles/Base/ScrollViewStyle.qml
index b1fe789f..fb65fe2c 100644
--- a/src/styles/Base/ScrollViewStyle.qml
+++ b/src/styles/Base/ScrollViewStyle.qml
@@ -47,7 +47,7 @@ import QtQuick.Controls.Private 1.0
\since QtQuick.Controls.Styles 1.0
\brief Provides custom styling for ScrollView
*/
-PaddedStyle {
+Style {
id: root
/*! \internal */
diff --git a/src/styles/Base/SliderStyle.qml b/src/styles/Base/SliderStyle.qml
index 7870e2f2..a17de0a1 100644
--- a/src/styles/Base/SliderStyle.qml
+++ b/src/styles/Base/SliderStyle.qml
@@ -78,7 +78,7 @@ import QtQuick.Controls.Private 1.0
}
\endqml
*/
-PaddedStyle {
+Style {
id: styleitem
/*! \internal */
diff --git a/src/styles/Base/SpinBoxStyle.qml b/src/styles/Base/SpinBoxStyle.qml
index 6280ea93..c239483e 100644
--- a/src/styles/Base/SpinBoxStyle.qml
+++ b/src/styles/Base/SpinBoxStyle.qml
@@ -49,7 +49,7 @@ import QtQuick.Controls.Private 1.0
\brief Provides custom styling for SpinBox
*/
-PaddedStyle {
+Style {
id: spinboxStyle
/*! The \l SpinBox attached to this style. */
diff --git a/src/styles/Base/TextFieldStyle.qml b/src/styles/Base/TextFieldStyle.qml
index 3c1a10a6..7b0ba6b2 100644
--- a/src/styles/Base/TextFieldStyle.qml
+++ b/src/styles/Base/TextFieldStyle.qml
@@ -64,7 +64,7 @@ import QtQuick.Controls.Private 1.0
\endqml
*/
-PaddedStyle {
+Style {
id: style
/*! \internal */
diff --git a/src/styles/Desktop/GroupBoxStyle.qml b/src/styles/Desktop/GroupBoxStyle.qml
index 2348e663..81d6de86 100644
--- a/src/styles/Desktop/GroupBoxStyle.qml
+++ b/src/styles/Desktop/GroupBoxStyle.qml
@@ -42,7 +42,7 @@ import QtQuick.Controls 1.0
import QtQuick.Controls.Private 1.0
-PaddedStyle {
+Style {
readonly property GroupBox control: __control
property var __style: StyleItem { id: style }
diff --git a/src/styles/Desktop/ScrollViewStyle.qml b/src/styles/Desktop/ScrollViewStyle.qml
index d504c59b..deddc354 100644
--- a/src/styles/Desktop/ScrollViewStyle.qml
+++ b/src/styles/Desktop/ScrollViewStyle.qml
@@ -42,7 +42,7 @@ import QtQuick.Controls 1.0
import QtQuick.Controls.Private 1.0
import "." as Desktop
-PaddedStyle {
+Style {
id: root
padding {
diff --git a/src/styles/Desktop/SliderStyle.qml b/src/styles/Desktop/SliderStyle.qml
index 1c89d21c..fbe2cfb6 100644
--- a/src/styles/Desktop/SliderStyle.qml
+++ b/src/styles/Desktop/SliderStyle.qml
@@ -40,7 +40,7 @@
import QtQuick 2.1
import QtQuick.Controls.Private 1.0
-PaddedStyle {
+Style {
readonly property Item control: __control
property Component panel: StyleItem {
elementType: "slider"
diff --git a/src/styles/Desktop/SpinBoxStyle.qml b/src/styles/Desktop/SpinBoxStyle.qml
index 59c20f55..2f05838e 100644
--- a/src/styles/Desktop/SpinBoxStyle.qml
+++ b/src/styles/Desktop/SpinBoxStyle.qml
@@ -41,7 +41,7 @@ import QtQuick 2.1
import QtQuick.Controls 1.0
import QtQuick.Controls.Private 1.0
-PaddedStyle {
+Style {
readonly property SpinBox control: __control
property var __syspal: SystemPalette {