From: daid Date: Wed, 18 Apr 2012 12:07:41 +0000 (+0200) Subject: Added "open file location" button X-Git-Tag: RC3~61 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=b3eae9c9ff7c8e4a872897870a778079edbc0092;p=cura.git Added "open file location" button --- diff --git a/Cura/gui/sliceProgessPanel.py b/Cura/gui/sliceProgessPanel.py index 6fab8c4d..a89a209c 100644 --- a/Cura/gui/sliceProgessPanel.py +++ b/Cura/gui/sliceProgessPanel.py @@ -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 index 00000000..8fcc65fa --- /dev/null +++ b/Cura/util/exporer.py @@ -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]]) +