summaryrefslogtreecommitdiff
path: root/noncore/unsupported/mail2/bend
Unidiff
Diffstat (limited to 'noncore/unsupported/mail2/bend') (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
@@ -7,24 +7,26 @@
7 7
8#include <qpe/qcopenvelope_qws.h> 8#include <qpe/qcopenvelope_qws.h>
9#include <qpe/resource.h> 9#include <qpe/resource.h>
10#include <qpe/config.h> 10#include <qpe/config.h>
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));
27 29
28 QLabel *pixmap = new QLabel(this); 30 QLabel *pixmap = new QLabel(this);
29 pixmap->setPixmap(Resource::loadPixmap("mail/mailchecker")); 31 pixmap->setPixmap(Resource::loadPixmap("mail/mailchecker"));
30 layout->addWidget(pixmap); 32 layout->addWidget(pixmap);
@@ -45,26 +47,29 @@ BenD::BenD(QWidget *parent, const char *name, WFlags fl)
45 } 47 }
46} 48}
47 49
48void BenD::drawButton(QPainter *) { } 50void 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);
67 _intervalMs = newIntervalMs; 72 _intervalMs = newIntervalMs;
68#ifndef QT_NO_DEBUG 73#ifndef QT_NO_DEBUG
69 qWarning("BenD: Detected interval change"); 74 qWarning("BenD: Detected interval change");
70#endif 75#endif
@@ -86,26 +91,34 @@ void BenD::slotCheck()
86 } 91 }
87 } 92 }
88} 93}
89 94
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