Merge pull request #6177 from Ultimaker/CS-251_add_manage_printer_link

CS-251 Add manage printer link
This commit is contained in:
ChrisTerBeke 2019-08-08 22:51:52 +02:00 committed by GitHub
commit 5bdef34121
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 57 additions and 3 deletions

View file

@ -90,7 +90,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 +135,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

View file

@ -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)