diff options
-rw-r--r-- | src/imports/controls/MenuItem.qml | 24 | ||||
-rw-r--r-- | src/imports/controls/material/MenuItem.qml | 20 | ||||
-rw-r--r-- | src/imports/controls/universal/MenuItem.qml | 24 | ||||
-rw-r--r-- | tests/auto/controls/data/tst_menuitem.qml | 2 |
4 files changed, 31 insertions, 39 deletions
diff --git a/src/imports/controls/MenuItem.qml b/src/imports/controls/MenuItem.qml index ae5a8e38..75866fbe 100644 --- a/src/imports/controls/MenuItem.qml +++ b/src/imports/controls/MenuItem.qml @@ -40,21 +40,19 @@ import Qt.labs.templates 1.0 as T T.MenuItem { id: control - implicitWidth: background ? background.implicitWidth - : (label ? label.implicitWidth : 0) + (indicator ? indicator.implicitWidth : 0) - + (label && indicator ? spacing : 0) + leftPadding + rightPadding - implicitHeight: background ? background.implicitHeight - : (label ? label.implicitHeight : 0) + (indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding - baselineOffset: label ? label.y + label.baselineOffset : 0 + implicitWidth: Math.max(background ? background.implicitWidth : 0, + contentItem.implicitWidth + leftPadding + rightPadding) + implicitHeight: Math.max(background ? background.implicitHeight : 0, + Math.max(contentItem.implicitHeight, + indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding) + baselineOffset: contentItem.y + contentItem.baselineOffset padding: 6 - //! [label] - label: Text { - x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding - 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 @@ -64,7 +62,7 @@ T.MenuItem { horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } - //! [label] + //! [contentItem] //! [indicator] indicator: Image { diff --git a/src/imports/controls/material/MenuItem.qml b/src/imports/controls/material/MenuItem.qml index 15ef6065..c09e9912 100644 --- a/src/imports/controls/material/MenuItem.qml +++ b/src/imports/controls/material/MenuItem.qml @@ -43,13 +43,11 @@ T.MenuItem { 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.MenuItem { } //! [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.MenuItem { horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } - //! [label] + //! [contentItem] //! [background] background: Rectangle { diff --git a/src/imports/controls/universal/MenuItem.qml b/src/imports/controls/universal/MenuItem.qml index fee5d886..cc8cb75d 100644 --- a/src/imports/controls/universal/MenuItem.qml +++ b/src/imports/controls/universal/MenuItem.qml @@ -41,12 +41,12 @@ import Qt.labs.controls.universal 1.0 T.MenuItem { id: control - implicitWidth: background ? background.implicitWidth - : (label ? label.implicitWidth : 0) + (indicator ? indicator.implicitWidth : 0) - + (label && indicator ? spacing : 0) + leftPadding + rightPadding - implicitHeight: background ? background.implicitHeight - : (label ? label.implicitHeight : 0) + (indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding - baselineOffset: label ? label.y + label.baselineOffset : 0 + implicitWidth: Math.max(background ? background.implicitWidth : 0, + contentItem.implicitWidth + leftPadding + rightPadding) + implicitHeight: Math.max(background ? background.implicitHeight : 0, + Math.max(contentItem.implicitHeight, + indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding) + baselineOffset: contentItem.y + contentItem.baselineOffset topPadding: 11 leftPadding: 12 @@ -54,12 +54,10 @@ T.MenuItem { bottomPadding: 13 spacing: 12 - //! [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 @@ -69,7 +67,7 @@ T.MenuItem { horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } - //! [label] + //! [contentItem] //! [indicator] indicator: Image { diff --git a/tests/auto/controls/data/tst_menuitem.qml b/tests/auto/controls/data/tst_menuitem.qml index 8581a43f..8c9bc71b 100644 --- a/tests/auto/controls/data/tst_menuitem.qml +++ b/tests/auto/controls/data/tst_menuitem.qml @@ -58,7 +58,7 @@ TestCase { function test_baseline() { var control = menuItem.createObject(testCase) verify(control) - compare(control.baselineOffset, control.label.y + control.label.baselineOffset) + compare(control.baselineOffset, control.contentItem.y + control.contentItem.baselineOffset) control.destroy() } } |