chiark / gitweb /
Added "open file location" button
authordaid <daid303@gmail.com>
Wed, 18 Apr 2012 12:07:41 +0000 (14:07 +0200)
committerdaid <daid303@gmail.com>
Wed, 18 Apr 2012 12:07:41 +0000 (14:07 +0200)
Cura/gui/sliceProgessPanel.py
Cura/util/exporer.py [new file with mode: 0644]

index 6fab8c4d49377cccd149a0e4437d5536951fe4ab..a89a209c6e54126abe3765e93f508f755c363ddf 100644 (file)
@@ -10,6 +10,7 @@ import time
 
 from util import profile
 from util import sliceRun
+from util import exporer
 
 class sliceProgessPanel(wx.Panel):
        def __init__(self, mainWindow, parent, filename):
@@ -77,6 +78,9 @@ class sliceProgessPanel(wx.Panel):
        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()
@@ -88,6 +92,10 @@ class sliceProgessPanel(wx.Panel):
                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)
diff --git a/Cura/util/exporer.py b/Cura/util/exporer.py
new file mode 100644 (file)
index 0000000..8fcc65f
--- /dev/null
@@ -0,0 +1,26 @@
+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]])
+