diff --git a/ankiqt/ui/importing.py b/ankiqt/ui/importing.py index bdeccac3d..f06554b30 100644 --- a/ankiqt/ui/importing.py +++ b/ankiqt/ui/importing.py @@ -114,16 +114,21 @@ class ImportDialog(QDialog): self.importer.tagsToAdd = unicode(self.dialog.tags.text()) self.importer.tagDuplicates = self.dialog.tagDuplicates.isChecked() try: - self.importer.doImport() - except ImportFormatError, e: - msg = _("Importing failed.\n") - msg += e.data['info'] - self.dialog.status.setText(msg) - return - except DeckWrongFormatError, e: - msg = _("Import failed: %s") % `e.data` - self.dialog.status.setText(msg) - return + n = _("Import") + self.parent.deck.setUndoStart(n) + try: + self.importer.doImport() + except ImportFormatError, e: + msg = _("Importing failed.\n") + msg += e.data['info'] + self.dialog.status.setText(msg) + return + except DeckWrongFormatError, e: + msg = _("Import failed: %s") % `e.data` + self.dialog.status.setText(msg) + return + finally: + self.parent.deck.setUndoEnd(n) txt = ( _("Importing complete. %(num)d cards imported from %(file)s.\n") % {"num": self.importer.total, "file": os.path.basename(self.file)}) diff --git a/ankiqt/ui/main.py b/ankiqt/ui/main.py index 6a4af1fec..25bc01f4e 100644 --- a/ankiqt/ui/main.py +++ b/ankiqt/ui/main.py @@ -618,6 +618,7 @@ To upgrade an old deck, download Anki 0.9.8.7.""")) def onNew(self): if not self.saveAndClose(hideWelcome=True): return self.deck = DeckStorage.Deck() + self.deck.initUndo() self.deck.addModel(BasicModel()) self.saveDeck() self.updateRecentFiles(self.deck.path)