mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-11 16:57:51 -06:00
WIP: use new QualityChangesGroups
This commit is contained in:
parent
d84ea07e9e
commit
bf2317a74d
6 changed files with 97 additions and 23 deletions
|
@ -134,11 +134,13 @@ class MachineManager(QObject):
|
|||
containers[0].nameChanged.connect(self._onMaterialNameChanged)
|
||||
|
||||
### NEW
|
||||
self._current_quality_group = None
|
||||
self._current_root_material_id = {}
|
||||
self._current_quality_group = None
|
||||
self._current_quality_changes_group = None
|
||||
|
||||
### NEW
|
||||
activeQualityGroupChanged = pyqtSignal()
|
||||
activeQualityChangesGroupChanged = pyqtSignal()
|
||||
|
||||
globalContainerChanged = pyqtSignal() # Emitted whenever the global stack is changed (ie: when changing between printers, changing a global profile, but not when changing a value)
|
||||
activeMaterialChanged = pyqtSignal()
|
||||
|
@ -1502,6 +1504,27 @@ class MachineManager(QObject):
|
|||
self._current_root_material_id[position] = self._global_container_stack.extruders[position].material.getMetaDataEntry("base_file")
|
||||
return self._current_root_material_id
|
||||
|
||||
def _setQualityChangesGroup(self, quality_changes_group):
|
||||
self._current_quality_changes_group = quality_changes_group
|
||||
|
||||
# TODO: quality_changes groups depend on a quality_type. Here it's fetching the quality_types every time.
|
||||
# Can we do this better, like caching the quality group a quality_changes group depends on?
|
||||
quality_manager = Application.getInstance()._quality_manager
|
||||
quality_group_dict = quality_manager.getQualityGroups(self._global_container_stack)
|
||||
|
||||
quality_type = quality_changes_group.quality_type
|
||||
|
||||
container = self._empty_quality_changes_container
|
||||
if quality_changes_group.node_for_global is not None:
|
||||
container = quality_changes_group.node_for_global.getContainer()
|
||||
self._global_container_stack.qualityChanges = container
|
||||
self._global_container_stack.quality = quality_group_dict[quality_type]
|
||||
|
||||
for position, extruder in self._global_container_stack.extruders.items():
|
||||
container = quality_changes_group.nodes_for_extruders.get(position,
|
||||
self._empty_quality_changes_container)
|
||||
extruder.qualityChanges = container
|
||||
|
||||
def _setEmptyQuality(self):
|
||||
self._current_quality_group = None
|
||||
self._global_container_stack.quality = self._empty_quality_container
|
||||
|
@ -1510,9 +1533,13 @@ class MachineManager(QObject):
|
|||
extruder.quality = self._empty_quality_container
|
||||
extruder.qualityChanges = self._empty_quality_changes_container
|
||||
|
||||
self.activeQualityGroupChanged.emit()
|
||||
|
||||
def _setQualityGroup(self, quality_group, empty_quality_changes = True):
|
||||
self._current_quality_group = quality_group
|
||||
|
||||
#TODO: check quality_changes
|
||||
|
||||
# Set quality and quality_changes for the GlobalStack
|
||||
self._global_container_stack.quality = quality_group.node_for_global.getContainer()
|
||||
if empty_quality_changes:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue