mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-13 09:47:50 -06:00
getActiveExtruderStack now returns stack based on machine_id instead of definiton ID
Contributes to CURA-1898
This commit is contained in:
parent
b33c2f9c25
commit
dfd56d049f
2 changed files with 5 additions and 8 deletions
|
@ -35,10 +35,10 @@ class ExtruderManager(QObject):
|
||||||
@pyqtProperty(str, notify = activeExtruderChanged)
|
@pyqtProperty(str, notify = activeExtruderChanged)
|
||||||
def activeExtruderStackId(self):
|
def activeExtruderStackId(self):
|
||||||
if not UM.Application.getInstance().getGlobalContainerStack():
|
if not UM.Application.getInstance().getGlobalContainerStack():
|
||||||
return None #No active machine, so no active extruder.
|
return None # No active machine, so no active extruder.
|
||||||
try:
|
try:
|
||||||
return self._extruder_trains[UM.Application.getInstance().getGlobalContainerStack().getId()][str(self._active_extruder_index)].getId()
|
return self._extruder_trains[UM.Application.getInstance().getGlobalContainerStack().getId()][str(self._active_extruder_index)].getId()
|
||||||
except KeyError: #Extruder index could be -1 if the global tab is selected, or the entry doesn't exist if the machine definition is wrong.
|
except KeyError: # Extruder index could be -1 if the global tab is selected, or the entry doesn't exist if the machine definition is wrong.
|
||||||
return None
|
return None
|
||||||
|
|
||||||
## The instance of the singleton pattern.
|
## The instance of the singleton pattern.
|
||||||
|
@ -74,11 +74,9 @@ class ExtruderManager(QObject):
|
||||||
def getActiveExtruderStack(self):
|
def getActiveExtruderStack(self):
|
||||||
global_container_stack = UM.Application.getInstance().getGlobalContainerStack()
|
global_container_stack = UM.Application.getInstance().getGlobalContainerStack()
|
||||||
if global_container_stack:
|
if global_container_stack:
|
||||||
global_definition_container = UM.Application.getInstance().getGlobalContainerStack().getBottom()
|
if global_container_stack.getId() in self._extruder_trains:
|
||||||
if global_definition_container:
|
if str(self._active_extruder_index) in self._extruder_trains[global_container_stack.getId()]:
|
||||||
if global_definition_container.getId() in self._extruder_trains:
|
return self._extruder_trains[global_container_stack.getId()][str(self._active_extruder_index)]
|
||||||
if str(self._active_extruder_index) in self._extruder_trains[global_definition_container.getId()]:
|
|
||||||
return self._extruder_trains[global_definition_container.getId()][str(self._active_extruder_index)]
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
## Adds all extruders of a specific machine definition to the extruder
|
## Adds all extruders of a specific machine definition to the extruder
|
||||||
|
|
|
@ -239,7 +239,6 @@ class MachineManager(QObject):
|
||||||
if self._active_container_stack and self._active_container_stack != self._global_container_stack:
|
if self._active_container_stack and self._active_container_stack != self._global_container_stack:
|
||||||
self._active_container_stack.containersChanged.disconnect(self._onInstanceContainersChanged)
|
self._active_container_stack.containersChanged.disconnect(self._onInstanceContainersChanged)
|
||||||
self._active_container_stack.propertyChanged.disconnect(self._onGlobalPropertyChanged)
|
self._active_container_stack.propertyChanged.disconnect(self._onGlobalPropertyChanged)
|
||||||
|
|
||||||
self._active_container_stack = ExtruderManager.getInstance().getActiveExtruderStack()
|
self._active_container_stack = ExtruderManager.getInstance().getActiveExtruderStack()
|
||||||
if self._active_container_stack:
|
if self._active_container_stack:
|
||||||
self._active_container_stack.containersChanged.connect(self._onInstanceContainersChanged)
|
self._active_container_stack.containersChanged.connect(self._onInstanceContainersChanged)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue