summaryrefslogtreecommitdiff
authorharlekin <harlekin>2002-03-22 18:16:38 (UTC)
committer harlekin <harlekin>2002-03-22 18:16:38 (UTC)
commita6f3ce177ac43ec2cf91f96cfd11713126e29407 (patch) (unidiff)
tree023664192c19117e524892fea4ec98b49dc55826
parentda1430c6bd5fee39a19b294017848b95198217af (diff)
downloadopie-a6f3ce177ac43ec2cf91f96cfd11713126e29407.zip
opie-a6f3ce177ac43ec2cf91f96cfd11713126e29407.tar.gz
opie-a6f3ce177ac43ec2cf91f96cfd11713126e29407.tar.bz2
different splash
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.cpp4
-rw-r--r--pics/launcher/new_wait.pngbin0 -> 1904 bytes
2 files changed, 2 insertions, 2 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index a55f5f9..c154689 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -1090,387 +1090,387 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
1090 } else if ( msg == "reload()" ) { 1090 } else if ( msg == "reload()" ) {
1091 emit reload(); 1091 emit reload();
1092 } else if ( msg == "setDocument(QString)" ) { 1092 } else if ( msg == "setDocument(QString)" ) {
1093 d->keep_running = TRUE; 1093 d->keep_running = TRUE;
1094 QDataStream stream( data, IO_ReadOnly ); 1094 QDataStream stream( data, IO_ReadOnly );
1095 QString doc; 1095 QString doc;
1096 stream >> doc; 1096 stream >> doc;
1097 QWidget *mw = mainWidget(); 1097 QWidget *mw = mainWidget();
1098 if ( !mw ) 1098 if ( !mw )
1099 mw = d->qpe_main_widget; 1099 mw = d->qpe_main_widget;
1100 if ( mw ) 1100 if ( mw )
1101 Global::setDocument( mw, doc ); 1101 Global::setDocument( mw, doc );
1102 } else if ( msg == "nextView()" ) { 1102 } else if ( msg == "nextView()" ) {
1103 if ( raiseAppropriateWindow() ) 1103 if ( raiseAppropriateWindow() )
1104 emit appMessage( msg, data); 1104 emit appMessage( msg, data);
1105 } else { 1105 } else {
1106 emit appMessage( msg, data); 1106 emit appMessage( msg, data);
1107 } 1107 }
1108#endif 1108#endif
1109} 1109}
1110 1110
1111 1111
1112static bool setWidgetCaptionFromAppName( QWidget* /*mw*/, const QString& /*appName*/, const QString& /*appsPath*/ ) 1112static bool setWidgetCaptionFromAppName( QWidget* /*mw*/, const QString& /*appName*/, const QString& /*appsPath*/ )
1113{ 1113{
1114/* 1114/*
1115 // This works but disable it for now until it is safe to apply 1115 // This works but disable it for now until it is safe to apply
1116 // What is does is scan the .desktop files of all the apps for 1116 // What is does is scan the .desktop files of all the apps for
1117 // the applnk that has the corresponding argv[0] as this program 1117 // the applnk that has the corresponding argv[0] as this program
1118 // then it uses the name stored in the .desktop file as the caption 1118 // then it uses the name stored in the .desktop file as the caption
1119 // for the main widget. This saves duplicating translations for 1119 // for the main widget. This saves duplicating translations for
1120 // the app name in the program and in the .desktop files. 1120 // the app name in the program and in the .desktop files.
1121 1121
1122 AppLnkSet apps( appsPath ); 1122 AppLnkSet apps( appsPath );
1123 1123
1124 QList<AppLnk> appsList = apps.children(); 1124 QList<AppLnk> appsList = apps.children();
1125 for ( QListIterator<AppLnk> it(appsList); it.current(); ++it ) { 1125 for ( QListIterator<AppLnk> it(appsList); it.current(); ++it ) {
1126 if ( (*it)->exec() == appName ) { 1126 if ( (*it)->exec() == appName ) {
1127 mw->setCaption( (*it)->name() ); 1127 mw->setCaption( (*it)->name() );
1128 return TRUE; 1128 return TRUE;
1129 } 1129 }
1130 } 1130 }
1131*/ 1131*/
1132 return FALSE; 1132 return FALSE;
1133} 1133}
1134 1134
1135 1135
1136/*! 1136/*!
1137 Sets \a mw as the mainWidget() and shows it. For small windows, 1137 Sets \a mw as the mainWidget() and shows it. For small windows,
1138 consider passing TRUE for \a nomaximize rather than the default FALSE. 1138 consider passing TRUE for \a nomaximize rather than the default FALSE.
1139 1139
1140 \sa showMainDocumentWidget() 1140 \sa showMainDocumentWidget()
1141*/ 1141*/
1142void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize ) 1142void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize )
1143{ 1143{
1144 setWidgetCaptionFromAppName( mw, d->appName, qpeDir() + "apps" ); 1144 setWidgetCaptionFromAppName( mw, d->appName, qpeDir() + "apps" );
1145 1145
1146 d->nomaximize = nomaximize; 1146 d->nomaximize = nomaximize;
1147 d->qpe_main_widget = mw; 1147 d->qpe_main_widget = mw;
1148 d->sendQCopQ(); 1148 d->sendQCopQ();
1149 if ( d->preloaded ) { 1149 if ( d->preloaded ) {
1150 if(d->forceshow) { 1150 if(d->forceshow) {
1151#ifdef Q_WS_QWS 1151#ifdef Q_WS_QWS
1152 if ( !nomaximize ) 1152 if ( !nomaximize )
1153 mw->showMaximized(); 1153 mw->showMaximized();
1154 else 1154 else
1155#endif 1155#endif
1156 mw->show(); 1156 mw->show();
1157 } 1157 }
1158 } else if ( d->keep_running ) { 1158 } else if ( d->keep_running ) {
1159#ifdef Q_WS_QWS 1159#ifdef Q_WS_QWS
1160 if ( !nomaximize ) 1160 if ( !nomaximize )
1161 mw->showMaximized(); 1161 mw->showMaximized();
1162 else 1162 else
1163#endif 1163#endif
1164 mw->show(); 1164 mw->show();
1165 } 1165 }
1166} 1166}
1167 1167
1168/*! 1168/*!
1169 Sets \a mw as the mainWidget() and shows it. For small windows, 1169 Sets \a mw as the mainWidget() and shows it. For small windows,
1170 consider passing TRUE for \a nomaximize rather than the default FALSE. 1170 consider passing TRUE for \a nomaximize rather than the default FALSE.
1171 1171
1172 This calls designates the application as 1172 This calls designates the application as
1173 a \link docwidget.html document-oriented\endlink application. 1173 a \link docwidget.html document-oriented\endlink application.
1174 1174
1175 The \a mw widget must have a slot: setDocument(const QString&). 1175 The \a mw widget must have a slot: setDocument(const QString&).
1176 1176
1177 \sa showMainWidget() 1177 \sa showMainWidget()
1178*/ 1178*/
1179void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize ) 1179void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize )
1180{ 1180{
1181 setWidgetCaptionFromAppName( mw, d->appName, qpeDir() + "apps" ); 1181 setWidgetCaptionFromAppName( mw, d->appName, qpeDir() + "apps" );
1182 1182
1183 if ( mw && argc() == 2 ) 1183 if ( mw && argc() == 2 )
1184 Global::setDocument( mw, QString::fromUtf8(argv()[1]) ); 1184 Global::setDocument( mw, QString::fromUtf8(argv()[1]) );
1185 d->nomaximize = nomaximize; 1185 d->nomaximize = nomaximize;
1186 d->qpe_main_widget = mw; 1186 d->qpe_main_widget = mw;
1187 d->sendQCopQ(); 1187 d->sendQCopQ();
1188 if ( d->preloaded ) { 1188 if ( d->preloaded ) {
1189 if(d->forceshow) { 1189 if(d->forceshow) {
1190#ifdef Q_WS_QWS 1190#ifdef Q_WS_QWS
1191 if ( !nomaximize ) 1191 if ( !nomaximize )
1192 mw->showMaximized(); 1192 mw->showMaximized();
1193 else 1193 else
1194#endif 1194#endif
1195 mw->show(); 1195 mw->show();
1196 } 1196 }
1197 } else if ( d->keep_running ) { 1197 } else if ( d->keep_running ) {
1198#ifdef Q_WS_QWS 1198#ifdef Q_WS_QWS
1199 if ( !nomaximize ) 1199 if ( !nomaximize )
1200 mw->showMaximized(); 1200 mw->showMaximized();
1201 else 1201 else
1202#endif 1202#endif
1203 mw->show(); 1203 mw->show();
1204 } 1204 }
1205} 1205}
1206 1206
1207 1207
1208/*! 1208/*!
1209 Sets that the application should continue running after processing 1209 Sets that the application should continue running after processing
1210 qcop messages. Normally if an application is started via a qcop message, 1210 qcop messages. Normally if an application is started via a qcop message,
1211 the application will process the qcop message and then quit. If while 1211 the application will process the qcop message and then quit. If while
1212 processing the qcop message it calls this function, then the application 1212 processing the qcop message it calls this function, then the application
1213 will show and start proper once it has finished processing qcop messages. 1213 will show and start proper once it has finished processing qcop messages.
1214 1214
1215 \sa keepRunning() 1215 \sa keepRunning()
1216*/ 1216*/
1217void QPEApplication::setKeepRunning() 1217void QPEApplication::setKeepRunning()
1218{ 1218{
1219 if ( qApp && qApp->inherits( "QPEApplication" ) ) { 1219 if ( qApp && qApp->inherits( "QPEApplication" ) ) {
1220 QPEApplication *qpeApp = (QPEApplication*)qApp; 1220 QPEApplication *qpeApp = (QPEApplication*)qApp;
1221 qpeApp->d->keep_running = TRUE; 1221 qpeApp->d->keep_running = TRUE;
1222 } 1222 }
1223} 1223}
1224 1224
1225/*! 1225/*!
1226 Returns whether the application will quit after processing the current 1226 Returns whether the application will quit after processing the current
1227 list of qcop messages. 1227 list of qcop messages.
1228 1228
1229 \sa setKeepRunning() 1229 \sa setKeepRunning()
1230*/ 1230*/
1231bool QPEApplication::keepRunning() const 1231bool QPEApplication::keepRunning() const
1232{ 1232{
1233 return d->keep_running; 1233 return d->keep_running;
1234} 1234}
1235 1235
1236/*! 1236/*!
1237 \internal 1237 \internal
1238*/ 1238*/
1239void QPEApplication::internalSetStyle( const QString &style ) 1239void QPEApplication::internalSetStyle( const QString &style )
1240{ 1240{
1241#if QT_VERSION >= 300 1241#if QT_VERSION >= 300
1242 if ( style == "QPE" ) { 1242 if ( style == "QPE" ) {
1243 setStyle( new QPEStyle ); 1243 setStyle( new QPEStyle );
1244 } else { 1244 } else {
1245 QStyle *s = QStyleFactory::create(style); 1245 QStyle *s = QStyleFactory::create(style);
1246 if ( s ) setStyle(s); 1246 if ( s ) setStyle(s);
1247 } 1247 }
1248#else 1248#else
1249 if ( style == "Windows" ) { 1249 if ( style == "Windows" ) {
1250 setStyle( new QWindowsStyle ); 1250 setStyle( new QWindowsStyle );
1251 } else if ( style == "QPE" ) { 1251 } else if ( style == "QPE" ) {
1252 setStyle( new QPEStyle ); 1252 setStyle( new QPEStyle );
1253 } else if ( style == "Light" ) { 1253 } else if ( style == "Light" ) {
1254 setStyle( new LightStyle ); 1254 setStyle( new LightStyle );
1255 } 1255 }
1256#ifndef QT_NO_STYLE_PLATINUM 1256#ifndef QT_NO_STYLE_PLATINUM
1257 else if ( style == "Platinum" ) { 1257 else if ( style == "Platinum" ) {
1258 setStyle( new QPlatinumStyle ); 1258 setStyle( new QPlatinumStyle );
1259 } 1259 }
1260#endif 1260#endif
1261#ifndef QT_NO_STYLE_MOTIF 1261#ifndef QT_NO_STYLE_MOTIF
1262 else if ( style == "Motif" ) { 1262 else if ( style == "Motif" ) {
1263 setStyle( new QMotifStyle ); 1263 setStyle( new QMotifStyle );
1264 } 1264 }
1265#endif 1265#endif
1266#ifndef QT_NO_STYLE_MOTIFPLUS 1266#ifndef QT_NO_STYLE_MOTIFPLUS
1267 else if ( style == "MotifPlus" ) { 1267 else if ( style == "MotifPlus" ) {
1268 setStyle( new QMotifPlusStyle ); 1268 setStyle( new QMotifPlusStyle );
1269 } 1269 }
1270#endif 1270#endif
1271#endif 1271#endif
1272} 1272}
1273 1273
1274/*! 1274/*!
1275 \internal 1275 \internal
1276*/ 1276*/
1277void QPEApplication::prepareForTermination(bool willrestart) 1277void QPEApplication::prepareForTermination(bool willrestart)
1278{ 1278{
1279 if ( willrestart ) { 1279 if ( willrestart ) {
1280 // Draw a big wait icon, the image can be altered in later revisions 1280 // Draw a big wait icon, the image can be altered in later revisions
1281 //QWidget *d = QApplication::desktop(); 1281 //QWidget *d = QApplication::desktop();
1282 QImage img = Resource::loadImage( "wait" ); 1282 QImage img = Resource::loadImage( "launcher/new_wait" );
1283 QPixmap pix; 1283 QPixmap pix;
1284 pix.convertFromImage(img.smoothScale(3*img.width(), 3*img.height())); 1284 pix.convertFromImage(img.smoothScale(1*img.width(), 1*img.height()));
1285 QLabel *lblWait = new QLabel(0, "wait hack!", QWidget::WStyle_Customize | 1285 QLabel *lblWait = new QLabel(0, "wait hack!", QWidget::WStyle_Customize |
1286 QWidget::WStyle_NoBorder | QWidget::WStyle_Tool ); 1286 QWidget::WStyle_NoBorder | QWidget::WStyle_Tool );
1287 lblWait->setPixmap( pix ); 1287 lblWait->setPixmap( pix );
1288 lblWait->setAlignment( QWidget::AlignCenter ); 1288 lblWait->setAlignment( QWidget::AlignCenter );
1289 lblWait->show(); 1289 lblWait->show();
1290 lblWait->showMaximized(); 1290 lblWait->showMaximized();
1291 } 1291 }
1292#ifndef SINGLE_APP 1292#ifndef SINGLE_APP
1293 { QCopEnvelope envelope("QPE/System", "forceQuit()"); } 1293 { QCopEnvelope envelope("QPE/System", "forceQuit()"); }
1294 processEvents(); // ensure the message goes out. 1294 processEvents(); // ensure the message goes out.
1295 sleep(1); // You have 1 second to comply. 1295 sleep(1); // You have 1 second to comply.
1296#endif 1296#endif
1297} 1297}
1298 1298
1299/*! 1299/*!
1300 \internal 1300 \internal
1301*/ 1301*/
1302void QPEApplication::shutdown() 1302void QPEApplication::shutdown()
1303{ 1303{
1304 // Implement in server's QPEApplication subclass 1304 // Implement in server's QPEApplication subclass
1305} 1305}
1306 1306
1307/*! 1307/*!
1308 \internal 1308 \internal
1309*/ 1309*/
1310void QPEApplication::restart() 1310void QPEApplication::restart()
1311{ 1311{
1312 // Implement in server's QPEApplication subclass 1312 // Implement in server's QPEApplication subclass
1313} 1313}
1314 1314
1315static QPtrDict<void>* stylusDict=0; 1315static QPtrDict<void>* stylusDict=0;
1316static void createDict() 1316static void createDict()
1317{ 1317{
1318 if ( !stylusDict ) 1318 if ( !stylusDict )
1319 stylusDict = new QPtrDict<void>; 1319 stylusDict = new QPtrDict<void>;
1320} 1320}
1321 1321
1322/*! 1322/*!
1323 Returns the current StylusMode for \a w. 1323 Returns the current StylusMode for \a w.
1324 1324
1325 \sa setStylusOperation() 1325 \sa setStylusOperation()
1326*/ 1326*/
1327QPEApplication::StylusMode QPEApplication::stylusOperation( QWidget* w ) 1327QPEApplication::StylusMode QPEApplication::stylusOperation( QWidget* w )
1328{ 1328{
1329 if ( stylusDict ) 1329 if ( stylusDict )
1330 return (StylusMode)(int)stylusDict->find(w); 1330 return (StylusMode)(int)stylusDict->find(w);
1331 return LeftOnly; 1331 return LeftOnly;
1332} 1332}
1333 1333
1334/*! 1334/*!
1335 \enum QPEApplication::StylusMode 1335 \enum QPEApplication::StylusMode
1336 1336
1337 \value LeftOnly the stylus only generates LeftButton 1337 \value LeftOnly the stylus only generates LeftButton
1338 events (the default). 1338 events (the default).
1339 \value RightOnHold the stylus generates RightButton events 1339 \value RightOnHold the stylus generates RightButton events
1340 if the user uses the press-and-hold gesture. 1340 if the user uses the press-and-hold gesture.
1341 1341
1342 See setStylusOperation(). 1342 See setStylusOperation().
1343*/ 1343*/
1344 1344
1345/*! 1345/*!
1346 Causes \a w to receive mouse events according to \a mode. 1346 Causes \a w to receive mouse events according to \a mode.
1347 1347
1348 \sa stylusOperation() 1348 \sa stylusOperation()
1349*/ 1349*/
1350void QPEApplication::setStylusOperation( QWidget* w, StylusMode mode ) 1350void QPEApplication::setStylusOperation( QWidget* w, StylusMode mode )
1351{ 1351{
1352 createDict(); 1352 createDict();
1353 if ( mode == LeftOnly ) { 1353 if ( mode == LeftOnly ) {
1354 stylusDict->remove(w); 1354 stylusDict->remove(w);
1355 w->removeEventFilter(qApp); 1355 w->removeEventFilter(qApp);
1356 } else { 1356 } else {
1357 stylusDict->insert(w,(void*)mode); 1357 stylusDict->insert(w,(void*)mode);
1358 connect(w,SIGNAL(destroyed()),qApp,SLOT(removeSenderFromStylusDict())); 1358 connect(w,SIGNAL(destroyed()),qApp,SLOT(removeSenderFromStylusDict()));
1359 w->installEventFilter(qApp); 1359 w->installEventFilter(qApp);
1360 } 1360 }
1361} 1361}
1362 1362
1363 1363
1364/*! 1364/*!
1365 \reimp 1365 \reimp
1366*/ 1366*/
1367bool QPEApplication::eventFilter( QObject *o, QEvent *e ) 1367bool QPEApplication::eventFilter( QObject *o, QEvent *e )
1368{ 1368{
1369 if ( stylusDict && e->type() >= QEvent::MouseButtonPress && e->type() <= QEvent::MouseMove ) { 1369 if ( stylusDict && e->type() >= QEvent::MouseButtonPress && e->type() <= QEvent::MouseMove ) {
1370 QMouseEvent* me = (QMouseEvent*)e; 1370 QMouseEvent* me = (QMouseEvent*)e;
1371 if ( me->button() == LeftButton ) { 1371 if ( me->button() == LeftButton ) {
1372 StylusMode mode = (StylusMode)(int)stylusDict->find(o); 1372 StylusMode mode = (StylusMode)(int)stylusDict->find(o);
1373 switch (mode) { 1373 switch (mode) {
1374 case RightOnHold: 1374 case RightOnHold:
1375 switch ( me->type() ) { 1375 switch ( me->type() ) {
1376 case QEvent::MouseButtonPress: 1376 case QEvent::MouseButtonPress:
1377 d->presstimer = startTimer(500); // #### pref. 1377 d->presstimer = startTimer(500); // #### pref.
1378 d->presswidget = (QWidget*)o; 1378 d->presswidget = (QWidget*)o;
1379 d->presspos = me->pos(); 1379 d->presspos = me->pos();
1380 d->rightpressed = FALSE; 1380 d->rightpressed = FALSE;
1381 break; 1381 break;
1382 case QEvent::MouseButtonRelease: 1382 case QEvent::MouseButtonRelease:
1383 if ( d->presstimer ) { 1383 if ( d->presstimer ) {
1384 killTimer(d->presstimer); 1384 killTimer(d->presstimer);
1385 d->presstimer = 0; 1385 d->presstimer = 0;
1386 } 1386 }
1387 if ( d->rightpressed && d->presswidget ) { 1387 if ( d->rightpressed && d->presswidget ) {
1388 // Right released 1388 // Right released
1389 postEvent( d->presswidget, 1389 postEvent( d->presswidget,
1390 new QMouseEvent( QEvent::MouseButtonRelease, me->pos(), 1390 new QMouseEvent( QEvent::MouseButtonRelease, me->pos(),
1391 RightButton, LeftButton+RightButton ) ); 1391 RightButton, LeftButton+RightButton ) );
1392 // Left released, off-widget 1392 // Left released, off-widget
1393 postEvent( d->presswidget, 1393 postEvent( d->presswidget,
1394 new QMouseEvent( QEvent::MouseMove, QPoint(-1,-1), 1394 new QMouseEvent( QEvent::MouseMove, QPoint(-1,-1),
1395 LeftButton, LeftButton ) ); 1395 LeftButton, LeftButton ) );
1396 postEvent( d->presswidget, 1396 postEvent( d->presswidget,
1397 new QMouseEvent( QEvent::MouseButtonRelease, QPoint(-1,-1), 1397 new QMouseEvent( QEvent::MouseButtonRelease, QPoint(-1,-1),
1398 LeftButton, LeftButton ) ); 1398 LeftButton, LeftButton ) );
1399 d->rightpressed = FALSE; 1399 d->rightpressed = FALSE;
1400 return TRUE; // don't send the real Left release 1400 return TRUE; // don't send the real Left release
1401 } 1401 }
1402 break; 1402 break;
1403 default: 1403 default:
1404 break; 1404 break;
1405 } 1405 }
1406 break; 1406 break;
1407 default: 1407 default:
1408 ; 1408 ;
1409 } 1409 }
1410 } 1410 }
1411 } else if ( e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease ) { 1411 } else if ( e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease ) {
1412 QKeyEvent *ke = (QKeyEvent *)e; 1412 QKeyEvent *ke = (QKeyEvent *)e;
1413 if ( ke->key() == Key_Enter ) { 1413 if ( ke->key() == Key_Enter ) {
1414 if ( o->isA( "QRadioButton" ) || o->isA( "QCheckBox" ) ) { 1414 if ( o->isA( "QRadioButton" ) || o->isA( "QCheckBox" ) ) {
1415 postEvent( o, new QKeyEvent( e->type(), Key_Space, ' ', 1415 postEvent( o, new QKeyEvent( e->type(), Key_Space, ' ',
1416 ke->state(), " ", ke->isAutoRepeat(), ke->count() ) ); 1416 ke->state(), " ", ke->isAutoRepeat(), ke->count() ) );
1417 return TRUE; 1417 return TRUE;
1418 } 1418 }
1419 } 1419 }
1420 } 1420 }
1421 1421
1422 return FALSE; 1422 return FALSE;
1423} 1423}
1424 1424
1425/*! 1425/*!
1426 \reimp 1426 \reimp
1427*/ 1427*/
1428void QPEApplication::timerEvent( QTimerEvent *e ) 1428void QPEApplication::timerEvent( QTimerEvent *e )
1429{ 1429{
1430 if ( e->timerId() == d->presstimer && d->presswidget ) { 1430 if ( e->timerId() == d->presstimer && d->presswidget ) {
1431 // Right pressed 1431 // Right pressed
1432 postEvent( d->presswidget, 1432 postEvent( d->presswidget,
1433 new QMouseEvent( QEvent::MouseButtonPress, d->presspos, 1433 new QMouseEvent( QEvent::MouseButtonPress, d->presspos,
1434 RightButton, LeftButton ) ); 1434 RightButton, LeftButton ) );
1435 killTimer( d->presstimer ); 1435 killTimer( d->presstimer );
1436 d->presstimer = 0; 1436 d->presstimer = 0;
1437 d->rightpressed = TRUE; 1437 d->rightpressed = TRUE;
1438 } 1438 }
1439} 1439}
1440 1440
1441void QPEApplication::removeSenderFromStylusDict() 1441void QPEApplication::removeSenderFromStylusDict()
1442{ 1442{
1443 stylusDict->remove((void*)sender()); 1443 stylusDict->remove((void*)sender());
1444 if ( d->presswidget == sender() ) 1444 if ( d->presswidget == sender() )
1445 d->presswidget = 0; 1445 d->presswidget = 0;
1446} 1446}
1447 1447
1448/*! 1448/*!
1449 \internal 1449 \internal
1450*/ 1450*/
1451bool QPEApplication::keyboardGrabbed() const 1451bool QPEApplication::keyboardGrabbed() const
1452{ 1452{
1453 return d->kbgrabber; 1453 return d->kbgrabber;
1454} 1454}
1455 1455
1456 1456
1457/*! 1457/*!
1458 Reverses the effect of grabKeyboard(). This is called automatically 1458 Reverses the effect of grabKeyboard(). This is called automatically
1459 on program exit. 1459 on program exit.
1460*/ 1460*/
1461void QPEApplication::ungrabKeyboard() 1461void QPEApplication::ungrabKeyboard()
1462{ 1462{
1463 QPEApplicationData* d = ((QPEApplication*)qApp)->d; 1463 QPEApplicationData* d = ((QPEApplication*)qApp)->d;
1464 if ( d->kbgrabber == 2 ) { 1464 if ( d->kbgrabber == 2 ) {
1465 QCopEnvelope e("QPE/System", "grabKeyboard(QString)" ); 1465 QCopEnvelope e("QPE/System", "grabKeyboard(QString)" );
1466 e << QString::null; 1466 e << QString::null;
1467 d->kbregrab = FALSE; 1467 d->kbregrab = FALSE;
1468 d->kbgrabber = 0; 1468 d->kbgrabber = 0;
1469 } 1469 }
1470} 1470}
1471 1471
1472/*! 1472/*!
1473 Grabs the keyboard such that the system's application launching 1473 Grabs the keyboard such that the system's application launching
1474 keys no longer work, and instead they are receivable by this 1474 keys no longer work, and instead they are receivable by this
1475 application. 1475 application.
1476 1476
diff --git a/pics/launcher/new_wait.png b/pics/launcher/new_wait.png
new file mode 100644
index 0000000..ef65056
--- a/dev/null
+++ b/pics/launcher/new_wait.png
Binary files differ