mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-07-06 02:25:10 +08:00
Update extrudermodel when material is changed
So the swatch updates, and we can use the materialname for extruder selection later on CURA-333
This commit is contained in:
parent
d0626f8c8a
commit
f083d41353
@ -46,12 +46,17 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel):
|
|||||||
|
|
||||||
self._add_global = False
|
self._add_global = False
|
||||||
|
|
||||||
|
self._active_extruder_stack = None
|
||||||
|
|
||||||
#Listen to changes.
|
#Listen to changes.
|
||||||
manager = cura.ExtruderManager.ExtruderManager.getInstance()
|
manager = cura.ExtruderManager.ExtruderManager.getInstance()
|
||||||
manager.extrudersChanged.connect(self._updateExtruders) #When the list of extruders changes in general.
|
manager.extrudersChanged.connect(self._updateExtruders) #When the list of extruders changes in general.
|
||||||
UM.Application.globalContainerStackChanged.connect(self._updateExtruders) #When the current machine changes.
|
UM.Application.getInstance().globalContainerStackChanged.connect(self._updateExtruders) #When the current machine changes.
|
||||||
self._updateExtruders()
|
self._updateExtruders()
|
||||||
|
|
||||||
|
manager.activeExtruderChanged.connect(self._onActiveExtruderChanged)
|
||||||
|
self._onActiveExtruderChanged()
|
||||||
|
|
||||||
def setAddGlobal(self, add):
|
def setAddGlobal(self, add):
|
||||||
if add != self._add_global:
|
if add != self._add_global:
|
||||||
self._add_global = add
|
self._add_global = add
|
||||||
@ -63,6 +68,23 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel):
|
|||||||
def addGlobal(self):
|
def addGlobal(self):
|
||||||
return self._add_global
|
return self._add_global
|
||||||
|
|
||||||
|
def _onActiveExtruderChanged(self):
|
||||||
|
manager = cura.ExtruderManager.ExtruderManager.getInstance()
|
||||||
|
active_extruder_stack = manager.getActiveExtruderStack()
|
||||||
|
if self._active_extruder_stack != active_extruder_stack:
|
||||||
|
if self._active_extruder_stack:
|
||||||
|
self._active_extruder_stack.containersChanged.disconnect(self._onExtruderStackContainersChanged)
|
||||||
|
|
||||||
|
if active_extruder_stack:
|
||||||
|
# Update the model when the material container is changed
|
||||||
|
active_extruder_stack.containersChanged.connect(self._onExtruderStackContainersChanged)
|
||||||
|
self._active_extruder_stack = active_extruder_stack
|
||||||
|
|
||||||
|
|
||||||
|
def _onExtruderStackContainersChanged(self, container):
|
||||||
|
if container.getMetaDataEntry("type") == "material":
|
||||||
|
self._updateExtruders()
|
||||||
|
|
||||||
## Update the list of extruders.
|
## Update the list of extruders.
|
||||||
#
|
#
|
||||||
# This should be called whenever the list of extruders changes.
|
# This should be called whenever the list of extruders changes.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user