author | sandman <sandman> | 2002-08-28 23:01:58 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-08-28 23:01:58 (UTC) |
commit | 42e4592219600d6919c93dec82635e2b64382b37 (patch) (unidiff) | |
tree | 1201ccb206b2b4176c0886a85093e6ff40cc3cbf | |
parent | c46685713eb4ef4bfd0a9dcb7eb53b883704a759 (diff) | |
download | opie-42e4592219600d6919c93dec82635e2b64382b37.zip opie-42e4592219600d6919c93dec82635e2b64382b37.tar.gz opie-42e4592219600d6919c93dec82635e2b64382b37.tar.bz2 |
- speedup for suspend: don't switch off backlight
- don't call processEvents on resume since it is not really needed anymore
-rw-r--r-- | core/launcher/desktop.cpp | 5 | ||||
-rw-r--r-- | core/launcher/main.cpp | 3 |
2 files changed, 3 insertions, 5 deletions
diff --git a/core/launcher/desktop.cpp b/core/launcher/desktop.cpp index fb10602..1ec477c 100644 --- a/core/launcher/desktop.cpp +++ b/core/launcher/desktop.cpp | |||
@@ -587,87 +587,84 @@ static void blankScreen() | |||
587 | { | 587 | { |
588 | if ( !qt_screen ) return; | 588 | if ( !qt_screen ) return; |
589 | /* Should use a big black window instead. | 589 | /* Should use a big black window instead. |
590 | QGfx* g = qt_screen->screenGfx(); | 590 | QGfx* g = qt_screen->screenGfx(); |
591 | g->fillRect(0,0,qt_screen->width(),qt_screen->height()); | 591 | g->fillRect(0,0,qt_screen->width(),qt_screen->height()); |
592 | delete g; | 592 | delete g; |
593 | */ | 593 | */ |
594 | blanked = TRUE; | 594 | blanked = TRUE; |
595 | } | 595 | } |
596 | 596 | ||
597 | static void darkScreen() | 597 | static void darkScreen() |
598 | { | 598 | { |
599 | extern void qpe_setBacklight(int); | 599 | extern void qpe_setBacklight(int); |
600 | qpe_setBacklight(0); // force off | 600 | qpe_setBacklight(0); // force off |
601 | } | 601 | } |
602 | 602 | ||
603 | 603 | ||
604 | void Desktop::togglePower() | 604 | void Desktop::togglePower() |
605 | { | 605 | { |
606 | extern void qpe_setBacklight ( int ); // We need to toggle the LCD fast - no time to send a QCop | 606 | extern void qpe_setBacklight ( int ); // We need to toggle the LCD fast - no time to send a QCop |
607 | 607 | ||
608 | static bool excllock = false; | 608 | static bool excllock = false; |
609 | 609 | ||
610 | if ( excllock ) | 610 | if ( excllock ) |
611 | return; | 611 | return; |
612 | 612 | ||
613 | excllock = true; | 613 | excllock = true; |
614 | 614 | ||
615 | bool wasloggedin = loggedin; | 615 | bool wasloggedin = loggedin; |
616 | loggedin=0; | 616 | loggedin=0; |
617 | suspendTime = QDateTime::currentDateTime(); | 617 | suspendTime = QDateTime::currentDateTime(); |
618 | 618 | ||
619 | qpe_setBacklight ( 0 ); // force LCD off | 619 | //qpe_setBacklight ( 0 ); // force LCD off (sandman: why ????) |
620 | 620 | ||
621 | if ( wasloggedin ) | 621 | if ( wasloggedin ) |
622 | blankScreen(); | 622 | blankScreen(); |
623 | 623 | ||
624 | ODevice::inst ( )-> suspend ( ); | 624 | ODevice::inst ( )-> suspend ( ); |
625 | 625 | ||
626 | QWSServer::screenSaverActivate ( false ); | 626 | QWSServer::screenSaverActivate ( false ); |
627 | 627 | ||
628 | qpe_setBacklight ( -3 ); // force LCD on | 628 | qpe_setBacklight ( -3 ); // force LCD on |
629 | 629 | ||
630 | { | 630 | { |
631 | QCopEnvelope("QPE/Card", "mtabChanged()" ); // might have changed while asleep | 631 | QCopEnvelope("QPE/Card", "mtabChanged()" ); // might have changed while asleep |
632 | } | 632 | } |
633 | 633 | ||
634 | if ( wasloggedin ) | 634 | if ( wasloggedin ) |
635 | login(TRUE); | 635 | login(TRUE); |
636 | 636 | ||
637 | execAutoStart(); | 637 | execAutoStart(); |
638 | //qcopBridge->closeOpenConnections(); | 638 | //qcopBridge->closeOpenConnections(); |
639 | //qDebug("called togglePower()!!!!!!"); | ||
640 | |||
641 | qApp-> processEvents ( ); | ||
642 | 639 | ||
643 | excllock = false; | 640 | excllock = false; |
644 | } | 641 | } |
645 | 642 | ||
646 | void Desktop::toggleLight() | 643 | void Desktop::toggleLight() |
647 | { | 644 | { |
648 | QCopEnvelope e("QPE/System", "setBacklight(int)"); | 645 | QCopEnvelope e("QPE/System", "setBacklight(int)"); |
649 | e << -2; // toggle | 646 | e << -2; // toggle |
650 | } | 647 | } |
651 | 648 | ||
652 | void Desktop::toggleSymbolInput() | 649 | void Desktop::toggleSymbolInput() |
653 | { | 650 | { |
654 | tb->toggleSymbolInput(); | 651 | tb->toggleSymbolInput(); |
655 | } | 652 | } |
656 | 653 | ||
657 | void Desktop::toggleNumLockState() | 654 | void Desktop::toggleNumLockState() |
658 | { | 655 | { |
659 | tb->toggleNumLockState(); | 656 | tb->toggleNumLockState(); |
660 | } | 657 | } |
661 | 658 | ||
662 | void Desktop::toggleCapsLockState() | 659 | void Desktop::toggleCapsLockState() |
663 | { | 660 | { |
664 | tb->toggleCapsLockState(); | 661 | tb->toggleCapsLockState(); |
665 | } | 662 | } |
666 | 663 | ||
667 | void Desktop::styleChange( QStyle &s ) | 664 | void Desktop::styleChange( QStyle &s ) |
668 | { | 665 | { |
669 | QWidget::styleChange( s ); | 666 | QWidget::styleChange( s ); |
670 | int displayw = qApp->desktop()->width(); | 667 | int displayw = qApp->desktop()->width(); |
671 | int displayh = qApp->desktop()->height(); | 668 | int displayh = qApp->desktop()->height(); |
672 | 669 | ||
673 | QSize sz = tb->sizeHint(); | 670 | QSize sz = tb->sizeHint(); |
diff --git a/core/launcher/main.cpp b/core/launcher/main.cpp index 3ee5e26..5cf624b 100644 --- a/core/launcher/main.cpp +++ b/core/launcher/main.cpp | |||
@@ -323,64 +323,65 @@ int initApplication( int argc, char ** argv ) | |||
323 | Calibrate *cal = new Calibrate; | 323 | Calibrate *cal = new Calibrate; |
324 | cal->exec(); | 324 | cal->exec(); |
325 | delete cal; | 325 | delete cal; |
326 | } | 326 | } |
327 | #endif | 327 | #endif |
328 | 328 | ||
329 | d->show(); | 329 | d->show(); |
330 | 330 | ||
331 | int rv = a.exec(); | 331 | int rv = a.exec(); |
332 | 332 | ||
333 | delete d; | 333 | delete d; |
334 | 334 | ||
335 | return rv; | 335 | return rv; |
336 | } | 336 | } |
337 | 337 | ||
338 | static const char *pidfile_path = "/var/run/opie.pid"; | 338 | static const char *pidfile_path = "/var/run/opie.pid"; |
339 | 339 | ||
340 | void create_pidfile ( ) | 340 | void create_pidfile ( ) |
341 | { | 341 | { |
342 | FILE *f; | 342 | FILE *f; |
343 | 343 | ||
344 | if (( f = ::fopen ( pidfile_path, "w" ))) { | 344 | if (( f = ::fopen ( pidfile_path, "w" ))) { |
345 | ::fprintf ( f, "%d", getpid ( )); | 345 | ::fprintf ( f, "%d", getpid ( )); |
346 | ::fclose ( f ); | 346 | ::fclose ( f ); |
347 | } | 347 | } |
348 | } | 348 | } |
349 | 349 | ||
350 | void remove_pidfile ( ) | 350 | void remove_pidfile ( ) |
351 | { | 351 | { |
352 | ::unlink ( pidfile_path ); | 352 | ::unlink ( pidfile_path ); |
353 | } | 353 | } |
354 | 354 | ||
355 | void handle_sigterm ( int sig ) | 355 | void handle_sigterm ( int /* sig */ ) |
356 | { | 356 | { |
357 | if ( qApp ) | 357 | if ( qApp ) |
358 | qApp-> quit ( ); | 358 | qApp-> quit ( ); |
359 | } | 359 | } |
360 | 360 | ||
361 | int main( int argc, char ** argv ) | 361 | int main( int argc, char ** argv ) |
362 | { | 362 | { |
363 | #ifndef SINGLE_APP | 363 | #ifndef SINGLE_APP |
364 | ::signal( SIGCHLD, SIG_IGN ); | 364 | ::signal( SIGCHLD, SIG_IGN ); |
365 | 365 | ||
366 | ::signal ( SIGTERM, handle_sigterm ); | 366 | ::signal ( SIGTERM, handle_sigterm ); |
367 | ::signal ( SIGINT, handle_sigterm ); | ||
367 | 368 | ||
368 | ::setsid ( ); | 369 | ::setsid ( ); |
369 | ::setpgid ( 0, 0 ); | 370 | ::setpgid ( 0, 0 ); |
370 | 371 | ||
371 | ::atexit ( remove_pidfile ); | 372 | ::atexit ( remove_pidfile ); |
372 | create_pidfile ( ); | 373 | create_pidfile ( ); |
373 | #endif | 374 | #endif |
374 | 375 | ||
375 | int retVal = initApplication ( argc, argv ); | 376 | int retVal = initApplication ( argc, argv ); |
376 | 377 | ||
377 | #ifndef SINGLE_APP | 378 | #ifndef SINGLE_APP |
378 | // Kill them. Kill them all. | 379 | // Kill them. Kill them all. |
379 | ::kill ( 0, SIGTERM ); | 380 | ::kill ( 0, SIGTERM ); |
380 | ::sleep( 1 ); | 381 | ::sleep( 1 ); |
381 | ::kill ( 0, SIGKILL ); | 382 | ::kill ( 0, SIGKILL ); |
382 | #endif | 383 | #endif |
383 | 384 | ||
384 | return retVal; | 385 | return retVal; |
385 | } | 386 | } |
386 | 387 | ||