mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-12 17:27:51 -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 = Application.getInstance().getController().getScene()
|
||||||
self._scene.sceneChanged.connect(self._onSceneChanged)
|
self._scene.sceneChanged.connect(self._onSceneChanged)
|
||||||
|
|
||||||
self._settings = Application.getInstance().getMachineSettings()
|
self._settings = None
|
||||||
self._settings.settingChanged.connect(self._onSettingChanged)
|
Application.getInstance().activeMachineChanged.connect(self._onActiveMachineChanged)
|
||||||
|
self._onActiveMachineChanged()
|
||||||
|
|
||||||
self._changeTimer = None
|
self._changeTimer = None
|
||||||
|
|
||||||
|
@ -41,6 +42,15 @@ class CuraEngineBackend(Backend):
|
||||||
|
|
||||||
self._onChanged()
|
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):
|
def _onSettingChanged(self, setting):
|
||||||
self._onChanged()
|
self._onChanged()
|
||||||
|
|
||||||
|
@ -69,6 +79,9 @@ class CuraEngineBackend(Backend):
|
||||||
self._socket.registerMessageType(6, Cura_pb2.SettingList)
|
self._socket.registerMessageType(6, Cura_pb2.SettingList)
|
||||||
|
|
||||||
def _onChanged(self):
|
def _onChanged(self):
|
||||||
|
if not self._settings:
|
||||||
|
return
|
||||||
|
|
||||||
if self._changeTimer:
|
if self._changeTimer:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ class ProcessSlicedObjectListJob(Job):
|
||||||
if type(node) is SceneNode and node.getMeshData():
|
if type(node) is SceneNode and node.getMeshData():
|
||||||
objectIdMap[id(node)] = node
|
objectIdMap[id(node)] = node
|
||||||
|
|
||||||
layerHeight = Application.getInstance().getMachineSettings().getSettingValueByKey('layer_height')
|
layerHeight = Application.getInstance().getActiveMachine().getSettingValueByKey('layer_height')
|
||||||
|
|
||||||
for object in self._message.objects:
|
for object in self._message.objects:
|
||||||
mesh = objectIdMap[object.id].getMeshData()
|
mesh = objectIdMap[object.id].getMeshData()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue