mirror of
https://github.com/ankitects/anki.git
synced 2025-09-20 23:12:21 -04:00
add support for aligning by lapses, center third column
This commit is contained in:
parent
a932f059e6
commit
136d056779
1 changed files with 17 additions and 4 deletions
|
@ -30,7 +30,8 @@ CARD_CREATED = 6
|
||||||
CARD_MODIFIED = 7
|
CARD_MODIFIED = 7
|
||||||
CARD_INTERVAL = 8
|
CARD_INTERVAL = 8
|
||||||
CARD_EASE = 9
|
CARD_EASE = 9
|
||||||
CARD_PRIORITY = 10
|
CARD_NO = 10
|
||||||
|
CARD_PRIORITY = 11
|
||||||
|
|
||||||
# Deck editor
|
# Deck editor
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
@ -69,6 +70,8 @@ class DeckModel(QAbstractTableModel):
|
||||||
f = QFont()
|
f = QFont()
|
||||||
f.setPixelSize(self.parent.config['editFontSize'])
|
f.setPixelSize(self.parent.config['editFontSize'])
|
||||||
return QVariant(f)
|
return QVariant(f)
|
||||||
|
if role == Qt.TextAlignmentRole and index.column() == 2:
|
||||||
|
return QVariant(Qt.AlignHCenter)
|
||||||
elif role == Qt.DisplayRole or role == Qt.EditRole:
|
elif role == Qt.DisplayRole or role == Qt.EditRole:
|
||||||
if len(self.cards[index.row()]) == 1:
|
if len(self.cards[index.row()]) == 1:
|
||||||
# not cached yet
|
# not cached yet
|
||||||
|
@ -168,7 +171,7 @@ where cards.factId = facts.id """
|
||||||
try:
|
try:
|
||||||
self.cards[index.row()] = self.deck.s.first("""
|
self.cards[index.row()] = self.deck.s.first("""
|
||||||
select id, question, answer, due, reps, factId, created, modified,
|
select id, question, answer, due, reps, factId, created, modified,
|
||||||
interval, factor, priority from cards where id = :id""",
|
interval, noCount, factor, priority from cards where id = :id""",
|
||||||
id=self.cards[index.row()][0])
|
id=self.cards[index.row()][0])
|
||||||
self.emit(SIGNAL("dataChanged(QModelIndex,QModelIndex)"),
|
self.emit(SIGNAL("dataChanged(QModelIndex,QModelIndex)"),
|
||||||
index, self.index(index.row(), 1))
|
index, self.index(index.row(), 1))
|
||||||
|
@ -221,6 +224,8 @@ where cards.factId = facts.id """
|
||||||
return self.repsColumn(index)
|
return self.repsColumn(index)
|
||||||
elif self.sortKey == "factor":
|
elif self.sortKey == "factor":
|
||||||
return self.easeColumn(index)
|
return self.easeColumn(index)
|
||||||
|
elif self.sortKey == "noCount":
|
||||||
|
return self.noColumn(index)
|
||||||
else:
|
else:
|
||||||
return self.nextDue(index)
|
return self.nextDue(index)
|
||||||
|
|
||||||
|
@ -235,6 +240,8 @@ where cards.factId = facts.id """
|
||||||
k = _("Reps")
|
k = _("Reps")
|
||||||
elif self.sortKey == "factor":
|
elif self.sortKey == "factor":
|
||||||
k = _("Ease")
|
k = _("Ease")
|
||||||
|
elif self.sortKey == "noCount":
|
||||||
|
k = _("Lapses")
|
||||||
else:
|
else:
|
||||||
k = _("Due")
|
k = _("Due")
|
||||||
self.columns[-1][0] = k
|
self.columns[-1][0] = k
|
||||||
|
@ -257,6 +264,9 @@ where cards.factId = facts.id """
|
||||||
def easeColumn(self, index):
|
def easeColumn(self, index):
|
||||||
return "%0.2f" % self.cards[index.row()][CARD_EASE]
|
return "%0.2f" % self.cards[index.row()][CARD_EASE]
|
||||||
|
|
||||||
|
def noColumn(self, index):
|
||||||
|
return "%d" % self.cards[index.row()][CARD_EASE]
|
||||||
|
|
||||||
class StatusDelegate(QItemDelegate):
|
class StatusDelegate(QItemDelegate):
|
||||||
|
|
||||||
def __init__(self, parent, model):
|
def __init__(self, parent, model):
|
||||||
|
@ -428,6 +438,7 @@ class EditDeck(QMainWindow):
|
||||||
_("Reps"),
|
_("Reps"),
|
||||||
_("Ease"),
|
_("Ease"),
|
||||||
_("Fact Created"),
|
_("Fact Created"),
|
||||||
|
_("Lapses"),
|
||||||
]
|
]
|
||||||
self.sortFields = sorted(self.deck.allFields())
|
self.sortFields = sorted(self.deck.allFields())
|
||||||
self.sortList.extend([_("'%s'") % f for f in self.sortFields])
|
self.sortList.extend([_("'%s'") % f for f in self.sortFields])
|
||||||
|
@ -456,8 +467,10 @@ class EditDeck(QMainWindow):
|
||||||
self.sortKey = "factor"
|
self.sortKey = "factor"
|
||||||
elif idx == 8:
|
elif idx == 8:
|
||||||
self.sortKey = "fact"
|
self.sortKey = "fact"
|
||||||
|
elif idx == 9:
|
||||||
|
self.sortKey = "noCount"
|
||||||
else:
|
else:
|
||||||
self.sortKey = ("field", self.sortFields[idx-9])
|
self.sortKey = ("field", self.sortFields[idx-10])
|
||||||
self.rebuildSortIndex(self.sortKey)
|
self.rebuildSortIndex(self.sortKey)
|
||||||
self.sortIndex = idx
|
self.sortIndex = idx
|
||||||
self.deck.setVar('sortIndex', idx)
|
self.deck.setVar('sortIndex', idx)
|
||||||
|
@ -472,7 +485,7 @@ class EditDeck(QMainWindow):
|
||||||
def rebuildSortIndex(self, key):
|
def rebuildSortIndex(self, key):
|
||||||
if key not in (
|
if key not in (
|
||||||
"question", "answer", "created", "modified", "due", "interval",
|
"question", "answer", "created", "modified", "due", "interval",
|
||||||
"reps", "factor"):
|
"reps", "factor", "noCount"):
|
||||||
return
|
return
|
||||||
old = self.deck.s.scalar("select sql from sqlite_master where name = :k",
|
old = self.deck.s.scalar("select sql from sqlite_master where name = :k",
|
||||||
k="ix_cards_sort")
|
k="ix_cards_sort")
|
||||||
|
|
Loading…
Reference in a new issue