mirror of
https://github.com/ankitects/anki.git
synced 2025-09-19 14:32:22 -04:00
conditionally enable undo
This commit is contained in:
parent
373e161a6c
commit
320d1fa758
1 changed files with 6 additions and 1 deletions
|
@ -113,7 +113,7 @@ class Deck(object):
|
||||||
def _initVars(self):
|
def _initVars(self):
|
||||||
self.lastTags = u""
|
self.lastTags = u""
|
||||||
self.lastLoaded = time.time()
|
self.lastLoaded = time.time()
|
||||||
self.initUndo()
|
self.undoEnabled = False
|
||||||
|
|
||||||
def modifiedSinceSave(self):
|
def modifiedSinceSave(self):
|
||||||
return self.modified > self.lastLoaded
|
return self.modified > self.lastLoaded
|
||||||
|
@ -1560,6 +1560,7 @@ select id from fields where factId not in (select id from facts)""")
|
||||||
def initUndo(self):
|
def initUndo(self):
|
||||||
self.undoStack = []
|
self.undoStack = []
|
||||||
self.redoStack = []
|
self.redoStack = []
|
||||||
|
self.undoEnabled = True
|
||||||
self.s.statement(
|
self.s.statement(
|
||||||
"create temp table undoLog (seq integer primary key, sql text)")
|
"create temp table undoLog (seq integer primary key, sql text)")
|
||||||
tables = self.s.column0(
|
tables = self.s.column0(
|
||||||
|
@ -1618,6 +1619,8 @@ insert into undoLog values (null, 'insert into %(t)s (rowid""" % {'t': table}
|
||||||
self.undoStack.append(None)
|
self.undoStack.append(None)
|
||||||
|
|
||||||
def setUndoStart(self, name, merge=False):
|
def setUndoStart(self, name, merge=False):
|
||||||
|
if not self.undoEnabled:
|
||||||
|
return
|
||||||
self.s.flush()
|
self.s.flush()
|
||||||
if merge and self.undoStack:
|
if merge and self.undoStack:
|
||||||
if self.undoStack[-1] and self.undoStack[-1][0] == name:
|
if self.undoStack[-1] and self.undoStack[-1][0] == name:
|
||||||
|
@ -1627,6 +1630,8 @@ insert into undoLog values (null, 'insert into %(t)s (rowid""" % {'t': table}
|
||||||
self.undoStack.append([name, start, None])
|
self.undoStack.append([name, start, None])
|
||||||
|
|
||||||
def setUndoEnd(self, name):
|
def setUndoEnd(self, name):
|
||||||
|
if not self.undoEnabled:
|
||||||
|
return
|
||||||
self.s.flush()
|
self.s.flush()
|
||||||
end = self._latestUndoRow()
|
end = self._latestUndoRow()
|
||||||
self.undoStack[-1][2] = end
|
self.undoStack[-1][2] = end
|
||||||
|
|
Loading…
Reference in a new issue