match a single note type in browser even if duplicate names

This commit is contained in:
Damien Elmes 2013-01-15 06:15:27 +09:00
parent 22877fd789
commit 120c1d4136
2 changed files with 8 additions and 1 deletions

View file

@ -164,6 +164,8 @@ select distinct(n.id) from cards c, notes n where c.nid=n.id and """+preds
add(self._findTemplate(val)) add(self._findTemplate(val))
elif cmd == "note": elif cmd == "note":
add(self._findModel(val)) add(self._findModel(val))
elif cmd == "mid":
add(self._findMid(val))
elif cmd == "deck": elif cmd == "deck":
add(self._findDeck(val)) add(self._findDeck(val))
elif cmd == "prop": elif cmd == "prop":
@ -332,6 +334,11 @@ select distinct(n.id) from cards c, notes n where c.nid=n.id and """+preds
return return
return "n.id in (%s)" % val return "n.id in (%s)" % val
def _findMid(self, val):
if re.search("[^0-9]", val):
return
return "n.mid = %s" % val
def _findModel(self, val): def _findModel(self, val):
ids = [] ids = []
val = val.lower() val = val.lower()

View file

@ -778,7 +778,7 @@ by clicking on one on the left."""))
def _modelTree(self, root): def _modelTree(self, root):
for m in sorted(self.col.models.all(), key=itemgetter("name")): for m in sorted(self.col.models.all(), key=itemgetter("name")):
mitem = self.CallbackItem( mitem = self.CallbackItem(
m['name'], lambda m=m: self.setFilter("note", m['name'])) m['name'], lambda m=m: self.setFilter("mid", m['id']))
mitem.setIcon(0, QIcon(":/icons/product_design.png")) mitem.setIcon(0, QIcon(":/icons/product_design.png"))
root.addChild(mitem) root.addChild(mitem)
# for t in m['tmpls']: # for t in m['tmpls']: