summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/mail2/bend/bend.cpp25
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
@@ -13,12 +13,14 @@
#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");
@@ -51,14 +53,17 @@ 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;
@@ -92,20 +97,28 @@ 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.");
}