mirror of
https://github.com/ankitects/anki.git
synced 2025-11-10 22:57:11 -05:00
add group deletion, add checkpoint()
This commit is contained in:
parent
309f98fcbb
commit
a70d7be25b
4 changed files with 27 additions and 9 deletions
|
|
@ -130,7 +130,7 @@ class GroupConf(QDialog):
|
|||
c = self.conf
|
||||
c['maxTaken'] = f.maxTaken.value()
|
||||
# update db
|
||||
self.mw.deck.save(_("Group Options"))
|
||||
self.mw.checkpoint(_("Group Options"))
|
||||
self.mw.deck.db.execute(
|
||||
"update gconf set conf = ? where id = ?",
|
||||
simplejson.dumps(self.conf), self.gcid)
|
||||
|
|
@ -197,7 +197,7 @@ class GroupConfSelector(QDialog):
|
|||
if gcid == 1:
|
||||
showInfo(_("The default configuration can't be removed."), self)
|
||||
else:
|
||||
self.mw.deck.save(_("Delete Group Config"))
|
||||
self.mw.checkpoint(_("Delete Group Config"))
|
||||
self.mw.deck.db.execute(
|
||||
"update groups set gcid = 1 where gcid = ?", gcid)
|
||||
self.mw.deck.db.execute(
|
||||
|
|
|
|||
|
|
@ -35,11 +35,11 @@ class GroupManager(QDialog):
|
|||
self.form.tree.addTopLevelItems(items)
|
||||
self.items = items
|
||||
self.form.tree.expandAll()
|
||||
# default to check column
|
||||
self.form.tree.setCurrentItem(self.items[0], 1)
|
||||
|
||||
def loadTable(self):
|
||||
self.reload()
|
||||
# default to check column
|
||||
self.form.tree.setCurrentItem(self.items[0], 1)
|
||||
# config tree
|
||||
h = self.form.tree.header()
|
||||
h.setResizeMode(QHeaderView.ResizeToContents)
|
||||
|
|
@ -59,8 +59,9 @@ class GroupManager(QDialog):
|
|||
# selection
|
||||
button(_("Select &All"), self.onSelectAll).setShortcut("a")
|
||||
button(_("Select &None"), self.onSelectNone).setShortcut("n")
|
||||
button(_("&Rename..."), self.onRename).setShortcut("r")
|
||||
b = button(_("&Options..."), self.onEdit).setShortcut("o")
|
||||
button(_("&Rename..."), self.onRename).setShortcut("r")
|
||||
button(_("&Delete"), self.onDelete)
|
||||
self.connect(box,
|
||||
SIGNAL("helpRequested()"),
|
||||
lambda: aqt.openHelp("GroupManager"))
|
||||
|
|
@ -81,14 +82,28 @@ class GroupManager(QDialog):
|
|||
for i in self.items:
|
||||
i.setCheckState(COLCHECK, Qt.Unchecked)
|
||||
|
||||
def onDelete(self):
|
||||
item = self.form.tree.currentItem()
|
||||
old = unicode(item.text(0))
|
||||
gid = self.groupMap[old]
|
||||
if not gid:
|
||||
showInfo(_("Selected item is not a group."))
|
||||
return
|
||||
elif gid == 1:
|
||||
showInfo(_("The default group can't be deleted."))
|
||||
return
|
||||
self.mw.checkpoint(_("Delete Group"))
|
||||
self.mw.deck.db.execute(
|
||||
"update cards set gid = 1 where gid = ?", gid)
|
||||
self.mw.deck.db.execute(
|
||||
"delete from groups where id = ?", gid)
|
||||
self.reload()
|
||||
|
||||
def onRename(self):
|
||||
item = self.form.tree.currentItem()
|
||||
old = unicode(item.text(0))
|
||||
oldfull = self.fullNames[old]
|
||||
gid = self.groupMap[old]
|
||||
# if not gid:
|
||||
# showInfo(_("Selected item is not a group."))
|
||||
# return
|
||||
txt = getOnlyText(_("Rename to:"), self, default=oldfull)
|
||||
if txt and not txt.startswith("::") and not txt.endswith("::"):
|
||||
self._rename(oldfull, txt, gid, item)
|
||||
|
|
|
|||
|
|
@ -617,6 +617,10 @@ Debug info:\n%s""") % traceback.format_exc(), help="DeckErrors")
|
|||
else:
|
||||
self.form.actionUndo.setEnabled(False)
|
||||
|
||||
def checkpoint(self, name):
|
||||
self.deck.save(name)
|
||||
self.maybeEnableUndo()
|
||||
|
||||
# Other menu operations
|
||||
##########################################################################
|
||||
|
||||
|
|
|
|||
|
|
@ -452,7 +452,6 @@ div#filler {
|
|||
def _showCongrats(self):
|
||||
self.state = "congrats"
|
||||
self.card = None
|
||||
self.mw.deck.save()
|
||||
buf = """
|
||||
<center>
|
||||
%s
|
||||
|
|
|
|||
Loading…
Reference in a new issue