-rw-r--r-- | noncore/unsupported/mail2/bend/bend.cpp | 44 | ||||
-rw-r--r-- | noncore/unsupported/mail2/bend/bend.h | 3 |
2 files changed, 14 insertions, 33 deletions
diff --git a/noncore/unsupported/mail2/bend/bend.cpp b/noncore/unsupported/mail2/bend/bend.cpp index fe3b736..681aca2 100644 --- a/noncore/unsupported/mail2/bend/bend.cpp +++ b/noncore/unsupported/mail2/bend/bend.cpp @@ -1,127 +1,111 @@ #include <qlayout.h> #include <qpixmap.h> #include <qlabel.h> #include <qsound.h> #include <qtimer.h> #include <qdir.h> #include <qpe/qcopenvelope_qws.h> #include <qpe/resource.h> #include <qpe/config.h> -#include <stdlib.h> +#include <opie/odevice.h> -#include "configfile.h" #include "imapresponse.h" #include "imaphandler.h" -#include "zaurusstuff.h" +#include "configfile.h" #include "bend.h" BenD::BenD(QWidget *parent, const char *name, WFlags fl) : QButton(parent, name, fl) { - _zaurus = false; - if (QFile("/dev/sharp_buz").exists()) _zaurus = true; - _config = new Config("mail"); _config->setGroup("Settings"); QVBoxLayout *layout = new QVBoxLayout(this); layout->addItem(new QSpacerItem(0,0)); QLabel *pixmap = new QLabel(this); pixmap->setPixmap(Resource::loadPixmap("mail/mailchecker")); layout->addWidget(pixmap); layout->addItem(new QSpacerItem(0,0)); hide(); connect(this, SIGNAL(clicked()), SLOT(slotClicked())); if (!_config->readBoolEntry("Disabled", false)) { _intervalMs = _config->readNumEntry("CheckEvery", 5) * 60000; _intervalTimer = new QTimer(); _intervalTimer->start(_intervalMs); connect(_intervalTimer, SIGNAL(timeout()), SLOT(slotCheck())); QTimer::singleShot(0, this, SLOT(slotCheck())); } } void BenD::drawButton(QPainter *) { } void BenD::drawButtonText(QPainter *) { } void BenD::slotClicked() { QCopEnvelope e("QPE/System", "execute(QString)"); e << QString("mail"); - - if (_ledOn) { - ZaurusStuff::blinkLedOff(); - _ledOn = false; - } + + ODevice *device = ODevice::inst(); + if (device->led(1) == OLED_BlinkSlow) + device->setLed(1, OLED_Off); } void BenD::slotCheck() { // Check wether the check interval has been changed. int newIntervalMs = _config->readNumEntry("CheckEvery", 5) * 60000; if (newIntervalMs != _intervalMs) { _intervalTimer->changeInterval(newIntervalMs); _intervalMs = newIntervalMs; #ifndef QT_NO_DEBUG qWarning("BenD: Detected interval change"); #endif } QValueList<Account> acList = ConfigFile::getAccounts(); QValueList<Account>::Iterator ot; for (ot = acList.begin(); ot != acList.end(); ot++) { if (!((*ot).imapServer().isEmpty() || (*ot).imapPort().isEmpty() || (*ot).user().isEmpty() || (*ot).pass().isEmpty())) { if (!((*ot).imapSsl() && (*ot).imapSslPort().isEmpty())) { IMAPHandler *handler = new IMAPHandler(*ot); handler->iStatus("INBOX", "RECENT"); connect(handler, SIGNAL(gotResponse(IMAPResponse &)), SLOT(slotIMAPStatus(IMAPResponse &))); } } } } void BenD::slotIMAPStatus(IMAPResponse &response) { disconnect(response.imapHandler(), SIGNAL(gotResponse(IMAPResponse &)), this, SLOT(slotIMAPStatus(IMAPResponse &))); if (response.statusResponse().status() == IMAPResponseEnums::OK) { if (response.STATUS()[0].recent().toInt() > 0) { + ODevice *device = ODevice::inst(); if (isHidden()) show(); - if (_config->readBoolEntry("BlinkLed", true)) - ZaurusStuff::blinkLedOn(); - if (_config->readBoolEntry("PlaySound", false)) { - if (_zaurus) { - ZaurusStuff::buzzerOn(); - QTimer::singleShot(3000, this, SLOT(slotSoundOff())); - } else { - QSound::play(Resource::findSound("mail/newmail")); - } - } + if (_config->readBoolEntry("BlinkLed", true)) + device->setLed(1, OLED_BlinkSlow); + if (_config->readBoolEntry("PlaySound", false)) + device->alarmSound(); } else { + ODevice *device = ODevice::inst(); if (!isHidden()) hide(); - if (!_ledOn) { - ZaurusStuff::blinkLedOff(); - _ledOn = false; - } + if (device->led(1) == OLED_BlinkSlow) + device->setLed(1, OLED_Off); } response.imapHandler()->iLogout(); } else qWarning("BenD: WARNING: Couldn't retrieve INBOX status."); } -void BenD::slotSoundOff() -{ - ZaurusStuff::buzzerOff(); -} - diff --git a/noncore/unsupported/mail2/bend/bend.h b/noncore/unsupported/mail2/bend/bend.h index 7972929..233c552 100644 --- a/noncore/unsupported/mail2/bend/bend.h +++ b/noncore/unsupported/mail2/bend/bend.h @@ -1,38 +1,35 @@ #ifndef BEND_H #define BEND_H #include <qbutton.h> class Config; class QTimer; class IMAPResponse; class BenD : public QButton { Q_OBJECT public: BenD(QWidget *parent = 0, const char *name = 0, WFlags fl = 0); protected: void drawButton(QPainter *); void drawButtonText(QPainter *); void gotNewMail(); - QString rot13(const QString &input); protected slots: void slotCheck(); void slotClicked(); - void slotSoundOff(); void slotIMAPStatus(IMAPResponse &response); private: Config *_config; QTimer *_intervalTimer; int _intervalMs; - bool _zaurus, _ledOn; }; #endif |