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
@@ -11,16 +11,18 @@
11 11
12#include <opie/odevice.h> 12#include <opie/odevice.h>
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
25 QVBoxLayout *layout = new QVBoxLayout(this); 27 QVBoxLayout *layout = new QVBoxLayout(this);
26 layout->addItem(new QSpacerItem(0,0)); 28 layout->addItem(new QSpacerItem(0,0));
@@ -49,18 +51,21 @@ void BenD::drawButton(QPainter *) { }
49void BenD::drawButtonText(QPainter *) { } 51void BenD::drawButtonText(QPainter *) { }
50 52
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;
65 if (newIntervalMs != _intervalMs) { 70 if (newIntervalMs != _intervalMs) {
66 _intervalTimer->changeInterval(newIntervalMs); 71 _intervalTimer->changeInterval(newIntervalMs);
@@ -90,22 +95,30 @@ void BenD::slotCheck()
90void BenD::slotIMAPStatus(IMAPResponse &response) 95void BenD::slotIMAPStatus(IMAPResponse &response)
91{ 96{
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