def on_btSaveAs_clicked(self, *a):
# Grab stuff
tvProfiles = self.builder.get_object("tvProfiles")
model, iter = tvProfiles.get_selection().get_selected()
# Determine format
f = Gtk.FileFilter()
if self._needs_package():
f.set_name("SC-Controller Profile Archive")
fmt = "sccprofile.tar.gz"
else:
f.set_name("SC-Controller Profile")
fmt = "sccprofile"
f.add_pattern("*.%s" % (fmt,))
# Create dialog
d = Gtk.FileChooserNative.new(_("Export to File..."),
self.window, Gtk.FileChooserAction.SAVE)
d.add_filter(f)
d.set_do_overwrite_confirmation(True)
# Set default filename
d.set_current_name("%s.%s" % (model[iter][2], fmt))
if d.run() == Gtk.ResponseType.ACCEPT:
fn = d.get_filename()
if len(os.path.split(fn)[-1].split(".")) < 2:
# User wrote filename without extension
fn = "%s.%s" % (fn, fmt)
if self._needs_package():
if self._export_package(model[iter][1], fn):
self.window.destroy()
else:
if self._export(model[iter][1], fn):
self.window.destroy()
评论列表
文章目录