diff options
Diffstat (limited to 'retrace/daemon/ui/qml/StateControl.qml')
-rw-r--r-- | retrace/daemon/ui/qml/StateControl.qml | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/retrace/daemon/ui/qml/StateControl.qml b/retrace/daemon/ui/qml/StateControl.qml index 2eda8a85..c0673b29 100644 --- a/retrace/daemon/ui/qml/StateControl.qml +++ b/retrace/daemon/ui/qml/StateControl.qml @@ -14,17 +14,52 @@ Item { anchors.fill: parent delegate: Component { Row { + visible: modelData.visible + height: modelData.visible ? combo.height : 0 + Rectangle { + id: indent + width: nameText.height * modelData.indent + height: 1 + opacity: 0.0 + } + Rectangle { + id: collapse + anchors.bottom: nameText.bottom + width: nameText.height + height: nameText.height + visible: modelData.choices.length == 0 + property var collapsed: false + color: collapse.collapsed ? "red" : "green" + MouseArea { + anchors.fill: parent + onClicked: { + if (collapse.collapsed) { + collapse.color = "green"; + stateModel.expand(modelData.path); + collapse.collapsed = false + } else { + collapse.color = "red"; + stateModel.collapse(modelData.path); + collapse.collapsed = true + } + } + } + } Text { id: nameText anchors.verticalCenter: parent.verticalCenter text: modelData.name + " : " } ComboBoxFitContents { + id: combo anchors.verticalCenter: parent.verticalCenter model: modelData.choices currentIndex: modelData.value + visible: (modelData.choices.length > 0) onActivated: { - stateModel.setState(modelData.name, + stateModel.setState(modelData.group, + modelData.path, + modelData.name, modelData.choices[currentIndex]); } } |