mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-11 08:47:50 -06:00
Switch out number of getActiveExtruderStacks for extruderList
It's essentially the same, but reduces the dependency of MachineManager on the ExtruderManager
This commit is contained in:
parent
55dacee45f
commit
e46febfea4
1 changed files with 7 additions and 9 deletions
|
@ -227,7 +227,7 @@ class MachineManager(QObject):
|
||||||
except TypeError:
|
except TypeError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
for extruder_stack in ExtruderManager.getInstance().getActiveExtruderStacks():
|
for extruder_stack in self._global_container_stack.extruderList:
|
||||||
extruder_stack.propertyChanged.disconnect(self._onPropertyChanged)
|
extruder_stack.propertyChanged.disconnect(self._onPropertyChanged)
|
||||||
extruder_stack.containersChanged.disconnect(self._onContainersChanged)
|
extruder_stack.containersChanged.disconnect(self._onContainersChanged)
|
||||||
|
|
||||||
|
@ -257,7 +257,7 @@ class MachineManager(QObject):
|
||||||
self._global_container_stack.setMaterial(empty_material_container)
|
self._global_container_stack.setMaterial(empty_material_container)
|
||||||
|
|
||||||
# Listen for changes on all extruder stacks
|
# Listen for changes on all extruder stacks
|
||||||
for extruder_stack in ExtruderManager.getInstance().getActiveExtruderStacks():
|
for extruder_stack in self._global_container_stack.extruderList:
|
||||||
extruder_stack.propertyChanged.connect(self._onPropertyChanged)
|
extruder_stack.propertyChanged.connect(self._onPropertyChanged)
|
||||||
extruder_stack.containersChanged.connect(self._onContainersChanged)
|
extruder_stack.containersChanged.connect(self._onContainersChanged)
|
||||||
|
|
||||||
|
@ -365,7 +365,7 @@ class MachineManager(QObject):
|
||||||
|
|
||||||
# Not a very pretty solution, but the extruder manager doesn't really know how many extruders there are
|
# Not a very pretty solution, but the extruder manager doesn't really know how many extruders there are
|
||||||
machine_extruder_count = self._global_container_stack.getProperty("machine_extruder_count", "value")
|
machine_extruder_count = self._global_container_stack.getProperty("machine_extruder_count", "value")
|
||||||
extruder_stacks = ExtruderManager.getInstance().getActiveExtruderStacks()
|
extruder_stacks = self._global_container_stack.extruderList
|
||||||
count = 1 # We start with the global stack
|
count = 1 # We start with the global stack
|
||||||
for stack in extruder_stacks:
|
for stack in extruder_stacks:
|
||||||
md = stack.getMetaData()
|
md = stack.getMetaData()
|
||||||
|
@ -388,8 +388,7 @@ class MachineManager(QObject):
|
||||||
if self._global_container_stack.getTop().getNumInstances() != 0:
|
if self._global_container_stack.getTop().getNumInstances() != 0:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
stacks = ExtruderManager.getInstance().getActiveExtruderStacks()
|
for stack in self._global_container_stack.extruderList:
|
||||||
for stack in stacks:
|
|
||||||
if stack.getTop().getNumInstances() != 0:
|
if stack.getTop().getNumInstances() != 0:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
@ -426,7 +425,7 @@ class MachineManager(QObject):
|
||||||
stack = ExtruderManager.getInstance().getActiveExtruderStack()
|
stack = ExtruderManager.getInstance().getActiveExtruderStack()
|
||||||
stacks = [stack]
|
stacks = [stack]
|
||||||
else:
|
else:
|
||||||
stacks = ExtruderManager.getInstance().getActiveExtruderStacks()
|
stacks = self._global_container_stack.extruderList
|
||||||
|
|
||||||
for stack in stacks:
|
for stack in stacks:
|
||||||
if stack is not None:
|
if stack is not None:
|
||||||
|
@ -611,10 +610,9 @@ class MachineManager(QObject):
|
||||||
if self._active_container_stack is None or self._global_container_stack is None:
|
if self._active_container_stack is None or self._global_container_stack is None:
|
||||||
return
|
return
|
||||||
new_value = self._active_container_stack.getProperty(key, "value")
|
new_value = self._active_container_stack.getProperty(key, "value")
|
||||||
extruder_stacks = [stack for stack in ExtruderManager.getInstance().getActiveExtruderStacks()]
|
|
||||||
|
|
||||||
# Check in which stack the value has to be replaced
|
# Check in which stack the value has to be replaced
|
||||||
for extruder_stack in extruder_stacks:
|
for extruder_stack in self._global_container_stack.extruderList:
|
||||||
if extruder_stack != self._active_container_stack and extruder_stack.getProperty(key, "value") != new_value:
|
if extruder_stack != self._active_container_stack and extruder_stack.getProperty(key, "value") != new_value:
|
||||||
extruder_stack.userChanges.setProperty(key, "value", new_value) # TODO: nested property access, should be improved
|
extruder_stack.userChanges.setProperty(key, "value", new_value) # TODO: nested property access, should be improved
|
||||||
|
|
||||||
|
@ -928,7 +926,7 @@ class MachineManager(QObject):
|
||||||
def _getContainerChangedSignals(self) -> List[Signal]:
|
def _getContainerChangedSignals(self) -> List[Signal]:
|
||||||
if self._global_container_stack is None:
|
if self._global_container_stack is None:
|
||||||
return []
|
return []
|
||||||
return [s.containersChanged for s in ExtruderManager.getInstance().getActiveExtruderStacks() + [self._global_container_stack]]
|
return [s.containersChanged for s in self._global_container_stack.extruderList + [self._global_container_stack]]
|
||||||
|
|
||||||
@pyqtSlot(str, str, str)
|
@pyqtSlot(str, str, str)
|
||||||
def setSettingForAllExtruders(self, setting_name: str, property_name: str, property_value: str) -> None:
|
def setSettingForAllExtruders(self, setting_name: str, property_name: str, property_value: str) -> None:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue