mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-05-23 13:09:28 +08:00
115 lines
3.3 KiB
QML
115 lines
3.3 KiB
QML
// 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;
|
|
}*/
|
|
}
|
|
}
|