63 lines
1.8 KiB
Python
63 lines
1.8 KiB
Python
# encoding: utf-8
|
|
# vi:si:et:sw=4:sts=4:ts=4
|
|
try:
|
|
import pygtk
|
|
pygtk.require('2.0')
|
|
import gtk
|
|
use_gtk = True
|
|
except:
|
|
import tkFileDialog
|
|
use_gtk = False
|
|
|
|
class GtkUI:
|
|
def selectFolder(self, data):
|
|
dialog = gtk.FileChooserDialog("Select Folder..",
|
|
None,
|
|
gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
|
|
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
|
|
gtk.STOCK_OPEN, gtk.RESPONSE_OK))
|
|
dialog.set_default_response(gtk.RESPONSE_OK)
|
|
|
|
response = dialog.run()
|
|
if response == gtk.RESPONSE_OK:
|
|
filename = dialog.get_filename()
|
|
print filename, 'selected'
|
|
elif response == gtk.RESPONSE_CANCEL:
|
|
print 'Closed, no files selected'
|
|
filename = None
|
|
dialog.destroy()
|
|
print "done"
|
|
return filename
|
|
|
|
def selectFile(self, data):
|
|
dialog = gtk.FileChooserDialog("Select File..",
|
|
None,
|
|
gtk.FILE_CHOOSER_ACTION_OPEN,
|
|
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
|
|
gtk.STOCK_OPEN, gtk.RESPONSE_OK))
|
|
dialog.set_default_response(gtk.RESPONSE_OK)
|
|
|
|
response = dialog.run()
|
|
if response == gtk.RESPONSE_OK:
|
|
filename = dialog.get_filename()
|
|
print filename, 'selected'
|
|
elif response == gtk.RESPONSE_CANCEL:
|
|
print 'Closed, no files selected'
|
|
filename = None
|
|
dialog.destroy()
|
|
print "done"
|
|
return filename
|
|
|
|
class TkUI:
|
|
def selectFolder(self, data):
|
|
return tkFileDialog.askdirectory()
|
|
|
|
def selectFile(self, data):
|
|
return tkFileDialog.askopenfilename()
|
|
|
|
if use_gtk:
|
|
ui = GtkUI()
|
|
else:
|
|
ui = TkUI()
|
|
|