-
Notifications
You must be signed in to change notification settings - Fork 0
/
alarmwindow.py
54 lines (48 loc) · 1.59 KB
/
alarmwindow.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import signal
signal.signal(signal.SIGINT, signal.SIG_DFL)
from espeak import espeak
from flashcards import *
import time, sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class Speaker(QThread):
def __init__(self, flashset):
QThread.__init__(self)
self.delay = 5
self.fp = FlashParser(flashset)
def speakTrivia(self):
trivia = self.fp.getChoice()
espeak.set_voice("mb-us2")
espeak.set_parameter(espeak.Parameter.Rate, 2)
espeak.synth(trivia[0])
time.sleep(self.delay)
espeak.synth(trivia[1])
time.sleep(self.delay*2)
def run(self):
while True:
self.speakTrivia()
class AlarmWindow(QDialog):
closeWindow = pyqtSignal()
def __init__(self):
super(AlarmWindow, self).__init__()
layout = QVBoxLayout()
self.alarmText = QLabel("<font size=800>Wake Up</font>")
self.stopButton = QPushButton("stop")
layout.addWidget(self.alarmText)
layout.addWidget(self.stopButton)
self.setLayout(layout)
self.setWindowFlags(Qt.SplashScreen)
self.stopButton.clicked.connect(self.closeAll)
def closeAll(self):
self.s.terminate()
self.hide()
self.closeWindow.emit()
def sleepyTime(self, alarmTime,flashset):
self.alarmTime = alarmTime
print "Got alarmtime", self.alarmTime.toString()
while QTime.currentTime() < self.alarmTime:
print "sleeping %r", QTime.currentTime()
time.sleep(20)
self.s = Speaker(flashset)
self.show()
self.s.start()