mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-14 00:15:56 +08:00
Split user settings for single extrusion machines
CURA-4617
This commit is contained in:
parent
828fff5ee5
commit
1866c4ee66
@ -431,10 +431,6 @@ class CuraContainerRegistry(ContainerRegistry):
|
|||||||
extruder_stack.addMetaDataEntry("position", extruder_definition.getMetaDataEntry("position"))
|
extruder_stack.addMetaDataEntry("position", extruder_definition.getMetaDataEntry("position"))
|
||||||
extruder_stack.setNextStack(machine)
|
extruder_stack.setNextStack(machine)
|
||||||
|
|
||||||
if machine.userChanges:
|
|
||||||
# set existing user changes if found
|
|
||||||
extruder_stack.setUserChanges(machine.userChanges)
|
|
||||||
else:
|
|
||||||
# create empty user changes container otherwise
|
# create empty user changes container otherwise
|
||||||
user_container = InstanceContainer(extruder_stack.id + "_user")
|
user_container = InstanceContainer(extruder_stack.id + "_user")
|
||||||
user_container.addMetaDataEntry("type", "user")
|
user_container.addMetaDataEntry("type", "user")
|
||||||
@ -442,6 +438,16 @@ class CuraContainerRegistry(ContainerRegistry):
|
|||||||
from cura.CuraApplication import CuraApplication
|
from cura.CuraApplication import CuraApplication
|
||||||
user_container.addMetaDataEntry("setting_version", CuraApplication.SettingVersion)
|
user_container.addMetaDataEntry("setting_version", CuraApplication.SettingVersion)
|
||||||
user_container.setDefinition(extruder_definition)
|
user_container.setDefinition(extruder_definition)
|
||||||
|
|
||||||
|
if machine.userChanges:
|
||||||
|
# for the newly created extruder stack, we need to move all "per-extruder" settings to the user changes
|
||||||
|
# container to the extruder stack.
|
||||||
|
for user_setting_key in machine.userChanges.getAllKeys():
|
||||||
|
settable_per_extruder = machine.getProperty(user_setting_key, "settable_per_extruder")
|
||||||
|
if settable_per_extruder:
|
||||||
|
user_container.addInstance(machine.userChanges.getInstance(user_setting_key))
|
||||||
|
machine.userChanges.removeInstance(user_setting_key, postpone_emit = True)
|
||||||
|
|
||||||
extruder_stack.setUserChanges(user_container)
|
extruder_stack.setUserChanges(user_container)
|
||||||
self.addContainer(user_container)
|
self.addContainer(user_container)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user