mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 22:47:29 -06:00
Make sure MachineManager initializes after ContainerRegistry does
CURA-4084 When MachineManager gets created, it will find and set the current active machine. This requires the ContainerRegistry to be initialized first.
This commit is contained in:
parent
93731b8d1f
commit
9c1d23fe5b
3 changed files with 8 additions and 3 deletions
|
@ -119,6 +119,12 @@ class CuraApplication(QtApplication):
|
||||||
|
|
||||||
Q_ENUMS(ResourceTypes)
|
Q_ENUMS(ResourceTypes)
|
||||||
|
|
||||||
|
# FIXME: This signal belongs to the MachineManager, but the CuraEngineBackend plugin requires on it.
|
||||||
|
# Because plugins are initialized before the ContainerRegistry, putting this signal in MachineManager
|
||||||
|
# will make it initialized before ContainerRegistry does, and it won't find the active machine, thus
|
||||||
|
# Cura will always show the Add Machine Dialog upon start.
|
||||||
|
stacksValidationFinished = pyqtSignal() # Emitted whenever a validation is finished
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
# this list of dir names will be used by UM to detect an old cura directory
|
# this list of dir names will be used by UM to detect an old cura directory
|
||||||
for dir_name in ["extruders", "machine_instances", "materials", "plugins", "quality", "user", "variants"]:
|
for dir_name in ["extruders", "machine_instances", "materials", "plugins", "quality", "user", "variants"]:
|
||||||
|
|
|
@ -115,7 +115,6 @@ class MachineManager(QObject):
|
||||||
activeStackValueChanged = pyqtSignal() # Emitted whenever a value inside the active stack 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
|
activeStackValidationChanged = pyqtSignal() # Emitted whenever a validation inside active container is changed
|
||||||
stacksValidationChanged = pyqtSignal() # Emitted whenever a validation is changed
|
stacksValidationChanged = pyqtSignal() # Emitted whenever a validation is changed
|
||||||
stacksValidationFinished = pyqtSignal() # Emitted whenever a validation is finished
|
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
|
@ -306,7 +305,7 @@ class MachineManager(QObject):
|
||||||
self._stacks_have_errors = self._checkStacksHaveErrors()
|
self._stacks_have_errors = self._checkStacksHaveErrors()
|
||||||
if old_stacks_have_errors != self._stacks_have_errors:
|
if old_stacks_have_errors != self._stacks_have_errors:
|
||||||
self.stacksValidationChanged.emit()
|
self.stacksValidationChanged.emit()
|
||||||
self.stacksValidationFinished.emit()
|
Application.getInstance().stacksValidationFinished.emit()
|
||||||
|
|
||||||
def _onActiveExtruderStackChanged(self):
|
def _onActiveExtruderStackChanged(self):
|
||||||
self.blurSettings.emit() # Ensure no-one has focus.
|
self.blurSettings.emit() # Ensure no-one has focus.
|
||||||
|
|
|
@ -77,7 +77,7 @@ class CuraEngineBackend(QObject, Backend):
|
||||||
self._scene.sceneChanged.connect(self._onSceneChanged)
|
self._scene.sceneChanged.connect(self._onSceneChanged)
|
||||||
|
|
||||||
# trigger auto-slicing on error check finished
|
# trigger auto-slicing on error check finished
|
||||||
Application.getInstance().getMachineManager().stacksValidationFinished.connect(self._onStackErrorCheckFinished)
|
Application.getInstance().stacksValidationFinished.connect(self._onStackErrorCheckFinished)
|
||||||
|
|
||||||
# Listeners for receiving messages from the back-end.
|
# Listeners for receiving messages from the back-end.
|
||||||
self._message_handlers["cura.proto.Layer"] = self._onLayerMessage
|
self._message_handlers["cura.proto.Layer"] = self._onLayerMessage
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue