from util import profile
from util import sliceRun
+from util import exporer
class sliceProgessPanel(wx.Panel):
def __init__(self, mainWindow, parent, filename):
def OnShowLog(self, e):
LogWindow('\n'.join(self.progressLog))
+ def OnOpenFileLocation(self, e):
+ exporer.openExporer(self.filename[: self.filename.rfind('.')] + "_export.gcode")
+
def OnSliceDone(self, result):
self.progressGauge.Destroy()
self.abortButton.Destroy()
self.sizer.Add(self.logButton, 0)
if result.returnCode == 0:
self.statusText.SetLabel("Ready.")
+ if exporer.hasExporer():
+ self.openFileLocationButton = wx.Button(self, -1, "Open file location")
+ self.Bind(wx.EVT_BUTTON, self.OnOpenFileLocation, self.openFileLocationButton)
+ self.sizer.Add(self.openFileLocationButton, 0)
self.showButton = wx.Button(self, -1, "Show result")
self.Bind(wx.EVT_BUTTON, self.OnShowGCode, self.showButton)
self.sizer.Add(self.showButton, 0)
--- /dev/null
+from __future__ import absolute_import
+import __init__
+
+import sys, os, subprocess
+
+def hasExporer():
+ if sys.platform == 'win32' or sys.platform == 'cygwin' or sys.platform == 'darwin':
+ return True
+ if sys.platform == 'linux2':
+ if os.path.isfile('/usr/bin/nautilus'):
+ return True
+ if os.path.isfile('/usr/bin/dolphin'):
+ return True
+ return False
+
+def openExporer(filename):
+ if sys.platform == 'win32' or sys.platform == 'cygwin':
+ subprocess.Popen(['explorer', "/select,%s" % (filename)])
+ if sys.platform == 'darwin':
+ subprocess.Popen(['open', os.path.split(filename)[0]])
+ if sys.platform == 'linux2':
+ if os.path.isfile('/usr/bin/nautilus'):
+ subprocess.Popen(['/usr/bin/nautilus', os.path.split(filename)[0]])
+ elif os.path.isfile('/usr/bin/dolphin'):
+ subprocess.Popen(['/usr/bin/dolphin', os.path.split(filename)[0]])
+