diff --git a/meshroom/ui/graph.py b/meshroom/ui/graph.py index c9c98421..27f47765 100644 --- a/meshroom/ui/graph.py +++ b/meshroom/ui/graph.py @@ -679,14 +679,12 @@ class UIGraph(QObject): self._selectedNodes.append(n) self.selectedNodesChanged.emit() - def clearNodeSelection(self): - """ Clear node selection. """ - self.selectedNode = None - @Slot() - def clearNodesSelections(self): - """ Clear multiple nodes selection. """ + def clearNodeSelection(self): + """Clear all node selection.""" + self.selectedNode = None self._selectedNodes.clear() + self.selectedNodeChanged.emit() self.selectedNodesChanged.emit() def clearNodeHover(self): diff --git a/meshroom/ui/qml/GraphEditor/GraphEditor.qml b/meshroom/ui/qml/GraphEditor/GraphEditor.qml index 468459fb..ce6dc795 100755 --- a/meshroom/ui/qml/GraphEditor/GraphEditor.qml +++ b/meshroom/ui/qml/GraphEditor/GraphEditor.qml @@ -112,8 +112,7 @@ Item { onPressed: { if (mouse.button != Qt.MiddleButton && mouse.modifiers == Qt.NoModifier) { - selectNode(null) - uigraph.clearNodesSelections() + uigraph.clearNodeSelection() } if (mouse.button == Qt.LeftButton && (mouse.modifiers == Qt.NoModifier || mouse.modifiers == Qt.ControlModifier)) { boxSelect.startX = mouseX @@ -460,11 +459,11 @@ Item { } else if (mouse.modifiers & Qt.AltModifier) { duplicateNode(node, true) } else if (!mainSelected && !selected) { - uigraph.clearNodesSelections() + uigraph.clearNodeSelection() } } else if (mouse.button == Qt.RightButton) { if (!mainSelected && !selected) { - uigraph.clearNodesSelections() + uigraph.clearNodeSelection() } nodeMenu.currentNode = node nodeMenu.popup() diff --git a/tests/test_graph.py b/tests/test_graph.py index ed924475..f202a0f3 100644 --- a/tests/test_graph.py +++ b/tests/test_graph.py @@ -264,7 +264,8 @@ def test_duplicate_nodes(): n3 = g.addNewNode('AppendFiles', input=n1.output, input2=n2.output) # duplicate from n1 - nMap = g.duplicateNodesFromNode(fromNode=n1) + nodes_to_duplicate, _ = g.dfsOnDiscover(startNodes=[n1], reverse=True, dependenciesOnly=True) + nMap = g.duplicateNodes(srcNodes=nodes_to_duplicate) for s, d in nMap.items(): assert s.nodeType == d.nodeType