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