def run_file_chooser(self, action, proposed_name=None):
folder = None
if self.config.has_section('Import-Export'):
folder = self.config.get('Import-Export', 'folder')
title = 'Import'
stock_ok = Gtk.STOCK_OPEN
if action == Gtk.FileChooserAction.SAVE:
stock_ok = Gtk.STOCK_SAVE
title = 'Export'
file_chooser = Gtk.FileChooserDialog(
title, self.gtk_window, action,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
stock_ok, Gtk.ResponseType.OK)
)
filter_sysex = Gtk.FileFilter()
filter_sysex.set_name('Sysex files (.syx)')
filter_sysex.add_pattern('*.syx')
file_chooser.add_filter(filter_sysex)
if Gtk.FileChooserAction.SAVE:
file_chooser.set_do_overwrite_confirmation(True)
if folder:
file_chooser.set_current_folder(folder)
if proposed_name:
file_chooser.set_current_name('%s.syx'%(proposed_name))
result = file_chooser.run()
if result == Gtk.ResponseType.OK:
filename = file_chooser.get_filename()
if not self.config.has_section('Import-Export'):
self.config.add_section('Import-Export')
self.config.set('Import-Export', 'folder', path.dirname(filename))
return (result, file_chooser)
评论列表
文章目录