summaryrefslogtreecommitdiff
Unidiff
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 @@
13 13
14#include "imapresponse.h" 14#include "imapresponse.h"
15#include "imaphandler.h" 15#include "imaphandler.h"
16#include "configfile.h" 16#include "configfile.h"
17#include "bend.h" 17#include "bend.h"
18 18
19using namespace Opie;
20
19BenD::BenD(QWidget *parent, const char *name, WFlags fl) 21BenD::BenD(QWidget *parent, const char *name, WFlags fl)
20 : QButton(parent, name, fl) 22 : QButton(parent, name, fl)
21{ 23{
22 _config = new Config("mail"); 24 _config = new Config("mail");
23 _config->setGroup("Settings"); 25 _config->setGroup("Settings");
24 26
@@ -51,14 +53,17 @@ void BenD::drawButtonText(QPainter *) { }
51void BenD::slotClicked() 53void BenD::slotClicked()
52{ 54{
53 QCopEnvelope e("QPE/System", "execute(QString)"); 55 QCopEnvelope e("QPE/System", "execute(QString)");
54 e << QString("mail"); 56 e << QString("mail");
55 57
56 ODevice *device = ODevice::inst(); 58 ODevice *device = ODevice::inst();
57 if (device->led(1) == OLED_BlinkSlow) 59 if ( !device-> ledList ( ). isEmpty ( )) {
58 device->setLed(1, OLED_Off); 60 OLed led = ( device-> ledList ( ). contains ( Led_Mail )) ? Led_Mail : device-> ledList ( ) [0];
61
62 device->setLedState(led, Led_Off);
63 }
59} 64}
60 65
61void BenD::slotCheck() 66void BenD::slotCheck()
62{ 67{
63 // Check wether the check interval has been changed. 68 // Check wether the check interval has been changed.
64 int newIntervalMs = _config->readNumEntry("CheckEvery", 5) * 60000; 69 int newIntervalMs = _config->readNumEntry("CheckEvery", 5) * 60000;
@@ -92,20 +97,28 @@ void BenD::slotIMAPStatus(IMAPResponse &response)
92 disconnect(response.imapHandler(), SIGNAL(gotResponse(IMAPResponse &)), this, SLOT(slotIMAPStatus(IMAPResponse &))); 97 disconnect(response.imapHandler(), SIGNAL(gotResponse(IMAPResponse &)), this, SLOT(slotIMAPStatus(IMAPResponse &)));
93 98
94 if (response.statusResponse().status() == IMAPResponseEnums::OK) { 99 if (response.statusResponse().status() == IMAPResponseEnums::OK) {
95 if (response.STATUS()[0].recent().toInt() > 0) { 100 if (response.STATUS()[0].recent().toInt() > 0) {
96 ODevice *device = ODevice::inst(); 101 ODevice *device = ODevice::inst();
97 if (isHidden()) show(); 102 if (isHidden()) show();
98 if (_config->readBoolEntry("BlinkLed", true)) 103 if (_config->readBoolEntry("BlinkLed", true)) {
99 device->setLed(1, OLED_BlinkSlow); 104 if ( !device-> ledList ( ). isEmpty ( )) {
105 OLed led = ( device-> ledList ( ). contains ( Led_Mail )) ? Led_Mail : device-> ledList ( ) [0];
106
107 device->setLedState(led, device-> ledStateList ( led ). contains ( Led_BlinkSlow ) ? Led_BlinkSlow : Led_On );
108 }
109 }
100 if (_config->readBoolEntry("PlaySound", false)) 110 if (_config->readBoolEntry("PlaySound", false))
101 device->alarmSound(); 111 device->alarmSound();
102 } else { 112 } else {
103 ODevice *device = ODevice::inst(); 113 ODevice *device = ODevice::inst();
104 if (!isHidden()) hide(); 114 if (!isHidden()) hide();
105 if (device->led(1) == OLED_BlinkSlow) 115 if ( !device-> ledList ( ). isEmpty ( )) {
106 device->setLed(1, OLED_Off); 116 OLed led = ( device-> ledList ( ). contains ( Led_Mail )) ? Led_Mail : device-> ledList ( ) [0];
117
118 device->setLedState(led, Led_Off);
119 }
107 } 120 }
108 response.imapHandler()->iLogout(); 121 response.imapHandler()->iLogout();
109 } else qWarning("BenD: WARNING: Couldn't retrieve INBOX status."); 122 } else qWarning("BenD: WARNING: Couldn't retrieve INBOX status.");
110} 123}
111 124