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"):
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)
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))
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))
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)
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))
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()