Merge branch 'settings_rework' of https://github.com/Ultimaker/Cura into settings_rework

This commit is contained in:
Jaime van Kessel 2016-05-19 11:25:47 +02:00
commit 7ec3ca6e75
5 changed files with 375 additions and 364 deletions

View file

@ -37,6 +37,7 @@ class BuildVolume(SceneNode):
self.setCalculateBoundingBox(False)
self._active_container_stack = None
Application.getInstance().globalContainerStackChanged.connect(self._onGlobalContainerStackChanged)
self._onGlobalContainerStackChanged()
@ -158,9 +159,14 @@ class BuildVolume(SceneNode):
Application.getInstance().getController().getScene()._maximum_bounds = scale_to_max_bounds
def _onGlobalContainerStackChanged(self):
if self._active_container_stack:
self._active_container_stack.propertyChanged.disconnect(self._onSettingPropertyChanged)
self._active_container_stack = Application.getInstance().getGlobalContainerStack()
if self._active_container_stack:
self._active_container_stack.propertyChanged.connect(self._onSettingPropertyChanged)
self._width = self._active_container_stack.getProperty("machine_width", "value")
if self._active_container_stack.getProperty("print_sequence", "value") == "one_at_a_time":
self._height = self._active_container_stack.getProperty("gantry_height", "value")
@ -172,12 +178,15 @@ class BuildVolume(SceneNode):
self.rebuild()
def _onSettingValueChanged(self, setting_key):
def _onSettingPropertyChanged(self, setting_key, property_name):
if property_name != "value":
return
if setting_key == "print_sequence":
if Application.getInstance().getGlobalContainerStack().getProperty("print_sequence", "value") == "one_at_a_time":
self._height = self._active_container_stack.getProperty("gantry_height", "value")
else:
self._height = self._active_container_stack.getProperty("machine_depth", "value")
self._height = self._active_container_stack.getProperty("machine_height", "value")
self.rebuild()
if setting_key in self._skirt_settings:
self._updateDisallowedAreas()

View file

@ -74,6 +74,7 @@ class CuraApplication(QtApplication):
VariantInstanceContainer = Resources.UserType + 5
UserInstanceContainer = Resources.UserType + 6
MachineStack = Resources.UserType + 7
ExtruderInstanceContainer = Resources.UserType + 8
Q_ENUMS(ResourceTypes)
@ -124,6 +125,7 @@ class CuraApplication(QtApplication):
Resources.addStorageType(self.ResourceTypes.QualityInstanceContainer, "quality")
Resources.addStorageType(self.ResourceTypes.VariantInstanceContainer, "variants")
Resources.addStorageType(self.ResourceTypes.MaterialInstanceContainer, "materials")
Resources.addStorageType(self.ResourceTypes.ExtruderInstanceContainer, "extruders")
Resources.addStorageType(self.ResourceTypes.UserInstanceContainer, "user")
Resources.addStorageType(self.ResourceTypes.MachineStack, "machine_instances")