From 5aba1731f58a44db25328e20531b3840b0c58b50 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 22 May 2017 14:05:10 +0200 Subject: [PATCH 1/3] Renamed useOptionalExtruder to addOptional extruder This is more in line with the other properties CURA-3814 --- cura/Settings/ExtrudersModel.py | 20 +++++++++---------- .../qml/Settings/SettingOptionalExtruder.qml | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/cura/Settings/ExtrudersModel.py b/cura/Settings/ExtrudersModel.py index 4b36e79889..c3fbf7c65c 100644 --- a/cura/Settings/ExtrudersModel.py +++ b/cura/Settings/ExtrudersModel.py @@ -67,7 +67,7 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): self._simple_names = False self._active_extruder_stack = None - self._use_optional_extruder = False + self._add_optional_extruder = False #Listen to changes. Application.getInstance().globalContainerStackChanged.connect(self._updateExtruders) @@ -90,17 +90,17 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): def addGlobal(self): return self._add_global - useOptionalExtruderChanged = pyqtSignal() + addOptionalExtruderChanged = pyqtSignal() - def setUseOptionalExtruder(self, use_optional_extruder): - if use_optional_extruder != self._use_optional_extruder: - self._use_optional_extruder = use_optional_extruder - self.useOptionalExtruderChanged.emit() + def setAddOptionalExtruder(self, add_optional_extruder): + if add_optional_extruder != self._add_optional_extruder: + self._add_optional_extruder = add_optional_extruder + self.addOptionalExtruderChanged.emit() self._updateExtruders() - @pyqtProperty(bool, fset = setUseOptionalExtruder, notify = useOptionalExtruderChanged) - def useOptionalExtruder(self): - return self._use_optional_extruder + @pyqtProperty(bool, fset = setAddOptionalExtruder, notify = addOptionalExtruderChanged) + def addOptionalExtruder(self): + return self._add_optional_extruder ## Set the simpleNames property. def setSimpleNames(self, simple_names): @@ -199,7 +199,7 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): items.sort(key = lambda i: i["index"]) # We need optional extruder to be last, so add it after we do sorting. # This way we can simply intrepret the -1 of the index as the last item (which it now always is) - if self._use_optional_extruder: + if self._add_optional_extruder: item = { "id": "zomg", "name": "Not overridden", diff --git a/resources/qml/Settings/SettingOptionalExtruder.qml b/resources/qml/Settings/SettingOptionalExtruder.qml index 07b15e404d..1f546b518c 100644 --- a/resources/qml/Settings/SettingOptionalExtruder.qml +++ b/resources/qml/Settings/SettingOptionalExtruder.qml @@ -20,7 +20,7 @@ SettingItem model: Cura.ExtrudersModel { onModelChanged: control.color = getItem(control.currentIndex).color - useOptionalExtruder: true + addOptionalExtruder: true } textRole: "name" From c47464274498f0e5cea451981dd12b95da0c7239 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 22 May 2017 14:25:29 +0200 Subject: [PATCH 2/3] Removed debug ID CURA-3814 --- cura/Settings/ExtrudersModel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Settings/ExtrudersModel.py b/cura/Settings/ExtrudersModel.py index f6aa2dd87a..26943e61ca 100644 --- a/cura/Settings/ExtrudersModel.py +++ b/cura/Settings/ExtrudersModel.py @@ -214,7 +214,7 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): # This way we can simply intrepret the -1 of the index as the last item (which it now always is) if self._add_optional_extruder: item = { - "id": "zomg", + "id": "", "name": "Not overridden", "color": "#ffffff", "index": -1, From f9f0fa852ff5b4169d8ded8652604d153761d229 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 22 May 2017 14:48:42 +0200 Subject: [PATCH 3/3] Added RunTime exception catching for image_reply In some cases the c++ object is already deleted. If we just ignore it, nothing breaks. CURA-3844 --- plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py index 9b0eee7096..afeaadbb7a 100755 --- a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py +++ b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py @@ -306,8 +306,11 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): def _stopCamera(self): self._camera_timer.stop() if self._image_reply: - self._image_reply.abort() - self._image_reply.downloadProgress.disconnect(self._onStreamDownloadProgress) + try: + self._image_reply.abort() + self._image_reply.downloadProgress.disconnect(self._onStreamDownloadProgress) + except RuntimeError: + pass # It can happen that the wrapped c++ object is already deleted. self._image_reply = None self._image_request = None