123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- // Copyright (c) 2015 Ultimaker B.V.
- // Uranium is released under the terms of the AGPLv3 or higher.
- import QtQuick 2.1
- import QtQuick.Controls 1.1
- import QtQuick.Controls.Styles 1.1
- import UM 1.1 as UM
- SettingItem
- {
- id: base
- ComboBox
- {
- // signal valueChanged(string value);
- // id: base
- model: definition.options
- textRole: "name";
- MouseArea
- {
- anchors.fill: parent;
- acceptedButtons: Qt.NoButton;
- onWheel: wheel.accepted = true;
- }
- style: ComboBoxStyle
- {
- background: Rectangle
- {
- color:
- {
- if (!enabled)
- {
- return base.style.controlDisabledColor
- }
- if(control.hovered || base.activeFocus)
- {
- return base.style.controlHighlightColor
- }
- else
- {
- return base.style.controlColor
- }
- }
- border.width: base.style.controlBorderWidth;
- border.color: !enabled ? base.style.controlDisabledBorderColor : control.hovered ? base.style.controlBorderHighlightColor : base.style.controlBorderColor;
- }
- label: Item
- {
- Label
- {
- anchors.left: parent.left;
- anchors.leftMargin: base.style.controlBorderWidth
- anchors.right: downArrow.left;
- anchors.rightMargin: base.style.controlBorderWidth;
- anchors.verticalCenter: parent.verticalCenter;
- text: control.currentText;
- font: base.style.controlFont;
- color: !enabled ? base.style.controlDisabledTextColor : base.style.controlTextColor;
- elide: Text.ElideRight;
- verticalAlignment: Text.AlignVCenter;
- }
- UM.RecolorImage
- {
- id: downArrow
- anchors.right: parent.right;
- anchors.rightMargin: base.style.controlBorderWidth * 2;
- anchors.verticalCenter: parent.verticalCenter;
- source: UM.Theme.getIcon("arrow_bottom")
- width: UM.Theme.getSize("standard_arrow").width
- height: UM.Theme.getSize("standard_arrow").height
- sourceSize.width: width + 5
- sourceSize.height: width + 5
- color: base.style.controlTextColor;
- }
- }
- }
- /*
- onActivated: {
- valueChanged(options.getItem(index).value);
- }
- onModelChanged: {
- updateCurrentIndex();
- }
- Component.onCompleted: {
- parent.parent.valueChanged.connect(updateCurrentIndex)
- }
- function updateCurrentIndex() {
- if (!options) {
- return;
- }
- for(var i = 0; i < options.rowCount(); ++i) {
- if(options.getItem(i).value == value) {
- currentIndex = i;
- return;
- }
- }
- currentIndex = -1;
- }*/
- }
- }
|