Skip to content

Commit b5ae4c0

Browse files
committed
[ui] GraphEditor: simplify foreach loop menu
1 parent ca76ea0 commit b5ae4c0

File tree

1 file changed

+50
-74
lines changed

1 file changed

+50
-74
lines changed

meshroom/ui/qml/GraphEditor/GraphEditor.qml

Lines changed: 50 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -388,97 +388,73 @@ Item {
388388
}
389389

390390
contentItem: Row {
391-
spacing: 20
391+
IntSelector {
392+
tooltipText: "Iterations"
393+
visible: edgeMenu.currentEdge && edgeMenu.forLoop
392394

393-
Column {
394-
id: listAttrColumn
395-
visible: edgeMenu.currentEdge && edgeMenu.forLoop && expandButton.canExpand
396395
property var listAttr: edgeMenu.currentEdge ? edgeMenu.currentEdge.src.root : null
397-
Layout.alignment: Qt.AlignTop
398-
Text {
399-
id: listAttrMenuText
400-
text: "<b>Iteration:</b>"
401396

402-
color: activePalette.text
403-
}
404-
405-
IntSelector {
406-
tooltipText: "Iterations"
407-
width: listAttrColumn.width
408-
visible: edgeMenu.currentEdge && edgeMenu.forLoop
409-
410-
// We add 1 to the index because of human readable index (starting at 1)
411-
value: listAttrColumn.listAttr ? listAttrColumn.listAttr.value.indexOf(edgeMenu.currentEdge.src) + 1 : 0
412-
range: { "min": 1, "max": listAttrColumn.listAttr ? listAttrColumn.listAttr.value.count : 0 }
397+
// We add 1 to the index because of human readable index (starting at 1)
398+
value: listAttr ? listAttr.value.indexOf(edgeMenu.currentEdge.src) + 1 : 0
399+
range: { "min": 1, "max": listAttr ? listAttr.value.count : 0 }
413400

414-
onValueChanged: {
415-
if (listAttrColumn.listAttr === null) {
416-
return
417-
}
418-
const newSrcAttr = listAttrColumn.listAttr.value.at(value - 1)
419-
const dst = edgeMenu.currentEdge.dst
401+
onValueChanged: {
402+
if (listAttr === null) {
403+
return
404+
}
405+
const newSrcAttr = listAttr.value.at(value - 1)
406+
const dst = edgeMenu.currentEdge.dst
420407

421-
// if the edge exists do not replace it
422-
if (newSrcAttr === edgeMenu.currentEdge.src && dst === edgeMenu.currentEdge.dst) {
423-
return
424-
}
425-
edgeMenu.currentEdge = uigraph.replaceEdge(edgeMenu.currentEdge, newSrcAttr, dst)
408+
// if the edge exists do not replace it
409+
if (newSrcAttr === edgeMenu.currentEdge.src && dst === edgeMenu.currentEdge.dst) {
410+
return
426411
}
412+
edgeMenu.currentEdge = uigraph.replaceEdge(edgeMenu.currentEdge, newSrcAttr, dst)
427413
}
428414
}
429-
Column {
430-
Layout.alignment: Qt.AlignTop
431-
Text {
432-
text: "<b>Actions:</b>"
433415

434-
color: activePalette.text
416+
MaterialToolButton {
417+
font.pointSize: 13
418+
ToolTip.text: "Remove edge"
419+
enabled: edgeMenu.currentEdge && !edgeMenu.currentEdge.dst.node.locked && !edgeMenu.currentEdge.dst.isReadOnly
420+
text: MaterialIcons.delete_
421+
onClicked: {
422+
uigraph.removeEdge(edgeMenu.currentEdge)
423+
edgeMenu.close()
435424
}
425+
}
436426

437-
Row {
438-
MaterialToolButton {
439-
font.pointSize: 13
440-
ToolTip.text: "Remove edge"
441-
enabled: edgeMenu.currentEdge && !edgeMenu.currentEdge.dst.node.locked && !edgeMenu.currentEdge.dst.isReadOnly
442-
text: MaterialIcons.delete_
443-
onClicked: {
444-
uigraph.removeEdge(edgeMenu.currentEdge)
445-
edgeMenu.close()
446-
}
447-
}
448-
449-
MaterialToolButton {
450-
id: expandButton
427+
MaterialToolButton {
428+
id: expandButton
451429

452-
property bool canExpand: edgeMenu.currentEdge && edgeMenu.forLoop
430+
property bool canExpand: edgeMenu.currentEdge && edgeMenu.forLoop
453431

454-
visible: edgeMenu.currentEdge && edgeMenu.forLoop && canExpand
455-
enabled: edgeMenu.currentEdge && !edgeMenu.currentEdge.dst.node.locked && !edgeMenu.currentEdge.dst.isReadOnly
456-
font.pointSize: 13
457-
ToolTip.text: "Expand"
458-
text: MaterialIcons.open_in_full
432+
visible: edgeMenu.currentEdge && edgeMenu.forLoop && canExpand
433+
enabled: edgeMenu.currentEdge && !edgeMenu.currentEdge.dst.node.locked && !edgeMenu.currentEdge.dst.isReadOnly
434+
font.pointSize: 13
435+
ToolTip.text: "Expand"
436+
text: MaterialIcons.open_in_full
459437

460-
onClicked: {
461-
uigraph.expandForLoop(edgeMenu.currentEdge)
462-
canExpand = false
463-
edgeMenu.close()
464-
}
465-
}
438+
onClicked: {
439+
uigraph.expandForLoop(edgeMenu.currentEdge)
440+
canExpand = false
441+
edgeMenu.close()
442+
}
443+
}
466444

467-
MaterialToolButton {
468-
id: collapseButton
445+
MaterialToolButton {
446+
id: collapseButton
469447

470-
visible: edgeMenu.currentEdge && edgeMenu.forLoop && !expandButton.canExpand
471-
enabled: edgeMenu.currentEdge && !edgeMenu.currentEdge.dst.node.locked && !edgeMenu.currentEdge.dst.isReadOnly
472-
font.pointSize: 13
473-
ToolTip.text: "Collapse"
474-
text: MaterialIcons.close_fullscreen
448+
visible: edgeMenu.currentEdge && edgeMenu.forLoop && !expandButton.canExpand
449+
enabled: edgeMenu.currentEdge && !edgeMenu.currentEdge.dst.node.locked && !edgeMenu.currentEdge.dst.isReadOnly
450+
font.pointSize: 13
451+
ToolTip.text: "Collapse"
452+
text: MaterialIcons.close_fullscreen
475453

476-
onClicked: {
477-
uigraph.collapseForLoop(edgeMenu.currentEdge)
478-
expandButton.canExpand = true
479-
edgeMenu.close()
480-
}
481-
}
454+
onClicked: {
455+
uigraph.collapseForLoop(edgeMenu.currentEdge)
456+
expandButton.canExpand = true
457+
edgeMenu.close()
482458
}
483459
}
484460
}

0 commit comments

Comments
 (0)