mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-13 09:47:50 -06:00
Make the available machines a list and do not assume we have an active machine everywhere in the code
This commit is contained in:
parent
201ea272b0
commit
227d9600dc
2 changed files with 16 additions and 3 deletions
|
@ -20,8 +20,9 @@ class CuraEngineBackend(Backend):
|
|||
self._scene = Application.getInstance().getController().getScene()
|
||||
self._scene.sceneChanged.connect(self._onSceneChanged)
|
||||
|
||||
self._settings = Application.getInstance().getMachineSettings()
|
||||
self._settings.settingChanged.connect(self._onSettingChanged)
|
||||
self._settings = None
|
||||
Application.getInstance().activeMachineChanged.connect(self._onActiveMachineChanged)
|
||||
self._onActiveMachineChanged()
|
||||
|
||||
self._changeTimer = None
|
||||
|
||||
|
@ -41,6 +42,15 @@ class CuraEngineBackend(Backend):
|
|||
|
||||
self._onChanged()
|
||||
|
||||
def _onActiveMachineChanged(self):
|
||||
if self._settings:
|
||||
self._settings.settingChanged.disconnect(self._onSettingChanged)
|
||||
|
||||
self._settings = Application.getInstance().getActiveMachine()
|
||||
if self._settings:
|
||||
self._settings.settingChanged.connect(self._onSettingChanged)
|
||||
self._onChanged()
|
||||
|
||||
def _onSettingChanged(self, setting):
|
||||
self._onChanged()
|
||||
|
||||
|
@ -69,6 +79,9 @@ class CuraEngineBackend(Backend):
|
|||
self._socket.registerMessageType(6, Cura_pb2.SettingList)
|
||||
|
||||
def _onChanged(self):
|
||||
if not self._settings:
|
||||
return
|
||||
|
||||
if self._changeTimer:
|
||||
return
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ class ProcessSlicedObjectListJob(Job):
|
|||
if type(node) is SceneNode and node.getMeshData():
|
||||
objectIdMap[id(node)] = node
|
||||
|
||||
layerHeight = Application.getInstance().getMachineSettings().getSettingValueByKey('layer_height')
|
||||
layerHeight = Application.getInstance().getActiveMachine().getSettingValueByKey('layer_height')
|
||||
|
||||
for object in self._message.objects:
|
||||
mesh = objectIdMap[object.id].getMeshData()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue