diff --git a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml index bf7690ac37..c0369cac0b 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml @@ -7,34 +7,39 @@ import QtQuick.Controls.Styles 1.3 import UM 1.3 as UM import Cura 1.0 as Cura -Rectangle { +Rectangle +{ id: base property var enabled: true - property var iconSource: null; - color: UM.Theme.getColor("monitor_icon_primary") - height: width; - radius: Math.round(0.5 * width); - width: 24 * screenScaleFactor; + property var iconSource: null + color: enabled ? UM.Theme.getColor("monitor_icon_primary") : UM.Theme.getColor("monitor_icon_disabled") + height: width + radius: Math.round(0.5 * width) + width: 24 * screenScaleFactor - UM.RecolorImage { - id: icon; - anchors { - horizontalCenter: parent.horizontalCenter; - verticalCenter: parent.verticalCenter; + UM.RecolorImage + { + id: icon + anchors + { + horizontalCenter: parent.horizontalCenter + verticalCenter: parent.verticalCenter } - color: UM.Theme.getColor("monitor_icon_accent"); - height: width; - source: iconSource; - width: Math.round(parent.width / 2); + color: UM.Theme.getColor("monitor_icon_accent") + height: width + source: iconSource + width: Math.round(parent.width / 2) } - MouseArea { - id: clickArea; - anchors.fill: parent; + MouseArea + { + id: clickArea + anchors.fill: parent hoverEnabled: base.enabled - onClicked: { + onClicked: + { if (base.enabled) { if (OutputDevice.activeCameraUrl != "") diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorContextMenuButton.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorContextMenuButton.qml index 3e4f1839b6..ba85802809 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorContextMenuButton.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorContextMenuButton.qml @@ -11,14 +11,14 @@ Button id: base background: Rectangle { - color: UM.Theme.getColor("viewport_background") // TODO: Theme! + color: enabled ? UM.Theme.getColor("viewport_background") : "transparent" height: base.height opacity: base.down || base.hovered ? 1 : 0 radius: Math.round(0.5 * width) width: base.width } contentItem: Label { - color: UM.Theme.getColor("monitor_text_primary") + color: enabled ? UM.Theme.getColor("monitor_text_primary") : UM.Theme.getColor("monitor_text_disabled") font.pixelSize: 32 * screenScaleFactor horizontalAlignment: Text.AlignHCenter text: base.text diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorQueue.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorQueue.qml index c75bd4190f..5d824ada97 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorQueue.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorQueue.qml @@ -14,6 +14,10 @@ import Cura 1.0 as Cura */ Item { + // If the printer is a cloud printer or not. Other items base their enabled state off of this boolean. In the future + // they might not need to though. + property bool cloudConnection: Cura.MachineManager.activeMachineIsUsingCloudConnection + Label { id: queuedLabel @@ -37,6 +41,7 @@ Item } height: 18 * screenScaleFactor // TODO: Theme! width: childrenRect.width + visible: !cloudConnection UM.RecolorImage { @@ -67,7 +72,8 @@ Item MouseArea { anchors.fill: manageQueueLabel - hoverEnabled: true + enabled: !cloudConnection + hoverEnabled: !cloudConnection onClicked: Cura.MachineManager.printerOutputDevices[0].openPrintJobControlPanel() onEntered: { diff --git a/plugins/UM3NetworkPrinting/src/UM3OutputDevicePlugin.py b/plugins/UM3NetworkPrinting/src/UM3OutputDevicePlugin.py index ceeeec0382..723bcf2b7c 100644 --- a/plugins/UM3NetworkPrinting/src/UM3OutputDevicePlugin.py +++ b/plugins/UM3NetworkPrinting/src/UM3OutputDevicePlugin.py @@ -481,8 +481,10 @@ class UM3OutputDevicePlugin(OutputDevicePlugin): "resources", "svg", "cloud-flow-completed.svg")), image_caption = i18n_catalog.i18nc("@info:status", "Connected!") ) - self._cloud_flow_complete_message.addAction("", i18n_catalog.i18nc("@action", "Review your connection"), "", "", 1) # TODO: Icon - self._cloud_flow_complete_message.actionTriggered.connect(self._onReviewCloudConnection) + # Don't show the review connection link if we're not on the local network + if self._application.getMachineManager().activeMachineHasNetworkConnection: + self._cloud_flow_complete_message.addAction("", i18n_catalog.i18nc("@action", "Review your connection"), "", "", 1) # TODO: Icon + self._cloud_flow_complete_message.actionTriggered.connect(self._onReviewCloudConnection) self._cloud_flow_complete_message.show() # Set the machine's cloud flow as complete so we don't ask the user again and again for cloud connected printers diff --git a/resources/themes/cura-dark/theme.json b/resources/themes/cura-dark/theme.json index 41033e7e75..aed45e8a71 100644 --- a/resources/themes/cura-dark/theme.json +++ b/resources/themes/cura-dark/theme.json @@ -222,6 +222,7 @@ "monitor_text_link": [103, 160, 252, 255], "monitor_icon_primary": [229, 229, 229, 255], "monitor_icon_accent": [51, 53, 54, 255], + "monitor_icon_disabled": [102, 102, 102, 255], "monitor_secondary_button_hover": [80, 80, 80, 255], "monitor_secondary_button": [92, 92, 92, 255], diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index 92308537dd..a0a21c31f3 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -397,6 +397,7 @@ "monitor_text_link": [50, 130, 255, 255], "monitor_icon_primary": [10, 8, 80, 255], "monitor_icon_accent": [255, 255, 255, 255], + "monitor_icon_disabled": [238, 238, 238, 255], "monitor_secondary_button_hover": [228, 228, 228, 255], "monitor_secondary_button": [240, 240, 240, 255],