summaryrefslogtreecommitdiff
path: root/noncore/unsupported/mail2/bend/bend.cpp
Side-by-side diff
Diffstat (limited to 'noncore/unsupported/mail2/bend/bend.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/mail2/bend/bend.cpp15
1 files changed, 13 insertions, 2 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,7 +1,8 @@
#include <qlayout.h>
#include <qpixmap.h>
#include <qlabel.h>
+#include <qsound.h>
#include <qtimer.h>
#include <qdir.h>
#include <qpe/qcopenvelope_qws.h>
@@ -18,8 +19,11 @@
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);
@@ -65,8 +69,11 @@ void BenD::slotCheck()
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;
@@ -94,10 +101,14 @@ void BenD::slotIMAPStatus(IMAPResponse &response)
if (isHidden()) show();
if (_config->readBoolEntry("BlinkLed", true))
ZaurusStuff::blinkLedOn();
if (_config->readBoolEntry("PlaySound", false)) {
- ZaurusStuff::buzzerOn();
- QTimer::singleShot(3000, this, SLOT(slotSoundOff()));
+ if (_zaurus) {
+ ZaurusStuff::buzzerOn();
+ QTimer::singleShot(3000, this, SLOT(slotSoundOff()));
+ } else {
+ QSound::play(Resource::findSound("mail/newmail"));
+ }
}
} else {
if (!isHidden()) hide();
if (!_ledOn) {