anki自动在例句中加粗原单词 (#765)

* feature: (Anki) automatically highlight words in examples

* fix: (Anki) tts with example sentence
This commit is contained in:
edr1412 2024-05-24 22:16:20 +08:00 committed by GitHub
parent db3ff84804
commit 0d033e1b3d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 13 additions and 6 deletions

View File

@ -149,8 +149,11 @@ class AnkiWindow(QWidget):
def langdu2(self):
if gobject.baseobject.reader:
example_text = self.example.toPlainText()
example_text = example_text.replace("<b>", "")
example_text = example_text.replace("</b>", "")
gobject.baseobject.reader.ttscallback(
self.example.toPlainText(),
example_text,
functools.partial(self.callbacktts, self.audiopath_sentence),
)
@ -737,7 +740,7 @@ class selectviewer(QWidget):
class searchwordW(closeashidewindow):
getnewsentencesignal = pyqtSignal(str, bool)
getnewsentencesignal = pyqtSignal(str, str, bool)
showtabsignal = pyqtSignal(float, str, str)
def __init__(self, parent):
@ -846,16 +849,19 @@ class searchwordW(closeashidewindow):
res.insert(idx, {"source": k, "content": v})
return res
def getnewsentence(self, sentence, append):
def getnewsentence(self, sentence, sentence_trans, append):
sentence = sentence.strip()
sentence_trans = sentence_trans.strip()
self.showNormal()
if append:
sentence = self.searchtext.text() + sentence
self.searchtext.setText(sentence)
self.search(sentence)
self.ankiwindow.example.setPlainText(gobject.baseobject.currenttext)
example_text = gobject.baseobject.currenttext
if sentence_trans in example_text:
example_text = example_text.replace(sentence_trans, f"<b>{sentence_trans}</b>")
self.ankiwindow.example.setPlainText(example_text)
if globalconfig["ankiconnect"]["autoruntts"]:
self.ankiwindow.langdu()
if globalconfig["ankiconnect"]["autoruntts2"]:

View File

@ -238,6 +238,7 @@ class QUnFrameWindow(resizableframeless):
if hira:
def callback(word, append):
word_in_sentence = word["orig"]
if globalconfig["usewordorigin"] == False:
word = word["orig"]
else:
@ -252,7 +253,7 @@ class QUnFrameWindow(resizableframeless):
winsharedutils.clipboard_set(word)
if globalconfig["usesearchword"]:
gobject.baseobject.searchwordW.getnewsentencesignal.emit(
word, append
word, word_in_sentence, append
)
self.translate_text.addsearchwordmask(hira, text, callback)