diff options
author | Aleksey Lim <alsroot@member.fsf.org> | 2009-03-04 17:24:16 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@member.fsf.org> | 2009-03-04 17:24:16 (GMT) |
commit | b8292b6c3e83c2333e3716c36ac8dad510d52f07 (patch) | |
tree | e7496a635abef1267fc99e86080b4fa875f2f36c /readtoolbar.py | |
parent | 49ba5edddced0b92e109f1fb903e1821c6a9f336 (diff) |
Synchronize speech and play button statuses
Diffstat (limited to 'readtoolbar.py')
-rw-r--r-- | readtoolbar.py | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/readtoolbar.py b/readtoolbar.py index 4faace2..51f2af9 100644 --- a/readtoolbar.py +++ b/readtoolbar.py @@ -349,13 +349,17 @@ class SpeechToolbar(gtk.Toolbar): def _play_cb(self, widget, images): widget.set_icon_widget(images[int(widget.get_active())]) - if (speech.done): - self.et = speech.EspeakThread() - words_on_page = self.activity.add_word_marks() - self.et.set_words_on_page(words_on_page) - self.et.set_activity(self.activity) - self.et.set_speech_options(self.selected_voice, - int(self.pitchadj.value), int(self.rateadj.value)) - self.et.start() + if widget.get_active(): + if speech.done: + self.et = speech.EspeakThread(self._stop_cb) + words_on_page = self.activity.add_word_marks() + self.et.set_words_on_page(words_on_page) + self.et.set_activity(self.activity) + self.et.set_speech_options(self.selected_voice, + int(self.pitchadj.value), int(self.rateadj.value)) + self.et.start() else: speech.done = True + + def _stop_cb(self): + self.play_btn.set_active(False) |