summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/cardmon/cardmon.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/core/applets/cardmon/cardmon.cpp b/core/applets/cardmon/cardmon.cpp
index e8072c6..6090b68 100644
--- a/core/applets/cardmon/cardmon.cpp
+++ b/core/applets/cardmon/cardmon.cpp
@@ -1,423 +1,426 @@
1/* 1/*
2* cardmon.cpp 2* cardmon.cpp
3* 3*
4* --------------------- 4* ---------------------
5* 5*
6* copyright : (c) 2002 by Maximilian Reiss 6* copyright : (c) 2002 by Maximilian Reiss
7* email : max.reiss@gmx.de 7* email : max.reiss@gmx.de
8* based on two apps by Devin Butterfield 8* based on two apps by Devin Butterfield
9*/ 9*/
10/*************************************************************************** 10/***************************************************************************
11 * * 11 * *
12 * This program is free software; you can redistribute it and/or modify * 12 * This program is free software; you can redistribute it and/or modify *
13 * it under the terms of the GNU General Public License as published by * 13 * it under the terms of the GNU General Public License as published by *
14 * the Free Software Foundation; either version 2 of the License, or * 14 * the Free Software Foundation; either version 2 of the License, or *
15 * (at your option) any later version. * 15 * (at your option) any later version. *
16 * * 16 * *
17 ***************************************************************************/ 17 ***************************************************************************/
18 18
19#include "cardmon.h" 19#include "cardmon.h"
20 20
21/* OPIE */ 21/* OPIE */
22#include <opie2/odevice.h> 22#include <opie2/odevice.h>
23#include <opie2/otaskbarapplet.h> 23#include <opie2/otaskbarapplet.h>
24#include <qpe/applnk.h> 24#include <qpe/applnk.h>
25#include <qpe/resource.h> 25#include <qpe/resource.h>
26 26
27/* QT */ 27/* QT */
28#include <qcopchannel_qws.h> 28#include <qcopchannel_qws.h>
29#include <qpainter.h> 29#include <qpainter.h>
30#include <qfile.h> 30#include <qfile.h>
31#include <qtextstream.h> 31#include <qtextstream.h>
32#include <qsound.h> 32#include <qsound.h>
33#include <qtimer.h> 33#include <qtimer.h>
34 34
35/* STD */ 35/* STD */
36#include <stdio.h> 36#include <stdio.h>
37#include <unistd.h> 37#include <unistd.h>
38#include <stdlib.h> 38#include <stdlib.h>
39#include <string.h> 39#include <string.h>
40#include <fcntl.h> 40#include <fcntl.h>
41 41
42#if defined(_OS_LINUX_) || defined(Q_OS_LINUX) 42#if defined(_OS_LINUX_) || defined(Q_OS_LINUX)
43#include <sys/vfs.h> 43#include <sys/vfs.h>
44#include <mntent.h> 44#include <mntent.h>
45#endif 45#endif
46 46
47using namespace Opie; 47using namespace Opie;
48 48
49using namespace Opie::Ui;
50using namespace Opie::Core;
51
49CardMonitor::CardMonitor( QWidget * parent ) : QWidget( parent ), 52CardMonitor::CardMonitor( QWidget * parent ) : QWidget( parent ),
50 pm( Resource::loadPixmap( "cardmon/pcmcia" ) ) 53 pm( Resource::loadPixmap( "cardmon/pcmcia" ) )
51{ 54{
52 55
53 QCopChannel * pcmciaChannel = new QCopChannel( "QPE/Card", this ); 56 QCopChannel * pcmciaChannel = new QCopChannel( "QPE/Card", this );
54 connect( pcmciaChannel, 57 connect( pcmciaChannel,
55 SIGNAL( received(const QCString&,const QByteArray&) ), this, 58 SIGNAL( received(const QCString&,const QByteArray&) ), this,
56 SLOT( cardMessage(const QCString&,const QByteArray&) ) ); 59 SLOT( cardMessage(const QCString&,const QByteArray&) ) );
57 60
58 QCopChannel *sdChannel = new QCopChannel( "QPE/Card", this ); 61 QCopChannel *sdChannel = new QCopChannel( "QPE/Card", this );
59 connect( sdChannel, 62 connect( sdChannel,
60 SIGNAL( received(const QCString&,const QByteArray&) ), this, 63 SIGNAL( received(const QCString&,const QByteArray&) ), this,
61 SLOT( cardMessage(const QCString&,const QByteArray&) ) ); 64 SLOT( cardMessage(const QCString&,const QByteArray&) ) );
62 65
63 cardInPcmcia0 = FALSE; 66 cardInPcmcia0 = FALSE;
64 cardInPcmcia1 = FALSE; 67 cardInPcmcia1 = FALSE;
65 cardInSd = FALSE; 68 cardInSd = FALSE;
66 69
67 setFocusPolicy( NoFocus ); 70 setFocusPolicy( NoFocus );
68 71
69 setFixedWidth ( AppLnk::smallIconSize() ); 72 setFixedWidth ( AppLnk::smallIconSize() );
70 setFixedHeight ( AppLnk::smallIconSize() ); 73 setFixedHeight ( AppLnk::smallIconSize() );
71 74
72 getStatusPcmcia( TRUE ); 75 getStatusPcmcia( TRUE );
73 getStatusSd( TRUE ); 76 getStatusSd( TRUE );
74 repaint( FALSE ); 77 repaint( FALSE );
75 popupMenu = 0; 78 popupMenu = 0;
76} 79}
77 80
78CardMonitor::~CardMonitor() 81CardMonitor::~CardMonitor()
79{ 82{
80 if ( popupMenu ) 83 if ( popupMenu )
81 { 84 {
82 delete popupMenu; 85 delete popupMenu;
83 } 86 }
84} 87}
85 88
86void CardMonitor::popUp( QString message, QString icon ) 89void CardMonitor::popUp( QString message, QString icon )
87{ 90{
88 if ( !popupMenu ) 91 if ( !popupMenu )
89 { 92 {
90 popupMenu = new QPopupMenu( this ); 93 popupMenu = new QPopupMenu( this );
91 } 94 }
92 95
93 popupMenu->clear(); 96 popupMenu->clear();
94 if ( icon.isEmpty() ) 97 if ( icon.isEmpty() )
95 { 98 {
96 popupMenu->insertItem( message, 0 ); 99 popupMenu->insertItem( message, 0 );
97 } 100 }
98 else 101 else
99 { 102 {
100 popupMenu->insertItem( QIconSet( Resource::loadPixmap( icon ) ), 103 popupMenu->insertItem( QIconSet( Resource::loadPixmap( icon ) ),
101 message, 0 ); 104 message, 0 );
102 } 105 }
103 106
104 QPoint p = mapToGlobal( QPoint( 0, 0 ) ); 107 QPoint p = mapToGlobal( QPoint( 0, 0 ) );
105 QSize s = popupMenu->sizeHint(); 108 QSize s = popupMenu->sizeHint();
106 popupMenu->popup( QPoint( p.x() + ( width() / 2 ) - ( s.width() / 2 ), 109 popupMenu->popup( QPoint( p.x() + ( width() / 2 ) - ( s.width() / 2 ),
107 p.y() - s.height() ), 0 ); 110 p.y() - s.height() ), 0 );
108 111
109 QTimer::singleShot( 2000, this, SLOT( popupTimeout() ) ); 112 QTimer::singleShot( 2000, this, SLOT( popupTimeout() ) );
110} 113}
111 114
112void CardMonitor::popupTimeout() 115void CardMonitor::popupTimeout()
113{ 116{
114 popupMenu->hide(); 117 popupMenu->hide();
115} 118}
116 119
117void CardMonitor::mousePressEvent( QMouseEvent * ) 120void CardMonitor::mousePressEvent( QMouseEvent * )
118{ 121{
119 QPopupMenu * menu = new QPopupMenu( this ); 122 QPopupMenu * menu = new QPopupMenu( this );
120 QString cmd; 123 QString cmd;
121 int err = 0; 124 int err = 0;
122 125
123 if ( cardInSd ) 126 if ( cardInSd )
124 { 127 {
125 menu->insertItem( QIconSet( Resource::loadPixmap( "cardmon/ide" ) ), 128 menu->insertItem( QIconSet( Resource::loadPixmap( "cardmon/ide" ) ),
126 tr( "Eject SD/MMC card" ), 0 ); 129 tr( "Eject SD/MMC card" ), 0 );
127 } 130 }
128 131
129 if ( cardInPcmcia0 ) 132 if ( cardInPcmcia0 )
130 { 133 {
131 menu-> 134 menu->
132 insertItem( QIconSet 135 insertItem( QIconSet
133 ( Resource::loadPixmap( "cardmon/" + cardInPcmcia0Type ) ), 136 ( Resource::loadPixmap( "cardmon/" + cardInPcmcia0Type ) ),
134 tr( "Eject card 0: %1" ).arg( cardInPcmcia0Name ), 1 ); 137 tr( "Eject card 0: %1" ).arg( cardInPcmcia0Name ), 1 );
135 } 138 }
136 139
137 if ( cardInPcmcia1 ) 140 if ( cardInPcmcia1 )
138 { 141 {
139 menu-> 142 menu->
140 insertItem( QIconSet 143 insertItem( QIconSet
141 ( Resource::loadPixmap( "cardmon/" + cardInPcmcia1Type ) ), 144 ( Resource::loadPixmap( "cardmon/" + cardInPcmcia1Type ) ),
142 tr( "Eject card 1: %1" ).arg( cardInPcmcia1Name ), 2 ); 145 tr( "Eject card 1: %1" ).arg( cardInPcmcia1Name ), 2 );
143 } 146 }
144 147
145 QPoint p = mapToGlobal( QPoint( 0, 0 ) ); 148 QPoint p = mapToGlobal( QPoint( 0, 0 ) );
146 QSize s = menu->sizeHint(); 149 QSize s = menu->sizeHint();
147 int opt = menu->exec( QPoint( p.x() + ( width() / 2 ) - ( s.width() / 2 ), 150 int opt = menu->exec( QPoint( p.x() + ( width() / 2 ) - ( s.width() / 2 ),
148 p.y() - s.height() ), 0 ); 151 p.y() - s.height() ), 0 );
149 152
150 if ( opt == 1 ) 153 if ( opt == 1 )
151 { 154 {
152 cmd = "/sbin/cardctl eject 0"; 155 cmd = "/sbin/cardctl eject 0";
153 err = system( ( const char * ) cmd ); 156 err = system( ( const char * ) cmd );
154 if ( err != 0 ) 157 if ( err != 0 )
155 { 158 {
156 qDebug( "Could not execute `/sbin/cardctl eject 0'! err=%d", 159 qDebug( "Could not execute `/sbin/cardctl eject 0'! err=%d",
157 err ); 160 err );
158 popUp( tr( "CF/PCMCIA card eject failed!" ) ); 161 popUp( tr( "CF/PCMCIA card eject failed!" ) );
159 } 162 }
160 } 163 }
161 else if ( opt == 0 ) 164 else if ( opt == 0 )
162 { 165 {
163 if ( ODevice::inst() ->system() == System_Familiar ) 166 if ( ODevice::inst() ->system() == System_Familiar )
164 { 167 {
165 cmd = "umount /dev/mmc/part1"; 168 cmd = "umount /dev/mmc/part1";
166 } 169 }
167 else 170 else
168 { 171 {
169 cmd = "umount /dev/mmcda1"; 172 cmd = "umount /dev/mmcda1";
170 } 173 }
171 err = system( ( const char * ) cmd ); 174 err = system( ( const char * ) cmd );
172 if ( err != 0 ) 175 if ( err != 0 )
173 { 176 {
174 popUp( tr( "SD/MMC card eject failed!" ) ); 177 popUp( tr( "SD/MMC card eject failed!" ) );
175 } 178 }
176 } 179 }
177 else if ( opt == 2 ) 180 else if ( opt == 2 )
178 { 181 {
179 cmd = "/sbin/cardctl eject 1"; 182 cmd = "/sbin/cardctl eject 1";
180 err = system( ( const char * ) cmd ); 183 err = system( ( const char * ) cmd );
181 if ( err != 0 ) 184 if ( err != 0 )
182 { 185 {
183 qDebug( "Could not execute `/sbin/cardctl eject 1'! err=%d", 186 qDebug( "Could not execute `/sbin/cardctl eject 1'! err=%d",
184 err ); 187 err );
185 popUp( tr( "CF/PCMCIA card eject failed!" ) ); 188 popUp( tr( "CF/PCMCIA card eject failed!" ) );
186 } 189 }
187 } 190 }
188 delete menu; 191 delete menu;
189} 192}
190 193
191 194
192void CardMonitor::cardMessage( const QCString & msg, const QByteArray & ) 195void CardMonitor::cardMessage( const QCString & msg, const QByteArray & )
193{ 196{
194 if ( msg == "stabChanged()" ) 197 if ( msg == "stabChanged()" )
195 { 198 {
196 // qDebug("Pcmcia: stabchanged"); 199 // qDebug("Pcmcia: stabchanged");
197 getStatusPcmcia(); 200 getStatusPcmcia();
198 } 201 }
199 else if ( msg == "mtabChanged()" ) 202 else if ( msg == "mtabChanged()" )
200 { 203 {
201 // qDebug("CARDMONAPPLET: mtabchanged"); 204 // qDebug("CARDMONAPPLET: mtabchanged");
202 getStatusSd(); 205 getStatusSd();
203 } 206 }
204} 207}
205 208
206bool CardMonitor::getStatusPcmcia( int showPopUp ) 209bool CardMonitor::getStatusPcmcia( int showPopUp )
207{ 210{
208 211
209 bool cardWas0 = cardInPcmcia0;// remember last state 212 bool cardWas0 = cardInPcmcia0;// remember last state
210 bool cardWas1 = cardInPcmcia1; 213 bool cardWas1 = cardInPcmcia1;
211 214
212 QString fileName; 215 QString fileName;
213 216
214 // one of these 3 files should exist 217 // one of these 3 files should exist
215 if ( QFile::exists( "/var/run/stab" ) ) 218 if ( QFile::exists( "/var/run/stab" ) )
216 { 219 {
217 fileName = "/var/run/stab"; 220 fileName = "/var/run/stab";
218 } 221 }
219 else if ( QFile::exists( "/var/state/pcmcia/stab" ) ) 222 else if ( QFile::exists( "/var/state/pcmcia/stab" ) )
220 { 223 {
221 fileName = "/var/state/pcmcia/stab"; 224 fileName = "/var/state/pcmcia/stab";
222 } 225 }
223 else 226 else
224 { 227 {
225 fileName = "/var/lib/pcmcia/stab"; 228 fileName = "/var/lib/pcmcia/stab";
226 } 229 }
227 230
228 QFile f( fileName ); 231 QFile f( fileName );
229 232
230 if ( f.open( IO_ReadOnly ) ) 233 if ( f.open( IO_ReadOnly ) )
231 { 234 {
232 QStringList list; 235 QStringList list;
233 QTextStream stream( &f ); 236 QTextStream stream( &f );
234 QString streamIn; 237 QString streamIn;
235 streamIn = stream.read(); 238 streamIn = stream.read();
236 list = QStringList::split( "\n", streamIn ); 239 list = QStringList::split( "\n", streamIn );
237 for ( QStringList::Iterator line = list.begin(); line != list.end(); 240 for ( QStringList::Iterator line = list.begin(); line != list.end();
238 line++ ) 241 line++ )
239 { 242 {
240 if ( ( *line ).startsWith( "Socket 0:" ) ) 243 if ( ( *line ).startsWith( "Socket 0:" ) )
241 { 244 {
242 if ( ( *line ).startsWith( "Socket 0: empty" ) && cardInPcmcia0 ) 245 if ( ( *line ).startsWith( "Socket 0: empty" ) && cardInPcmcia0 )
243 { 246 {
244 cardInPcmcia0 = FALSE; 247 cardInPcmcia0 = FALSE;
245 } 248 }
246 else if ( !( *line ).startsWith( "Socket 0: empty" ) 249 else if ( !( *line ).startsWith( "Socket 0: empty" )
247 && !cardInPcmcia0 ) 250 && !cardInPcmcia0 )
248 { 251 {
249 cardInPcmcia0Name = 252 cardInPcmcia0Name =
250 ( *line ).mid( ( ( *line ).find( ':' ) + 1 ), 253 ( *line ).mid( ( ( *line ).find( ':' ) + 1 ),
251 ( *line ).length() - 9 ); 254 ( *line ).length() - 9 );
252 cardInPcmcia0Name.stripWhiteSpace(); 255 cardInPcmcia0Name.stripWhiteSpace();
253 cardInPcmcia0 = TRUE; 256 cardInPcmcia0 = TRUE;
254 show(); 257 show();
255 line++; 258 line++;
256 int pos = ( *line ).find( '\t' ) + 1; 259 int pos = ( *line ).find( '\t' ) + 1;
257 cardInPcmcia0Type = 260 cardInPcmcia0Type =
258 ( *line ).mid( pos, ( *line ).find( "\t", pos ) - pos ); 261 ( *line ).mid( pos, ( *line ).find( "\t", pos ) - pos );
259 } 262 }
260 } 263 }
261 else if ( ( *line ).startsWith( "Socket 1:" ) ) 264 else if ( ( *line ).startsWith( "Socket 1:" ) )
262 { 265 {
263 if ( ( *line ).startsWith( "Socket 1: empty" ) && cardInPcmcia1 ) 266 if ( ( *line ).startsWith( "Socket 1: empty" ) && cardInPcmcia1 )
264 { 267 {
265 cardInPcmcia1 = FALSE; 268 cardInPcmcia1 = FALSE;
266 } 269 }
267 else if ( !( *line ).startsWith( "Socket 1: empty" ) 270 else if ( !( *line ).startsWith( "Socket 1: empty" )
268 && !cardInPcmcia1 ) 271 && !cardInPcmcia1 )
269 { 272 {
270 cardInPcmcia1Name = 273 cardInPcmcia1Name =
271 ( *line ).mid( ( ( *line ).find( ':' ) + 1 ), 274 ( *line ).mid( ( ( *line ).find( ':' ) + 1 ),
272 ( *line ).length() - 9 ); 275 ( *line ).length() - 9 );
273 cardInPcmcia1Name.stripWhiteSpace(); 276 cardInPcmcia1Name.stripWhiteSpace();
274 cardInPcmcia1 = TRUE; 277 cardInPcmcia1 = TRUE;
275 show(); 278 show();
276 line++; 279 line++;
277 int pos = ( *line ).find( '\t' ) + 1; 280 int pos = ( *line ).find( '\t' ) + 1;
278 cardInPcmcia1Type = 281 cardInPcmcia1Type =
279 ( *line ).mid( pos, ( *line ).find( "\t", pos ) - pos ); 282 ( *line ).mid( pos, ( *line ).find( "\t", pos ) - pos );
280 } 283 }
281 } 284 }
282 } 285 }
283 f.close(); 286 f.close();
284 287
285 if ( !showPopUp 288 if ( !showPopUp
286 && ( cardWas0 != cardInPcmcia0 || cardWas1 != cardInPcmcia1 ) ) 289 && ( cardWas0 != cardInPcmcia0 || cardWas1 != cardInPcmcia1 ) )
287 { 290 {
288 QString text = QString::null; 291 QString text = QString::null;
289 QString what = QString::null; 292 QString what = QString::null;
290 if ( cardWas0 != cardInPcmcia0 ) 293 if ( cardWas0 != cardInPcmcia0 )
291 { 294 {
292 if ( cardInPcmcia0 ) 295 if ( cardInPcmcia0 )
293 { 296 {
294 text += tr( "New card: " ); 297 text += tr( "New card: " );
295 what = "on"; 298 what = "on";
296 } 299 }
297 else 300 else
298 { 301 {
299 text += tr( "Ejected: " ); 302 text += tr( "Ejected: " );
300 what = "off"; 303 what = "off";
301 } 304 }
302 text += cardInPcmcia0Name; 305 text += cardInPcmcia0Name;
303 popUp( text, "cardmon/" + cardInPcmcia0Type ); 306 popUp( text, "cardmon/" + cardInPcmcia0Type );
304 } 307 }
305 308
306 if ( cardWas1 != cardInPcmcia1 ) 309 if ( cardWas1 != cardInPcmcia1 )
307 { 310 {
308 if ( cardInPcmcia1 ) 311 if ( cardInPcmcia1 )
309 { 312 {
310 text += tr( "New card: " ); 313 text += tr( "New card: " );
311 what = "on"; 314 what = "on";
312 } 315 }
313 else 316 else
314 { 317 {
315 text += tr( "Ejected: " ); 318 text += tr( "Ejected: " );
316 what = "off"; 319 what = "off";
317 } 320 }
318 text += cardInPcmcia1Name; 321 text += cardInPcmcia1Name;
319 popUp( text, "cardmon/" + cardInPcmcia1Type ); 322 popUp( text, "cardmon/" + cardInPcmcia1Type );
320 } 323 }
321#ifndef QT_NO_SOUND 324#ifndef QT_NO_SOUND
322 QSound::play( Resource::findSound( "cardmon/card" + what ) ); 325 QSound::play( Resource::findSound( "cardmon/card" + what ) );
323#endif 326#endif
324 327
325 } 328 }
326 } 329 }
327 else 330 else
328 { 331 {
329 // no file found 332 // no file found
330 qDebug( "no file found" ); 333 qDebug( "no file found" );
331 cardInPcmcia0 = FALSE; 334 cardInPcmcia0 = FALSE;
332 cardInPcmcia1 = FALSE; 335 cardInPcmcia1 = FALSE;
333 } 336 }
334 repaint( FALSE ); 337 repaint( FALSE );
335 return ( ( cardWas0 == cardInPcmcia0 338 return ( ( cardWas0 == cardInPcmcia0
336 && cardWas1 == cardInPcmcia1 ) ? FALSE : TRUE ); 339 && cardWas1 == cardInPcmcia1 ) ? FALSE : TRUE );
337 340
338} 341}
339 342
340 343
341bool CardMonitor::getStatusSd( int showPopUp ) 344bool CardMonitor::getStatusSd( int showPopUp )
342{ 345{
343 346
344 bool cardWas = cardInSd;// remember last state 347 bool cardWas = cardInSd;// remember last state
345 cardInSd = FALSE; 348 cardInSd = FALSE;
346 349
347#if defined(_OS_LINUX_) || defined(Q_OS_LINUX) 350#if defined(_OS_LINUX_) || defined(Q_OS_LINUX)
348 struct mntent *me; 351 struct mntent *me;
349 FILE *mntfp = setmntent( "/etc/mtab", "r" ); 352 FILE *mntfp = setmntent( "/etc/mtab", "r" );
350 353
351 if ( mntfp ) 354 if ( mntfp )
352 { 355 {
353 while ( ( me = getmntent( mntfp ) ) != 0 ) 356 while ( ( me = getmntent( mntfp ) ) != 0 )
354 { 357 {
355 QString fs = me->mnt_fsname; 358 QString fs = me->mnt_fsname;
356 //qDebug( fs ); 359 //qDebug( fs );
357 if ( fs.left( 14 ) == "/dev/mmc/part1" || fs.left( 7 ) == "/dev/sd" 360 if ( fs.left( 14 ) == "/dev/mmc/part1" || fs.left( 7 ) == "/dev/sd"
358 || fs.left( 9 ) == "/dev/mmcd" ) 361 || fs.left( 9 ) == "/dev/mmcd" )
359 { 362 {
360 cardInSd = TRUE; 363 cardInSd = TRUE;
361 show(); 364 show();
362 } 365 }
363 // else { 366 // else {
364 // cardInSd = FALSE; 367 // cardInSd = FALSE;
365 // } 368 // }
366 } 369 }
367 endmntent( mntfp ); 370 endmntent( mntfp );
368 } 371 }
369 372
370 if ( !showPopUp && cardWas != cardInSd ) 373 if ( !showPopUp && cardWas != cardInSd )
371 { 374 {
372 QString text = QString::null; 375 QString text = QString::null;
373 QString what = QString::null; 376 QString what = QString::null;
374 if ( cardInSd ) 377 if ( cardInSd )
375 { 378 {
376 text += "New card: SD/MMC"; 379 text += "New card: SD/MMC";
377 what = "on"; 380 what = "on";
378 } 381 }
379 else 382 else
380 { 383 {
381 text += "Ejected: SD/MMC"; 384 text += "Ejected: SD/MMC";
382 what = "off"; 385 what = "off";
383 } 386 }
384 //qDebug("TEXT: " + text ); 387 //qDebug("TEXT: " + text );
385#ifndef QT_NO_SOUND 388#ifndef QT_NO_SOUND
386 QSound::play( Resource::findSound( "cardmon/card" + what ) ); 389 QSound::play( Resource::findSound( "cardmon/card" + what ) );
387#endif 390#endif
388 popUp( text, "cardmon/ide" );// XX add SD pic 391 popUp( text, "cardmon/ide" );// XX add SD pic
389 } 392 }
390#else 393#else
391#error "Not on Linux" 394#error "Not on Linux"
392#endif 395#endif
393 repaint( FALSE ); 396 repaint( FALSE );
394 return ( ( cardWas == cardInSd ) ? FALSE : TRUE ); 397 return ( ( cardWas == cardInSd ) ? FALSE : TRUE );
395} 398}
396 399
397void CardMonitor::paintEvent( QPaintEvent * ) 400void CardMonitor::paintEvent( QPaintEvent * )
398{ 401{
399 402
400 QPainter p( this ); 403 QPainter p( this );
401 404
402 if ( cardInPcmcia0 || cardInPcmcia1 || cardInSd ) 405 if ( cardInPcmcia0 || cardInPcmcia1 || cardInSd )
403 { 406 {
404 p.drawPixmap( 0, 0, pm ); 407 p.drawPixmap( 0, 0, pm );
405 show(); 408 show();
406 } 409 }
407 else 410 else
408 { 411 {
409 //p.eraseRect(rect()); 412 //p.eraseRect(rect());
410 hide(); 413 hide();
411 } 414 }
412} 415}
413 416
414int CardMonitor::position() 417int CardMonitor::position()
415{ 418{
416 return 7; 419 return 7;
417} 420}
418 421
419Q_EXPORT_INTERFACE() 422Q_EXPORT_INTERFACE()
420{ 423{
421 Q_CREATE_INSTANCE( OTaskbarAppletWrapper<CardMonitor> ); 424 Q_CREATE_INSTANCE( Opie::Ui::Private::OTaskbarAppletWrapper<CardMonitor> );
422} 425}
423 426