diff --git a/plugins/UM3NetworkPrinting/resources/svg/CloudPlatform.svg b/plugins/UM3NetworkPrinting/resources/svg/CloudPlatform.svg new file mode 100644 index 0000000000..5da9f17bbf --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/svg/CloudPlatform.svg @@ -0,0 +1,353 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/UM3NetworkPrinting/resources/svg/cloud-flow-start.svg b/plugins/UM3NetworkPrinting/resources/svg/cloud-flow-start.svg deleted file mode 100644 index 746dc269fd..0000000000 --- a/plugins/UM3NetworkPrinting/resources/svg/cloud-flow-start.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - Cloud_connection-icon - Created with Sketch. - - - - - - - - \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/src/Messages/CloudFlowMessage.py b/plugins/UM3NetworkPrinting/src/Messages/CloudFlowMessage.py index c453537d81..34687339a9 100644 --- a/plugins/UM3NetworkPrinting/src/Messages/CloudFlowMessage.py +++ b/plugins/UM3NetworkPrinting/src/Messages/CloudFlowMessage.py @@ -15,27 +15,26 @@ I18N_CATALOG = i18nCatalog("cura") class CloudFlowMessage(Message): - def __init__(self, address: str) -> None: - + def __init__(self, printer_name: str) -> None: image_path = os.path.join( CuraApplication.getInstance().getPluginRegistry().getPluginPath("UM3NetworkPrinting") or "", - "resources", "svg", "cloud-flow-start.svg" + "resources", "svg", "CloudPlatform.svg" ) - 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"), + text = I18N_CATALOG.i18nc("@info:status", + 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?"), + image_source = QUrl.fromLocalFile(image_path) ) - 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() diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index daa12b3390..78676da926 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -626,7 +626,7 @@ "message_close": [1, 1], "message_radius": [0.25, 0.25], "message_action_button": [0, 2.5], - "message_image": [15.0, 5.0], + "message_image": [15.0, 10.0], "message_type_icon": [2, 2], "infill_button_margin": [0.5, 0.5],