aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/imports/controls/Dialog.qml2
-rw-r--r--src/imports/controls/Drawer.qml4
-rw-r--r--src/imports/controls/Frame.qml4
-rw-r--r--src/imports/controls/GroupBox.qml4
-rw-r--r--src/imports/controls/Page.qml4
-rw-r--r--src/imports/controls/Pane.qml4
-rw-r--r--src/imports/controls/Popup.qml2
-rw-r--r--src/imports/controls/ToolBar.qml4
-rw-r--r--src/imports/controls/material/Dialog.qml2
-rw-r--r--src/imports/controls/material/Drawer.qml2
-rw-r--r--src/imports/controls/material/Frame.qml2
-rw-r--r--src/imports/controls/material/GroupBox.qml2
-rw-r--r--src/imports/controls/material/Page.qml2
-rw-r--r--src/imports/controls/material/Pane.qml2
-rw-r--r--src/imports/controls/material/Popup.qml2
-rw-r--r--src/imports/controls/material/ToolBar.qml2
-rw-r--r--src/imports/controls/universal/Dialog.qml2
-rw-r--r--src/imports/controls/universal/Drawer.qml2
-rw-r--r--src/imports/controls/universal/Frame.qml2
-rw-r--r--src/imports/controls/universal/GroupBox.qml2
-rw-r--r--src/imports/controls/universal/Page.qml2
-rw-r--r--src/imports/controls/universal/Pane.qml2
-rw-r--r--src/imports/controls/universal/Popup.qml2
-rw-r--r--src/imports/controls/universal/ToolBar.qml2
-rw-r--r--src/quicktemplates2/qquickcontrol.cpp9
-rw-r--r--src/quicktemplates2/qquickcontrol_p_p.h2
-rw-r--r--src/quicktemplates2/qquickpage.cpp14
-rw-r--r--src/quicktemplates2/qquickpane.cpp12
-rw-r--r--src/quicktemplates2/qquickpane_p_p.h2
-rw-r--r--src/quicktemplates2/qquickpopup.cpp10
30 files changed, 43 insertions, 66 deletions
diff --git a/src/imports/controls/Dialog.qml b/src/imports/controls/Dialog.qml
index 18760d3f..c90ae6fc 100644
--- a/src/imports/controls/Dialog.qml
+++ b/src/imports/controls/Dialog.qml
@@ -55,8 +55,6 @@ T.Dialog {
padding: 12
- contentItem: Item { }
-
background: Rectangle {
border.color: Default.frameDarkColor
}
diff --git a/src/imports/controls/Drawer.qml b/src/imports/controls/Drawer.qml
index eca9b949..689b6240 100644
--- a/src/imports/controls/Drawer.qml
+++ b/src/imports/controls/Drawer.qml
@@ -63,10 +63,6 @@ T.Drawer {
exit: Transition { SmoothedAnimation { velocity: 5 } }
//! [exit]
- //! [contentItem]
- contentItem: Item { }
- //! [contentItem]
-
//! [background]
background: Rectangle {
Rectangle {
diff --git a/src/imports/controls/Frame.qml b/src/imports/controls/Frame.qml
index e1148496..ef716f72 100644
--- a/src/imports/controls/Frame.qml
+++ b/src/imports/controls/Frame.qml
@@ -50,10 +50,6 @@ T.Frame {
padding: 12
- //! [contentItem]
- contentItem: Item { }
- //! [contentItem]
-
//! [background]
background: Rectangle {
color: "transparent"
diff --git a/src/imports/controls/GroupBox.qml b/src/imports/controls/GroupBox.qml
index 7a20225d..1b3afd66 100644
--- a/src/imports/controls/GroupBox.qml
+++ b/src/imports/controls/GroupBox.qml
@@ -54,10 +54,6 @@ T.GroupBox {
padding: 12
topPadding: padding + (label && label.implicitWidth > 0 ? label.implicitHeight + spacing : 0)
- //! [contentItem]
- contentItem: Item { }
- //! [contentItem]
-
//! [label]
label: Text {
x: control.leftPadding
diff --git a/src/imports/controls/Page.qml b/src/imports/controls/Page.qml
index 1abb06a3..39080de7 100644
--- a/src/imports/controls/Page.qml
+++ b/src/imports/controls/Page.qml
@@ -42,10 +42,6 @@ import QtQuick.Templates 2.1 as T
T.Page {
id: control
- //! [contentItem]
- contentItem: Item { }
- //! [contentItem]
-
//! [background]
background: Rectangle {
color: Default.backgroundColor
diff --git a/src/imports/controls/Pane.qml b/src/imports/controls/Pane.qml
index 7066560a..3f6e43a9 100644
--- a/src/imports/controls/Pane.qml
+++ b/src/imports/controls/Pane.qml
@@ -50,10 +50,6 @@ T.Pane {
padding: 12
- //! [contentItem]
- contentItem: Item { }
- //! [contentItem]
-
//! [background]
background: Rectangle {
color: Default.backgroundColor
diff --git a/src/imports/controls/Popup.qml b/src/imports/controls/Popup.qml
index c9e9d60e..92ac19ed 100644
--- a/src/imports/controls/Popup.qml
+++ b/src/imports/controls/Popup.qml
@@ -52,8 +52,6 @@ T.Popup {
padding: 12
- contentItem: Item { }
-
background: Rectangle {
border.color: Default.frameDarkColor
}
diff --git a/src/imports/controls/ToolBar.qml b/src/imports/controls/ToolBar.qml
index 70c61c78..cc61a95b 100644
--- a/src/imports/controls/ToolBar.qml
+++ b/src/imports/controls/ToolBar.qml
@@ -48,10 +48,6 @@ T.ToolBar {
contentWidth: contentItem.implicitWidth || (contentChildren.length === 1 ? contentChildren[0].implicitWidth : 0)
contentHeight: contentItem.implicitHeight || (contentChildren.length === 1 ? contentChildren[0].implicitHeight : 0)
- //! [contentItem]
- contentItem: Item { }
- //! [contentItem]
-
//! [background]
background: Rectangle {
implicitHeight: 40
diff --git a/src/imports/controls/material/Dialog.qml b/src/imports/controls/material/Dialog.qml
index 55ff671b..8141eb8c 100644
--- a/src/imports/controls/material/Dialog.qml
+++ b/src/imports/controls/material/Dialog.qml
@@ -70,8 +70,6 @@ T.Dialog {
NumberAnimation { property: "opacity"; from: 1.0; to: 0.0; easing.type: Easing.OutCubic; duration: 150 }
}
- contentItem: Item { }
-
background: Rectangle {
radius: 2
color: control.Material.dialogColor
diff --git a/src/imports/controls/material/Drawer.qml b/src/imports/controls/material/Drawer.qml
index efb394d1..d6603b04 100644
--- a/src/imports/controls/material/Drawer.qml
+++ b/src/imports/controls/material/Drawer.qml
@@ -53,8 +53,6 @@ T.Drawer {
enter: Transition { SmoothedAnimation { velocity: 5 } }
exit: Transition { SmoothedAnimation { velocity: 5 } }
- contentItem: Item { }
-
background: Rectangle {
color: control.Material.dialogColor
diff --git a/src/imports/controls/material/Frame.qml b/src/imports/controls/material/Frame.qml
index 4c8b7f01..45b8b263 100644
--- a/src/imports/controls/material/Frame.qml
+++ b/src/imports/controls/material/Frame.qml
@@ -50,8 +50,6 @@ T.Frame {
padding: 12
- contentItem: Item { }
-
background: Rectangle {
radius: 2
color: control.Material.elevation > 0 ? control.Material.backgroundColor : "transparent"
diff --git a/src/imports/controls/material/GroupBox.qml b/src/imports/controls/material/GroupBox.qml
index 48827792..945c5a8c 100644
--- a/src/imports/controls/material/GroupBox.qml
+++ b/src/imports/controls/material/GroupBox.qml
@@ -54,8 +54,6 @@ T.GroupBox {
padding: 12
topPadding: padding + (label && label.implicitWidth > 0 ? label.implicitHeight + spacing : 0)
- contentItem: Item {}
-
label: Text {
x: control.leftPadding
width: control.availableWidth
diff --git a/src/imports/controls/material/Page.qml b/src/imports/controls/material/Page.qml
index f829788e..887a139d 100644
--- a/src/imports/controls/material/Page.qml
+++ b/src/imports/controls/material/Page.qml
@@ -41,8 +41,6 @@ import QtQuick.Controls.Material 2.1
T.Page {
id: control
- contentItem: Item { }
-
background: Rectangle {
color: control.Material.backgroundColor
}
diff --git a/src/imports/controls/material/Pane.qml b/src/imports/controls/material/Pane.qml
index d9828a2a..95e0a8c2 100644
--- a/src/imports/controls/material/Pane.qml
+++ b/src/imports/controls/material/Pane.qml
@@ -50,8 +50,6 @@ T.Pane {
padding: 12
- contentItem: Item { }
-
background: Rectangle {
color: control.Material.backgroundColor
radius: control.Material.elevation > 0 ? 2 : 0
diff --git a/src/imports/controls/material/Popup.qml b/src/imports/controls/material/Popup.qml
index 2cd85846..2654aaf4 100644
--- a/src/imports/controls/material/Popup.qml
+++ b/src/imports/controls/material/Popup.qml
@@ -66,8 +66,6 @@ T.Popup {
NumberAnimation { property: "opacity"; from: 1.0; to: 0.0; easing.type: Easing.OutCubic; duration: 150 }
}
- contentItem: Item { }
-
background: Rectangle {
radius: 2
color: control.Material.dialogColor
diff --git a/src/imports/controls/material/ToolBar.qml b/src/imports/controls/material/ToolBar.qml
index 0da814f1..ac6e8bf3 100644
--- a/src/imports/controls/material/ToolBar.qml
+++ b/src/imports/controls/material/ToolBar.qml
@@ -52,8 +52,6 @@ T.ToolBar {
Material.foreground: Material.toolTextColor
- contentItem: Item { }
-
background: Rectangle {
implicitHeight: 48
color: control.Material.toolBarColor
diff --git a/src/imports/controls/universal/Dialog.qml b/src/imports/controls/universal/Dialog.qml
index 1a2d6839..bda9bbb1 100644
--- a/src/imports/controls/universal/Dialog.qml
+++ b/src/imports/controls/universal/Dialog.qml
@@ -57,8 +57,6 @@ T.Dialog {
topPadding: 18
bottomPadding: 0
- contentItem: Item { }
-
background: Rectangle {
color: control.Universal.chromeMediumLowColor
border.color: control.Universal.chromeHighColor
diff --git a/src/imports/controls/universal/Drawer.qml b/src/imports/controls/universal/Drawer.qml
index c3dece6e..846d7031 100644
--- a/src/imports/controls/universal/Drawer.qml
+++ b/src/imports/controls/universal/Drawer.qml
@@ -57,8 +57,6 @@ T.Drawer {
enter: Transition { SmoothedAnimation { velocity: 5 } }
exit: Transition { SmoothedAnimation { velocity: 5 } }
- contentItem: Item { }
-
background: Rectangle {
color: control.Universal.chromeMediumLowColor
Rectangle {
diff --git a/src/imports/controls/universal/Frame.qml b/src/imports/controls/universal/Frame.qml
index 8c0118b0..9bd34292 100644
--- a/src/imports/controls/universal/Frame.qml
+++ b/src/imports/controls/universal/Frame.qml
@@ -49,8 +49,6 @@ T.Frame {
padding: 12
- contentItem: Item { }
-
background: Rectangle {
color: "transparent"
border.color: control.Universal.chromeDisabledLowColor
diff --git a/src/imports/controls/universal/GroupBox.qml b/src/imports/controls/universal/GroupBox.qml
index fea4efae..d45505c7 100644
--- a/src/imports/controls/universal/GroupBox.qml
+++ b/src/imports/controls/universal/GroupBox.qml
@@ -53,8 +53,6 @@ T.GroupBox {
padding: 12
topPadding: padding + (label && label.implicitWidth > 0 ? label.implicitHeight + spacing : 0)
- contentItem: Item { }
-
label: Text {
x: control.leftPadding
width: control.availableWidth
diff --git a/src/imports/controls/universal/Page.qml b/src/imports/controls/universal/Page.qml
index eca623f1..4f2d6ff7 100644
--- a/src/imports/controls/universal/Page.qml
+++ b/src/imports/controls/universal/Page.qml
@@ -41,8 +41,6 @@ import QtQuick.Controls.Universal 2.1
T.Page {
id: control
- contentItem: Item { }
-
background: Rectangle {
color: control.Universal.background
}
diff --git a/src/imports/controls/universal/Pane.qml b/src/imports/controls/universal/Pane.qml
index 183f278c..2a459630 100644
--- a/src/imports/controls/universal/Pane.qml
+++ b/src/imports/controls/universal/Pane.qml
@@ -49,8 +49,6 @@ T.Pane {
padding: 12
- contentItem: Item { }
-
background: Rectangle {
color: control.Universal.background
}
diff --git a/src/imports/controls/universal/Popup.qml b/src/imports/controls/universal/Popup.qml
index 36e87449..67dfa45c 100644
--- a/src/imports/controls/universal/Popup.qml
+++ b/src/imports/controls/universal/Popup.qml
@@ -51,8 +51,6 @@ T.Popup {
padding: 12
- contentItem: Item { }
-
background: Rectangle {
color: control.Universal.chromeMediumLowColor
border.color: control.Universal.chromeHighColor
diff --git a/src/imports/controls/universal/ToolBar.qml b/src/imports/controls/universal/ToolBar.qml
index 49889e19..5535a337 100644
--- a/src/imports/controls/universal/ToolBar.qml
+++ b/src/imports/controls/universal/ToolBar.qml
@@ -47,8 +47,6 @@ T.ToolBar {
contentWidth: contentItem.implicitWidth || (contentChildren.length === 1 ? contentChildren[0].implicitWidth : 0)
contentHeight: contentItem.implicitHeight || (contentChildren.length === 1 ? contentChildren[0].implicitHeight : 0)
- contentItem: Item { }
-
background: Rectangle {
implicitHeight: 48 // AppBarThemeCompactHeight
color: control.Universal.chromeMediumColor
diff --git a/src/quicktemplates2/qquickcontrol.cpp b/src/quicktemplates2/qquickcontrol.cpp
index 518255dd..6e35e64e 100644
--- a/src/quicktemplates2/qquickcontrol.cpp
+++ b/src/quicktemplates2/qquickcontrol.cpp
@@ -214,6 +214,11 @@ void QQuickControlPrivate::resizeContent()
}
}
+QQuickItem *QQuickControlPrivate::getContentItem()
+{
+ return contentItem;
+}
+
#ifndef QT_NO_ACCESSIBILITY
void QQuickControlPrivate::accessibilityActiveChanged(bool active)
{
@@ -1082,8 +1087,8 @@ void QQuickControl::setBackground(QQuickItem *background)
*/
QQuickItem *QQuickControl::contentItem() const
{
- Q_D(const QQuickControl);
- return d->contentItem;
+ QQuickControlPrivate *d = const_cast<QQuickControlPrivate *>(d_func());
+ return d->getContentItem();
}
void QQuickControl::setContentItem(QQuickItem *item)
diff --git a/src/quicktemplates2/qquickcontrol_p_p.h b/src/quicktemplates2/qquickcontrol_p_p.h
index 64f29986..26760510 100644
--- a/src/quicktemplates2/qquickcontrol_p_p.h
+++ b/src/quicktemplates2/qquickcontrol_p_p.h
@@ -88,6 +88,8 @@ public:
void resizeBackground();
virtual void resizeContent();
+ virtual QQuickItem *getContentItem();
+
#ifndef QT_NO_ACCESSIBILITY
void accessibilityActiveChanged(bool active) override;
QAccessible::Role accessibleRole() const override;
diff --git a/src/quicktemplates2/qquickpage.cpp b/src/quicktemplates2/qquickpage.cpp
index 54e79fbe..88eb03bf 100644
--- a/src/quicktemplates2/qquickpage.cpp
+++ b/src/quicktemplates2/qquickpage.cpp
@@ -87,10 +87,20 @@ class QQuickPagePrivate : public QQuickControlPrivate
Q_DECLARE_PUBLIC(QQuickPage)
public:
+ QQuickItem *getContentItem() override;
+
QString title;
QScopedPointer<QQuickPageLayout> layout;
};
+QQuickItem *QQuickPagePrivate::getContentItem()
+{
+ Q_Q(QQuickPage);
+ if (!contentItem)
+ contentItem = new QQuickItem(q);
+ return contentItem;
+}
+
QQuickPage::QQuickPage(QQuickItem *parent) :
QQuickControl(*(new QQuickPagePrivate), parent)
{
@@ -225,7 +235,7 @@ void QQuickPage::setFooter(QQuickItem *footer)
QQmlListProperty<QObject> QQuickPage::contentData()
{
Q_D(QQuickPage);
- return QQmlListProperty<QObject>(d->contentItem, nullptr,
+ return QQmlListProperty<QObject>(d->getContentItem(), nullptr,
QQuickItemPrivate::data_append,
QQuickItemPrivate::data_count,
QQuickItemPrivate::data_at,
@@ -248,7 +258,7 @@ QQmlListProperty<QObject> QQuickPage::contentData()
QQmlListProperty<QQuickItem> QQuickPage::contentChildren()
{
Q_D(QQuickPage);
- return QQmlListProperty<QQuickItem>(d->contentItem, nullptr,
+ return QQmlListProperty<QQuickItem>(d->getContentItem(), nullptr,
QQuickItemPrivate::children_append,
QQuickItemPrivate::children_count,
QQuickItemPrivate::children_at,
diff --git a/src/quicktemplates2/qquickpane.cpp b/src/quicktemplates2/qquickpane.cpp
index 9f9c139b..ea296eb6 100644
--- a/src/quicktemplates2/qquickpane.cpp
+++ b/src/quicktemplates2/qquickpane.cpp
@@ -108,6 +108,14 @@ QQuickPanePrivate::QQuickPanePrivate() : contentWidth(0), contentHeight(0)
{
}
+QQuickItem *QQuickPanePrivate::getContentItem()
+{
+ Q_Q(QQuickPane);
+ if (!contentItem)
+ contentItem = new QQuickItem(q);
+ return contentItem;
+}
+
QQuickPane::QQuickPane(QQuickItem *parent) :
QQuickControl(*(new QQuickPanePrivate), parent)
{
@@ -191,7 +199,7 @@ void QQuickPane::setContentHeight(qreal height)
QQmlListProperty<QObject> QQuickPane::contentData()
{
Q_D(QQuickPane);
- return QQmlListProperty<QObject>(d->contentItem, nullptr,
+ return QQmlListProperty<QObject>(d->getContentItem(), nullptr,
QQuickItemPrivate::data_append,
QQuickItemPrivate::data_count,
QQuickItemPrivate::data_at,
@@ -214,7 +222,7 @@ QQmlListProperty<QObject> QQuickPane::contentData()
QQmlListProperty<QQuickItem> QQuickPane::contentChildren()
{
Q_D(QQuickPane);
- return QQmlListProperty<QQuickItem>(d->contentItem, nullptr,
+ return QQmlListProperty<QQuickItem>(d->getContentItem(), nullptr,
QQuickItemPrivate::children_append,
QQuickItemPrivate::children_count,
QQuickItemPrivate::children_at,
diff --git a/src/quicktemplates2/qquickpane_p_p.h b/src/quicktemplates2/qquickpane_p_p.h
index acc0d0ab..62789664 100644
--- a/src/quicktemplates2/qquickpane_p_p.h
+++ b/src/quicktemplates2/qquickpane_p_p.h
@@ -61,6 +61,8 @@ class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickPanePrivate : public QQuickControlP
public:
QQuickPanePrivate();
+ QQuickItem *getContentItem() override;
+
qreal contentWidth;
qreal contentHeight;
};
diff --git a/src/quicktemplates2/qquickpopup.cpp b/src/quicktemplates2/qquickpopup.cpp
index d2625c3e..a8e07533 100644
--- a/src/quicktemplates2/qquickpopup.cpp
+++ b/src/quicktemplates2/qquickpopup.cpp
@@ -352,6 +352,8 @@ public:
void resolveFont() override;
+ QQuickItem *getContentItem() override;
+
QQuickPopup *popup;
};
@@ -378,6 +380,14 @@ void QQuickPopupItemPrivate::resolveFont()
inheritFont(window->font());
}
+QQuickItem *QQuickPopupItemPrivate::getContentItem()
+{
+ Q_Q(QQuickPopupItem);
+ if (!contentItem)
+ contentItem = new QQuickItem(q);
+ return contentItem;
+}
+
QQuickPopupItem::QQuickPopupItem(QQuickPopup *popup) :
QQuickControl(*(new QQuickPopupItemPrivate(popup)), nullptr)
{