mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 10:44:09 -04:00
Show events in develop widget
This commit is contained in:
parent
7038c187d0
commit
f1f29761c9
@ -45,6 +45,8 @@ class TTSWidget(QWidget):
|
|||||||
|
|
||||||
dispatch_on_main_thread_signal = pyqtSignal(object)
|
dispatch_on_main_thread_signal = pyqtSignal(object)
|
||||||
mark_changed = pyqtSignal(object)
|
mark_changed = pyqtSignal(object)
|
||||||
|
show_message = pyqtSignal(object)
|
||||||
|
show_status = pyqtSignal(object)
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
QWidget.__init__(self, parent)
|
QWidget.__init__(self, parent)
|
||||||
@ -83,9 +85,15 @@ example, which of.
|
|||||||
self.current_mark = None
|
self.current_mark = None
|
||||||
l.addWidget(la)
|
l.addWidget(la)
|
||||||
self.bb = bb = QDialogButtonBox(self)
|
self.bb = bb = QDialogButtonBox(self)
|
||||||
self.play_button = b = bb.addButton('Play', bb.ActionRole)
|
|
||||||
l.addWidget(bb)
|
l.addWidget(bb)
|
||||||
|
self.play_button = b = bb.addButton('Play', bb.ActionRole)
|
||||||
b.clicked.connect(self.play_clicked)
|
b.clicked.connect(self.play_clicked)
|
||||||
|
self.pause_button = b = bb.addButton('Pause', bb.ActionRole)
|
||||||
|
b.clicked.connect(self.pause_clicked)
|
||||||
|
self.resume_button = b = bb.addButton('Resume', bb.ActionRole)
|
||||||
|
b.clicked.connect(self.resume_clicked)
|
||||||
|
self.stop_button = b = bb.addButton('Stop', bb.ActionRole)
|
||||||
|
b.clicked.connect(self.stop_clicked)
|
||||||
self.render_text()
|
self.render_text()
|
||||||
|
|
||||||
def render_text(self):
|
def render_text(self):
|
||||||
@ -105,6 +113,15 @@ example, which of.
|
|||||||
def play_clicked(self):
|
def play_clicked(self):
|
||||||
self.tts.speak_marked_text(self.ssml, self.handle_event)
|
self.tts.speak_marked_text(self.ssml, self.handle_event)
|
||||||
|
|
||||||
|
def pause_clicked(self):
|
||||||
|
self.tts.pause()
|
||||||
|
|
||||||
|
def resume_clicked(self):
|
||||||
|
self.tts.resume()
|
||||||
|
|
||||||
|
def stop_clicked(self):
|
||||||
|
self.tts.stop()
|
||||||
|
|
||||||
def dispatch_on_main_thread(self, func):
|
def dispatch_on_main_thread(self, func):
|
||||||
try:
|
try:
|
||||||
func()
|
func()
|
||||||
@ -113,12 +130,16 @@ example, which of.
|
|||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
|
||||||
def handle_event(self, event):
|
def handle_event(self, event):
|
||||||
|
status = str(self.tts.status)
|
||||||
|
self.show_status.emit(str(status))
|
||||||
if event.type is EventType.mark:
|
if event.type is EventType.mark:
|
||||||
try:
|
try:
|
||||||
mark = int(event.data)
|
mark = int(event.data)
|
||||||
except Exception:
|
except Exception:
|
||||||
return
|
return
|
||||||
self.mark_changed.emit(mark)
|
self.mark_changed.emit(mark)
|
||||||
|
else:
|
||||||
|
self.show_message.emit(f'Got event: {event.type.name}')
|
||||||
|
|
||||||
def on_mark_change(self, mark):
|
def on_mark_change(self, mark):
|
||||||
self.current_mark = mark
|
self.current_mark = mark
|
||||||
@ -128,7 +149,12 @@ example, which of.
|
|||||||
def main():
|
def main():
|
||||||
app = Application([])
|
app = Application([])
|
||||||
w = QMainWindow()
|
w = QMainWindow()
|
||||||
|
sb = w.statusBar()
|
||||||
|
la = QLabel(sb)
|
||||||
|
sb.addPermanentWidget(la)
|
||||||
tts = TTSWidget(w)
|
tts = TTSWidget(w)
|
||||||
|
tts.show_message.connect(sb.showMessage)
|
||||||
|
tts.show_status.connect(la.setText)
|
||||||
w.setCentralWidget(tts)
|
w.setCentralWidget(tts)
|
||||||
w.show()
|
w.show()
|
||||||
app.exec_()
|
app.exec_()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user