83 lines · 2.3 KB · Text
RawDownload
////  Prop/style/PiComboBox.qml////  Created by Sam Gateau on 3/2/2019//  Copyright 2019 High Fidelity, Inc.////  Distributed under the Apache License, Version 2.0.//  See the accompanying file LICENSE or https://www.apache.org/licenses/LICENSE-2.0.html// import QtQuick 2.7import QtQuick.Controls 2.2  ComboBox {    id: valueCombo     height: global.slimHeight    width: 120    implicitHeight: global.slimHeight            // look    flat: true    delegate: ItemDelegate {        width: valueCombo.width        height: valueCombo.height        contentItem: PiText {            text: modelData            horizontalAlignment: global.valueTextAlign        }        background: Rectangle {            color:highlighted ? global.colorBackHighlight : global.colorBack;        }        highlighted: valueCombo.highlightedIndex === index    }     indicator: PiCanvasIcon {        id: canvas        x: valueCombo.width - width - valueCombo.rightPadding        y: valueCombo.topPadding + (valueCombo.availableHeight - height) / 2         strokeColor: (valueCombo.down ? global.colorBorderLighter : global.colorBorderLight )        icon: 1 + valueCombo.down    }     contentItem: PiText {        leftPadding: 0        rightPadding: valueCombo.indicator.width + valueCombo.spacing         text: valueCombo.displayText        horizontalAlignment: global.valueTextAlign    }     background: Rectangle {        color: global.colorBack        border.color: valueCombo.popup.visible ? global.colorBorderLighter : global.colorBorderLight        border.width: global.valueBorderWidth        radius: global.valueBorderRadius    }     popup: Popup {        y: valueCombo.height - 1        width: valueCombo.width        implicitHeight: contentItem.implicitHeight + 2        padding: 1         contentItem: ListView {            clip: true            implicitHeight: contentHeight            model: valueCombo.popup.visible ? valueCombo.delegateModel : null            currentIndex: valueCombo.highlightedIndex             ScrollIndicator.vertical: ScrollIndicator { }        }         background: Rectangle {            color: global.colorBack            border.color: global.colorBorderHighight            radius: global.valueBorderRadius        }    }}