From 1aed8a1fa5db07ffc62830277c76a76a89786da9 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Thu, 8 Aug 2019 15:20:37 +0200 Subject: [PATCH 1/3] Add manage printer link Contributes to CS-251 --- .../resources/qml/MonitorPrinterCard.qml | 53 ++++++++++++++++++- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml index e2b22312cd..08a8fb3079 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml @@ -39,7 +39,8 @@ Item { id: background anchors.fill: parent - color: UM.Theme.getColor("monitor_card_background") + // color: UM.Theme.getColor("monitor_card_background") + color: "red" border { color: UM.Theme.getColor("monitor_card_border") @@ -90,7 +91,7 @@ Item verticalCenter: parent.verticalCenter } width: 180 * screenScaleFactor // TODO: Theme! - height: printerNameLabel.height + printerFamilyPill.height + 6 * screenScaleFactor // TODO: Theme! + height: childrenRect.height Rectangle { @@ -135,6 +136,54 @@ Item } text: printer ? printer.type : "" } + Item + { + id: managePrinterLink + anchors { + top: printerFamilyPill.bottom + topMargin: 6 * screenScaleFactor + } + height: 18 * screenScaleFactor // TODO: Theme! + width: childrenRect.width + + Label + { + id: managePrinterText + anchors.verticalCenter: managePrinterLink.verticalCenter + color: UM.Theme.getColor("monitor_text_link") + font: UM.Theme.getFont("default") + linkColor: UM.Theme.getColor("monitor_text_link") + text: catalog.i18nc("@label link to Connect and Cloud interfaces", "Manage printer") + renderType: Text.NativeRendering + } + UM.RecolorImage + { + id: externalLinkIcon + anchors + { + left: managePrinterText.right + leftMargin: 6 * screenScaleFactor + verticalCenter: managePrinterText.verticalCenter + } + color: UM.Theme.getColor("monitor_text_link") + source: UM.Theme.getIcon("external_link") + width: 12 * screenScaleFactor + height: 12 * screenScaleFactor + } + } + MouseArea + { + anchors.fill: managePrinterLink + onClicked: OutputDevice.openPrintJobControlPanel() + onEntered: + { + manageQueueText.font.underline = true + } + onExited: + { + manageQueueText.font.underline = false + } + } } MonitorPrinterConfiguration From 9a29c772281abf04d29d14ddf342fb2acf2a51af Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Thu, 8 Aug 2019 15:23:29 +0200 Subject: [PATCH 2/3] Remove debug property Contributes to CS-251 --- .../UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml index 08a8fb3079..0175d5a2ad 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml @@ -39,8 +39,7 @@ Item { id: background anchors.fill: parent - // color: UM.Theme.getColor("monitor_card_background") - color: "red" + color: UM.Theme.getColor("monitor_card_background") border { color: UM.Theme.getColor("monitor_card_border") From a063c33d4c864d1e552ae570f5457c81dfa185d0 Mon Sep 17 00:00:00 2001 From: ChrisTerBeke Date: Thu, 8 Aug 2019 22:47:07 +0200 Subject: [PATCH 3/3] Fix target URL for cloud links in monitor page --- .../UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py index 5f9748c36d..259770857d 100644 --- a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py @@ -258,11 +258,11 @@ class CloudOutputDevice(UltimakerNetworkedPrinterOutputDevice): @pyqtSlot(name="openPrintJobControlPanel") def openPrintJobControlPanel(self) -> None: - QDesktopServices.openUrl(QUrl("https://mycloud.ultimaker.com")) + QDesktopServices.openUrl(QUrl(self.clusterCloudUrl)) @pyqtSlot(name="openPrinterControlPanel") def openPrinterControlPanel(self) -> None: - QDesktopServices.openUrl(QUrl("https://mycloud.ultimaker.com")) + QDesktopServices.openUrl(QUrl(self.clusterCloudUrl)) ## Gets the cluster response from which this device was created. @property @@ -273,3 +273,9 @@ class CloudOutputDevice(UltimakerNetworkedPrinterOutputDevice): @clusterData.setter def clusterData(self, value: CloudClusterResponse) -> None: self._cluster = value + + ## Gets the URL on which to monitor the cluster via the cloud. + @property + def clusterCloudUrl(self) -> str: + root_url_prefix = "-staging" if self._account.is_staging else "" + return "https://mycloud{}.ultimaker.com/app/jobs/{}".format(root_url_prefix, self.clusterData.cluster_id)