Browse Source

Merge branch '3.0' of github.com:Ultimaker/Cura into 3.0

Jaime van Kessel 7 years ago
parent
commit
a3eae31982

+ 1 - 1
cura/PrinterOutputDevice.py

@@ -242,8 +242,8 @@ class PrinterOutputDevice(QObject, OutputDevice):
 
     @pyqtSlot()
     def stopCamera(self):
-        self._stopCamera()
         self._camera_active = False
+        self._stopCamera()
 
     def _stopCamera(self):
         Logger.log("w", "_stopCamera is not implemented by this output device")

+ 1 - 1
plugins/UM3NetworkPrinting/DiscoverUM3Action.qml

@@ -389,4 +389,4 @@ Cura.MachineAction
             }
         ]
     }
-}
+}

+ 16 - 0
plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py

@@ -13,6 +13,7 @@ from PyQt5.QtGui import QDesktopServices
 from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkReply
 from PyQt5.QtQml import QQmlComponent, QQmlContext
 from UM.Application import Application
+from UM.Decorators import override
 from UM.Logger import Logger
 from UM.Message import Message
 from UM.OutputDevice import OutputDeviceError
@@ -45,6 +46,7 @@ class NetworkClusterPrinterOutputDevice(NetworkPrinterOutputDevice.NetworkPrinte
         else:
             name = key
 
+        self._authentication_state = NetworkPrinterOutputDevice.AuthState.Authenticated  # The printer is always authenticated
         self._plugin_path = plugin_path
 
         self.setName(name)
@@ -111,6 +113,20 @@ class NetworkClusterPrinterOutputDevice(NetworkPrinterOutputDevice.NetworkPrinte
         temporary_translation3 = i18n_catalog.i18n("{printer_name} has finished printing '{job_name}'. Please collect the print and confirm clearing the build plate.") #When finished.
         temporary_translation4 = i18n_catalog.i18n("{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing.") #When configuration changed.
 
+    ##  No authentication, so requestAuthentication should do exactly nothing
+    @pyqtSlot()
+    def requestAuthentication(self, message_id = None, action_id = "Retry"):
+        pass    # Cura Connect doesn't do any authorization
+
+    def setAuthenticationState(self, auth_state):
+        self._authentication_state = NetworkPrinterOutputDevice.AuthState.Authenticated  # The printer is always authenticated
+
+    def _verifyAuthentication(self):
+        pass
+
+    def _checkAuthentication(self):
+        Logger.log("d", "_checkAuthentication Cura Connect - nothing to be done")
+
     @pyqtProperty(QObject, notify=selectedPrinterChanged)
     def controlItem(self):
         # TODO: Probably not the nicest way to do this. This needs to be done better at some point in time.

+ 5 - 4
plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py

@@ -331,13 +331,14 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
 
         if self._camera_timer.isActive():
             self._camera_timer.stop()
-        else: #Camera wasn't even running. Don't try to stop it or you'll get a segfault.
-            return
 
-        if self._camera_active:
+        if self._image_reply:
             try:
+                try:
+                    self._image_reply.downloadProgress.disconnect(self._onStreamDownloadProgress)
+                except TypeError:
+                    pass #The signal was never connected.
                 self._image_reply.abort()
-                self._image_reply.downloadProgress.disconnect(self._onStreamDownloadProgress)
             except RuntimeError:
                 pass  # It can happen that the wrapped c++ object is already deleted.
             self._image_reply = None

+ 20 - 7
plugins/UM3NetworkPrinting/PrinterInfoBlock.qml

@@ -30,6 +30,23 @@ Rectangle
         return Math.min(100, Math.round(printJob.time_elapsed / printJob.time_total * 100)) + "%";
     }
 
+    function printerStatusText(printer)
+    {
+        switch (printer.status)
+        {
+            case "pre_print":
+                return catalog.i18nc("@label", "Preparing to print")
+            case "printing":
+                return catalog.i18nc("@label:status", "Printing");
+            case "idle":
+                return catalog.i18nc("@label:status", "Available");
+            case "unreachable":  // TODO: new string
+            case "maintenance":  // TODO: new string
+            case "unknown":
+            default:
+                return catalog.i18nc("@label", "Unknown");
+        }
+    }
 
     id: printerDelegate
     property var printer
@@ -228,7 +245,7 @@ Rectangle
                                 return catalog.i18nc("@label:status", "Disabled");
                             }
 
-                            if(printJob != null)
+                            if ((printJob != null) && ((printer.status === "pre_print") || (printer.status === "printing")))
                             {
                                 switch (printJob.status)
                                 {
@@ -259,14 +276,10 @@ Rectangle
                                     case "aborted":
                                         return catalog.i18nc("@label:status", "Print aborted");
                                     default:
-                                        return "";
+                                        return printerStatusText(printer);
                                 }
                             }
-                            if (printer.status == "printing")
-                            {
-                                return catalog.i18nc("@label:status", "Printing")
-                            }
-                            return catalog.i18nc("@label:status", "Available");
+                            return printerStatusText(printer);
                         }
 
                         elide: Text.ElideRight

+ 1 - 1
plugins/UM3NetworkPrinting/UM3InfoComponents.qml

@@ -121,4 +121,4 @@ Item
     }
 
     UM.I18nCatalog{id: catalog; name:"cura"}
-}
+}

+ 0 - 2
resources/qml/Topbar.qml

@@ -18,8 +18,6 @@ Rectangle
     height: UM.Theme.getSize("sidebar_header").height
     color: base.monitoringPrint ? UM.Theme.getColor("topbar_background_color_monitoring") : UM.Theme.getColor("topbar_background_color")
 
-    Behavior on color { ColorAnimation { duration: 100; } }
-
     property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0
     property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands
     property bool monitoringPrint: false

+ 1 - 1
resources/themes/cura-dark/theme.json

@@ -16,7 +16,7 @@
         "secondary": [241, 242, 242, 255],
 
         "topbar_background_color": [0, 0, 0, 0],
-        "topbar_background_color_monitoring": [0, 0, 0, 0],
+        "topbar_background_color_monitoring": [31, 36, 39, 255],
 
         "topbar_button_text_active": [255, 255, 255, 255],
         "topbar_button_text_inactive": [128, 128, 128, 255],

+ 1 - 1
resources/themes/cura-light/theme.json

@@ -68,7 +68,7 @@
         "secondary": [245, 245, 245, 255],
 
         "topbar_background_color": [255, 255, 255, 0],
-        "topbar_background_color_monitoring": [255, 255, 255, 0],
+        "topbar_background_color_monitoring": [255, 255, 255, 255],
 
         "topbar_button_text_active": [0, 0, 0, 255],
         "topbar_button_text_inactive": [128, 128, 128, 255],

+ 1 - 1
resources/variants/ultimaker3_bb04.inst.cfg

@@ -43,7 +43,7 @@ support_interface_height = 0.6
 support_interface_skip_height = =layer_height
 support_join_distance = 3
 support_line_width = =round(line_width * 0.4 / 0.35, 2)
-support_offset = 2
+support_offset = 3
 support_xy_distance = =round(wall_line_width_0 * 0.75, 2)
 support_xy_distance_overhang = =wall_line_width_0 / 2
 switch_extruder_retraction_amount = 12

Some files were not shown because too many files changed in this diff