mirror of
https://github.com/ankitects/anki.git
synced 2025-09-20 06:52:21 -04:00
remember current card on reverse, don't reset current card on delete etc
This commit is contained in:
parent
f89c8e97a0
commit
a645b8ef40
1 changed files with 8 additions and 4 deletions
|
@ -232,6 +232,8 @@ class EditDeck(QMainWindow):
|
||||||
restoreSplitter(self.dialog.splitter, "editor")
|
restoreSplitter(self.dialog.splitter, "editor")
|
||||||
self.show()
|
self.show()
|
||||||
self.updateSearch()
|
self.updateSearch()
|
||||||
|
self.currentCard = self.parent.currentCard
|
||||||
|
self.focusCurrentCard()
|
||||||
|
|
||||||
def findCardInDeckModel(self, model, card):
|
def findCardInDeckModel(self, model, card):
|
||||||
for i, thisCard in enumerate(model.cards):
|
for i, thisCard in enumerate(model.cards):
|
||||||
|
@ -373,6 +375,7 @@ class EditDeck(QMainWindow):
|
||||||
self.updateSearch()
|
self.updateSearch()
|
||||||
|
|
||||||
def updateSearch(self):
|
def updateSearch(self):
|
||||||
|
idx = self.dialog.tableView.currentIndex()
|
||||||
self.model.searchStr = unicode(self.dialog.filterEdit.text())
|
self.model.searchStr = unicode(self.dialog.filterEdit.text())
|
||||||
self.model.tag = self.currentTag
|
self.model.tag = self.currentTag
|
||||||
self.model.showMatching()
|
self.model.showMatching()
|
||||||
|
@ -388,19 +391,20 @@ class EditDeck(QMainWindow):
|
||||||
else:
|
else:
|
||||||
self.dialog.cardInfoGroup.hide()
|
self.dialog.cardInfoGroup.hide()
|
||||||
self.dialog.fieldsArea.hide()
|
self.dialog.fieldsArea.hide()
|
||||||
self.focusCurrentCard()
|
self.dialog.tableView.selectRow(idx.row())
|
||||||
|
self.dialog.tableView.scrollTo(idx, QAbstractItemView.PositionAtCenter)
|
||||||
|
|
||||||
def focusCurrentCard(self):
|
def focusCurrentCard(self):
|
||||||
if self.parent.currentCard:
|
if self.currentCard:
|
||||||
currentCardIndex = self.findCardInDeckModel(
|
currentCardIndex = self.findCardInDeckModel(
|
||||||
self.model, self.parent.currentCard)
|
self.model, self.currentCard)
|
||||||
if currentCardIndex >= 0:
|
if currentCardIndex >= 0:
|
||||||
sm = self.dialog.tableView.selectionModel()
|
sm = self.dialog.tableView.selectionModel()
|
||||||
sm.clear()
|
sm.clear()
|
||||||
self.dialog.tableView.selectRow(currentCardIndex)
|
self.dialog.tableView.selectRow(currentCardIndex)
|
||||||
self.dialog.tableView.scrollTo(
|
self.dialog.tableView.scrollTo(
|
||||||
self.model.index(currentCardIndex,0),
|
self.model.index(currentCardIndex,0),
|
||||||
self.dialog.tableView.PositionAtTop)
|
self.dialog.tableView.PositionAtCenter)
|
||||||
|
|
||||||
def setupHeaders(self):
|
def setupHeaders(self):
|
||||||
if not sys.platform.startswith("win32"):
|
if not sys.platform.startswith("win32"):
|
||||||
|
|
Loading…
Reference in a new issue