summaryrefslogtreecommitdiff
path: root/noncore/unsupported/mail2/bend/bend.cpp
Unidiff
Diffstat (limited to 'noncore/unsupported/mail2/bend/bend.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/unsupported/mail2/bend/bend.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/noncore/unsupported/mail2/bend/bend.cpp b/noncore/unsupported/mail2/bend/bend.cpp
index b4da3ac..fe3b736 100644
--- a/noncore/unsupported/mail2/bend/bend.cpp
+++ b/noncore/unsupported/mail2/bend/bend.cpp
@@ -1,33 +1,37 @@
1#include <qlayout.h> 1#include <qlayout.h>
2#include <qpixmap.h> 2#include <qpixmap.h>
3#include <qlabel.h> 3#include <qlabel.h>
4#include <qsound.h>
4#include <qtimer.h> 5#include <qtimer.h>
5#include <qdir.h> 6#include <qdir.h>
6 7
7#include <qpe/qcopenvelope_qws.h> 8#include <qpe/qcopenvelope_qws.h>
8#include <qpe/resource.h> 9#include <qpe/resource.h>
9#include <qpe/config.h> 10#include <qpe/config.h>
10 11
11#include <stdlib.h> 12#include <stdlib.h>
12 13
13#include "configfile.h" 14#include "configfile.h"
14#include "imapresponse.h" 15#include "imapresponse.h"
15#include "imaphandler.h" 16#include "imaphandler.h"
16#include "zaurusstuff.h" 17#include "zaurusstuff.h"
17#include "bend.h" 18#include "bend.h"
18 19
19BenD::BenD(QWidget *parent, const char *name, WFlags fl) 20BenD::BenD(QWidget *parent, const char *name, WFlags fl)
20 : QButton(parent, name, fl) 21 : QButton(parent, name, fl)
21{ 22{
23 _zaurus = false;
24 if (QFile("/dev/sharp_buz").exists()) _zaurus = true;
25
22 _config = new Config("mail"); 26 _config = new Config("mail");
23 _config->setGroup("Settings"); 27 _config->setGroup("Settings");
24 28
25 QVBoxLayout *layout = new QVBoxLayout(this); 29 QVBoxLayout *layout = new QVBoxLayout(this);
26 layout->addItem(new QSpacerItem(0,0)); 30 layout->addItem(new QSpacerItem(0,0));
27 31
28 QLabel *pixmap = new QLabel(this); 32 QLabel *pixmap = new QLabel(this);
29 pixmap->setPixmap(Resource::loadPixmap("mail/mailchecker")); 33 pixmap->setPixmap(Resource::loadPixmap("mail/mailchecker"));
30 layout->addWidget(pixmap); 34 layout->addWidget(pixmap);
31 35
32 layout->addItem(new QSpacerItem(0,0)); 36 layout->addItem(new QSpacerItem(0,0));
33 37
@@ -57,24 +61,27 @@ void BenD::slotClicked()
57 ZaurusStuff::blinkLedOff(); 61 ZaurusStuff::blinkLedOff();
58 _ledOn = false; 62 _ledOn = false;
59 } 63 }
60} 64}
61 65
62void BenD::slotCheck() 66void BenD::slotCheck()
63{ 67{
64 // Check wether the check interval has been changed. 68 // Check wether the check interval has been changed.
65 int newIntervalMs = _config->readNumEntry("CheckEvery", 5) * 60000; 69 int newIntervalMs = _config->readNumEntry("CheckEvery", 5) * 60000;
66 if (newIntervalMs != _intervalMs) { 70 if (newIntervalMs != _intervalMs) {
67 _intervalTimer->changeInterval(newIntervalMs); 71 _intervalTimer->changeInterval(newIntervalMs);
68 _intervalMs = newIntervalMs; 72 _intervalMs = newIntervalMs;
73#ifndef QT_NO_DEBUG
74 qWarning("BenD: Detected interval change");
75#endif
69 } 76 }
70 77
71 QValueList<Account> acList = ConfigFile::getAccounts(); 78 QValueList<Account> acList = ConfigFile::getAccounts();
72 QValueList<Account>::Iterator ot; 79 QValueList<Account>::Iterator ot;
73 for (ot = acList.begin(); ot != acList.end(); ot++) { 80 for (ot = acList.begin(); ot != acList.end(); ot++) {
74 if (!((*ot).imapServer().isEmpty() || 81 if (!((*ot).imapServer().isEmpty() ||
75 (*ot).imapPort().isEmpty() || 82 (*ot).imapPort().isEmpty() ||
76 (*ot).user().isEmpty() || 83 (*ot).user().isEmpty() ||
77 (*ot).pass().isEmpty())) { 84 (*ot).pass().isEmpty())) {
78 if (!((*ot).imapSsl() && 85 if (!((*ot).imapSsl() &&
79 (*ot).imapSslPort().isEmpty())) { 86 (*ot).imapSslPort().isEmpty())) {
80 IMAPHandler *handler = new IMAPHandler(*ot); 87 IMAPHandler *handler = new IMAPHandler(*ot);
@@ -86,26 +93,30 @@ void BenD::slotCheck()
86} 93}
87 94
88void BenD::slotIMAPStatus(IMAPResponse &response) 95void BenD::slotIMAPStatus(IMAPResponse &response)
89{ 96{
90 disconnect(response.imapHandler(), SIGNAL(gotResponse(IMAPResponse &)), this, SLOT(slotIMAPStatus(IMAPResponse &))); 97 disconnect(response.imapHandler(), SIGNAL(gotResponse(IMAPResponse &)), this, SLOT(slotIMAPStatus(IMAPResponse &)));
91 98
92 if (response.statusResponse().status() == IMAPResponseEnums::OK) { 99 if (response.statusResponse().status() == IMAPResponseEnums::OK) {
93 if (response.STATUS()[0].recent().toInt() > 0) { 100 if (response.STATUS()[0].recent().toInt() > 0) {
94 if (isHidden()) show(); 101 if (isHidden()) show();
95 if (_config->readBoolEntry("BlinkLed", true)) 102 if (_config->readBoolEntry("BlinkLed", true))
96 ZaurusStuff::blinkLedOn(); 103 ZaurusStuff::blinkLedOn();
97 if (_config->readBoolEntry("PlaySound", false)) { 104 if (_config->readBoolEntry("PlaySound", false)) {
105 if (_zaurus) {
98 ZaurusStuff::buzzerOn(); 106 ZaurusStuff::buzzerOn();
99 QTimer::singleShot(3000, this, SLOT(slotSoundOff())); 107 QTimer::singleShot(3000, this, SLOT(slotSoundOff()));
108 } else {
109 QSound::play(Resource::findSound("mail/newmail"));
110 }
100 } 111 }
101 } else { 112 } else {
102 if (!isHidden()) hide(); 113 if (!isHidden()) hide();
103 if (!_ledOn) { 114 if (!_ledOn) {
104 ZaurusStuff::blinkLedOff(); 115 ZaurusStuff::blinkLedOff();
105 _ledOn = false; 116 _ledOn = false;
106 } 117 }
107 } 118 }
108 response.imapHandler()->iLogout(); 119 response.imapHandler()->iLogout();
109 } else qWarning("BenD: WARNING: Couldn't retrieve INBOX status."); 120 } else qWarning("BenD: WARNING: Couldn't retrieve INBOX status.");
110} 121}
111 122