mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-13 14:29:00 +08:00
Use globalStackExtruderIds instead of extruderIds. extruderIds notifys change before the extruders change when doing a machine swap. Fixing this will take a long time so this is a workaround. If you are reading this 🙏 good luck fixing it 🙏
CURA-9793
This commit is contained in:
parent
f601229390
commit
443252ae10
@ -63,6 +63,13 @@ class ExtruderManager(QObject):
|
||||
# The emit function can't be directly connected to another signal. This wrapper function is required.
|
||||
self.globalStackExtrudersChanged.emit()
|
||||
|
||||
@pyqtProperty("QVariantMap", notify = globalStackExtrudersChanged)
|
||||
def globalStackExtruderIds(self) -> Dict[str, str]:
|
||||
# The extruderIds property notifys changed before the extruders are changed on switching machines
|
||||
# trying to fix this broke to many things. This is a workaround. Don't use this unless you need to read
|
||||
# extruderIds directly after a machine update.
|
||||
return self.extruderIds
|
||||
|
||||
@pyqtProperty(str, notify = activeExtruderChanged)
|
||||
def activeExtruderStackId(self) -> Optional[str]:
|
||||
"""Gets the unique identifier of the currently active extruder stack.
|
||||
|
@ -54,7 +54,7 @@ Cura.ComboBox {
|
||||
property UM.SettingPropertyProvider propertyProvider: UM.SettingPropertyProvider
|
||||
{
|
||||
id: propertyProvider
|
||||
containerStackId: updateAllExtruders ? Cura.ExtruderManager.extruderIds[defaultExtruderIndex] : Cura.MachineManager.activeMachine.id
|
||||
containerStackId: updateAllExtruders ? Cura.ExtruderManager.globalStackExtruderIds[defaultExtruderIndex] : Cura.MachineManager.activeMachine.id
|
||||
watchedProperties: ["value" , "options"]
|
||||
}
|
||||
|
||||
|
@ -34,7 +34,7 @@ RowLayout
|
||||
UM.SettingPropertyProvider
|
||||
{
|
||||
id: propertyProvider
|
||||
containerStackId: updateAllExtruders ? Cura.ExtruderManager.extruderIds[defaultExtruderIndex] : Cura.MachineManager.activeMachine.id
|
||||
containerStackId: updateAllExtruders ? Cura.ExtruderManager.globalStackExtruderIds[defaultExtruderIndex] : Cura.MachineManager.activeMachine.id
|
||||
watchedProperties: ["value"]
|
||||
storeIndex: 0
|
||||
}
|
||||
|
@ -53,7 +53,7 @@ UM.TextField
|
||||
{
|
||||
id: propertyProvider
|
||||
watchedProperties: ["value", "validationState", "resolve"]
|
||||
containerStackId: updateAllExtruders ? Cura.ExtruderManager.extruderIds[defaultExtruderIndex] : Cura.MachineManager.activeMachine.id
|
||||
containerStackId: updateAllExtruders ? Cura.ExtruderManager.globalStackExtruderIds[defaultExtruderIndex] : Cura.MachineManager.activeMachine.id
|
||||
}
|
||||
|
||||
Connections
|
||||
|
Loading…
x
Reference in New Issue
Block a user