mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 06:57:28 -06:00
EngineBackend should trigger auto-slice on changes
CURA-4107 CuraEngineBackend should trigger auto-slice on value changes, not changes on the active extruder.
This commit is contained in:
parent
96f8e70e40
commit
05879e0dfc
1 changed files with 2 additions and 19 deletions
|
@ -88,10 +88,6 @@ class CuraEngineBackend(QObject, Backend):
|
||||||
Application.getInstance().globalContainerStackChanged.connect(self._onGlobalStackChanged)
|
Application.getInstance().globalContainerStackChanged.connect(self._onGlobalStackChanged)
|
||||||
self._onGlobalStackChanged()
|
self._onGlobalStackChanged()
|
||||||
|
|
||||||
self._active_extruder_stack = None
|
|
||||||
ExtruderManager.getInstance().activeExtruderChanged.connect(self._onActiveExtruderChanged)
|
|
||||||
self._onActiveExtruderChanged()
|
|
||||||
|
|
||||||
Application.getInstance().stacksValidationFinished.connect(self._onStackErrorCheckFinished)
|
Application.getInstance().stacksValidationFinished.connect(self._onStackErrorCheckFinished)
|
||||||
|
|
||||||
# A flag indicating if an error check was scheduled
|
# A flag indicating if an error check was scheduled
|
||||||
|
@ -622,6 +618,7 @@ class CuraEngineBackend(QObject, Backend):
|
||||||
|
|
||||||
for extruder in extruders:
|
for extruder in extruders:
|
||||||
extruder.propertyChanged.disconnect(self._onSettingChanged)
|
extruder.propertyChanged.disconnect(self._onSettingChanged)
|
||||||
|
extruder.containersChanged.disconnect(self._onChanged)
|
||||||
|
|
||||||
self._global_container_stack = Application.getInstance().getGlobalContainerStack()
|
self._global_container_stack = Application.getInstance().getGlobalContainerStack()
|
||||||
|
|
||||||
|
@ -631,23 +628,9 @@ class CuraEngineBackend(QObject, Backend):
|
||||||
extruders = list(ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId()))
|
extruders = list(ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId()))
|
||||||
for extruder in extruders:
|
for extruder in extruders:
|
||||||
extruder.propertyChanged.connect(self._onSettingChanged)
|
extruder.propertyChanged.connect(self._onSettingChanged)
|
||||||
self._onActiveExtruderChanged()
|
extruder.containersChanged.connect(self._onChanged)
|
||||||
self._onChanged()
|
self._onChanged()
|
||||||
|
|
||||||
def _onActiveExtruderChanged(self):
|
|
||||||
if self._global_container_stack:
|
|
||||||
# Connect all extruders of the active machine. This might cause a few connects that have already happend,
|
|
||||||
# but that shouldn't cause issues as only new / unique connections are added.
|
|
||||||
extruders = list(ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId()))
|
|
||||||
for extruder in extruders:
|
|
||||||
extruder.propertyChanged.connect(self._onSettingChanged)
|
|
||||||
if self._active_extruder_stack:
|
|
||||||
self._active_extruder_stack.containersChanged.disconnect(self._onChanged)
|
|
||||||
|
|
||||||
self._active_extruder_stack = ExtruderManager.getInstance().getActiveExtruderStack()
|
|
||||||
if self._active_extruder_stack:
|
|
||||||
self._active_extruder_stack.containersChanged.connect(self._onChanged)
|
|
||||||
|
|
||||||
def _onProcessLayersFinished(self, job):
|
def _onProcessLayersFinished(self, job):
|
||||||
self._process_layers_job = None
|
self._process_layers_job = None
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue