author | jeremy <jeremy> | 2002-02-15 15:46:12 (UTC) |
---|---|---|
committer | jeremy <jeremy> | 2002-02-15 15:46:12 (UTC) |
commit | e6125036c4260fb9aeb40105c1ec58777678792b (patch) (unidiff) | |
tree | fe6c6e1bf574560ec83d638ca61fe86fdb75011c | |
parent | 7c4ee87ab334a8e245d8345b378400bf787a7d5a (diff) | |
download | opie-e6125036c4260fb9aeb40105c1ec58777678792b.zip opie-e6125036c4260fb9aeb40105c1ec58777678792b.tar.gz opie-e6125036c4260fb9aeb40105c1ec58777678792b.tar.bz2 |
Adding support for the ipaq's rec button. Not totally functioning yet, but
getting there.
-rw-r--r-- | core/applets/vmemo/vmemo.cpp | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/core/applets/vmemo/vmemo.cpp b/core/applets/vmemo/vmemo.cpp index 9c0025d..8875cdf 100644 --- a/core/applets/vmemo/vmemo.cpp +++ b/core/applets/vmemo/vmemo.cpp | |||
@@ -132,43 +132,102 @@ static char * vmemo_xpm[] = { | |||
132 | "@cd%e!fg49 ", | 132 | "@cd%e!fg49 ", |
133 | " h0,!_;2@ ", | 133 | " h0,!_;2@ ", |
134 | " ))))) "}; | 134 | " ))))) "}; |
135 | 135 | ||
136 | VMemo::VMemo( QWidget *parent, const char *name ) | 136 | VMemo::VMemo( QWidget *parent, const char *name ) |
137 | : QWidget( parent, name ) | 137 | : QWidget( parent, name ) |
138 | { | 138 | { |
139 | setFixedHeight( 18 ); | 139 | setFixedHeight( 18 ); |
140 | setFixedWidth( 14 ); | 140 | setFixedWidth( 14 ); |
141 | 141 | ||
142 | recording = FALSE; | 142 | recording = FALSE; |
143 | 143 | ||
144 | myChannel = new QCopChannel( "QPE/VMemo", this ); | ||
145 | connect( myChannel, SIGNAL(received(const QCString&, const QByteArray&)), | ||
146 | this, SLOT(receive(const QCString&, const QByteArray&)) ); | ||
147 | |||
144 | struct utsname name; /* check for embedix kernel running on the zaurus, if | 148 | struct utsname name; /* check for embedix kernel running on the zaurus, if |
145 | lineo change string, this break | 149 | lineo change string, this break |
146 | */ | 150 | */ |
147 | if (uname(&name) != -1) | 151 | if (uname(&name) != -1) |
148 | { | 152 | { |
149 | QString release=name.release; | 153 | QString release=name.release; |
150 | qWarning("System release: %s\n", name.release); | 154 | qWarning("System release: %s\n", name.release); |
151 | if(release.find("embedix",0,TRUE) !=-1) | 155 | if(release.find("embedix",0,TRUE) !=-1) |
152 | systemZaurus=TRUE; | 156 | systemZaurus=TRUE; |
153 | else | 157 | else |
158 | { | ||
159 | int fr; | ||
154 | systemZaurus=FALSE; | 160 | systemZaurus=FALSE; |
161 | |||
162 | if ((fr = fork()) == -1) | ||
163 | { | ||
164 | qWarning("Fork failed"); | ||
155 | } | 165 | } |
166 | else if (fr == 0) | ||
167 | { | ||
168 | int key, max; | ||
169 | fd_set fdr; | ||
170 | char buffer[10]; | ||
156 | 171 | ||
172 | key = open("/dev/touchscreen/key", O_RDONLY); | ||
173 | if (key == -1) | ||
174 | { | ||
175 | qWarning("Could not open key"); | ||
176 | exit(1); | ||
177 | } | ||
178 | |||
179 | while(1) | ||
180 | { | ||
181 | FD_ZERO(&fdr); | ||
182 | FD_SET(key, &fdr); | ||
183 | max = key; | ||
184 | |||
185 | qWarning("while"); | ||
186 | |||
187 | read(key, buffer, 10); | ||
188 | if(*buffer == (char)129) | ||
189 | { | ||
190 | qWarning("REC = stop"); | ||
191 | QCopEnvelope( "QPE/VMemo", "toggleRecord()"); | ||
192 | activate_signal("toggleRecordNow()"); | ||
193 | } | ||
194 | else if(*buffer == (char)1) | ||
195 | { | ||
196 | qWarning("REC = start"); | ||
197 | QCopEnvelope( "QPE/VMemo", "toggleRecord()"); | ||
198 | activate_signal("toggleRecordNow()"); | ||
199 | } | ||
200 | } | ||
201 | } | ||
202 | else if(fr) | ||
203 | qWarning("parent: Fork = good"); | ||
204 | } | ||
205 | } | ||
206 | qWarning("VMemo done init"); | ||
157 | } | 207 | } |
158 | 208 | ||
159 | VMemo::~VMemo() | 209 | VMemo::~VMemo() |
160 | { | 210 | { |
161 | } | 211 | } |
162 | 212 | ||
213 | void VMemo::receive( const QCString &msg, const QByteArray &data ) | ||
214 | { | ||
215 | QDataStream stream( data, IO_ReadOnly ); | ||
216 | qWarning(msg); | ||
217 | if ( msg == "toggleRecord()" ) { | ||
218 | qWarning("Hello"); | ||
219 | } | ||
220 | } | ||
221 | |||
163 | void VMemo::paintEvent( QPaintEvent* ) | 222 | void VMemo::paintEvent( QPaintEvent* ) |
164 | { | 223 | { |
165 | QPainter p(this); | 224 | QPainter p(this); |
166 | p.drawPixmap( 0, 1,( const char** ) vmemo_xpm ); | 225 | p.drawPixmap( 0, 1,( const char** ) vmemo_xpm ); |
167 | } | 226 | } |
168 | 227 | ||
169 | void VMemo::mousePressEvent( QMouseEvent * ) | 228 | void VMemo::mousePressEvent( QMouseEvent * ) |
170 | { | 229 | { |
171 | // just to be safe | 230 | // just to be safe |
172 | if (recording) | 231 | if (recording) |
173 | { | 232 | { |
174 | recording = FALSE; | 233 | recording = FALSE; |