chiark / gitweb /
Change the Print button into Pause/Resume when no pause button is present
authorYouness Alaoui <kakaroto@kakaroto.homelinux.net>
Fri, 22 May 2015 21:51:36 +0000 (17:51 -0400)
committerYouness Alaoui <kakaroto@kakaroto.homelinux.net>
Fri, 22 May 2015 21:51:36 +0000 (17:51 -0400)
Cura/gui/printWindow.py
plugins/PronterfaceUI/script.py

index 92da5a652862aa3fc22b16ddea2accbc7a6983f6..435523745bd0d120158780a249c44b292bde1867 100644 (file)
@@ -226,7 +226,10 @@ class printWindowPlugin(wx.Frame):
                self._printerConnection.openActiveConnection()
 
        def script_startPrint(self, data = None):
-               self._printerConnection.startPrint()
+               if self._printerConnection.isPrinting() or self._printerConnection.isPaused():
+                       self._printerConnection.pause(not self._printerConnection.isPaused())
+               else:
+                       self._printerConnection.startPrint()
 
        def script_cancelPrint(self, e):
                self._printerConnection.cancelPrint()
@@ -297,6 +300,12 @@ class printWindowPlugin(wx.Frame):
                        self._termLog.AppendText(line.encode('utf-8', 'replace'))
 
        def _updateButtonStates(self):
+               hasPauseButton = False
+               for button in self._buttonList:
+                       if button.command == self.script_pausePrint:
+                               hasPauseButton = True
+                               break
+
                for button in self._buttonList:
                        if button.command == self.script_connect:
                                button.Show(self._printerConnection.hasActiveConnection())
@@ -315,12 +324,26 @@ class printWindowPlugin(wx.Frame):
                                else:
                                        button.Enable(False)
                        elif button.command == self.script_startPrint:
-                               if not self._printerConnection.hasActiveConnection() or \
-                                  self._printerConnection.isActiveConnectionOpen():
-                                       button.Enable(not self._printerConnection.isPrinting() and \
-                                                 not self._printerConnection.isPaused())
+                               if hasPauseButton or not self._printerConnection.hasPause():
+                                       if not self._printerConnection.hasActiveConnection() or \
+                                          self._printerConnection.isActiveConnectionOpen():
+                                                       button.Enable(not self._printerConnection.isPrinting() and \
+                                                                                 not self._printerConnection.isPaused())
+                                       else:
+                                               button.Enable(False)
                                else:
-                                       button.Enable(False)
+                                       if not self._printerConnection.hasActiveConnection() or \
+                                          self._printerConnection.isActiveConnectionOpen():
+                                               if self._printerConnection.isPrinting():
+                                                       button.SetLabel(_("Pause"))
+                                               else:
+                                                       if self._printerConnection.isPaused():
+                                                               button.SetLabel(_("Resume"))
+                                                       else:
+                                                               button.SetLabel(_("Print"))
+                                               button.Enable(True)
+                                       else:
+                                               button.Enable(False)
                        elif button.command == self.script_cancelPrint:
                                if not self._printerConnection.hasActiveConnection() or \
                                   self._printerConnection.isActiveConnectionOpen():
index 705c113a1302ef37e69eec5ee183d7f5b1299813..eb3175052240c1ec772fae61585f2c538ab7de67 100644 (file)
@@ -50,7 +50,7 @@ addProgressbar(255, 200, 200)
 
 addButton(0, 255, 255, 'Connect', connect)
 addButton(0, 240, 255, 'Print', startPrint)
-addButton(0, 220, 255, 'Pause', pausePrint)
+#addButton(0, 220, 255, 'Pause', pausePrint)
 addButton(0, 200, 255, 'Cancel', cancelPrint)
 addButton(0, 180, 255, 'Error log', showErrorLog)
 addButton(0, 160, 255, "Motors Off", sendGCode, "M18;")