-rw-r--r-- | noncore/unsupported/mail2/bend/bend.cpp | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/noncore/unsupported/mail2/bend/bend.cpp b/noncore/unsupported/mail2/bend/bend.cpp index 681aca2..e2ece2a 100644 --- a/noncore/unsupported/mail2/bend/bend.cpp +++ b/noncore/unsupported/mail2/bend/bend.cpp @@ -11,16 +11,18 @@ #include <opie/odevice.h> #include "imapresponse.h" #include "imaphandler.h" #include "configfile.h" #include "bend.h" +using namespace Opie; + BenD::BenD(QWidget *parent, const char *name, WFlags fl) : QButton(parent, name, fl) { _config = new Config("mail"); _config->setGroup("Settings"); QVBoxLayout *layout = new QVBoxLayout(this); layout->addItem(new QSpacerItem(0,0)); @@ -49,18 +51,21 @@ void BenD::drawButton(QPainter *) { } void BenD::drawButtonText(QPainter *) { } void BenD::slotClicked() { QCopEnvelope e("QPE/System", "execute(QString)"); e << QString("mail"); ODevice *device = ODevice::inst(); - if (device->led(1) == OLED_BlinkSlow) - device->setLed(1, OLED_Off); + if ( !device-> ledList ( ). isEmpty ( )) { + OLed led = ( device-> ledList ( ). contains ( Led_Mail )) ? Led_Mail : device-> ledList ( ) [0]; + + device->setLedState(led, Led_Off); + } } void BenD::slotCheck() { // Check wether the check interval has been changed. int newIntervalMs = _config->readNumEntry("CheckEvery", 5) * 60000; if (newIntervalMs != _intervalMs) { _intervalTimer->changeInterval(newIntervalMs); @@ -90,22 +95,30 @@ void BenD::slotCheck() void BenD::slotIMAPStatus(IMAPResponse &response) { disconnect(response.imapHandler(), SIGNAL(gotResponse(IMAPResponse &)), this, SLOT(slotIMAPStatus(IMAPResponse &))); if (response.statusResponse().status() == IMAPResponseEnums::OK) { if (response.STATUS()[0].recent().toInt() > 0) { ODevice *device = ODevice::inst(); if (isHidden()) show(); - if (_config->readBoolEntry("BlinkLed", true)) - device->setLed(1, OLED_BlinkSlow); + if (_config->readBoolEntry("BlinkLed", true)) { + if ( !device-> ledList ( ). isEmpty ( )) { + OLed led = ( device-> ledList ( ). contains ( Led_Mail )) ? Led_Mail : device-> ledList ( ) [0]; + + device->setLedState(led, device-> ledStateList ( led ). contains ( Led_BlinkSlow ) ? Led_BlinkSlow : Led_On ); + } + } if (_config->readBoolEntry("PlaySound", false)) device->alarmSound(); } else { ODevice *device = ODevice::inst(); if (!isHidden()) hide(); - if (device->led(1) == OLED_BlinkSlow) - device->setLed(1, OLED_Off); + if ( !device-> ledList ( ). isEmpty ( )) { + OLed led = ( device-> ledList ( ). contains ( Led_Mail )) ? Led_Mail : device-> ledList ( ) [0]; + + device->setLedState(led, Led_Off); + } } response.imapHandler()->iLogout(); } else qWarning("BenD: WARNING: Couldn't retrieve INBOX status."); } |