Skip to content

Commit dd49c79

Browse files
committed
[ui] Graph: add removeSelectedNodes method
Add and use an explicit method to remove the currently selected nodes in a graph.
1 parent 8dd2e04 commit dd49c79

File tree

3 files changed

+16
-11
lines changed

3 files changed

+16
-11
lines changed

meshroom/ui/graph.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -676,18 +676,23 @@ def moveSelectedNodesBy(self, offset: QPoint):
676676
position = Position(node.x + offset.x(), node.y + offset.y())
677677
self.moveNode(node, position)
678678

679-
@Slot(QObject)
680-
def removeNodes(self, nodes):
679+
@Slot()
680+
def removeSelectedNodes(self):
681+
"""Remove selected nodes from the graph."""
682+
self.removeNodes(list(self.iterSelectedNodes()))
683+
684+
@Slot(list)
685+
def removeNodes(self, nodes: list[Node]):
681686
"""
682687
Remove 'nodes' from the graph.
683688
684689
Args:
685-
nodes (list[Node]): the nodes to remove
690+
nodes: The nodes to remove.
686691
"""
687-
nodes = self.filterNodes(nodes)
688-
if any([ n.locked for n in nodes ]):
692+
if any(n.locked for n in nodes):
689693
return
690-
with self.groupedGraphModification("Remove Selected Nodes"):
694+
695+
with self.groupedGraphModification("Remove Nodes"):
691696
for node in nodes:
692697
self.push(commands.RemoveNodeCommand(self._graph, node))
693698

meshroom/ui/qml/Application.qml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,7 @@ Page {
488488
enabled: _reconstruction ? _reconstruction.selectedNodes.count > 0 : false
489489
onTriggered: {
490490
graphEditor.copyNodes()
491-
graphEditor.uigraph.removeNodes(graphEditor.uigraph.selectedNodes)
491+
graphEditor.uigraph.removeSelectedNodes()
492492
}
493493
}
494494

meshroom/ui/qml/GraphEditor/GraphEditor.qml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,13 +140,13 @@ Item {
140140
if (event.modifiers === Qt.AltModifier) {
141141
uigraph.removeNodesFrom(uigraph.selectedNodes)
142142
} else {
143-
uigraph.removeNodes(uigraph.selectedNodes)
143+
uigraph.removeSelectedNodes()
144144
}
145145
} else if (event.key === Qt.Key_D) {
146146
duplicateNode(event.modifiers === Qt.AltModifier)
147147
} else if (event.key === Qt.Key_X && event.modifiers === Qt.ControlModifier) {
148148
copyNodes()
149-
uigraph.removeNodes(uigraph.selectedNodes)
149+
uigraph.removeSelectedNodes()
150150
} else if (event.key === Qt.Key_C && event.modifiers === Qt.ControlModifier) {
151151
copyNodes()
152152
} else if (event.key === Qt.Key_V && event.modifiers === Qt.ControlModifier) {
@@ -680,7 +680,7 @@ Item {
680680
ToolTip.visible: hovered
681681
onTriggered: {
682682
copyNodes()
683-
uigraph.removeNodes(uigraph.selectedNodes)
683+
uigraph.removeSelectedNodes()
684684
}
685685
}
686686
MenuItem {
@@ -721,7 +721,7 @@ Item {
721721
MenuItem {
722722
text: "Remove Node(s)" + (removeFollowingButton.hovered ? " From Here" : "")
723723
enabled: nodeMenu.currentNode ? !nodeMenu.currentNode.locked : false
724-
onTriggered: uigraph.removeNodes(uigraph.selectedNodes)
724+
onTriggered: uigraph.removeSelectedNodes()
725725
MaterialToolButton {
726726
id: removeFollowingButton
727727
height: parent.height

0 commit comments

Comments
 (0)