aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-07-19 15:04:04 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-07-19 13:38:29 +0000
commitdb8b4aa1f1d12430168f818ed259b47654ec715d (patch)
tree9cbaae736326f203b078901548d4434bd574415f
parentae3fcdd0c6fc27a692a19c669daf45c8160bc257 (diff)
ComboBox: add custom popup example snippet
Change-Id: I9e393d3db42ba21ee2e1cd231bb91fd55bcace46 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-combobox-custom.qml33
1 files changed, 30 insertions, 3 deletions
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-combobox-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-combobox-custom.qml
index d4b0b194..bd261e52 100644
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-combobox-custom.qml
+++ b/src/imports/controls/doc/snippets/qtquickcontrols2-combobox-custom.qml
@@ -35,12 +35,18 @@ ComboBox {
delegate: ItemDelegate {
width: control.width
- text: modelData
- font.weight: control.currentIndex === index ? Font.DemiBold : Font.Normal
+ contentItem: Text {
+ text: modelData
+ color: "#21be2b"
+ font: control.font
+ elide: Text.ElideRight
+ verticalAlignment: Text.AlignVCenter
+ }
highlighted: control.highlightedIndex == index
}
indicator: Canvas {
+ id: canvas
x: control.width - width - control.rightPadding
y: control.topPadding + (control.availableHeight - height) / 2
width: 12
@@ -49,7 +55,7 @@ ComboBox {
Connections {
target: control
- onPressedChanged: indicator.requestPaint()
+ onPressedChanged: canvas.requestPaint()
}
onPaint: {
@@ -82,5 +88,26 @@ ComboBox {
border.width: control.visualFocus ? 2 : 1
radius: 2
}
+
+ popup: Popup {
+ y: control.height - 1
+ width: control.width
+ implicitHeight: listview.contentHeight
+ padding: 1
+
+ contentItem: ListView {
+ id: listview
+ clip: true
+ model: control.popup.visible ? control.delegateModel : null
+ currentIndex: control.highlightedIndex
+
+ ScrollIndicator.vertical: ScrollIndicator { }
+ }
+
+ background: Rectangle {
+ border.color: "#21be2b"
+ radius: 2
+ }
+ }
}
//! [file]