diff --git a/cura/CuraActions.py b/cura/CuraActions.py index 36c69618dd..e33ce8123d 100644 --- a/cura/CuraActions.py +++ b/cura/CuraActions.py @@ -273,7 +273,11 @@ class CuraActions(QObject): # deselect currently selected nodes, and select the new nodes for node in Selection.getAllSelectedObjects(): Selection.remove(node) + + numberOfFixedNodes = len(fixed_nodes) for node in nodes: + numberOfFixedNodes += 1 + node.printOrder = numberOfFixedNodes Selection.add(node) def _openUrl(self, url: QUrl) -> None: diff --git a/cura/PrintOrderManager.py b/cura/PrintOrderManager.py index 80fc1e99dc..59bbe684f4 100644 --- a/cura/PrintOrderManager.py +++ b/cura/PrintOrderManager.py @@ -116,6 +116,9 @@ class PrintOrderManager(QObject): ) -> (Optional[CuraSceneNode], Optional[CuraSceneNode], Optional[CuraSceneNode]): nodes = self._get_nodes() ordered_nodes = sorted(nodes, key=lambda n: n.printOrder) + for i, node in enumerate(ordered_nodes, 1): + node.printOrder = i + selected_node = PrintOrderManager._getSingleSelectedNode() if selected_node and selected_node in ordered_nodes: selected_node_index = ordered_nodes.index(selected_node)