-rw-r--r-- | core/launcher/desktop.cpp | 37 | ||||
-rw-r--r-- | core/launcher/desktop.h | 23 |
2 files changed, 36 insertions, 24 deletions
diff --git a/core/launcher/desktop.cpp b/core/launcher/desktop.cpp index 4926b97..33bea36 100644 --- a/core/launcher/desktop.cpp +++ b/core/launcher/desktop.cpp | |||
@@ -397,24 +397,24 @@ void DesktopApplication::switchLCD ( bool on ) | |||
397 | } | 397 | } |
398 | } | 398 | } |
399 | 399 | ||
400 | 400 | ||
401 | DesktopApplication::DesktopApplication( int& argc, char **argv, Type appType ) | 401 | DesktopApplication::DesktopApplication( int& argc, char **argv, Type appType ) |
402 | : QPEApplication( argc, argv, appType ) | 402 | : QPEApplication( argc, argv, appType ) |
403 | { | 403 | { |
404 | 404 | ||
405 | //FIXME, need also a method for setting different timer ( changed runtime ) | ||
406 | m_timer = new QTimer( this ); | 405 | m_timer = new QTimer( this ); |
407 | connect( m_timer, SIGNAL( timeout() ), this, SLOT( psTimeout() ) ); | 406 | connect( m_timer, SIGNAL( timeout() ), this, SLOT( apmTimeout() ) ); |
408 | Config cfg( "qpe" ); | 407 | Config cfg( "apm" ); |
409 | cfg.setGroup( "APM" ); | 408 | cfg.setGroup( "Warnings" ); |
410 | m_timer->start( cfg.readNumEntry( "check_interval", 10000 ) ); | 409 | m_timer->start( 5000 ); |
411 | m_powerVeryLow = cfg.readNumEntry( "power_verylow", 10 ); | 410 | //cfg.readNumEntry( "checkinterval", 10000 ) |
412 | m_powerCritical = cfg.readNumEntry( "power_critical", 5 ); | 411 | m_powerVeryLow = cfg.readNumEntry( "powerverylow", 10 ); |
412 | m_powerCritical = cfg.readNumEntry( "powercritical", 5 ); | ||
413 | ps = new PowerStatus; | 413 | ps = new PowerStatus; |
414 | pa = new DesktopPowerAlerter( 0 ); | 414 | pa = new DesktopPowerAlerter( 0 ); |
415 | 415 | ||
416 | channel = new QCopChannel( "QPE/Desktop", this ); | 416 | channel = new QCopChannel( "QPE/Desktop", this ); |
417 | connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ), | 417 | connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ), |
418 | this, SLOT( desktopMessage( const QCString&, const QByteArray& ) ) ); | 418 | this, SLOT( desktopMessage( const QCString&, const QByteArray& ) ) ); |
419 | 419 | ||
420 | channel = new QCopChannel( "QPE/System", this ); | 420 | channel = new QCopChannel( "QPE/System", this ); |
@@ -491,17 +491,17 @@ void DesktopApplication::systemMessage( const QCString & msg, const QByteArray & | |||
491 | emit power(); | 491 | emit power(); |
492 | } | 492 | } |
493 | } | 493 | } |
494 | 494 | ||
495 | void DesktopApplication::reloadPowerWarnSettings() { | 495 | void DesktopApplication::reloadPowerWarnSettings() { |
496 | Config cfg( "apm" ); | 496 | Config cfg( "apm" ); |
497 | cfg.setGroup( "Warnings" ); | 497 | cfg.setGroup( "Warnings" ); |
498 | 498 | ||
499 | m_timer->changeInterval( cfg.readNumEntry( "checkinterval", 10000 ) ); | 499 | // m_timer->changeInterval( cfg.readNumEntry( "checkinterval", 10000 ) ); |
500 | m_powerVeryLow = cfg.readNumEntry( "powerverylow", 10 ); | 500 | m_powerVeryLow = cfg.readNumEntry( "powerverylow", 10 ); |
501 | m_powerCritical = cfg.readNumEntry( "powervcritical", 5 ); | 501 | m_powerCritical = cfg.readNumEntry( "powervcritical", 5 ); |
502 | } | 502 | } |
503 | 503 | ||
504 | 504 | ||
505 | enum MemState { Unknown, VeryLow, Low, Normal } memstate = Unknown; | 505 | enum MemState { Unknown, VeryLow, Low, Normal } memstate = Unknown; |
506 | 506 | ||
507 | #ifdef Q_WS_QWS | 507 | #ifdef Q_WS_QWS |
@@ -627,38 +627,49 @@ bool DesktopApplication::qwsEventFilter( QWSEvent *e ) | |||
627 | } | 627 | } |
628 | } | 628 | } |
629 | } | 629 | } |
630 | 630 | ||
631 | return QPEApplication::qwsEventFilter( e ); | 631 | return QPEApplication::qwsEventFilter( e ); |
632 | } | 632 | } |
633 | #endif | 633 | #endif |
634 | 634 | ||
635 | void DesktopApplication::psTimeout() | 635 | void DesktopApplication::psTimeout( int batRemaining ) |
636 | { | 636 | { |
637 | qpedesktop->checkMemory(); // in case no events are being generated | ||
638 | |||
639 | *ps = PowerStatusManager::readStatus(); | 637 | *ps = PowerStatusManager::readStatus(); |
640 | 638 | ||
639 | // maybe now since its triggered by apm change there might be to few warnings | ||
641 | // if ( ( ps->batteryStatus() == PowerStatus::VeryLow ) ) { | 640 | // if ( ( ps->batteryStatus() == PowerStatus::VeryLow ) ) { |
642 | if ( ( ps->batteryPercentRemaining() == m_powerVeryLow ) ) { | 641 | if ( ( batRemaining == m_powerVeryLow ) ) { |
643 | pa->alert( tr( "Battery is running very low." ), 6 ); | 642 | pa->alert( tr( "Battery is running very low." ), 6 ); |
644 | } | 643 | } |
645 | 644 | ||
646 | // if ( ps->batteryStatus() == PowerStatus::Critical ) { | 645 | // if ( ps->batteryStatus() == PowerStatus::Critical ) { |
647 | if ( ps->batteryPercentRemaining() == m_powerCritical ) { | 646 | if ( batRemaining == m_powerCritical ) { |
648 | pa->alert( tr( "Battery level is critical!\n" | 647 | pa->alert( tr( "Battery level is critical!\n" |
649 | "Keep power off until power restored!" ), 1 ); | 648 | "Keep power off until power restored!" ), 1 ); |
650 | } | 649 | } |
651 | 650 | ||
652 | if ( ps->backupBatteryStatus() == PowerStatus::VeryLow ) { | 651 | if ( ps->backupBatteryStatus() == PowerStatus::VeryLow ) { |
653 | pa->alert( tr( "The Back-up battery is very low.\nPlease charge the back-up battery." ), 3 ); | 652 | pa->alert( tr( "The Back-up battery is very low.\nPlease charge the back-up battery." ), 3 ); |
654 | } | 653 | } |
655 | } | 654 | } |
656 | 655 | ||
656 | void DesktopApplication::apmTimeout() | ||
657 | { | ||
658 | qpedesktop->checkMemory(); // in case no events are being generated | ||
659 | |||
660 | *ps = PowerStatusManager::readStatus(); | ||
661 | |||
662 | if ( m_currentPowerLevel != ps->batteryPercentRemaining() ) { | ||
663 | // not very nice, since psTimeout parses the again | ||
664 | m_currentPowerLevel = ps->batteryPercentRemaining(); | ||
665 | psTimeout( m_currentPowerLevel ); | ||
666 | } | ||
667 | } | ||
657 | 668 | ||
658 | void DesktopApplication::sendCard() | 669 | void DesktopApplication::sendCard() |
659 | { | 670 | { |
660 | delete cardSendTimer; | 671 | delete cardSendTimer; |
661 | cardSendTimer = 0; | 672 | cardSendTimer = 0; |
662 | QString card = getenv( "HOME" ); | 673 | QString card = getenv( "HOME" ); |
663 | card += "/Applications/addressbook/businesscard.vcf"; | 674 | card += "/Applications/addressbook/businesscard.vcf"; |
664 | 675 | ||
diff --git a/core/launcher/desktop.h b/core/launcher/desktop.h index 15d8ef7..8308811 100644 --- a/core/launcher/desktop.h +++ b/core/launcher/desktop.h | |||
@@ -72,29 +72,30 @@ protected: | |||
72 | void restart(); | 72 | void restart(); |
73 | 73 | ||
74 | public slots: | 74 | public slots: |
75 | virtual void desktopMessage ( const QCString &msg, const QByteArray &data ); | 75 | virtual void desktopMessage ( const QCString &msg, const QByteArray &data ); |
76 | virtual void systemMessage ( const QCString &msg, const QByteArray &data ); | 76 | virtual void systemMessage ( const QCString &msg, const QByteArray &data ); |
77 | 77 | ||
78 | protected slots: | 78 | protected slots: |
79 | void shutdown( ShutdownImpl::Type ); | 79 | void shutdown( ShutdownImpl::Type ); |
80 | void psTimeout(); | 80 | void psTimeout( int ); |
81 | void apmTimeout(); | ||
81 | void sendCard(); | 82 | void sendCard(); |
82 | private: | 83 | private: |
83 | void reloadPowerWarnSettings(); | 84 | void reloadPowerWarnSettings(); |
84 | DesktopPowerAlerter *pa; | 85 | DesktopPowerAlerter *pa; |
85 | PowerStatus *ps; | 86 | PowerStatus *ps; |
86 | QTimer *cardSendTimer; | 87 | QTimer *cardSendTimer; |
87 | QCopChannel *channel; | 88 | QCopChannel *channel; |
88 | QPEScreenSaver *m_screensaver; | 89 | QPEScreenSaver *m_screensaver; |
89 | QTimer * m_timer; | 90 | QTimer * m_timer; |
90 | int m_powerVeryLow; | 91 | int m_powerVeryLow; |
91 | int m_powerCritical; | 92 | int m_powerCritical; |
92 | 93 | int m_currentPowerLevel; | |
93 | }; | 94 | }; |
94 | 95 | ||
95 | 96 | ||
96 | class Desktop : public QWidget | 97 | class Desktop : public QWidget |
97 | { | 98 | { |
98 | Q_OBJECT | 99 | Q_OBJECT |
99 | public: | 100 | public: |
100 | Desktop(); | 101 | Desktop(); |