summaryrefslogtreecommitdiff
path: root/retrace/daemon/ui/qml/StateControl.qml
diff options
context:
space:
mode:
Diffstat (limited to 'retrace/daemon/ui/qml/StateControl.qml')
-rw-r--r--retrace/daemon/ui/qml/StateControl.qml37
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]);
}
}