aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@theqtcompany.com>2016-02-05 13:33:08 +0100
committerJ-P Nurmi <jpnurmi@theqtcompany.com>2016-02-06 13:16:14 +0000
commit54efc8f33d9c37e8912f5755af588817192a869d (patch)
tree31bc7b81e95ffccb0e2948f44898941ca49f46c1
parent802f6b747f4cd76bda4395b6bc06dec81da1110c (diff)
ItemDelegate: migrate from label to contentItem
Change-Id: I928192b1b5d31e077032cba31f1bde3bf35491f3 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
-rw-r--r--src/imports/controls/ItemDelegate.qml20
-rw-r--r--src/imports/controls/doc/images/qtlabscontrols-itemdelegate-contentItem.png (renamed from src/imports/controls/doc/images/qtlabscontrols-itemdelegate-label.png)bin3441 -> 3441 bytes
-rw-r--r--src/imports/controls/doc/snippets/qtlabscontrols-itemdelegate-contentItem.qml (renamed from src/imports/controls/doc/snippets/qtlabscontrols-itemdelegate-label.qml)2
-rw-r--r--src/imports/controls/doc/src/qtlabscontrols-customize.qdoc8
-rw-r--r--src/imports/controls/material/ItemDelegate.qml20
-rw-r--r--src/imports/controls/universal/ItemDelegate.qml20
-rw-r--r--tests/auto/controls/data/tst_itemdelegate.qml2
7 files changed, 30 insertions, 42 deletions
diff --git a/src/imports/controls/ItemDelegate.qml b/src/imports/controls/ItemDelegate.qml
index b5dfb4b6..13a13e1e 100644
--- a/src/imports/controls/ItemDelegate.qml
+++ b/src/imports/controls/ItemDelegate.qml
@@ -41,23 +41,19 @@ T.ItemDelegate {
id: control
implicitWidth: Math.max(background ? background.implicitWidth : 0,
- (label ? label.implicitWidth : 0) +
- (indicator ? indicator.implicitWidth : 0) +
- (label && indicator ? spacing : 0) + leftPadding + rightPadding)
+ contentItem.implicitWidth + leftPadding + rightPadding)
implicitHeight: Math.max(background ? background.implicitHeight : 0,
- Math.max(label ? label.implicitHeight : 0,
+ Math.max(contentItem.implicitHeight,
indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
- baselineOffset: label ? label.y + label.baselineOffset : 0
+ baselineOffset: contentItem.y + contentItem.baselineOffset
padding: 12
spacing: 12
- //! [label]
- label: Text {
- x: control.mirrored ? control.width - width - control.rightPadding : control.leftPadding
- y: control.topPadding
- width: control.availableWidth - (control.checkable ? indicator.width + control.spacing : 0)
- height: control.availableHeight
+ //! [contentItem]
+ contentItem: Text {
+ leftPadding: control.checkable && control.mirrored ? control.indicator.width + control.spacing : 0
+ rightPadding: control.checkable && !control.mirrored ? control.indicator.width + control.spacing : 0
text: control.text
font: control.font
@@ -67,7 +63,7 @@ T.ItemDelegate {
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter
}
- //! [label]
+ //! [contentItem]
//! [indicator]
indicator: Image {
diff --git a/src/imports/controls/doc/images/qtlabscontrols-itemdelegate-label.png b/src/imports/controls/doc/images/qtlabscontrols-itemdelegate-contentItem.png
index 89f094c6..89f094c6 100644
--- a/src/imports/controls/doc/images/qtlabscontrols-itemdelegate-label.png
+++ b/src/imports/controls/doc/images/qtlabscontrols-itemdelegate-contentItem.png
Binary files differ
diff --git a/src/imports/controls/doc/snippets/qtlabscontrols-itemdelegate-label.qml b/src/imports/controls/doc/snippets/qtlabscontrols-itemdelegate-contentItem.qml
index 696560a5..43e6f85e 100644
--- a/src/imports/controls/doc/snippets/qtlabscontrols-itemdelegate-label.qml
+++ b/src/imports/controls/doc/snippets/qtlabscontrols-itemdelegate-contentItem.qml
@@ -33,7 +33,7 @@ ItemDelegate {
checked: true
checkable: true
Rectangle {
- anchors.fill: label
+ anchors.fill: contentItem
color: "transparent"
border.color: "red"
}
diff --git a/src/imports/controls/doc/src/qtlabscontrols-customize.qdoc b/src/imports/controls/doc/src/qtlabscontrols-customize.qdoc
index 6dc19453..7465d21d 100644
--- a/src/imports/controls/doc/src/qtlabscontrols-customize.qdoc
+++ b/src/imports/controls/doc/src/qtlabscontrols-customize.qdoc
@@ -205,7 +205,7 @@
\section1 Customizing ItemDelegate
ItemDelegate consists of three visual items: \l {Control::background}{background},
- \l {AbstractButton::label}{label} and \l {AbstractButton::indicator}{indicator}.
+ \l {Control::contentItem}{content item} and \l {AbstractButton::indicator}{indicator}.
The indicator is only visible for \l {AbstractButton::checkable}{checkable} items.
\section3 Background
@@ -214,11 +214,11 @@
\snippet ItemDelegate.qml background
- \section3 Label
+ \section3 Content item
- \image qtlabscontrols-itemdelegate-label.png
+ \image qtlabscontrols-itemdelegate-contentItem.png
- \snippet ItemDelegate.qml label
+ \snippet ItemDelegate.qml contentItem
\section3 Indicator
diff --git a/src/imports/controls/material/ItemDelegate.qml b/src/imports/controls/material/ItemDelegate.qml
index b955c6d9..ce0b7b19 100644
--- a/src/imports/controls/material/ItemDelegate.qml
+++ b/src/imports/controls/material/ItemDelegate.qml
@@ -43,13 +43,11 @@ T.ItemDelegate {
id: control
implicitWidth: Math.max(background ? background.implicitWidth : 0,
- (label ? label.implicitWidth : 0) +
- (indicator ? indicator.implicitWidth : 0) +
- (label && indicator ? spacing : 0) + leftPadding + rightPadding)
+ contentItem.implicitWidth + leftPadding + rightPadding)
implicitHeight: Math.max(background ? background.implicitHeight : 0,
- Math.max(label ? label.implicitHeight : 0,
+ Math.max(contentItem.implicitHeight,
indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
- baselineOffset: label ? label.y + label.baselineOffset : 0
+ baselineOffset: contentItem.y + contentItem.baselineOffset
padding: 16
spacing: 16
@@ -129,12 +127,10 @@ T.ItemDelegate {
}
//! [indicator]
- //! [label]
- label: Text {
- x: control.mirrored || !control.checkable ? control.leftPadding : (indicator.x + indicator.width + control.spacing)
- y: control.topPadding
- width: control.availableWidth - (control.checkable ? indicator.width + control.spacing : 0)
- height: control.availableHeight
+ //! [contentItem]
+ contentItem: Text {
+ leftPadding: control.checkable && !control.mirrored ? control.indicator.width + control.spacing : 0
+ rightPadding: control.checkable && control.mirrored ? control.indicator.width + control.spacing : 0
text: control.text
font: control.font
@@ -144,7 +140,7 @@ T.ItemDelegate {
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter
}
- //! [label]
+ //! [contentItem]
//! [background]
background: Rectangle {
diff --git a/src/imports/controls/universal/ItemDelegate.qml b/src/imports/controls/universal/ItemDelegate.qml
index d2c9a4f3..406bdb42 100644
--- a/src/imports/controls/universal/ItemDelegate.qml
+++ b/src/imports/controls/universal/ItemDelegate.qml
@@ -42,13 +42,11 @@ T.ItemDelegate {
id: control
implicitWidth: Math.max(background ? background.implicitWidth : 0,
- (label ? label.implicitWidth : 0) +
- (indicator ? indicator.implicitWidth : 0) +
- (label && indicator ? spacing : 0) + leftPadding + rightPadding)
+ contentItem.implicitWidth + leftPadding + rightPadding)
implicitHeight: Math.max(background ? background.implicitHeight : 0,
- Math.max(label ? label.implicitHeight : 0,
+ Math.max(contentItem.implicitHeight,
indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
- baselineOffset: label ? label.y + label.baselineOffset : 0
+ baselineOffset: contentItem.y + contentItem.baselineOffset
spacing: 12
@@ -67,12 +65,10 @@ T.ItemDelegate {
}
//! [indicator]
- //! [label]
- label: Text {
- x: control.mirrored || !control.checkable ? control.leftPadding : (indicator.x + indicator.width + control.spacing)
- y: control.topPadding
- width: control.availableWidth - (control.checkable ? indicator.width + control.spacing : 0)
- height: control.availableHeight
+ //! [contentItem]
+ contentItem: Text {
+ leftPadding: control.checkable && !control.mirrored ? control.indicator.width + control.spacing : 0
+ rightPadding: control.checkable && control.mirrored ? control.indicator.width + control.spacing : 0
text: control.text
font: control.font
@@ -84,7 +80,7 @@ T.ItemDelegate {
color: !control.enabled ? control.Universal.baseLowColor : control.Universal.baseHighColor
}
- //! [label]
+ //! [contentItem]
//! [background]
background: Rectangle {
diff --git a/tests/auto/controls/data/tst_itemdelegate.qml b/tests/auto/controls/data/tst_itemdelegate.qml
index e2f78ac5..f2fd3794 100644
--- a/tests/auto/controls/data/tst_itemdelegate.qml
+++ b/tests/auto/controls/data/tst_itemdelegate.qml
@@ -58,7 +58,7 @@ TestCase {
function test_baseline() {
var control = itemDelegate.createObject(testCase)
verify(control)
- compare(control.baselineOffset, control.label.y + control.label.baselineOffset)
+ compare(control.baselineOffset, control.contentItem.y + control.contentItem.baselineOffset)
control.destroy()
}
}