Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/readtoolbar.py
diff options
context:
space:
mode:
authorAleksey 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)
commitb8292b6c3e83c2333e3716c36ac8dad510d52f07 (patch)
treee7496a635abef1267fc99e86080b4fa875f2f36c /readtoolbar.py
parent49ba5edddced0b92e109f1fb903e1821c6a9f336 (diff)
Synchronize speech and play button statuses
Diffstat (limited to 'readtoolbar.py')
-rw-r--r--readtoolbar.py20
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)