def close(self, doc=None): if not self.docs: return if doc is None: doc = self.current_doc if not doc == self.current_doc: self.set_current_doc(doc) if self.insp.is_doc_not_saved(doc): msg = _("Document '%s' has been modified.") % (doc.doc_name) + '\n' msg += _('Do you want to save your changes?') ret = dialogs.ync_dialog(self.mw, self.appdata.app_name, msg) if ret is None: return False if ret: if not self.save(): return False if doc in self.docs: self.docs.remove(doc) doc.close() events.emit(events.DOC_CLOSED) if not len(self.docs): self.current_doc = None events.emit(events.NO_DOCS) msg = _('To start create new or open existing document') events.emit(events.APP_STATUS, msg) self.mw.set_title() else: self.set_current_doc(self.docs[-1]) return True
def close(self, doc=None): if not self.docs: return doc = doc or self.current_doc if self.insp.is_doc_not_saved(doc): if not doc == self.current_doc: self.set_current_doc(doc) msg = _("Document '%s' has been modified.") % doc.doc_name + '\n' msg += _('Do you want to save your changes?') ret = dialogs.ync_dialog(self.mw, self.appdata.app_name, msg) if ret is None: return False if ret: if not self.save(): return False if doc in self.docs: index = self.docs.index(doc) active = doc == self.current_doc self.docs.remove(doc) self.mdi.remove_doc(doc) doc.close() events.emit(events.DOC_CLOSED) if not len(self.docs): self.current_doc = None self.mw.show_mdi(False) events.emit(events.NO_DOCS) msg = _('To start create new or open existing document') events.emit(events.APP_STATUS, msg) self.mw.set_title() elif active: index = index if len(self.docs) > index else -1 self.set_current_doc(self.docs[index]) return True