diff --git a/meshroom/core/graph.py b/meshroom/core/graph.py index a9b94384..defc1e95 100644 --- a/meshroom/core/graph.py +++ b/meshroom/core/graph.py @@ -999,6 +999,7 @@ class Graph(BaseObject): for chunk in self.iterChunksByStatus(Status.RUNNING): chunk.stopProcess() + @Slot() def clearSubmittedNodes(self): """ Reset the status of already submitted nodes to Status.NONE """ for node in self.nodes: diff --git a/meshroom/ui/qml/GraphEditor/NodeEditor.qml b/meshroom/ui/qml/GraphEditor/NodeEditor.qml index 1be97acd..dd099905 100644 --- a/meshroom/ui/qml/GraphEditor/NodeEditor.qml +++ b/meshroom/ui/qml/GraphEditor/NodeEditor.qml @@ -54,7 +54,7 @@ Panel { MenuSeparator {} MenuItem { enabled: root.node !== null - text: "Clear Submitted Status" + text: "Clear Pending Status" onClicked: node.clearSubmittedChunks() } } @@ -115,7 +115,7 @@ Panel { AttributeEditor { Layout.fillWidth: true attributes: root.node.attributes - readOnly: root.isCompatibilityNode + readOnly: root.readOnly || root.isCompatibilityNode onAttributeDoubleClicked: root.attributeDoubleClicked(attribute) onUpgradeRequest: root.upgradeRequest() } diff --git a/meshroom/ui/qml/main.qml b/meshroom/ui/qml/main.qml index dc67a89f..d8cc2e1b 100755 --- a/meshroom/ui/qml/main.qml +++ b/meshroom/ui/qml/main.qml @@ -518,7 +518,25 @@ ApplicationWindow { Layout.fillWidth: true padding: 4 title: "Graph Editor" - visible: settings_UILayout.showGraphEditor + + headerBar: RowLayout { + MaterialToolButton { + text: MaterialIcons.more_vert + font.pointSize: 11 + padding: 2 + onClicked: graphEditorMenu.open() + Menu { + id: graphEditorMenu + y: parent.height + x: -width + parent.width + MenuItem { + text: "Clear Pending Status" + enabled: !_reconstruction.computingLocally + onTriggered: _reconstruction.graph.clearSubmittedNodes() + } + } + } + } function displayAttribute(attr) { if( attr.desc.type === "File"