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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
#!/usr/bin/env python
import os, sys, string
from PyTQt.qt import *
if TQT_VERSION < 0x030100:
print("This example requires TQt v3.1.0 or later.")
sys.exit(1)
FALSE = 0
TRUE = 1
hasmail_bmp_data = [
"48 48 3 1",
" c None",
". c #000000",
"+ c #FFFFFF",
"................................................",
".............................++++++++++.........",
".............................++++++++++.........",
"........................++++.+++.+.+.++.........",
"......................++++.++++.+.+.+++.........",
".....................+++.....+++.+.+.++.........",
"....................++.......++.+.+.+++.........",
"...................++........++++++++++.........",
"..................++.........++++++++++.........",
".................++..........+++..+.............",
"................++...........+++..+.............",
"...............++............+++.++.............",
"..............+++++++........++++++.............",
".............++++++++++......++++++.............",
"............+++......+++.....++++.+.............",
"...........+++.........++....+++..+.............",
"...........++..........++...++++..+.............",
"..........++............++.+++++..+.............",
"..........++............++++++++..+.............",
".........++....++++++....+++.+++..+.............",
".........++......++......++..+++..+.............",
".........++..............++..+++..+.............",
".........++..............++..+++..+.............",
".........++..............++..++...+.............",
"+++++++..++.+.+..+..+.+..++.......+..+++++++++++",
".........++.+++.+.+.+.+..++.......+.............",
".........++.+.+.+++.+.+..++.......+.............",
".........++.+.+.+.+.+.+..++......++.............",
".........++.+.+.+.+.+.++.++.....++..............",
".........++..............++....++...............",
"..+.+.+..++..............++...++..+.+.+.+.+.+.+.",
".+.+.+.+.++..............++..++..+.+.+.+.+.+.+..",
"..+.+.+..++..............++.++..+.+.+.+.+.+.+.+.",
".+.+.+.+.++..............+++++.+.+.+.+.+.+.+.+..",
"..+.+.+..+++++++++++++++++++.++.+.+.+.+.+.+.+.+.",
".+.+.+.+..+++++++++++++++++..+.+.+.+.+.+.+.+.+..",
"..+.+.+.+..........+...+.....++.+.+.+.+.+.+.+.+.",
".+.+.+.+.+.+.+.+.+.+...+.....+.+.+.+.+.+.+.+.+..",
"..+.+.+.+.+.+.+.+.++...+.....++.+.+.+.+.+.+.+.+.",
".+.+.+.+.+.+.+.+.+.+...+.....+.+.+.+.+.+.+.+.+..",
"..+.+.+.+.+.+.+.+.++...+.....++.+.+.+.+.+.+.+.+.",
".+.+.+.+.+.+.+.+.+.+...+.....+.+.+.+.+.+.+.+.+..",
"..+.+.+.+.+.+.+.+.++...+....+.+.+.+.+.+.+.+.+.+.",
".+.+.+.+.+.+.+.+.+.+...+...+.+.+.+.+.+.+.+.+.+..",
"..+.+.+.+.+.+.+.+.+.+..+..+.+.+.+.+.+.+.+.+.+.+.",
".+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+..",
"..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+...",
"................................................"
]
nomail_bmp_data = [
"48 48 3 1",
" c None",
". c #FFFFFF",
"+ c #000000",
"................................................",
"................................................",
"................................................",
".........................++++...................",
".......................++++++++.................",
".....................++++....+++................",
"....................+++........++...............",
"...................++...........++..............",
"..................++............++..............",
".................++..............++.......+.....",
"................++...............++......++.....",
"...............++................++.....+++.....",
"..............+++++++...........+++....++++.....",
".............++++++++++........++++...+++++.....",
"............+++......+++......+++.+..++++++.....",
"...........+++.........++....+++..+.+++.+++.....",
"...........++..........++...+++...++++..+++.....",
"..........++............++.+++...++++...++......",
"..........++............+++++...++++............",
".........++....++++++....+++...++++.............",
".........++......++......++...+++.+.............",
".........++..............++...+++.+.............",
".........++..............++...++..+.............",
".........++..............++.......+.............",
"+++++++..++..............++.......+..+++++++++++",
".........++..............++.......+.............",
".........++..............++.......+.............",
".........++..............++......++.............",
".........++..............++.....++..............",
".........++..............++....++...............",
".........++..............++...++................",
".........++..............++..++.................",
".........++..............++.++..................",
".........++..............+++++..................",
".........+++++++++++++++++++.+..................",
"..........+++++++++++++++++..+..................",
"...................+...+.....+..................",
"...................+...+.....+..................",
"...................+...+.....+..................",
"...................+...+.....+..................",
"...................+...+.....+..................",
"...................+...+.....+..................",
"...................+...+.....+..................",
"...................+...+.....+..................",
"+++.++++++++++.+.+++...+..+++++++++++.++...+++++",
"+.+++..+++.+.+++++.++..+.++.+++..+..+.++.+.++++.",
".++...+.....++...+...+++++++....+....++++++...+.",
"++++++++++++++++++++++++++++++++++++++++++++++++"
]
class Biff(TQWidget):
def __init__(self):
TQWidget.__init__(self, None, "Biff - example application")
mail = os.getenv("MAIL")
fi = TQFileInfo(mail);
if not fi.exists():
s = "/var/spool/mail/"+os.getenv("USER")
fi.setFile(s)
if fi.exists():
self.mailbox = fi.absFilePath()
self.startTimer(1000)
self.setMinimumSize(48, 48)
self.setMaximumSize(48, 48)
self.resize(48, 48)
self.hasNewMail = TQPixmap(hasmail_bmp_data)
self.noNewMail = TQPixmap(nomail_bmp_data)
self.gotMail = FALSE
self.lastModified = fi.lastModified()
def timerEvent(self, te):
fi = TQFileInfo(self.mailbox)
newState = ( fi.lastModified().toTime_t() != self.lastModified.toTime_t() and fi.lastModified().toTime_t() > fi.lastRead().toTime_t())
if newState != self.gotMail:
if self.gotMail == TRUE:
self.lastModified = fi.lastModified()
self.gotMail = newState
self.repaint(FALSE)
def paintEvent(self, pe):
if self.gotMail:
bitBlt(self, 0, 0, self.hasNewMail)
else:
bitBlt(self, 0, 0, self.noNewMail)
def mousePressEvent(self, me):
fi = TQFileInfo(self.mailbox)
lastModified = fi.lastModified()
a = TQApplication(sys.argv)
b = Biff()
a.setMainWidget(b)
b.show()
a.exec_loop()
|