diff --git a/src/calibre/gui2/tts2/develop.py b/src/calibre/gui2/tts2/develop.py index 62074a1bc7..31eb1ea3f1 100644 --- a/src/calibre/gui2/tts2/develop.py +++ b/src/calibre/gui2/tts2/develop.py @@ -40,7 +40,7 @@ class MainWindow(MainWindow): self.toolbar.addAction(pa) self.stop_action = sa = QAction('Stop') sa.setShortcut(QKeySequence(Qt.Key.Key_Escape)) - sa.triggered.connect(self.tts.stop) + sa.triggered.connect(self.stop) self.toolbar.addAction(sa) self.faster_action = fa = QAction('Faster') fa.triggered.connect(self.tts.faster) @@ -57,6 +57,11 @@ class MainWindow(MainWindow): self.resize(self.sizeHint()) + def stop(self): + self.update_play_action('Play') + self.stop_action.setEnabled(False) + self.tts.stop() + def create_marked_text(self): c = self.display.textCursor() c.setPosition(0) diff --git a/src/calibre/gui2/tts2/manager.py b/src/calibre/gui2/tts2/manager.py index 6022722429..9a35428070 100644 --- a/src/calibre/gui2/tts2/manager.py +++ b/src/calibre/gui2/tts2/manager.py @@ -129,8 +129,6 @@ class TTSManager(QObject): elif event == 'begin': self.state_event.emit('resume') self._resuming_after_configure = False - elif event == 'pause': - self.state_event.emit(event) else: self.state_event.emit(event) @@ -176,6 +174,7 @@ class TTSManager(QObject): self._resuming_after_configure = True if self.state is not QTextToSpeech.State.Paused: self.tts.pause() + self.state_event.emit('pause') yield rd if rd.is_speaking: if rd.needs_full_resume: