diff --git a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py index 18bf22d18d..2a9dedc20c 100755 --- a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py +++ b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py @@ -188,9 +188,18 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): else: self._updatePrinterType("unknown") + Application.getInstance().getOutputDeviceManager().outputDevicesChanged.connect(self._onOutputDevicesChanged) + def _onNetworkAccesibleChanged(self, accessible): Logger.log("d", "Network accessible state changed to: %s", accessible) + ## Triggered when the output device manager changes devices. + # + # This is how we can detect that our device is no longer active now. + def _onOutputDevicesChanged(self): + if self.getId() not in Application.getInstance().getOutputDeviceManager().getOutputDeviceIds(): + self.stopCamera() + def _onAuthenticationTimer(self): self._authentication_counter += 1 self._authentication_requested_message.setProgress(self._authentication_counter / self._max_authentication_counter * 100)