From e0afc1535a4d824a925d3a17bb2b8da07fab9f6a Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Tue, 1 Mar 2016 02:05:25 +0100 Subject: [PATCH] Add a busy property to LayerView that indicates whether we are currently building top layers Contributes to CURA-957 --- plugins/LayerView/LayerView.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/plugins/LayerView/LayerView.py b/plugins/LayerView/LayerView.py index e86590e1d0..db4e520e55 100644 --- a/plugins/LayerView/LayerView.py +++ b/plugins/LayerView/LayerView.py @@ -51,6 +51,8 @@ class LayerView(View): self._top_layer_timer.setSingleShot(True) self._top_layer_timer.timeout.connect(self._startUpdateTopLayers) + self._busy = False + def getActivity(self): return self._activity @@ -63,6 +65,16 @@ class LayerView(View): def getMaxLayers(self): return self._max_layers + busyChanged = Signal() + + def isBusy(self): + return self._busy + + def setBusy(self, busy): + if busy != self._busy: + self._busy = busy + self.busyChanged.emit() + def resetLayerData(self): self._current_layer_mesh = None self._current_layer_jumps = None @@ -183,11 +195,15 @@ class LayerView(View): return True def _startUpdateTopLayers(self): + self.setBusy(True) + self._top_layers_job = _CreateTopLayersJob(self._controller.getScene(), self._current_layer_num, self._solid_layers) self._top_layers_job.finished.connect(self._updateCurrentLayerMesh) self._top_layers_job.start() def _updateCurrentLayerMesh(self, job): + self.setBusy(False) + if not job.getResult(): return