option to show duplicate

This commit is contained in:
Damien Elmes 2011-04-17 04:22:15 +09:00
parent ab3a84b984
commit 177fa8b052

View file

@ -158,6 +158,14 @@ function setFonts(fonts) {
} }
} }
function showDupes() {
$("#dupes").show();
}
function hideDupes() {
$("#dupes").hide();
}
$(function () { $(function () {
// ignore drops outside the editable area // ignore drops outside the editable area
document.body.ondragover = function () { document.body.ondragover = function () {
@ -173,6 +181,7 @@ $(function () {
}); });
</script></head><body> </script></head><body>
<div id="fields"></div> <div id="fields"></div>
<div id="dupes"><a href="#" onclick="py.run('dupes');return false;">%s</a></div>
</body></html> </body></html>
""" """
@ -336,6 +345,8 @@ class Editor(object):
self._buttons['text_under'].setChecked(r['under']) self._buttons['text_under'].setChecked(r['under'])
self._buttons['text_super'].setChecked(r['super']) self._buttons['text_super'].setChecked(r['super'])
self._buttons['text_sub'].setChecked(r['sub']) self._buttons['text_sub'].setChecked(r['sub'])
elif str.startswith("dupes"):
self.showDupes()
else: else:
print str print str
@ -357,7 +368,8 @@ class Editor(object):
self.fact = fact self.fact = fact
# change timer # change timer
if self.fact: if self.fact:
self.web.setHtml(_html % (getBase(self.mw.deck), anki.js.all), self.web.setHtml(_html % (getBase(self.mw.deck), anki.js.all,
_("Show Duplicates")),
loadCB=self._loadFinished) loadCB=self._loadFinished)
self.updateTagsAndGroup() self.updateTagsAndGroup()
self.updateKeyboard() self.updateKeyboard()
@ -395,14 +407,27 @@ class Editor(object):
def checkValid(self): def checkValid(self):
cols = [] cols = []
for p in self.fact.problems(): self.dupe = None
for c, p in enumerate(self.fact.problems()):
if not p: if not p:
cols.append("#fff") cols.append("#fff")
elif p == "unique": elif p == "unique":
cols.append("#fcc") cols.append("#fcc")
self.dupe = c
else: else:
cols.append("#ffc") cols.append("#ffc")
self.web.eval("setBackgrounds(%s);" % simplejson.dumps(cols)) self.web.eval("setBackgrounds(%s);" % simplejson.dumps(cols))
if self.dupe is not None:
self.web.eval("showDupes();")
else:
self.web.eval("hideDupes();")
def showDupes(self):
contents = self.fact.fields[self.dupe]
browser = aqt.dialogs.open("Browser", self.mw)
browser.form.searchEdit.setText(
"'model:%s' '%s'" % (self.fact.model().name, contents))
browser.onSearch()
def fieldsAreBlank(self): def fieldsAreBlank(self):
if not self.fact: if not self.fact: