summaryrefslogtreecommitdiff
path: root/core
Unidiff
Diffstat (limited to 'core') (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/server.cpp467
1 files changed, 255 insertions, 212 deletions
diff --git a/core/launcher/server.cpp b/core/launcher/server.cpp
index 5ae517b..3bef36e 100644
--- a/core/launcher/server.cpp
+++ b/core/launcher/server.cpp
@@ -234,3 +234,2 @@ void Server::activate(const ODeviceButton* button, bool held)
234 234
235
236typedef struct KeyOverride { 235typedef struct KeyOverride {
@@ -242,22 +241,22 @@ typedef struct KeyOverride {
242static const KeyOverride jp109keys[] = { 241static const KeyOverride jp109keys[] = {
243 { 0x03, { Qt::Key_2, '2' , 0x22 , 0xffff } }, 242 { 0x03, { Qt::Key_2, '2' , 0x22 , 0xffff } },
244 { 0x07, { Qt::Key_6, '6' , '&' , 0xffff } }, 243 { 0x07, { Qt::Key_6, '6' , '&' , 0xffff } },
245 { 0x08, { Qt::Key_7, '7' , '\'' , 0xffff } }, 244 { 0x08, { Qt::Key_7, '7' , '\'' , 0xffff } },
246 { 0x09, { Qt::Key_8, '8' , '(' , 0xffff } }, 245 { 0x09, { Qt::Key_8, '8' , '(' , 0xffff } },
247 { 0x0a, { Qt::Key_9, '9' , ')' , 0xffff } }, 246 { 0x0a, { Qt::Key_9, '9' , ')' , 0xffff } },
248 { 0x0b, { Qt::Key_0, '0' , 0xffff , 0xffff } }, 247 { 0x0b, { Qt::Key_0, '0' , 0xffff, 0xffff } },
249 { 0x0c, { Qt::Key_Minus, '-' , '=' , 0xffff } }, 248 { 0x0c, { Qt::Key_Minus, '-' , '=' , 0xffff } },
250 { 0x0d, { Qt::Key_AsciiCircum,'^' , '~' , '^' - 64 } }, 249 { 0x0d, { Qt::Key_AsciiCircum, '^' , '~' , '^'-64 } },
251 { 0x1a, { Qt::Key_At, '@' , '`' , 0xffff } }, 250 { 0x1a, { Qt::Key_At, '@' , '`' , 0xffff } },
252 { 0x1b, { Qt::Key_BraceLeft, '[' , '{' , '[' - 64 } }, 251 { 0x1b, { Qt::Key_BraceLeft, '[' , '{' , '['-64 } },
253 { 0x27, { Qt::Key_Semicolon, ';' , '+' , 0xffff } }, 252 { 0x27, { Qt::Key_Semicolon, ';' , '+' , 0xffff } },
254 { 0x28, { Qt::Key_Colon, ':' , '*' , 0xffff } }, 253 { 0x28, { Qt::Key_Colon, ':' , '*' , 0xffff } },
255 { 0x29, { Qt::Key_Zenkaku_Hankaku, 0xffff , 0xffff , 0xffff } }, 254 { 0x29, { Qt::Key_Zenkaku_Hankaku, 0xffff, 0xffff, 0xffff } },
256 { 0x2b, { Qt::Key_BraceRight, ']' , '}' , ']'-64 } }, 255 { 0x2b, { Qt::Key_BraceRight, ']' , '}' , ']'-64 } },
257 { 0x70, { Qt::Key_Hiragana_Katakana, 0xffff , 0xffff , 0xffff } }, 256 { 0x70, { Qt::Key_Hiragana_Katakana, 0xffff, 0xffff, 0xffff } },
258 { 0x73, { Qt::Key_Backslash, '\\' , '_' , 0xffff } }, 257 { 0x73, { Qt::Key_Backslash, '\\' , '_' , 0xffff } },
259 { 0x79, { Qt::Key_Henkan, 0xffff , 0xffff , 0xffff } }, 258 { 0x79, { Qt::Key_Henkan, 0xffff, 0xffff, 0xffff } },
260 { 0x7b, { Qt::Key_Muhenkan, 0xffff , 0xffff , 0xffff } }, 259 { 0x7b, { Qt::Key_Muhenkan, 0xffff, 0xffff, 0xffff } },
261 { 0x7d, { Qt::Key_yen, 0x00a5 , '|' , 0xffff } }, 260 { 0x7d, { Qt::Key_yen, 0x00a5, '|' , 0xffff } },
262 { 0x00, { 0, 0xffff , 0xffff , 0xffff } } 261 { 0x00, { 0, 0xffff, 0xffff, 0xffff } }
263}; 262};
@@ -283,3 +282,2 @@ bool Server::setKeyboardLayout( const QString &kb )
283} 282}
284
285#endif 283#endif
@@ -293,63 +291,80 @@ void Server::systemMsg(const QCString &msg, const QByteArray &data)
293 transferServer->authorizeConnections(); 291 transferServer->authorizeConnections();
292
294 if ( qcopBridge ) 293 if ( qcopBridge )
295 qcopBridge->authorizeConnections(); 294 qcopBridge->authorizeConnections();
296 } 295 } else
297 /* ### FIXME support TempScreenSaverMode */ 296
298#if 0 297#if 0
299 else if ( msg == "setTempScreenSaverMode(int,int)" ) { 298 /* ### FIXME support TempScreenSaverMode */
300 int mode, pid; 299 if ( msg == "setTempScreenSaverMode(int,int)" ) {
301 stream >> mode >> pid; 300 int mode, pid;
302 tsmMonitor->setTempMode(mode, pid); 301 stream >> mode >> pid;
303 } 302 tsmMonitor->setTempMode(mode, pid);
303 } else
304#endif 304#endif
305 else if ( msg == "linkChanged(QString)" ) { 305
306 QString link; 306 if ( msg == "linkChanged(QString)" ) {
307 stream >> link; 307 QString link;
308 odebug << "desktop.cpp systemMsg -> linkchanged( " << link << " )" << oendl; 308 stream >> link;
309 docList->linkChanged(link); 309 odebug << "desktop.cpp systemMsg -> linkchanged( " << link << " )" << oendl;
310 } else if ( msg == "serviceChanged(QString)" ) { 310 docList->linkChanged(link);
311 MimeType::updateApplications(); 311 } else
312 } else if ( msg == "mkdir(QString)" ) { 312
313 QString dir; 313 if ( msg == "serviceChanged(QString)" ) {
314 stream >> dir; 314 MimeType::updateApplications();
315 if ( !dir.isEmpty() ) 315 } else
316 mkdir( dir ); 316
317 } else if ( msg == "rdiffGenSig(QString,QString)" ) { 317 if ( msg == "mkdir(QString)" ) {
318 QString baseFile, sigFile; 318 QString dir;
319 stream >> baseFile >> sigFile; 319 stream >> dir;
320 QRsync::generateSignature( baseFile, sigFile ); 320 if ( !dir.isEmpty() )
321 } else if ( msg == "rdiffGenDiff(QString,QString,QString)" ) { 321 mkdir( dir );
322 QString baseFile, sigFile, deltaFile; 322 } else
323 stream >> baseFile >> sigFile >> deltaFile; 323
324 QRsync::generateDiff( baseFile, sigFile, deltaFile ); 324 if ( msg == "rdiffGenSig(QString,QString)" ) {
325 } else if ( msg == "rdiffApplyPatch(QString,QString)" ) { 325 QString baseFile, sigFile;
326 QString baseFile, deltaFile; 326 stream >> baseFile >> sigFile;
327 stream >> baseFile >> deltaFile; 327 QRsync::generateSignature( baseFile, sigFile );
328 if ( !QFile::exists( baseFile ) ) { 328 } else
329 QFile f( baseFile ); 329
330 f.open( IO_WriteOnly ); 330 if ( msg == "rdiffGenDiff(QString,QString,QString)" ) {
331 f.close(); 331 QString baseFile, sigFile, deltaFile;
332 } 332 stream >> baseFile >> sigFile >> deltaFile;
333 QRsync::applyDiff( baseFile, deltaFile ); 333 QRsync::generateDiff( baseFile, sigFile, deltaFile );
334 } else
335
336 if ( msg == "rdiffApplyPatch(QString,QString)" ) {
337 QString baseFile, deltaFile;
338 stream >> baseFile >> deltaFile;
339 if ( !QFile::exists( baseFile ) ) {
340 QFile f( baseFile );
341 f.open( IO_WriteOnly );
342 f.close();
343 }
344 QRsync::applyDiff( baseFile, deltaFile );
334#ifndef QT_NO_COP 345#ifndef QT_NO_COP
335 QCopEnvelope e( "QPE/Desktop", "patchApplied(QString)" ); 346 QCopEnvelope e( "QPE/Desktop", "patchApplied(QString)" );
336 e << baseFile; 347 e << baseFile;
337#endif 348#endif
338 } else if ( msg == "rdiffCleanup()" ) { 349 } else
339 mkdir( "/tmp/rdiff" ); 350
340 QDir dir; 351 if ( msg == "rdiffCleanup()" ) {
341 dir.setPath( "/tmp/rdiff" ); 352 mkdir( "/tmp/rdiff" );
342 QStringList entries = dir.entryList(); 353 QDir dir;
343 for ( QStringList::Iterator it = entries.begin(); it != entries.end(); ++it ) 354 dir.setPath( "/tmp/rdiff" );
344 dir.remove( *it ); 355 QStringList entries = dir.entryList();
345 } else if ( msg == "sendHandshakeInfo()" ) { 356 for ( QStringList::Iterator it = entries.begin(); it != entries.end(); ++it )
346 QString home = getenv( "HOME" ); 357 dir.remove( *it );
358 } else
359
360 if ( msg == "sendHandshakeInfo()" ) {
361 QString home = getenv( "HOME" );
347#ifndef QT_NO_COP 362#ifndef QT_NO_COP
348 QCopEnvelope e( "QPE/Desktop", "handshakeInfo(QString,bool)" ); 363 QCopEnvelope e( "QPE/Desktop", "handshakeInfo(QString,bool)" );
349 e << home; 364 e << home;
350 int locked = (int) ServerApplication::screenLocked(); 365 int locked = (int) ServerApplication::screenLocked();
351 e << locked; 366 e << locked;
352#endif 367#endif
368 } else
353 369
354 }
355 /* 370 /*
@@ -360,98 +375,119 @@ void Server::systemMsg(const QCString &msg, const QByteArray &data)
360 */ 375 */
361 else if ( msg == "sendVersionInfo()" ) { 376 if ( msg == "sendVersionInfo()" ) {
362 QCopEnvelope e( "QPE/Desktop", "versionInfo(QString,QString)" ); 377 QCopEnvelope e( "QPE/Desktop", "versionInfo(QString,QString)" );
363 /* ### FIXME Architecture ### */ 378 /* ### FIXME Architecture ### */
364 e << QString::fromLatin1("1.7") << "Uncustomized Device"; 379 e << QString::fromLatin1("1.7") << "Uncustomized Device";
365 } else if ( msg == "sendCardInfo()" ) { 380 } else
381
382 if ( msg == "sendCardInfo()" ) {
366#ifndef QT_NO_COP 383#ifndef QT_NO_COP
367 QCopEnvelope e( "QPE/Desktop", "cardInfo(QString)" ); 384 QCopEnvelope e( "QPE/Desktop", "cardInfo(QString)" );
368#endif 385#endif
369 storage->update(); 386 storage->update();
370 const QList<FileSystem> &fs = storage->fileSystems(); 387 const QList<FileSystem> &fs = storage->fileSystems();
371 QListIterator<FileSystem> it ( fs ); 388 QListIterator<FileSystem> it ( fs );
372 QString s; 389 QString s;
373 QString homeDir = getenv("HOME"); 390 QString homeDir = getenv("HOME");
374 QString homeFs, homeFsPath; 391 QString homeFs, homeFsPath;
375 for ( ; it.current(); ++it ) { 392 for ( ; it.current(); ++it ) {
376 int k4 = (*it)->blockSize()/256; 393 int k4 = (*it)->blockSize()/256;
377 if ( (*it)->isRemovable() ) { 394 if ( (*it)->isRemovable() ) {
378 s += (*it)->name() + "=" + (*it)->path() + "/Documents " // No tr 395 s += (*it)->name() + "=" + (*it)->path() + "/Documents " // No tr
379 + QString::number( (*it)->availBlocks() * k4/4 ) 396 + QString::number( (*it)->availBlocks() * k4/4 )
380 + "K " + (*it)->options() + ";"; 397 + "K " + (*it)->options() + ";";
381 } else if ( homeDir.contains( (*it)->path() ) && 398 } else if ( homeDir.contains( (*it)->path() ) &&
382 (*it)->path().length() > homeFsPath.length() ) { 399 (*it)->path().length() > homeFsPath.length() ) {
383 homeFsPath = (*it)->path(); 400 homeFsPath = (*it)->path();
384 homeFs = 401 homeFs =
385 (*it)->name() + "=" + homeDir + "/Documents " // No tr 402 (*it)->name() + "=" + homeDir + "/Documents " // No tr
386 + QString::number( (*it)->availBlocks() * k4/4 ) 403 + QString::number( (*it)->availBlocks() * k4/4 )
387 + "K " + (*it)->options() + ";"; 404 + "K " + (*it)->options() + ";";
405 }
388 } 406 }
389 } 407 if ( !homeFs.isEmpty() )
390 if ( !homeFs.isEmpty() ) 408 s += homeFs;
391 s += homeFs;
392
393#ifndef QT_NO_COP 409#ifndef QT_NO_COP
394 e << s; 410 e << s;
395#endif 411#endif
396 } else if ( msg == "sendSyncDate(QString)" ) { 412 } else
397 QString app; 413
398 stream >> app; 414 if ( msg == "sendSyncDate(QString)" ) {
399 Config cfg( "qpe" ); 415 QString app;
400 cfg.setGroup("SyncDate"); 416 stream >> app;
417 Config cfg( "qpe" );
418 cfg.setGroup("SyncDate");
401#ifndef QT_NO_COP 419#ifndef QT_NO_COP
402 QCopEnvelope e( "QPE/Desktop", "syncDate(QString,QString)" ); 420 QCopEnvelope e( "QPE/Desktop", "syncDate(QString,QString)" );
403 e << app << cfg.readEntry( app ); 421 e << app << cfg.readEntry( app );
404#endif 422#endif
405 //odebug << "QPE/System sendSyncDate for " << app.latin1() << ": response " 423 //odebug << "QPE/System sendSyncDate for " << app.latin1() << ": response "
406 // << cfg.readEntry( app ).latin1() << oendl; 424 // << cfg.readEntry( app ).latin1() << oendl;
407 } else if ( msg == "setSyncDate(QString,QString)" ) { 425 } else
408 QString app, date; 426
409 stream >> app >> date; 427 if ( msg == "setSyncDate(QString,QString)" ) {
410 Config cfg( "qpe" ); 428 QString app, date;
411 cfg.setGroup("SyncDate"); 429 stream >> app >> date;
412 cfg.writeEntry( app, date ); 430 Config cfg( "qpe" );
413 //odebug << "setSyncDate(QString,QString) " << app << " " << date << "" << oendl; 431 cfg.setGroup("SyncDate");
414 } else if ( msg == "startSync(QString)" ) { 432 cfg.writeEntry( app, date );
415 QString what; 433 //odebug << "setSyncDate(QString,QString) " << app << " " << date << "" << oendl;
416 stream >> what; 434 } else
417 delete syncDialog; 435
418 syncDialog = new SyncDialog( this, what ); 436 if ( msg == "startSync(QString)" ) {
419 syncDialog->show(); 437 QString what;
420 connect( syncDialog, SIGNAL(cancel()), SLOT(cancelSync()) ); 438 stream >> what;
421 } else if ( msg == "stopSync()") { 439 delete syncDialog;
422 delete syncDialog; 440 syncDialog = new SyncDialog( this, what );
423 syncDialog = 0; 441 syncDialog->show();
424 } else if (msg == "restoreDone(QString)") { 442 connect( syncDialog, SIGNAL(cancel()), SLOT(cancelSync()) );
425 docList->restoreDone(); 443 } else
426 } else if ( msg == "getAllDocLinks()" ) { 444
427 docList->sendAllDocLinks(); 445 if ( msg == "stopSync()") {
428 } 446 delete syncDialog;
447 syncDialog = 0;
448 } else
449
450 if (msg == "restoreDone(QString)") {
451 docList->restoreDone();
452 } else
453
454 if ( msg == "getAllDocLinks()" ) {
455 docList->sendAllDocLinks();
456 } else
457
429#ifdef Q_WS_QWS 458#ifdef Q_WS_QWS
430 else if ( msg == "setMouseProto(QString)" ) { 459 if ( msg == "setMouseProto(QString)" ) {
431 QString mice; 460 QString mice;
432 stream >> mice; 461 stream >> mice;
433 setenv("QWS_MOUSE_PROTO",mice.latin1(),1); 462 setenv("QWS_MOUSE_PROTO",mice.latin1(),1);
434 qwsServer->openMouse(); 463 qwsServer->openMouse();
435 } else if ( msg == "setKeyboard(QString)" ) { 464 } else
436 QString kb; 465
437 stream >> kb; 466 if ( msg == "setKeyboard(QString)" ) {
438 setenv("QWS_KEYBOARD",kb.latin1(),1); 467 QString kb;
439 qwsServer->openKeyboard(); 468 stream >> kb;
440 469 setenv("QWS_KEYBOARD",kb.latin1(),1);
441 } else if ( msg == "setKeyboardAutoRepeat(int,int)" ) { 470 qwsServer->openKeyboard();
442 int delay, period; 471 } else
443 stream >> delay >> period; 472
444 qwsSetKeyboardAutoRepeat( delay, period ); 473 if ( msg == "setKeyboardAutoRepeat(int,int)" ) {
445 Config cfg( "qpe" ); 474 int delay, period;
446 cfg.setGroup("Keyboard"); 475 stream >> delay >> period;
447 cfg.writeEntry( "RepeatDelay", delay ); 476 qwsSetKeyboardAutoRepeat( delay, period );
448 cfg.writeEntry( "RepeatPeriod", period ); 477 Config cfg( "qpe" );
449 } else if ( msg == "setKeyboardLayout(QString)" ) { 478 cfg.setGroup("Keyboard");
450 QString kb; 479 cfg.writeEntry( "RepeatDelay", delay );
451 stream >> kb; 480 cfg.writeEntry( "RepeatPeriod", period );
452 setKeyboardLayout( kb ); 481 } else
453 Config cfg( "qpe" ); 482
454 cfg.setGroup("Keyboard"); 483 if ( msg == "setKeyboardLayout(QString)" ) {
455 cfg.writeEntry( "Layout", kb ); 484 QString kb;
456 } else if ( msg == "autoStart(QString)" ) { 485 stream >> kb;
486 setKeyboardLayout( kb );
487 Config cfg( "qpe" );
488 cfg.setGroup("Keyboard");
489 cfg.writeEntry( "Layout", kb );
490 } else
491
492 if ( msg == "autoStart(QString)" ) {
457 QString appName; 493 QString appName;
@@ -463,3 +499,5 @@ void Server::systemMsg(const QCString &msg, const QByteArray &data)
463 } 499 }
464 } else if ( msg == "autoStart(QString,QString)" ) { 500 } else
501
502 if ( msg == "autoStart(QString,QString)" ) {
465 QString modifier, appName; 503 QString modifier, appName;
@@ -484,5 +522,7 @@ void Server::systemMsg(const QCString &msg, const QByteArray &data)
484 // case the autostart feature should be delayed 522 // case the autostart feature should be delayed
485 } else if ( msg == "autoStart(QString,QString,QString)") { 523 } else
486 QString modifier, appName, delay; 524
487 stream >> modifier >> appName >> delay; 525 if ( msg == "autoStart(QString,QString,QString)") {
526 QString modifier, appName, delay;
527 stream >> modifier >> appName >> delay;
488 Config cfg( "autostart" ); 528 Config cfg( "autostart" );
@@ -496,3 +536,2 @@ void Server::systemMsg(const QCString &msg, const QByteArray &data)
496 } 536 }
497 } else {
498 } 537 }
@@ -507,9 +546,12 @@ void Server::receiveTaskBar(const QCString &msg, const QByteArray &data)
507 if ( msg == "reloadApps()" ) { 546 if ( msg == "reloadApps()" ) {
508 docList->reloadAppLnks(); 547 docList->reloadAppLnks();
509 } else if ( msg == "soundAlarm()" ) { 548 } else
510 ServerApplication::soundAlarm(); 549
511 } 550 if ( msg == "soundAlarm()" ) {
512 else if ( msg == "setLed(int,bool)" ) { 551 ServerApplication::soundAlarm();
513 int led, status; 552 } else
514 stream >> led >> status; 553
554 if ( msg == "setLed(int,bool)" ) {
555 int led, status;
556 stream >> led >> status;
515 557
@@ -550,4 +592,4 @@ bool Server::mkdir(const QString &localPath)
550 if (dirIndex == -1) { 592 if (dirIndex == -1) {
551 //odebug << "No seperators found in path " << localPath << "" << oendl; 593 //odebug << "No seperators found in path " << localPath << "" << oendl;
552 checkedPath = QDir::currentDirPath(); 594 checkedPath = QDir::currentDirPath();
553 } 595 }
@@ -556,5 +598,5 @@ bool Server::mkdir(const QString &localPath)
556 // no more seperators found, use the local path 598 // no more seperators found, use the local path
557 if (dirIndex == -1) 599 if (dirIndex == -1) {
558 checkedPath = localPath; 600 checkedPath = localPath;
559 else { 601 } else {
560 // the next directory to check 602 // the next directory to check
@@ -587,25 +629,27 @@ void Server::startTransferServer()
587 if ( !qcopBridge ) { 629 if ( !qcopBridge ) {
588 // start qcop bridge server 630 // start qcop bridge server
589 qcopBridge = new QCopBridge( 4243 ); 631 qcopBridge = new QCopBridge( 4243 );
590 if ( qcopBridge->ok() ) { 632 if ( qcopBridge->ok() ) {
591 // ... OK 633 // ... OK
592 connect( qcopBridge, SIGNAL(connectionClosed(const QHostAddress&)), 634 connect( qcopBridge, SIGNAL(connectionClosed(const QHostAddress&)),
593 this, SLOT(syncConnectionClosed(const QHostAddress&)) ); 635 this, SLOT(syncConnectionClosed(const QHostAddress&)) );
594 } else { 636 } else {
595 delete qcopBridge; 637 delete qcopBridge;
596 qcopBridge = 0; 638 qcopBridge = 0;
597 } 639 }
598 } 640 }
641
599 if ( !transferServer ) { 642 if ( !transferServer ) {
600 // start transfer server 643 // start transfer server
601 transferServer = new TransferServer( 4242 ); 644 transferServer = new TransferServer( 4242 );
602 if ( transferServer->ok() ) { 645 if ( transferServer->ok() ) {
603 // ... OK 646 // ... OK
604 } else { 647 } else {
605 delete transferServer; 648 delete transferServer;
606 transferServer = 0; 649 transferServer = 0;
607 } 650 }
651
652 if ( !qcopBridge )
653 tid_xfer = startTimer( 2000 );
608 } 654 }
609 if ( !transferServer || !qcopBridge )
610 tid_xfer = startTimer( 2000 );
611} 655}
@@ -615,14 +659,14 @@ void Server::timerEvent( QTimerEvent *e )
615 if ( e->timerId() == tid_xfer ) { 659 if ( e->timerId() == tid_xfer ) {
616 killTimer( tid_xfer ); 660 killTimer( tid_xfer );
617 tid_xfer = 0; 661 tid_xfer = 0;
618 startTransferServer(); 662 startTransferServer();
619 } 663 }
620 /* ### FIXME today startin */
621#if 0 664#if 0
665 /* ### FIXME today startin */
622 else if ( e->timerId() == tid_today ) { 666 else if ( e->timerId() == tid_today ) {
623 QDate today = QDate::currentDate(); 667 QDate today = QDate::currentDate();
624 if ( today != last_today_show ) { 668 if ( today != last_today_show ) {
625 last_today_show = today; 669 last_today_show = today;
626 Config cfg("today"); 670 Config cfg("today");
627 cfg.setGroup("Start"); 671 cfg.setGroup("Start");
628#ifndef QPE_DEFAULT_TODAY_MODE 672#ifndef QPE_DEFAULT_TODAY_MODE
@@ -630,7 +674,7 @@ void Server::timerEvent( QTimerEvent *e )
630#endif 674#endif
631 if ( cfg.readEntry("Mode",QPE_DEFAULT_TODAY_MODE) == "Daily" ) { 675 if ( cfg.readEntry("Mode",QPE_DEFAULT_TODAY_MODE) == "Daily" ) {
632 QCopEnvelope env(Service::channel("today"),"raise()"); 676 QCopEnvelope env(Service::channel("today"),"raise()");
677 }
633 } 678 }
634 } 679 }
635 }
636#endif 680#endif
@@ -702,3 +746,3 @@ void Server::preloadApps()
702#ifndef QT_NO_COP 746#ifndef QT_NO_COP
703 QCopEnvelope e("QPE/Application/"+(*it).local8Bit(), "enablePreload()"); 747 QCopEnvelope e("QPE/Application/"+(*it).local8Bit(), "enablePreload()");
704#endif 748#endif
@@ -706,2 +750 @@ void Server::preloadApps()
706} }
707