diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index e5286e7032..fd119d9c83 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -490,6 +490,11 @@ class MachineManager(QObject): def activeMachineIsGroup(self) -> bool: return bool(self._printer_output_devices) and len(self._printer_output_devices[0].printers) > 1 + @pyqtProperty(bool, notify = printerConnectedStatusChanged) + def activeMachineIsLinkedToCurrentAccount(self) -> bool: + from plugins.UM3NetworkPrinting.src.Cloud.CloudOutputDeviceManager import META_REMOVED_FROM_ACCOUNT + return not self.activeMachine.getMetaDataEntry(META_REMOVED_FROM_ACCOUNT, False) + @pyqtProperty(bool, notify = printerConnectedStatusChanged) def activeMachineHasNetworkConnection(self) -> bool: # A network connection is only available if any output device is actually a network connected device. diff --git a/resources/qml/PrinterSelector/MachineSelector.qml b/resources/qml/PrinterSelector/MachineSelector.qml index b3293c00cd..0907767eea 100644 --- a/resources/qml/PrinterSelector/MachineSelector.qml +++ b/resources/qml/PrinterSelector/MachineSelector.qml @@ -42,7 +42,14 @@ Cura.ExpandablePopup { if (Cura.API.account.isLoggedIn) { - return catalog.i18nc("@status", "The cloud printer is offline. Please check if the printer is turned on and connected to the internet.") + if (Cura.MachineManager.activeMachineIsLinkedToCurrentAccount) + { + return catalog.i18nc("@status", "The cloud printer is offline. Please check if the printer is turned on and connected to the internet.") + } + else + { + return catalog.i18nc("@status", "This printer is not linked to your account. Please visit the Ultimaker Digital Factory to establish a connection.") + } } else {