Browse Source

Add cloud connection condition

Contributes to CL-1165
Ian Paschal 6 years ago
parent
commit
f3d0010b87

+ 6 - 1
plugins/UM3NetworkPrinting/resources/qml/MonitorPrintJobCard.qml

@@ -4,6 +4,7 @@
 import QtQuick 2.2
 import QtQuick.Controls 2.0
 import UM 1.3 as UM
+import Cura 1.0 as Cura
 
 /**
  * A Print Job Card is essentially just a filled-in Expandable Card item. All
@@ -21,6 +22,10 @@ Item
     // The print job which all other data is derived from
     property var printJob: null
 
+    // 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.activeMachineHasActiveCloudConnection
+
     width: parent.width
     height: childrenRect.height
 
@@ -209,7 +214,7 @@ Item
         }
         width: 32 * screenScaleFactor // TODO: Theme!
         height: 32 * screenScaleFactor // TODO: Theme!
-        enabled: base.enabled // TODO: Add cloud logic here!
+        enabled: !cloudConnection
         onClicked: enabled ? contextMenu.switchPopupState() : {}
         visible:
         {

+ 8 - 4
plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml

@@ -5,6 +5,7 @@ import QtQuick 2.3
 import QtQuick.Controls 2.0
 import QtQuick.Dialogs 1.1
 import UM 1.3 as UM
+import Cura 1.0 as Cura
 
 /**
  * A Printer Card is has two main components: the printer portion and the print job portion, the latter being paired in
@@ -27,6 +28,10 @@ Item
     // camera while the printer card is not "in focus"
     property var enabled: true
 
+    // 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.activeMachineHasActiveCloudConnection
+
     width: 834 * screenScaleFactor // TODO: Theme!
     height: childrenRect.height
 
@@ -167,8 +172,8 @@ Item
             }
             width: 36 * screenScaleFactor // TODO: Theme!
             height: 36 * screenScaleFactor // TODO: Theme!
-            // enabled: base.enabled
-            enabled: false
+            enabled: !cloudConnection
+            
             onClicked: enabled ? contextMenu.switchPopupState() : {}
             visible:
             {
@@ -216,8 +221,7 @@ Item
                 bottomMargin: 20 * screenScaleFactor // TODO: Theme!
             }
             iconSource: "../svg/icons/camera.svg"
-            // enabled: base.enabled
-            enabled: false
+            enabled: !cloudConnection
             visible: printer
         }