diff --git a/plugins/UM3NetworkPrinting/src/Messages/CloudFlowMessage.py b/plugins/UM3NetworkPrinting/src/Messages/CloudFlowMessage.py index c453537d81..58c4dacf03 100644 --- a/plugins/UM3NetworkPrinting/src/Messages/CloudFlowMessage.py +++ b/plugins/UM3NetworkPrinting/src/Messages/CloudFlowMessage.py @@ -15,27 +15,22 @@ I18N_CATALOG = i18nCatalog("cura") class CloudFlowMessage(Message): - def __init__(self, address: str) -> None: - - image_path = os.path.join( - CuraApplication.getInstance().getPluginRegistry().getPluginPath("UM3NetworkPrinting") or "", - "resources", "svg", "cloud-flow-start.svg" - ) + def __init__(self, printer_name: str) -> None: super().__init__( text=I18N_CATALOG.i18nc("@info:status", - "Send and monitor print jobs from anywhere using your Ultimaker account."), - lifetime=0, - dismissable=True, - option_state=False, - image_source=QUrl.fromLocalFile(image_path), - image_caption=I18N_CATALOG.i18nc("@info:status Ultimaker Cloud should not be translated.", - "Connect to Ultimaker Digital Factory"), + f"Your printer {printer_name} could be connected via cloud.\n Manage your print queue and monitor your prints from anywhere connecting your printer to Digital Factory"), + title=I18N_CATALOG.i18nc("@info:title", "Are you ready for cloud printing?") ) - self._address = address - self.addAction("", I18N_CATALOG.i18nc("@action", "Get started"), "", "") + self._printer_name = printer_name + self.addAction("get_started", I18N_CATALOG.i18nc("@action", "Get started"), "", "") + self.addAction("learn_more", I18N_CATALOG.i18nc("@action", "Learn more"), "", "", button_style=Message.ActionButtonStyle.LINK, button_align=Message.ActionButtonAlignment.ALIGN_LEFT) + self.actionTriggered.connect(self._onCloudFlowStarted) - def _onCloudFlowStarted(self, messageId: str, actionId: str) -> None: - QDesktopServices.openUrl(QUrl("http://{}/cloud_connect".format(self._address))) - self.hide() + def _onCloudFlowStarted(self, message_id: str, action_id: str) -> None: + if action_id == "get_started": + QDesktopServices.openUrl(QUrl("https://digitalfactory.ultimaker.com/app/printers?add_printer=true&utm_source=cura&utm_medium=software&utm_campaign=message-networkprinter-added")) + self.hide() + else: + QDesktopServices.openUrl(QUrl("https://support.ultimaker.com/hc/en-us/articles/360012019239?utm_source=cura&utm_medium=software&utm_campaign=add-cloud-printer")) diff --git a/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDeviceManager.py b/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDeviceManager.py index e79709d3dc..0cd5304cf9 100644 --- a/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDeviceManager.py +++ b/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDeviceManager.py @@ -52,7 +52,6 @@ class LocalClusterOutputDeviceManager: def start(self) -> None: """Start the network discovery.""" - self._zero_conf_client.start() for address in self._getStoredManualAddresses(): self.addManualDevice(address) @@ -292,4 +291,4 @@ class LocalClusterOutputDeviceManager: if not CuraApplication.getInstance().getCuraAPI().account.isLoggedIn: # Do not show the message if the user is not signed in. return - CloudFlowMessage(device.ipAddress).show() + CloudFlowMessage(device.name).show()