mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-06-04 11:14:21 +08:00
CURA-4400 corrected getProperty in correctExtruderSettings
This commit is contained in:
parent
ac76d6ea52
commit
ba7b18a88b
@ -346,10 +346,12 @@ class ContainerManager(QObject):
|
|||||||
|
|
||||||
# Go through global and extruder stacks and clear their topmost container (the user settings).
|
# Go through global and extruder stacks and clear their topmost container (the user settings).
|
||||||
for stack in ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks():
|
for stack in ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks():
|
||||||
container = stack.getTop()
|
container = stack.userChanges
|
||||||
container.clear()
|
container.clear()
|
||||||
send_emits_containers.append(container)
|
send_emits_containers.append(container)
|
||||||
|
|
||||||
|
Application.getInstance().getMachineManager().correctExtruderSettings()
|
||||||
|
|
||||||
for container in send_emits_containers:
|
for container in send_emits_containers:
|
||||||
container.sendPostponedEmits()
|
container.sendPostponedEmits()
|
||||||
|
|
||||||
|
@ -699,9 +699,9 @@ class MachineManager(QObject):
|
|||||||
return containers[0].definition.getId()
|
return containers[0].definition.getId()
|
||||||
|
|
||||||
## Update extruder number to a valid value when the number of extruders are changed, or when an extruder is changed
|
## Update extruder number to a valid value when the number of extruders are changed, or when an extruder is changed
|
||||||
|
# \return if any properties has been added
|
||||||
def correctExtruderSettings(self):
|
def correctExtruderSettings(self):
|
||||||
definition_changes_container = self._global_container_stack.definitionChanges
|
extruder_count = self._global_container_stack.getProperty("machine_extruder_count", "value")
|
||||||
extruder_count = definition_changes_container.getProperty("machine_extruder_count", "value")
|
|
||||||
|
|
||||||
# reset all extruder number settings whose value is no longer valid
|
# reset all extruder number settings whose value is no longer valid
|
||||||
for setting_instance in self._global_container_stack.userChanges.findInstances():
|
for setting_instance in self._global_container_stack.userChanges.findInstances():
|
||||||
@ -717,6 +717,7 @@ class MachineManager(QObject):
|
|||||||
self._global_container_stack.userChanges.removeInstance(setting_key)
|
self._global_container_stack.userChanges.removeInstance(setting_key)
|
||||||
Logger.log("d", "Reset [%s] because its old value [%s] is no longer valid (2)", setting_key, old_value)
|
Logger.log("d", "Reset [%s] because its old value [%s] is no longer valid (2)", setting_key, old_value)
|
||||||
|
|
||||||
|
added_properties = False
|
||||||
for setting_key in self._global_container_stack.definition.getAllKeys():
|
for setting_key in self._global_container_stack.definition.getAllKeys():
|
||||||
if not self._global_container_stack.getProperty(setting_key, "type") in ("extruder", "optional_extruder"):
|
if not self._global_container_stack.getProperty(setting_key, "type") in ("extruder", "optional_extruder"):
|
||||||
continue
|
continue
|
||||||
@ -727,8 +728,11 @@ class MachineManager(QObject):
|
|||||||
continue
|
continue
|
||||||
if not self._global_container_stack.extruders[str(current_value)].isEnabled:
|
if not self._global_container_stack.extruders[str(current_value)].isEnabled:
|
||||||
self._global_container_stack.userChanges.setProperty(setting_key, "value", str(self._default_extruder_position))
|
self._global_container_stack.userChanges.setProperty(setting_key, "value", str(self._default_extruder_position))
|
||||||
|
added_properties = True
|
||||||
Logger.log("d", "Change [%s] to [%s] because its value [%s] is not valid", setting_key, self._default_extruder_position, current_value)
|
Logger.log("d", "Change [%s] to [%s] because its value [%s] is not valid", setting_key, self._default_extruder_position, current_value)
|
||||||
|
|
||||||
|
return added_properties
|
||||||
|
|
||||||
## Set the amount of extruders on the active machine (global stack)
|
## Set the amount of extruders on the active machine (global stack)
|
||||||
# \param extruder_count int the number of extruders to set
|
# \param extruder_count int the number of extruders to set
|
||||||
def setActiveMachineExtruderCount(self, extruder_count):
|
def setActiveMachineExtruderCount(self, extruder_count):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user