browser work

This commit is contained in:
Damien Elmes 2011-12-02 20:44:18 +09:00
parent 4d66969318
commit 77dd9eea14
8 changed files with 39 additions and 51 deletions

View file

@ -343,8 +343,7 @@ class Browser(QMainWindow):
# actions # actions
c = self.connect; f = self.form; s = SIGNAL("triggered()") c = self.connect; f = self.form; s = SIGNAL("triggered()")
c(f.actionAddItems, s, self.mw.onAddCard) c(f.actionAddItems, s, self.mw.onAddCard)
c(f.actionDelete, s, self.deleteCards) c(f.actionDeleteNotes, s, self.deleteNotes)
#c(f.actionSetGroup, s, self.setGroup)
c(f.actionAddTag, s, self.addTags) c(f.actionAddTag, s, self.addTags)
c(f.actionDeleteTag, s, self.deleteTags) c(f.actionDeleteTag, s, self.deleteTags)
c(f.actionReposition, s, self.reposition) c(f.actionReposition, s, self.reposition)
@ -593,7 +592,7 @@ class Browser(QMainWindow):
def setColumnSizes(self): def setColumnSizes(self):
hh = self.form.tableView.horizontalHeader() hh = self.form.tableView.horizontalHeader()
for c, i in enumerate(self.model.activeCols): for c, i in enumerate(self.model.activeCols):
if i in ("question", "answer", "noteFld"): if c == len(self.model.activeCols) - 1:
hh.setResizeMode(c, QHeaderView.Stretch) hh.setResizeMode(c, QHeaderView.Stretch)
else: else:
hh.setResizeMode(c, QHeaderView.Interactive) hh.setResizeMode(c, QHeaderView.Interactive)
@ -841,11 +840,6 @@ where id in %s""" % ids2str(sf))
# Misc menu options # Misc menu options
###################################################################### ######################################################################
def genCards(self):
nids = self.oneModelNotes()
if nids:
GenCards(self, nids)
def onChangeModel(self): def onChangeModel(self):
nids = self.oneModelNotes() nids = self.oneModelNotes()
if nids: if nids:
@ -859,11 +853,11 @@ where id in %s""" % ids2str(sf))
# Card deletion # Card deletion
###################################################################### ######################################################################
def deleteCards(self): def deleteNotes(self):
self.mw.checkpoint(_("Delete Cards")) self.mw.checkpoint(_("Delete Notes"))
self.model.beginReset() self.model.beginReset()
oldRow = self.form.tableView.selectionModel().currentIndex().row() oldRow = self.form.tableView.selectionModel().currentIndex().row()
self.col.remCards(self.selectedCards()) self.col.remNotes(self.selectedNotes())
self.onSearch(reset=False) self.onSearch(reset=False)
if len(self.model.cards): if len(self.model.cards):
new = min(oldRow, len(self.model.cards) - 1) new = min(oldRow, len(self.model.cards) - 1)
@ -926,15 +920,13 @@ where id in %s""" % ids2str(self.selectedCards()), mod)
return return
if func is None: if func is None:
func = self.col.tags.bulkAdd func = self.col.tags.bulkAdd
self.model.beginReset()
if label is None: if label is None:
label = _("Add Tags") label = _("Add Tags")
if label: if label:
self.mw.checkpoint(label) self.mw.checkpoint(label)
func(self.selectedNotes(), tags) func(self.selectedNotes(), tags)
self.onSearch(reset=False) self.model.reset()
self.mw.requireReset() self.mw.requireReset()
self.model.endReset()
def deleteTags(self, tags=None, label=None): def deleteTags(self, tags=None, label=None):
if label is None: if label is None:
@ -1276,16 +1268,16 @@ class ChangeModel(QDialog):
self.form.templateMap.setLayout(self.tlayout) self.form.templateMap.setLayout(self.tlayout)
# model chooser # model chooser
import aqt.modelchooser import aqt.modelchooser
self.oldCurrentModel = self.browser.col.conf['currentModelId'] self.oldModel = self.browser.col.decks.current()
self.browser.col.conf['currentModelId'] = self.oldModel.id self.form.oldModelLabel.setText(self.oldModel['name'])
self.form.oldModelLabel.setText(self.oldModel.name)
self.modelChooser = aqt.modelchooser.ModelChooser( self.modelChooser = aqt.modelchooser.ModelChooser(
self.browser.mw, self.form.modelChooserWidget, cards=False, label=False) self.browser.mw, self.form.modelChooserWidget, label=False)
self.modelChooser.models.setFocus() self.modelChooser.models.setFocus()
self.connect(self.form.buttonBox, SIGNAL("helpRequested()"), self.connect(self.form.buttonBox, SIGNAL("helpRequested()"),
self.onHelp) self.onHelp)
self.modelChanged(self.oldModel) self.modelChanged(self.oldModel)
self.pauseUpdate = False self.pauseUpdate = False
print "make sure we start with the model's old model"
def onReset(self): def onReset(self):
self.modelChanged(self.browser.col.currentModel()) self.modelChanged(self.browser.col.currentModel())
@ -1378,7 +1370,6 @@ class ChangeModel(QDialog):
def cleanup(self): def cleanup(self):
removeHook("reset", self.onReset) removeHook("reset", self.onReset)
removeHook("currentModelChanged", self.onReset) removeHook("currentModelChanged", self.onReset)
self.oldCurrentModel = self.browser.col.conf['currentModelId']
self.modelChooser.cleanup() self.modelChooser.cleanup()
saveGeom(self, "changeModel") saveGeom(self, "changeModel")
@ -1422,28 +1413,30 @@ class BrowserToolbar(Toolbar):
def _centerLinks(self): def _centerLinks(self):
links = [ links = [
["setDeck", _("Move to Deck"), ""], ["add", _("Add Notes"), ""],
["addTags", _("Add Tags"), ""], ["delete", _("Delete Notes"), ""],
["remTags", _("Remove Tags"), ""], ["setDeck", _("Change Deck"), ""],
] ]
return self._linkHTML(links) return self._linkHTML(links)
def draw(self): def draw(self):
mark = self.browser.isMarked() mark = self.browser.isMarked()
pause = self.browser.isSuspended() pause = self.browser.isSuspended()
def borderImg(link, icon, on): def borderImg(link, icon, on, title):
if on: if on:
fmt = '''\ fmt = '''\
<a class=hitem href="%s"> <a class=hitem title="%s" href="%s">
<img style='background: #000;' src="qrc:/icons/%s.png"></a>''' <img style='background: #000;' src="qrc:/icons/%s.png"></a>'''
else: else:
fmt = '''\ fmt = '''\
<a class=hitem href="%s"><img src="qrc:/icons/%s.png"></a>''' <a class=hitem title="%s" href="%s"><img src="qrc:/icons/%s.png"></a>'''
return fmt % (link, icon) return fmt % (title, link, icon)
right = "" right = ""
right += borderImg("info", "info", False) right += borderImg("info", "info", False, _("Card Info"))
right += borderImg("mark", "star16", mark) right += borderImg("mark", "star16", mark, _("Mark Note"))
right += borderImg("pause", "pause16", pause) right += borderImg("pause", "pause16", pause, _("Suspend Cards"))
right += borderImg("addtag", "addtag16", False, _("Bulk Tag Add"))
right += borderImg("deletetag", "deletetag16", False, _("Bulk Tag Delete"))
self.web.stdHtml(self._body % ( self.web.stdHtml(self._body % (
"<span style='display:inline-block; width: 100px;'></span>", "<span style='display:inline-block; width: 100px;'></span>",
self._centerLinks(), self._centerLinks(),
@ -1455,16 +1448,20 @@ class BrowserToolbar(Toolbar):
def _linkHandler(self, l): def _linkHandler(self, l):
if l == "anki": if l == "anki":
self.showMenu() self.showMenu()
elif l == "add":
self.browser.mw.onAddCard()
elif l == "delete":
self.browser.deleteNotes()
elif l == "setDeck": elif l == "setDeck":
self.browser.setDeck() self.browser.setDeck()
elif l == "addTags": # icons
self.browser.addTags()
elif l == "remTags":
self.browser.deleteTags()
elif l == "info": elif l == "info":
self.browser.showCardInfo() self.browser.showCardInfo()
# icons
elif l == "mark": elif l == "mark":
self.browser.onMark() self.browser.onMark()
elif l == "pause": elif l == "pause":
self.browser.onSuspend() self.browser.onSuspend()
elif l == "addtag":
self.browser.addTags()
elif l == "deletetag":
self.browser.deleteTags()

View file

@ -52,7 +52,7 @@ class Overview(object):
but = self.mw.button but = self.mw.button
deck = self.mw.col.decks.current() deck = self.mw.col.decks.current()
sid = deck.get("sharedFrom") sid = deck.get("sharedFrom")
if True: # sid: if sid:
shareLink = '<a class=smallLink href="review">Reviews and Updates</a>' shareLink = '<a class=smallLink href="review">Reviews and Updates</a>'
else: else:
shareLink = "" shareLink = ""

View file

@ -229,7 +229,6 @@
<addaction name="actionReposition"/> <addaction name="actionReposition"/>
<addaction name="actionReschedule"/> <addaction name="actionReschedule"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionDelete"/>
</widget> </widget>
<widget class="QMenu" name="menuJump"> <widget class="QMenu" name="menuJump">
<property name="title"> <property name="title">
@ -268,18 +267,6 @@
<addaction name="menuJump"/> <addaction name="menuJump"/>
<addaction name="menu_Help"/> <addaction name="menu_Help"/>
</widget> </widget>
<action name="actionDelete">
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/icons/editdelete.png</normaloff>:/icons/editdelete.png</iconset>
</property>
<property name="text">
<string>Delete</string>
</property>
<property name="shortcut">
<string>Ctrl+Shift+Backspace</string>
</property>
</action>
<action name="actionAddTag"> <action name="actionAddTag">
<property name="icon"> <property name="icon">
<iconset resource="icons.qrc"> <iconset resource="icons.qrc">
@ -337,7 +324,7 @@
</action> </action>
<action name="actionFind"> <action name="actionFind">
<property name="icon"> <property name="icon">
<iconset resource="icons.qrc"> <iconset>
<normaloff>:/icons/document-preview.png</normaloff>:/icons/document-preview.png</iconset> <normaloff>:/icons/document-preview.png</normaloff>:/icons/document-preview.png</iconset>
</property> </property>
<property name="text"> <property name="text">
@ -349,7 +336,7 @@
</action> </action>
<action name="actionNote"> <action name="actionNote">
<property name="icon"> <property name="icon">
<iconset resource="icons.qrc"> <iconset>
<normaloff>:/icons/Anki_Fact.png</normaloff>:/icons/Anki_Fact.png</iconset> <normaloff>:/icons/Anki_Fact.png</normaloff>:/icons/Anki_Fact.png</iconset>
</property> </property>
<property name="text"> <property name="text">
@ -521,7 +508,7 @@
</action> </action>
<action name="actionCardList"> <action name="actionCardList">
<property name="icon"> <property name="icon">
<iconset resource="icons.qrc"> <iconset>
<normaloff>:/icons/generate_07.png</normaloff>:/icons/generate_07.png</iconset> <normaloff>:/icons/generate_07.png</normaloff>:/icons/generate_07.png</iconset>
</property> </property>
<property name="text"> <property name="text">

View file

@ -102,5 +102,9 @@
<file>icons/pause16.png</file> <file>icons/pause16.png</file>
<file>icons/pause_off16.png</file> <file>icons/pause_off16.png</file>
<file>icons/info.png</file> <file>icons/info.png</file>
<file>icons/add16.png</file>
<file>icons/delete16.png</file>
<file>icons/addtag16.png</file>
<file>icons/deletetag16.png</file>
</qresource> </qresource>
</RCC> </RCC>

BIN
designer/icons/add16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

BIN
designer/icons/addtag16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

BIN
designer/icons/delete16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB