diff --git a/yomi_base/reader.py b/yomi_base/reader.py index 9459998..77b4c69 100644 --- a/yomi_base/reader.py +++ b/yomi_base/reader.py @@ -244,21 +244,18 @@ class MainWindowReader(QtGui.QMainWindow, gen.reader_ui.Ui_MainWindowReader): markup = reader_util.markupVocabReading(definition) self.ankiAddFact('vocab', markup) elif command == 'copyVocabDef': - reader_util.copyVocabDefs([definition]) + reader_util.copyVocabDef(definition) def onKanjiDefsAnchorClicked(self, url): command, index = unicode(url.toString()).split(':') definition = self.state.kanjiDefs[int(index)] - if command == 'addVocabExp': - markup = reader_util.markupVocabExp(definition) - self.ankiAddFact('vocab', markup) - if command == 'addVocabReading': - markup = reader_util.markupVocabReading(definition) - self.ankiAddFact('vocab', markup) - elif command == 'copyVocabDef': - reader_util.copyVocabDefs([definition]) + if command == 'addKanji': + markup = reader_util.markupKanji(definition) + self.ankiAddFact('kanji', markup) + elif command == 'copyKanjiDef': + reader_util.copyKanjiDef(definition) def onVocabDefSearchReturn(self): @@ -280,7 +277,7 @@ class MainWindowReader(QtGui.QMainWindow, gen.reader_ui.Ui_MainWindowReader): def onDefinitionDoubleClicked(self, item): if self.anki is not None: - row = self.istDefinitions.row(item) + row = self.listDefinitions.row(item) self.anki.browseNote(self.addedFacts[row]) @@ -454,18 +451,10 @@ class MainWindowReader(QtGui.QMainWindow, gen.reader_ui.Ui_MainWindowReader): if factId is None: return False - if profile == 'vocab': - if markup['reading']: - summary = u'{expression} [{reading}]'.format(**markup) - else: - summary = markup['expression'] - else: - summary = markup['character'] - self.addedFacts.append(factId) - self.listDefinitions.addItem(summary) + self.listDefinitions.addItem(markup['summary']) self.listDefinitions.setCurrentRow(self.listDefinitions.count() - 1) - self.setStatus(u'Added expression {0}; {1} new fact(s) total'.format(markup['expression'], len(self.addedFacts))) + self.setStatus(u'Added fact {0}; {1} new fact(s) total'.format(markup['summary'], len(self.addedFacts))) self.updateVocabDefs() self.updateKanjiDefs() diff --git a/yomi_base/reader_util.py b/yomi_base/reader_util.py index c9ce667..1e89fe1 100644 --- a/yomi_base/reader_util.py +++ b/yomi_base/reader_util.py @@ -97,7 +97,8 @@ def markupVocabExp(definition): 'expression': definition['expression'], 'reading': definition['reading'], 'glossary': definition['glossary'], - 'sentence': definition.get('sentence') + 'sentence': definition.get('sentence'), + 'summary': u'{expression} [{reading}]'.format(**definition) } @@ -106,20 +107,28 @@ def markupVocabReading(definition): 'expression': definition['reading'], 'reading': unicode(), 'glossary': definition['glossary'], - 'sentence': definition.get('sentence') + 'sentence': definition.get('sentence'), + 'summary': definition['reading'] } -def copyVocabDefs(definitions): - text = unicode() +def copyVocabDef(definition): + if definition['reading']: + result = u'{expression}\t{reading}\t{glossary}\n'.format(**definition) + else: + result = u'{expression}\t{meanings}\n'.format(**definition) - for definition in definitions: - if definition['reading']: - text += u'{expression}\t{reading}\t{glossary}\n'.format(**definition) - else: - text += u'{expression}\t{meanings}\n'.format(**definition) + QtGui.QApplication.clipboard().setText(result) - QtGui.QApplication.clipboard().setText(text) + +def markupKanji(definition): + return { + 'character': definition['character'], + 'onyomi': definition['onyomi'], + 'kunyomi': definition['kunyomi'], + 'glossary': definition['glossary'], + 'summary': definition['character'] + } def buildDefHeader(): @@ -181,7 +190,7 @@ def buildVocabDefs(definitions, query): def buildKanjiDef(definition, index, query): links = ''.format(index) - if query and query('kanji', definition): + if query and query('kanji', markupKanji(definition)): links += ''.format(index) html = u"""