From dfa870b6a9521d4eac7084d089ffdffce7998b75 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 27 Feb 2018 13:15:03 +0100 Subject: [PATCH 1/3] Remove approximate diameter unit tests because the function/property is gone --- tests/Settings/TestGlobalStack.py | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/tests/Settings/TestGlobalStack.py b/tests/Settings/TestGlobalStack.py index 45ff13aaf3..6bf10dd8c1 100755 --- a/tests/Settings/TestGlobalStack.py +++ b/tests/Settings/TestGlobalStack.py @@ -116,31 +116,6 @@ def test_addExtruder(global_stack): # global_stack.addExtruder(unittest.mock.MagicMock()) assert len(global_stack.extruders) == 2 #Didn't add the faulty extruder. -## Tests getting the approximate material diameter. -@pytest.mark.parametrize("diameter, approximate_diameter", [ - #Some real-life cases that are common in printers. - (2.85, 3), - (1.75, 2), - (3.0, 3), - (2.0, 2), - #Exceptional cases. - (0, 0), - (-10.1, -10), - (-1, -1), - (9000.1, 9000) -]) -def test_approximateMaterialDiameter(diameter, approximate_diameter, global_stack): - global_stack.definition = DefinitionContainer(container_id = "TestDefinition") - material_diameter = UM.Settings.SettingDefinition.SettingDefinition(key = "material_diameter", container = global_stack.definition) - material_diameter.addSupportedProperty("value", UM.Settings.SettingDefinition.DefinitionPropertyType.Any, default = diameter) - global_stack.definition.definitions.append(material_diameter) - assert float(global_stack.approximateMaterialDiameter) == approximate_diameter - -## Tests getting the material diameter when there is no material diameter. -def test_approximateMaterialDiameterNoDiameter(global_stack): - global_stack.definition = DefinitionContainer(container_id = "TestDefinition") - assert global_stack.approximateMaterialDiameter == "-1" - #Tests setting user changes profiles to invalid containers. @pytest.mark.parametrize("container", [ getInstanceContainer(container_type = "wrong container type"), From a2e84bbe9734ccbe28902dd543533c6d3876cb04 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 27 Feb 2018 13:49:20 +0100 Subject: [PATCH 2/3] Fix set quality group in init machine --- cura/Settings/MachineManager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index fd4b5b455c..6a39ce127b 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -288,7 +288,7 @@ class MachineManager(QObject): Logger.log("w", "Quality type [%s] not found in available qualities [%s]", quality_type, str(quality_groups.values())) return new_quality_group = quality_groups[quality_type] - self._setQualityGroup(new_quality_group) + self._setQualityGroup(new_quality_group, empty_quality_changes = True) @pyqtSlot(str) def setActiveMachine(self, stack_id: str) -> None: From 2f866873209accda80921308e9cb07db9d46aecc Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 27 Feb 2018 13:49:45 +0100 Subject: [PATCH 3/3] Fix init machine for machines loaded from project files --- plugins/3MFReader/ThreeMFWorkspaceReader.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 5d34e4b059..6dd20b66e0 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -1082,11 +1082,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): CuraApplication.getInstance().getMachineManager().activeQualityChanged.emit() # Actually change the active machine. - machine_manager = Application.getInstance().getMachineManager() - machine_manager.setActiveMachine(global_stack.getId()) - - # Notify everything/one that is to notify about changes. - global_stack.containersChanged.emit(global_stack.getTop()) + CuraApplication.getInstance().callLater(self._updateActiveMachine, global_stack) # Load all the nodes / meshdata of the workspace nodes = self._3mf_mesh_reader.read(file_name) @@ -1099,6 +1095,14 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self.setWorkspaceName(base_file_name) return nodes + def _updateActiveMachine(self, global_stack): + # Actually change the active machine. + machine_manager = Application.getInstance().getMachineManager() + machine_manager.setActiveMachine(global_stack.getId()) + + # Notify everything/one that is to notify about changes. + global_stack.containersChanged.emit(global_stack.getTop()) + ## HACK: Replaces the material container in the given stack with a newly created material container. # This function is used when the user chooses to resolve material conflicts by creating new ones. def _replaceStackMaterialWithNew(self, stack, old_new_material_dict):