mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-05-12 02:09:02 +08:00
Merge branch 'master' of github.com:Ultimaker/Cura
This commit is contained in:
commit
f3f1bf664a
@ -46,8 +46,9 @@ class MachineManager(QObject):
|
|||||||
ExtruderManager.getInstance().activeExtruderChanged.connect(self.activeQualityChanged)
|
ExtruderManager.getInstance().activeExtruderChanged.connect(self.activeQualityChanged)
|
||||||
|
|
||||||
self.globalContainerChanged.connect(self.activeStackChanged)
|
self.globalContainerChanged.connect(self.activeStackChanged)
|
||||||
self.globalValueChanged.connect(self.activeStackChanged)
|
self.globalValueChanged.connect(self.activeStackValueChanged)
|
||||||
ExtruderManager.getInstance().activeExtruderChanged.connect(self.activeStackChanged)
|
ExtruderManager.getInstance().activeExtruderChanged.connect(self.activeStackChanged)
|
||||||
|
self.activeStackChanged.connect(self.activeStackValueChanged)
|
||||||
|
|
||||||
self._empty_variant_container = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id = "empty_variant")[0]
|
self._empty_variant_container = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id = "empty_variant")[0]
|
||||||
self._empty_material_container = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id = "empty_material")[0]
|
self._empty_material_container = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id = "empty_material")[0]
|
||||||
@ -73,14 +74,15 @@ class MachineManager(QObject):
|
|||||||
self._auto_materials_changed = {}
|
self._auto_materials_changed = {}
|
||||||
self._auto_hotends_changed = {}
|
self._auto_hotends_changed = {}
|
||||||
|
|
||||||
globalContainerChanged = pyqtSignal()
|
globalContainerChanged = pyqtSignal() # Emitted whenever the global stack is changed (ie: when changing between printers, changing a global profile, but not when changing a value)
|
||||||
activeMaterialChanged = pyqtSignal()
|
activeMaterialChanged = pyqtSignal()
|
||||||
activeVariantChanged = pyqtSignal()
|
activeVariantChanged = pyqtSignal()
|
||||||
activeQualityChanged = pyqtSignal()
|
activeQualityChanged = pyqtSignal()
|
||||||
activeStackChanged = pyqtSignal()
|
activeStackChanged = pyqtSignal() # Emitted whenever the active stack is changed (ie: when changing between extruders, changing a profile, but not when changing a value)
|
||||||
|
|
||||||
globalValueChanged = pyqtSignal() # Emitted whenever a value inside global container is changed.
|
globalValueChanged = pyqtSignal() # Emitted whenever a value inside global container is changed.
|
||||||
activeValidationChanged = pyqtSignal() # Emitted whenever a validation inside active container is changed
|
activeStackValueChanged = pyqtSignal() # Emitted whenever a value inside the active stack is changed.
|
||||||
|
activeStackValidationChanged = pyqtSignal() # Emitted whenever a validation inside active container is changed
|
||||||
|
|
||||||
blurSettings = pyqtSignal() # Emitted to force fields in the advanced sidebar to un-focus, so they update properly
|
blurSettings = pyqtSignal() # Emitted to force fields in the advanced sidebar to un-focus, so they update properly
|
||||||
|
|
||||||
@ -230,7 +232,7 @@ class MachineManager(QObject):
|
|||||||
else:
|
else:
|
||||||
self._active_container_stack = self._global_container_stack
|
self._active_container_stack = self._global_container_stack
|
||||||
self._active_stack_valid = not self._checkStackForErrors(self._active_container_stack)
|
self._active_stack_valid = not self._checkStackForErrors(self._active_container_stack)
|
||||||
self.activeValidationChanged.emit()
|
self.activeStackValidationChanged.emit()
|
||||||
|
|
||||||
def _onInstanceContainersChanged(self, container):
|
def _onInstanceContainersChanged(self, container):
|
||||||
container_type = container.getMetaDataEntry("type")
|
container_type = container.getMetaDataEntry("type")
|
||||||
@ -258,6 +260,8 @@ class MachineManager(QObject):
|
|||||||
extruder_stack.getTop().setProperty(key, "value", new_value)
|
extruder_stack.getTop().setProperty(key, "value", new_value)
|
||||||
break
|
break
|
||||||
|
|
||||||
|
self.activeStackValueChanged.emit()
|
||||||
|
|
||||||
if property_name == "validationState":
|
if property_name == "validationState":
|
||||||
if self._active_stack_valid:
|
if self._active_stack_valid:
|
||||||
if self._active_container_stack.getProperty(key, "settable_per_extruder"):
|
if self._active_container_stack.getProperty(key, "settable_per_extruder"):
|
||||||
@ -266,13 +270,11 @@ class MachineManager(QObject):
|
|||||||
changed_validation_state = self._global_container_stack.getProperty(key, property_name)
|
changed_validation_state = self._global_container_stack.getProperty(key, property_name)
|
||||||
if changed_validation_state in (UM.Settings.ValidatorState.Exception, UM.Settings.ValidatorState.MaximumError, UM.Settings.ValidatorState.MinimumError):
|
if changed_validation_state in (UM.Settings.ValidatorState.Exception, UM.Settings.ValidatorState.MaximumError, UM.Settings.ValidatorState.MinimumError):
|
||||||
self._active_stack_valid = False
|
self._active_stack_valid = False
|
||||||
self.activeValidationChanged.emit()
|
self.activeStackValidationChanged.emit()
|
||||||
else:
|
else:
|
||||||
if not self._checkStackForErrors(self._active_container_stack) and not self._checkStackForErrors(self._global_container_stack):
|
if not self._checkStackForErrors(self._active_container_stack) and not self._checkStackForErrors(self._global_container_stack):
|
||||||
self._active_stack_valid = True
|
self._active_stack_valid = True
|
||||||
self.activeValidationChanged.emit()
|
self.activeStackValidationChanged.emit()
|
||||||
|
|
||||||
self.activeStackChanged.emit()
|
|
||||||
|
|
||||||
@pyqtSlot(str)
|
@pyqtSlot(str)
|
||||||
def setActiveMachine(self, stack_id):
|
def setActiveMachine(self, stack_id):
|
||||||
@ -348,7 +350,7 @@ class MachineManager(QObject):
|
|||||||
user_settings.clear()
|
user_settings.clear()
|
||||||
|
|
||||||
## Check if the global_container has instances in the user container
|
## Check if the global_container has instances in the user container
|
||||||
@pyqtProperty(bool, notify = activeStackChanged)
|
@pyqtProperty(bool, notify = activeStackValueChanged)
|
||||||
def hasUserSettings(self):
|
def hasUserSettings(self):
|
||||||
if not self._global_container_stack:
|
if not self._global_container_stack:
|
||||||
return False
|
return False
|
||||||
@ -387,7 +389,7 @@ class MachineManager(QObject):
|
|||||||
## Check if the global profile does not contain error states
|
## Check if the global profile does not contain error states
|
||||||
# Note that the _active_stack_valid is cached due to performance issues
|
# Note that the _active_stack_valid is cached due to performance issues
|
||||||
# Calling _checkStackForErrors on every change is simply too expensive
|
# Calling _checkStackForErrors on every change is simply too expensive
|
||||||
@pyqtProperty(bool, notify = activeValidationChanged)
|
@pyqtProperty(bool, notify = activeStackValidationChanged)
|
||||||
def isActiveStackValid(self):
|
def isActiveStackValid(self):
|
||||||
return bool(self._active_stack_valid)
|
return bool(self._active_stack_valid)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user