diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-04-28 12:37:58 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-04-28 11:56:14 +0000 |
commit | c6e700d59a66ee648548a93fc7235e06423216cb (patch) | |
tree | 2a0f340598b022da121f86e3a96f84a3b6fedbf9 /src/imports/controls/universal | |
parent | 23706b974f443b96bf1da86b264349e51d6d0d05 (diff) |
ComboBox: separate indicator
This makes it possible to hide or replace either ComboBox background
or content item without losing the built-in indicator.
Change-Id: I308bbaa8190eba04ff3048a20c2d2ed0431a24f2
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Diffstat (limited to 'src/imports/controls/universal')
-rw-r--r-- | src/imports/controls/universal/ComboBox.qml | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/imports/controls/universal/ComboBox.qml b/src/imports/controls/universal/ComboBox.qml index bfb202bc..8c86fc72 100644 --- a/src/imports/controls/universal/ComboBox.qml +++ b/src/imports/controls/universal/ComboBox.qml @@ -46,7 +46,8 @@ T.ComboBox { implicitWidth: Math.max(background ? background.implicitWidth : 0, contentItem.implicitWidth + leftPadding + rightPadding) implicitHeight: Math.max(background ? background.implicitHeight : 0, - contentItem.implicitHeight + topPadding + bottomPadding) + Math.max(contentItem.implicitHeight, + indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding) baselineOffset: contentItem.y + contentItem.baselineOffset spacing: 10 @@ -63,14 +64,24 @@ T.ComboBox { } //! [delegate] + //! [indicator] + indicator: Image { + x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding + y: control.topPadding + (control.availableHeight - height) / 2 + source: "image://universal/downarrow/" + (!control.enabled ? control.Universal.baseLowColor : control.Universal.baseMediumHighColor) + } + //! [indicator] + //! [contentItem] contentItem: Text { + leftPadding: control.mirrored && control.indicator ? control.indicator.width + control.spacing : 0 + rightPadding: !control.mirrored && control.indicator ? control.indicator.width + control.spacing : 0 + text: control.displayText font: control.font horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter elide: Text.ElideRight - rightPadding: 12 + control.spacing opacity: enabled ? 1.0 : 0.2 color: control.Universal.foreground @@ -98,13 +109,6 @@ T.ComboBox { color: control.Universal.accent opacity: control.Universal.theme === Universal.Light ? 0.4 : 0.6 } - - Image { - id: checkmark - x: parent.width - width - control.rightPadding - y: (parent.height - height) / 2 - source: "image://universal/downarrow/" + (!control.enabled ? control.Universal.baseLowColor : control.Universal.baseMediumHighColor) - } } //! [background] |