chiark / gitweb /
Remove extra comma at the end of the print window title when in error state
[cura.git] / Cura / gui / printWindow.py
index 0d71ee00bf50eb638e2ceeb29430610018971afe..a50e06db38dd6ed8283a52e27fc73ca9177836e9 100644 (file)
@@ -37,15 +37,17 @@ elif sys.platform.startswith('darwin'):
        frameworkPath=objc.pathForFramework("/System/Library/Frameworks/IOKit.framework"),
        globals=globals())
        objc.loadBundleFunctions(bundle, globals(), [("IOPMAssertionCreateWithName", b"i@I@o^I")])
+       objc.loadBundleFunctions(bundle, globals(), [("IOPMAssertionRelease", b"iI")])
        def preventComputerFromSleeping(frame, prevent):
                if prevent:
                        success, preventComputerFromSleeping.assertionID = IOPMAssertionCreateWithName(kIOPMAssertionTypeNoDisplaySleep, kIOPMAssertionLevelOn, "Cura is printing", None)
                        if success != kIOReturnSuccess:
                                preventComputerFromSleeping.assertionID = None
                else:
-                       if preventComputerFromSleeping.assertionID is not None:
-                               IOPMAssertionRelease(preventComputerFromSleeping.assertionID)
-                               preventComputerFromSleeping.assertionID = None
+                       if hasattr(preventComputerFromSleeping, "assertionID"):
+                               if preventComputerFromSleeping.assertionID is not None:
+                                       IOPMAssertionRelease(preventComputerFromSleeping.assertionID)
+                                       preventComputerFromSleeping.assertionID = None
 else:
        def preventComputerFromSleeping(frame, prevent):
                if os.path.isfile("/usr/bin/xdg-screensaver"):
@@ -401,7 +403,7 @@ class printWindowPlugin(wx.Frame):
                if self._infoText is not None:
                        self._infoText.SetLabel(info)
                else:
-                       self.SetTitle(info.replace('\n', ', '))
+                       self.SetTitle(info.replace('\n', ', ').strip().strip(','))
                if isPrinting != self._isPrinting:
                        self._isPrinting = isPrinting
                        preventComputerFromSleeping(self, self._isPrinting)
@@ -584,6 +586,7 @@ class printWindowAdvanced(wx.Frame):
                self.topsizer.SetEmptyCellSize((125, 1))
                self.panel = wx.Panel(self)
                self.sizer = wx.GridBagSizer(2, 2)
+               self.sizer.SetEmptyCellSize((125, 1))
                self.panel.SetSizer(self.sizer)
                self.panel.SetBackgroundColour(wx.WHITE)
                self.GetSizer().Add(self.toppanel, 0, flag=wx.EXPAND)
@@ -660,10 +663,11 @@ class printWindowAdvanced(wx.Frame):
                                resources.getPathForImage('print-window-temperature-bed.png'))), (0, 0))
                self.temperatureBedField = TemperatureField(self.panel, self._setBedTemperature)
                self.temperatureGraph = TemperatureGraph(self.panel)
+               self.temperatureGraph.SetMinSize((250, 100))
                self.progress = wx.Gauge(self.panel, -1, range=1000)
 
                f = wx.Font(8, wx.FONTFAMILY_MODERN, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False)
-               self._termLog = wx.TextCtrl(self.panel, style=wx.TE_MULTILINE | wx.TE_DONTWRAP)
+               self._termLog = wx.TextCtrl(self.panel, style=wx.TE_MULTILINE)
                self._termLog.SetFont(f)
                self._termLog.SetEditable(0)
                self._termLog.SetMinSize((385, -1))
@@ -778,9 +782,10 @@ class printWindowAdvanced(wx.Frame):
                self._colorCommandMap[(r, g, b)] = (command, step)
 
        def _moveXYZE(self, motor, step, feedrate):
+               # Prevent Z movement when paused and all moves when printing
                if (not self._printerConnection.hasActiveConnection() or \
                        self._printerConnection.isActiveConnectionOpen()) and \
-                       (not self._printerConnection.isPaused() and \
+                       (not (self._printerConnection.isPaused() and motor == 'Z') and \
                         not self._printerConnection.isPrinting()):
                        self._printerConnection.sendCommand("G91")
                        self._printerConnection.sendCommand("G1 %s%.1f F%d" % (motor, step, feedrate))
@@ -934,7 +939,7 @@ class printWindowAdvanced(wx.Frame):
                        info += 'Temperature: %d' % (self._printerConnection.getTemperature(0))
                if self._printerConnection.getBedTemperature() > 0:
                        info += ' Bed: %d' % (self._printerConnection.getBedTemperature())
-               self.SetTitle(info.replace('\n', ', '))
+               self.SetTitle(info.replace('\n', ', ').strip().strip(','))
                if isPrinting != self._isPrinting:
                        self._isPrinting = isPrinting
                        preventComputerFromSleeping(self, self._isPrinting)
@@ -948,7 +953,7 @@ class TemperatureField(wx.Panel):
 
                self.text = IntCtrl(self, -1)
                self.text.SetBounds(0, 300)
-               self.text.SetSize((60, 25))
+               self.text.SetSize((60, 28))
 
                self.unit = wx.StaticBitmap(self, -1, wx.BitmapFromImage(wx.Image(
                                resources.getPathForImage('print-window-temperature-unit.png'))), (0, 0))
@@ -998,6 +1003,7 @@ class TemperatureGraph(wx.Panel):
                self._lastDraw = now
                dc = wx.MemoryDC()
                dc.SelectObject(self._backBuffer)
+               dc.SetBackground(wx.Brush(wx.WHITE))
                dc.Clear()
                dc.SetFont(wx.SystemSettings.GetFont(wx.SYS_SYSTEM_FONT))
                w, h = self.GetSizeTuple()