-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 @@ | |||
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 | ||
19 | using namespace Opie; | ||
20 | |||
19 | BenD::BenD(QWidget *parent, const char *name, WFlags fl) | 21 | BenD::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 *) { } | |||
49 | void BenD::drawButtonText(QPainter *) { } | 51 | void BenD::drawButtonText(QPainter *) { } |
50 | 52 | ||
51 | void BenD::slotClicked() | 53 | void 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 | ||
61 | void BenD::slotCheck() | 66 | void 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() | |||
90 | void BenD::slotIMAPStatus(IMAPResponse &response) | 95 | void 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 | ||