mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-23 14:44:13 -06:00
Use container tree to reset quality after deleting packages
Contributes to issue CURA-6600.
This commit is contained in:
parent
b9370f864e
commit
ba608c5987
2 changed files with 10 additions and 4 deletions
|
@ -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.
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
import re # For escaping characters in the settings.
|
import re # For escaping characters in the settings.
|
||||||
|
|
|
@ -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.
|
# Toolbox is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
import json
|
import json
|
||||||
|
@ -19,6 +19,7 @@ from UM.Version import Version
|
||||||
from cura import ApplicationMetadata
|
from cura import ApplicationMetadata
|
||||||
from cura import UltimakerCloudAuthentication
|
from cura import UltimakerCloudAuthentication
|
||||||
from cura.CuraApplication import CuraApplication
|
from cura.CuraApplication import CuraApplication
|
||||||
|
from cura.Machines.ContainerTree import ContainerTree
|
||||||
|
|
||||||
from .AuthorsModel import AuthorsModel
|
from .AuthorsModel import AuthorsModel
|
||||||
from .PackagesModel import PackagesModel
|
from .PackagesModel import PackagesModel
|
||||||
|
@ -360,14 +361,19 @@ class Toolbox(QObject, Extension):
|
||||||
def resetMaterialsQualitiesAndUninstall(self) -> None:
|
def resetMaterialsQualitiesAndUninstall(self) -> None:
|
||||||
application = CuraApplication.getInstance()
|
application = CuraApplication.getInstance()
|
||||||
material_manager = application.getMaterialManager()
|
material_manager = application.getMaterialManager()
|
||||||
quality_manager = application.getQualityManager()
|
|
||||||
machine_manager = application.getMachineManager()
|
machine_manager = application.getMachineManager()
|
||||||
|
container_tree = ContainerTree.getInstance()
|
||||||
|
|
||||||
for global_stack, extruder_nr, container_id in self._package_used_materials:
|
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())
|
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)
|
machine_manager.setMaterial(extruder_nr, default_material_node, global_stack = global_stack)
|
||||||
for global_stack, extruder_nr, container_id in self._package_used_qualities:
|
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)
|
machine_manager.setQualityGroup(default_quality_group, global_stack = global_stack)
|
||||||
|
|
||||||
if self._package_id_to_uninstall is not None:
|
if self._package_id_to_uninstall is not None:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue