diff options
Diffstat (limited to 'blather.py')
-rwxr-xr-x | blather.py | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/blather.py b/blather.py new file mode 100755 index 0000000..230f055 --- /dev/null +++ b/blather.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python2 +import sys +import signal +import gobject +# Qt stuff +from PySide.QtCore import Signal, Qt +from PySide.QtGui import QApplication, QWidget, QMainWindow, QVBoxLayout +from PySide.QtGui import QLabel, QPushButton, QCheckBox +from TTS import TTS + +class Blather: + def __init__(self): + self.tts = TTS(); + self.tts.connect('finished',self.tts_finished) + #make a window + self.window = QMainWindow() + center = QWidget() + self.window.setCentralWidget(center) + + layout = QVBoxLayout() + center.setLayout(layout) + #make a listen/stop button + self.lsbutton = QPushButton("Listen") + layout.addWidget(self.lsbutton) + #make a continuous button + self.ccheckbox = QCheckBox("Continuous Listen") + layout.addWidget(self.ccheckbox) + + #connect the buttonsc + self.lsbutton.clicked.connect(self.lsbutton_clicked) + self.ccheckbox.clicked.connect(self.ccheckbox_clicked) + + def tts_finished(self, x, y): + if self.ccheckbox.isChecked(): + pass + else: + self.lsbutton_stopped() + + + def ccheckbox_clicked(self): + checked = self.ccheckbox.isChecked() + if checked: + #disable lsbutton + self.lsbutton.setEnabled(False) + self.tts.listen() + else: + self.lsbutton.setEnabled(True) + + def lsbutton_stopped(self): + self.tts.pause() + self.lsbutton.setText("Listen") + + def lsbutton_clicked(self): + val = self.lsbutton.text() + print val + if val == "Listen": + self.tts.listen() + self.lsbutton.setText("Stop") + else: + self.lsbutton_stopped() + + def run(self): + self.window.show() + +if __name__ == "__main__": + app = QApplication(sys.argv) + b = Blather() + b.run() + + signal.signal(signal.SIGINT, signal.SIG_DFL) + #start the app running + sys.exit(app.exec_()) + |