Sounds starting to work
This commit is contained in:
44
lib/read.py
44
lib/read.py
@@ -95,6 +95,7 @@ class EditDialog(QDialog, Ui_Dialog):
|
||||
# self.sessionBtn.clicked.connect(self.sessionAction)
|
||||
self.sessionBtn.clicked.connect(self.session.timerAction)
|
||||
self.paraEdit.verticalScrollBar().valueChanged.connect(self.scrollSlot)
|
||||
self.defEdit.selectionChanged.connect(self.recursiveDef)
|
||||
#
|
||||
# Connect signals
|
||||
#
|
||||
@@ -106,9 +107,39 @@ class EditDialog(QDialog, Ui_Dialog):
|
||||
self.soundEffect.mediaStatusChanged.connect(self.changedStatus)
|
||||
return
|
||||
|
||||
#
|
||||
# Events
|
||||
#
|
||||
|
||||
#
|
||||
# slots
|
||||
#
|
||||
@pyqtSlot()
|
||||
def recursiveDef(self):
|
||||
cursor = self.defEdit.textCursor()
|
||||
selection = cursor.selectedText().strip()
|
||||
if len(selection) <= 0:
|
||||
return
|
||||
query = QSqlQuery()
|
||||
query.prepare("SELECT * FROM words " "WHERE word = :word")
|
||||
query.bindValue(":word", selection)
|
||||
if not query.exec():
|
||||
query_error()
|
||||
if not query.next():
|
||||
response = requests.get(
|
||||
f"https://api.dictionaryapi.dev/api/v2/entries/en/{selection}"
|
||||
)
|
||||
if response.status_code != 200:
|
||||
return
|
||||
definitions = json.loads(response.content.decode("utf-8"))
|
||||
definition = definitions[0]
|
||||
word_id = None
|
||||
else:
|
||||
definition = query.value("definition")
|
||||
word_id = query.value("word_id")
|
||||
self.setDefEdit(selection, word_id, definition)
|
||||
return
|
||||
|
||||
@pyqtSlot(QMediaPlayer.MediaStatus)
|
||||
def changedStatus(self, status):
|
||||
if status == QMediaPlayer.MediaStatus.LoadedMedia:
|
||||
@@ -117,9 +148,7 @@ class EditDialog(QDialog, Ui_Dialog):
|
||||
if not audioOutput:
|
||||
self.soundEffect.setAudioOutput(self.audioOutput)
|
||||
audioOutput = self.audioOutput
|
||||
print(f"{status} No audioOutput???")
|
||||
audioDevice = audioOutput.device()
|
||||
print(audioDevice.description(), audioDevice.id().data())
|
||||
print(status)
|
||||
return
|
||||
|
||||
@@ -127,10 +156,8 @@ class EditDialog(QDialog, Ui_Dialog):
|
||||
def changedState(self, status):
|
||||
audioOutput = self.soundEffect.audioOutput()
|
||||
if not audioOutput:
|
||||
print(f"{status} No AudioOutput")
|
||||
return
|
||||
audioDevice = audioOutput.device()
|
||||
print(audioDevice.description(), audioDevice.id().data())
|
||||
print(status)
|
||||
return
|
||||
|
||||
@@ -155,7 +182,7 @@ class EditDialog(QDialog, Ui_Dialog):
|
||||
cursor = self.paraEdit.textCursor()
|
||||
fmt = cursor.charFormat()
|
||||
if not fmt.fontUnderline():
|
||||
self.addword()
|
||||
self.addWord()
|
||||
cursor = self.paraEdit.textCursor()
|
||||
textBlock = self.paraEdit.document().findBlock(cursor.position())
|
||||
blockNum = textBlock.blockNumber()
|
||||
@@ -586,6 +613,10 @@ class EditDialog(QDialog, Ui_Dialog):
|
||||
return
|
||||
word = query.value("word")
|
||||
definition = json.loads(query.value("definition"))
|
||||
self.setDefEdit(word, query.value("word_id"), definition)
|
||||
return
|
||||
|
||||
def setDefEdit(self, word, word_id, definition):
|
||||
if "phonetics" in definition:
|
||||
self.phonetics = definition["phonetics"]
|
||||
else:
|
||||
@@ -595,7 +626,8 @@ class EditDialog(QDialog, Ui_Dialog):
|
||||
cursor.insertHtml(self.defToHtml(word, definition))
|
||||
cursor.setPosition(0)
|
||||
self.defEdit.setTextCursor(cursor)
|
||||
self.displayedWord.emit(query.value("word_id"))
|
||||
if word_id:
|
||||
self.displayedWord.emit(word_id)
|
||||
return
|
||||
|
||||
def showDefinition(self) -> None:
|
||||
|
||||
Reference in New Issue
Block a user