def action_save_project(self, *arg) :
global CURRENT_PROJECT
filechooserdialog = gtk.FileChooserDialog(_("Save project as..."), None,
gtk.FILE_CHOOSER_ACTION_SAVE, (gtk.STOCK_CANCEL, \
gtk.RESPONSE_CANCEL, gtk.STOCK_OK, gtk.RESPONSE_OK))
try:
filt = gtk.FileFilter()
filt.set_name(_("NativeCAM projects"))
filt.add_mime_type("text/xml")
filt.add_pattern("*.xml")
filechooserdialog.add_filter(filt)
d, fname = os.path.split(CURRENT_PROJECT)
filechooserdialog.set_current_folder(os.path.join(NCAM_DIR, CATALOGS_DIR, self.catalog_dir, PROJECTS_DIR))
filechooserdialog.set_current_name(fname)
filechooserdialog.set_do_overwrite_confirmation(True)
filechooserdialog.set_keep_above(True)
filechooserdialog.set_transient_for(self.get_toplevel())
if filechooserdialog.run() == gtk.RESPONSE_OK:
xml = self.treestore_to_xml()
CURRENT_PROJECT = filechooserdialog.get_filename()
if CURRENT_PROJECT[-4] != ".xml" not in CURRENT_PROJECT :
CURRENT_PROJECT += ".xml"
etree.ElementTree(xml).write(CURRENT_PROJECT, pretty_print = True)
self.file_changed = False
finally:
self.display_proj_name()
filechooserdialog.destroy()
评论列表
文章目录