def gui_open_file(self, start_dir=None, types=[]):
"""Prompt the user to pick a file to open"""
import gtk
if not start_dir:
start_dir = self._last_dir
dlg = gtk.FileChooserDialog("Select a file to open",
None,
gtk.FILE_CHOOSER_ACTION_OPEN,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
gtk.STOCK_OPEN, gtk.RESPONSE_OK))
if start_dir and os.path.isdir(start_dir):
dlg.set_current_folder(start_dir)
for desc, spec in types:
ff = gtk.FileFilter()
ff.set_name(desc)
ff.add_pattern(spec)
dlg.add_filter(ff)
res = dlg.run()
fname = dlg.get_filename()
dlg.destroy()
if res == gtk.RESPONSE_OK:
self._last_dir = os.path.dirname(fname)
return fname
else:
return None
评论列表
文章目录