Browse Source

Merge pull request #5329 from Ultimaker/CL-1247_improve_cloud_disabled_states

CL-1247 Improve cloud disabled states
Simon Edwards 6 years ago
parent
commit
60547b4265

+ 24 - 19
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 != "")

+ 2 - 2
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

+ 7 - 1
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:
         {

+ 4 - 2
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

+ 1 - 0
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],

+ 1 - 0
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],