Ensure pause is emitted when configuring while playing

This commit is contained in:
Kovid Goyal 2024-09-03 18:56:48 +05:30
parent a617af14d8
commit 676f5323a6
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 7 additions and 3 deletions

View File

@ -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)

View File

@ -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: