diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index ee6cc57523..08cc644025 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -44,7 +44,6 @@ from UM.Settings.InstanceContainer import InstanceContainer from UM.Settings.SettingDefinition import SettingDefinition, DefinitionPropertyType from UM.Settings.SettingFunction import SettingFunction from UM.Settings.Validator import Validator -from UM.Util import parseBool from UM.View.SelectionPass import SelectionPass # For typing. from UM.Workspace.WorkspaceReader import WorkspaceReader from UM.i18n import i18nCatalog @@ -1383,7 +1382,7 @@ class CuraApplication(QtApplication): def arrangeAll(self) -> None: nodes_to_arrange = [] active_build_plate = self.getMultiBuildPlateModel().activeBuildPlate - fixed_nodes = [] + locked_nodes = [] for node in DepthFirstIterator(self.getController().getScene().getRoot()): if not isinstance(node, SceneNode): continue @@ -1406,11 +1405,11 @@ class CuraApplication(QtApplication): bounding_box = node.getBoundingBox() if bounding_box is None or bounding_box.width < self._volume.getBoundingBox().width or bounding_box.depth < self._volume.getBoundingBox().depth: # Arrange only the unlocked nodes and keep the locked ones in place - if not parseBool(node.getSetting(SceneNodeSettings.LockPosition)): - nodes_to_arrange.append(node) + if UM.Util.parseBool(node.getSetting(SceneNodeSettings.LockPosition)): + locked_nodes.append(node) else: - fixed_nodes.append(node) - self.arrange(nodes_to_arrange, fixed_nodes = fixed_nodes) + nodes_to_arrange.append(node) + self.arrange(nodes_to_arrange, locked_nodes) def arrange(self, nodes: List[SceneNode], fixed_nodes: List[SceneNode]) -> None: """Arrange a set of nodes given a set of fixed nodes