Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGhostkeeper <rubend@tutanota.com>2019-08-28 15:57:02 +0300
committerGhostkeeper <rubend@tutanota.com>2019-08-28 15:57:02 +0300
commitba608c5987c1ac574b0c867f1d4a3d8c3f0e75f4 (patch)
treee4956070326aab223ff20acf812f44018d517e3f
parentb9370f864e7d06c4e53d6f756bf75f5b9a3b163b (diff)
Use container tree to reset quality after deleting packages
Contributes to issue CURA-6600.
-rw-r--r--plugins/GCodeWriter/GCodeWriter.py2
-rw-r--r--plugins/Toolbox/src/Toolbox.py12
2 files changed, 10 insertions, 4 deletions
diff --git a/plugins/GCodeWriter/GCodeWriter.py b/plugins/GCodeWriter/GCodeWriter.py
index 2c6603cb3f..9f9d6ebb79 100644
--- a/plugins/GCodeWriter/GCodeWriter.py
+++ b/plugins/GCodeWriter/GCodeWriter.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2017 Ultimaker B.V.
+# Copyright (c) 2019 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
import re # For escaping characters in the settings.
diff --git a/plugins/Toolbox/src/Toolbox.py b/plugins/Toolbox/src/Toolbox.py
index 4dabba87a0..5f73d563c7 100644
--- a/plugins/Toolbox/src/Toolbox.py
+++ b/plugins/Toolbox/src/Toolbox.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2018 Ultimaker B.V.
+# Copyright (c) 2019 Ultimaker B.V.
# Toolbox is released under the terms of the LGPLv3 or higher.
import json
@@ -19,6 +19,7 @@ from UM.Version import Version
from cura import ApplicationMetadata
from cura import UltimakerCloudAuthentication
from cura.CuraApplication import CuraApplication
+from cura.Machines.ContainerTree import ContainerTree
from .AuthorsModel import AuthorsModel
from .PackagesModel import PackagesModel
@@ -360,14 +361,19 @@ class Toolbox(QObject, Extension):
def resetMaterialsQualitiesAndUninstall(self) -> None:
application = CuraApplication.getInstance()
material_manager = application.getMaterialManager()
- quality_manager = application.getQualityManager()
machine_manager = application.getMachineManager()
+ container_tree = ContainerTree.getInstance()
for global_stack, extruder_nr, container_id in self._package_used_materials:
default_material_node = material_manager.getDefaultMaterial(global_stack, extruder_nr, global_stack.extruders[extruder_nr].variant.getName())
machine_manager.setMaterial(extruder_nr, default_material_node, global_stack = global_stack)
for global_stack, extruder_nr, container_id in self._package_used_qualities:
- default_quality_group = quality_manager.getDefaultQualityType(global_stack)
+ variant_names = [extruder.variant.getName() for extruder in global_stack.extruders.values()]
+ material_bases = [extruder.material.getMetaDataEntry("base_file") for extruder in global_stack.extruders.values()]
+ extruder_enabled = [extruder.isEnabled for extruder in global_stack.extruders.values()]
+ definition_id = global_stack.definition.getId()
+ machine_node = container_tree.machines[definition_id]
+ default_quality_group = machine_node.getQualityGroups(variant_names, material_bases, extruder_enabled)[machine_node.preferred_quality_type]
machine_manager.setQualityGroup(default_quality_group, global_stack = global_stack)
if self._package_id_to_uninstall is not None: