diff --git a/meshroom/core/node.py b/meshroom/core/node.py index 543f5438..4b23c621 100644 --- a/meshroom/core/node.py +++ b/meshroom/core/node.py @@ -868,12 +868,12 @@ class BaseNode(BaseObject): def updateDuplicates(self, nodesPerUid): """ Update the list of duplicate nodes (sharing the same uid). """ - if not nodesPerUid: + uid = self._uids.get(0) + if not nodesPerUid or not uid: self._duplicates.clear() self.duplicatesChanged.emit() return - uid = self._uids.get(0) self._duplicates.setObjectList([node for node in nodesPerUid.get(uid) if node != self]) self.duplicatesChanged.emit() diff --git a/meshroom/ui/qml/GraphEditor/Node.qml b/meshroom/ui/qml/GraphEditor/Node.qml index a79bfeea..58b6e36c 100755 --- a/meshroom/ui/qml/GraphEditor/Node.qml +++ b/meshroom/ui/qml/GraphEditor/Node.qml @@ -177,14 +177,17 @@ Item { spacing: 2 // Data sharing indicator - MaterialLabel { + MaterialToolButton { visible: node.duplicates.count > 0 text: MaterialIcons.layers font.pointSize: 7 padding: 2 palette.text: Colors.sysPalette.text - ToolTip.text: visible ? generateDuplicateList() : "" - ToolTip.delay: 250 + ToolTip.text: visible ? "Shares internal folder (data) with other node(s). Click for details." : "" + + onPressed: ToolTip.text = visible ? generateDuplicateList() : "" + onReleased: ToolTip.text = visible ? "Shares internal folder (data) with other node(s). Click for details." : "" + onCanceled: released() } // Submitted externally indicator