mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-25 07:33:57 -06:00
Fix reset value icon on non-per-extruder-settable settings
CURA-1758
This commit is contained in:
parent
5d613bd22e
commit
16315b6e1d
1 changed files with 13 additions and 4 deletions
|
@ -206,13 +206,22 @@ class MachineManager(QObject):
|
||||||
if self._active_container_stack.getProperty("extruder_nr", "value") == int(self._active_container_stack.getProperty(key, "global_inherits_stack")):
|
if self._active_container_stack.getProperty("extruder_nr", "value") == int(self._active_container_stack.getProperty(key, "global_inherits_stack")):
|
||||||
self._global_container_stack.getTop().setProperty(key, "value", self._active_container_stack.getProperty(key, "value"))
|
self._global_container_stack.getTop().setProperty(key, "value", self._active_container_stack.getProperty(key, "value"))
|
||||||
|
|
||||||
# Global-only setting values should be set on all extruders at once
|
# Global-only setting values should be set on all extruders and the global stack
|
||||||
if not self._global_container_stack.getProperty(key, "settable_per_extruder"):
|
if not self._global_container_stack.getProperty(key, "settable_per_extruder"):
|
||||||
new_value = self._active_container_stack.getProperty(key, "value")
|
new_value = self._active_container_stack.getProperty(key, "value")
|
||||||
extruder_stacks = ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId())
|
active_stack_has_user_value = self._active_container_stack.getTop().getInstance(key) != None
|
||||||
for extruder_stack in extruder_stacks:
|
|
||||||
|
for extruder_stack in ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId()):
|
||||||
if extruder_stack != self._active_container_stack:
|
if extruder_stack != self._active_container_stack:
|
||||||
extruder_stack.getTop().setProperty(key, "value", new_value)
|
if active_stack_has_user_value:
|
||||||
|
extruder_stack.getTop().setProperty(key, "value", new_value)
|
||||||
|
else:
|
||||||
|
# Remove from the value from the other stacks as well, unless the
|
||||||
|
# resulting value from the other stacklevels is different
|
||||||
|
extruder_stack.getTop().removeInstance(key)
|
||||||
|
if extruder_stack.getProperty(key, "value") != new_value:
|
||||||
|
extruder_stack.getTop().setProperty(key, "value", new_value)
|
||||||
|
self._global_container_stack.getTop().setProperty(key, "value", new_value)
|
||||||
|
|
||||||
if property_name == "validationState":
|
if property_name == "validationState":
|
||||||
if self._global_stack_valid:
|
if self._global_stack_valid:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue