def save_project(self): if self.project is None: return None if self.project.filename is not None: save_project(self.project) self.project.journal.clear() else: self.save_project_as()
def save_project_as(self, filename = None): """ Save project under another filename. """ pj = self._check_project() if not filename: # allow user to choose a filename chooser = gtk.FileChooserDialog( title="Save Project As", action=gtk.FILE_CHOOSER_ACTION_SAVE, buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_SAVE, gtk.RESPONSE_OK)) chooser.set_default_response(gtk.RESPONSE_OK) chooser.set_current_folder(os.path.abspath(self.path.example_dir)) chooser.set_select_multiple(False) chooser.set_filename(os.path.abspath(pj.filename or "unnamed.spj")) major,minor,micro = gtk.pygtk_version if major > 1 and minor >= 8: chooser.set_do_overwrite_confirmation(True) filter = gtk.FileFilter() filter.set_name("All files") filter.add_pattern("*") chooser.add_filter(filter) chooser.set_filter(filter) # default filter shortcut_folder = self.path.example_dir if os.path.exists(shortcut_folder): chooser.add_shortcut_folder(shortcut_folder) response = chooser.run() try: if response == gtk.RESPONSE_OK: filename = chooser.get_filename() else: raise error.UserCancel finally: chooser.destroy() # add extension if not yet there if filename.lower().endswith('.spj') is False: filename = filename + ".spj" self._project.filename = filename self.window.set_title(os.path.basename(self._project.filename)) save_project(self._project) self._project.journal.clear() self.recent_files.insert(0, os.path.abspath(filename)) self.sig_emit('update-recent-files')
def save_project(self): """ Save current project either under the current filename, or if no such name is set, call save_project_as. """ if self.project is None: return None if self.project.filename is not None: save_project(self.project) self.project.journal.clear() else: self.save_project_as()
def save_project_as(self, filename = None): """ Save project under another filename. """ pj = self._check_project() if not filename: # allow user to choose a filename chooser = gtk.FileChooserDialog( title="Save Project As", action=gtk.FILE_CHOOSER_ACTION_SAVE, buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_SAVE, gtk.RESPONSE_OK)) chooser.set_default_response(gtk.RESPONSE_OK) chooser.set_current_folder( const.internal_path(const.PATH_EXAMPLE) ) chooser.set_select_multiple(False) chooser.set_filename(pj.filename or "unnamed.spj") filter = gtk.FileFilter() filter.set_name("All files") filter.add_pattern("*") chooser.add_filter(filter) chooser.set_filter(filter) # default filter shortcut_folder = const.internal_path(const.PATH_EXAMPLE) if os.path.exists(shortcut_folder): chooser.add_shortcut_folder(shortcut_folder) response = chooser.run() try: if response == gtk.RESPONSE_OK: filename = chooser.get_filename() else: raise error.UserCancel finally: chooser.destroy() # add extension if not yet there if filename.lower().endswith('.spj') is False: filename = filename + ".spj" self._project.filename = filename self.window.set_title(basename(self._project.filename)) save_project(self._project) self._project.journal.clear() self.recent_files.append(os.path.abspath(filename)) Signals.emit(self, 'update-recent-files')