diff --git a/ankiqt/ui/cardlist.py b/ankiqt/ui/cardlist.py
index c4f8c3a17..c295b5152 100644
--- a/ankiqt/ui/cardlist.py
+++ b/ankiqt/ui/cardlist.py
@@ -16,7 +16,7 @@ from ankiqt.ui.utils import saveGeom, restoreGeom, saveSplitter, restoreSplitter
from anki.errors import *
from anki.db import *
from anki.stats import CardStats
-from anki.hooks import runHook
+from anki.hooks import runHook, addHook
# Deck editor
##########################################################################
@@ -226,6 +226,7 @@ class EditDeck(QMainWindow):
self.setupFilter()
self.setupSort()
self.setupHeaders()
+ self.setupUndo()
self.setupEditor()
self.setupCardInfo()
self.dialog.filterEdit.setFocus()
@@ -683,17 +684,19 @@ where id in %s""" % ids2str(sf))
# Edit: undo/redo
######################################################################
- def onUndo(self):
- self.deck.undo()
+ def setupUndo(self):
+ addHook("postUndoRedo", self.postUndoRedo)
+
+ def postUndoRedo(self):
self.updateFilterLabel()
self.updateSearch()
self.updateAfterCardChange()
+ def onUndo(self):
+ self.deck.undo()
+
def onRedo(self):
self.deck.redo()
- self.updateFilterLabel()
- self.updateSearch()
- self.updateAfterCardChange()
# Jumping
######################################################################
diff --git a/ankiqt/ui/main.py b/ankiqt/ui/main.py
index b401991e5..458d53e6d 100644
--- a/ankiqt/ui/main.py
+++ b/ankiqt/ui/main.py
@@ -180,9 +180,10 @@ Please do not file a bug report with Anki.
""")
self.views = self.viewsBackup
self.viewsBackup = None
- def reset(self, count=True):
+ def reset(self, count=True, refresh=False):
if self.deck:
- self.deck.refresh()
+ if refresh:
+ self.deck.refresh()
if count:
self.deck.updateAllPriorities()
self.deck.rebuildCounts()