init undo on new deck, add importing

This commit is contained in:
Damien Elmes 2008-11-30 05:56:24 +09:00
parent 44e788dd9c
commit 1dca4f73be
2 changed files with 16 additions and 10 deletions

View file

@ -114,16 +114,21 @@ class ImportDialog(QDialog):
self.importer.tagsToAdd = unicode(self.dialog.tags.text()) self.importer.tagsToAdd = unicode(self.dialog.tags.text())
self.importer.tagDuplicates = self.dialog.tagDuplicates.isChecked() self.importer.tagDuplicates = self.dialog.tagDuplicates.isChecked()
try: try:
self.importer.doImport() n = _("Import")
except ImportFormatError, e: self.parent.deck.setUndoStart(n)
msg = _("Importing failed.\n") try:
msg += e.data['info'] self.importer.doImport()
self.dialog.status.setText(msg) except ImportFormatError, e:
return msg = _("Importing failed.\n")
except DeckWrongFormatError, e: msg += e.data['info']
msg = _("Import failed: %s") % `e.data` self.dialog.status.setText(msg)
self.dialog.status.setText(msg) return
return except DeckWrongFormatError, e:
msg = _("Import failed: %s") % `e.data`
self.dialog.status.setText(msg)
return
finally:
self.parent.deck.setUndoEnd(n)
txt = ( txt = (
_("Importing complete. %(num)d cards imported from %(file)s.\n") % _("Importing complete. %(num)d cards imported from %(file)s.\n") %
{"num": self.importer.total, "file": os.path.basename(self.file)}) {"num": self.importer.total, "file": os.path.basename(self.file)})

View file

@ -618,6 +618,7 @@ To upgrade an old deck, download Anki 0.9.8.7."""))
def onNew(self): def onNew(self):
if not self.saveAndClose(hideWelcome=True): return if not self.saveAndClose(hideWelcome=True): return
self.deck = DeckStorage.Deck() self.deck = DeckStorage.Deck()
self.deck.initUndo()
self.deck.addModel(BasicModel()) self.deck.addModel(BasicModel())
self.saveDeck() self.saveDeck()
self.updateRecentFiles(self.deck.path) self.updateRecentFiles(self.deck.path)