aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/controls/universal
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-04-28 12:37:58 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-04-28 11:56:14 +0000
commitc6e700d59a66ee648548a93fc7235e06423216cb (patch)
tree2a0f340598b022da121f86e3a96f84a3b6fedbf9 /src/imports/controls/universal
parent23706b974f443b96bf1da86b264349e51d6d0d05 (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.qml22
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]