summaryrefslogtreecommitdiff
path: root/noncore/net/mail
authorharlekin <harlekin>2004-01-05 16:03:29 (UTC)
committer harlekin <harlekin>2004-01-05 16:03:29 (UTC)
commit9acbe167d22cf1bed17a0361fdcdadf7581d8127 (patch) (unidiff)
tree41d8d8e5b2e243f1c9842452565c1e9c04d44250 /noncore/net/mail
parent22e51ed82162ef307f3f8cef21d3288147f18cad (diff)
downloadopie-9acbe167d22cf1bed17a0361fdcdadf7581d8127.zip
opie-9acbe167d22cf1bed17a0361fdcdadf7581d8127.tar.gz
opie-9acbe167d22cf1bed17a0361fdcdadf7581d8127.tar.bz2
integration of mailbox status stuff
Diffstat (limited to 'noncore/net/mail') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/statusmail.cpp10
-rw-r--r--noncore/net/mail/libmailwrapper/statusmail.h10
-rw-r--r--noncore/net/mail/taskbarapplet/mailapplet.cpp35
-rw-r--r--noncore/net/mail/taskbarapplet/mailapplet.h5
-rw-r--r--noncore/net/mail/taskbarapplet/taskbarapplet.pro2
5 files changed, 43 insertions, 19 deletions
diff --git a/noncore/net/mail/libmailwrapper/statusmail.cpp b/noncore/net/mail/libmailwrapper/statusmail.cpp
index 3e1d8d1..9f4c47c 100644
--- a/noncore/net/mail/libmailwrapper/statusmail.cpp
+++ b/noncore/net/mail/libmailwrapper/statusmail.cpp
@@ -1,9 +1,7 @@
1#include "statusmail.h" 1#include "statusmail.h"
2#include "mailtypes.h"
3#include "abstractmail.h"
4#include <qlist.h> 2#include <qlist.h>
5 3
6StatusMail::StatusMail(QList<Account>*list) 4StatusMail::StatusMail(QList<Account>&list)
7{ 5{
8 currentImapStat.message_count=0; 6 currentImapStat.message_count=0;
9 currentImapStat.message_unseen=0; 7 currentImapStat.message_unseen=0;
@@ -19,13 +17,13 @@ StatusMail::~StatusMail()
19{ 17{
20} 18}
21 19
22void StatusMail::initAccounts(QList<Account>*accounts) 20void StatusMail::initAccounts(QList<Account>&accounts)
23{ 21{
24 if (!accounts) return; 22
25 Account *it; 23 Account *it;
26 folderStat currentStat; 24 folderStat currentStat;
27 AbstractMail * current = 0; 25 AbstractMail * current = 0;
28 for ( it = accounts->first(); it; it = accounts->next() ) { 26 for ( it = accounts.first(); it; it = accounts.next() ) {
29 if ( it->getType().compare( "IMAP" ) == 0 ) { 27 if ( it->getType().compare( "IMAP" ) == 0 ) {
30 IMAPaccount*ima = static_cast<IMAPaccount *>(it); 28 IMAPaccount*ima = static_cast<IMAPaccount *>(it);
31 current = AbstractMail::getWrapper(ima); 29 current = AbstractMail::getWrapper(ima);
diff --git a/noncore/net/mail/libmailwrapper/statusmail.h b/noncore/net/mail/libmailwrapper/statusmail.h
index 498f7a3..2637232 100644
--- a/noncore/net/mail/libmailwrapper/statusmail.h
+++ b/noncore/net/mail/libmailwrapper/statusmail.h
@@ -1,14 +1,14 @@
1#ifndef __MAIL_STATUS_H 1#ifndef __MAIL_STATUS_H
2#define __MAIL_STATUS_H 2#define __MAIL_STATUS_H
3 3
4#include <settings.h> 4#include "settings.h"
5#include <abstractmail.h> 5#include "abstractmail.h"
6#include <mailtypes.h> 6#include "mailtypes.h"
7 7
8class StatusMail 8class StatusMail
9{ 9{
10public: 10public:
11 StatusMail(QList<Account>*list); 11 StatusMail(QList<Account>&list);
12 virtual ~StatusMail(); 12 virtual ~StatusMail();
13 13
14 /* this should be called if opiemail is starte or a mailbox touched - may be trough 14 /* this should be called if opiemail is starte or a mailbox touched - may be trough
@@ -17,7 +17,7 @@ public:
17 virtual void check_current_stat(folderStat&targetStat); 17 virtual void check_current_stat(folderStat&targetStat);
18 18
19protected: 19protected:
20 void initAccounts(QList<Account>*list); 20 void initAccounts(QList<Account>&accounts);
21 /* this must be cause we have to calculate the recent for pop3*/ 21 /* this must be cause we have to calculate the recent for pop3*/
22 folderStat currentImapStat; 22 folderStat currentImapStat;
23 /* currentPop3Stat is the sum of messages in POP3 accounts in CURRENT loop 23 /* currentPop3Stat is the sum of messages in POP3 accounts in CURRENT loop
diff --git a/noncore/net/mail/taskbarapplet/mailapplet.cpp b/noncore/net/mail/taskbarapplet/mailapplet.cpp
index 5ba7085..f81dce8 100644
--- a/noncore/net/mail/taskbarapplet/mailapplet.cpp
+++ b/noncore/net/mail/taskbarapplet/mailapplet.cpp
@@ -10,6 +10,9 @@
10#include <qpe/config.h> 10#include <qpe/config.h>
11 11
12#include <opie/odevice.h> 12#include <opie/odevice.h>
13#include <qlist.h>
14
15#include <libmailwrapper/settings.h>
13 16
14#include "mailapplet.h" 17#include "mailapplet.h"
15 18
@@ -32,7 +35,7 @@ MailApplet::MailApplet( QWidget *parent, const char *name, WFlags fl )
32 35
33 hide(); 36 hide();
34 37
35 connect( this, SIGNAL( clicked() ), SLOT( slotClicked() ) ); 38 connect( this, SIGNAL( clicked() ), SLOT( slotClicked() ) );
36 39
37 if ( !m_config->readBoolEntry( "Disabled", false ) ) { 40 if ( !m_config->readBoolEntry( "Disabled", false ) ) {
38 m_intervalMs = m_config->readNumEntry( "CheckEvery", 5 ) * 60000; 41 m_intervalMs = m_config->readNumEntry( "CheckEvery", 5 ) * 60000;
@@ -40,10 +43,15 @@ MailApplet::MailApplet( QWidget *parent, const char *name, WFlags fl )
40 m_intervalTimer->start( m_intervalMs ); 43 m_intervalTimer->start( m_intervalMs );
41 connect( m_intervalTimer, SIGNAL(timeout() ), SLOT( slotCheck() ) ); 44 connect( m_intervalTimer, SIGNAL(timeout() ), SLOT( slotCheck() ) );
42 45
43 QTimer::singleShot( 0, this, SLOT( slotCheck() ) ); 46 // delay 5 sec until the whole mail backend gets started .-)
47 QTimer::singleShot( 5000, this, SLOT( startup() ) );
44 } 48 }
45} 49}
46 50
51MailApplet::~MailApplet() {
52 delete m_statusMail;
53}
54
47void MailApplet::drawButton(QPainter *) { } 55void MailApplet::drawButton(QPainter *) { }
48void MailApplet::drawButtonText(QPainter *) { } 56void MailApplet::drawButtonText(QPainter *) { }
49 57
@@ -58,6 +66,15 @@ void MailApplet::slotClicked() {
58 66
59 device->setLedState( led, Led_Off ); 67 device->setLedState( led, Led_Off );
60 } 68 }
69
70 // m_statusMails->reset_status();
71}
72
73void MailApplet::startup() {
74 Settings *settings = new Settings();
75 QList<Account> ma = settings->getAccounts();
76 StatusMail m_statusMail = StatusMail( ma );
77 delete settings;
61} 78}
62 79
63void MailApplet::slotCheck() { 80void MailApplet::slotCheck() {
@@ -68,9 +85,12 @@ void MailApplet::slotCheck() {
68 m_intervalMs = newIntervalMs; 85 m_intervalMs = newIntervalMs;
69 } 86 }
70 87
71 int newMails = 0;
72 88
73 if ( true ) { 89 folderStat stat;
90 m_statusMail->check_current_stat( stat );
91
92 qDebug( QString( "test %1" ).arg( stat.message_unseen ) );
93 if ( stat.message_unseen > 0 ) {
74 ODevice *device = ODevice::inst(); 94 ODevice *device = ODevice::inst();
75 if ( isHidden() ) show(); 95 if ( isHidden() ) show();
76 if ( m_config->readBoolEntry( "BlinkLed", true ) ) { 96 if ( m_config->readBoolEntry( "BlinkLed", true ) ) {
@@ -82,12 +102,13 @@ void MailApplet::slotCheck() {
82 if ( m_config->readBoolEntry( "PlaySound", false ) ) 102 if ( m_config->readBoolEntry( "PlaySound", false ) )
83 device->alarmSound(); 103 device->alarmSound();
84 104
105 qDebug( QString( "test %1" ).arg( stat.message_unseen ) );
106
85 Config cfg( "mail" ); 107 Config cfg( "mail" );
86 cfg.setGroup( "Status" ); 108 cfg.setGroup( "Status" );
87 cfg.writeEntry( "NewMails", newMails ); // todo 109 cfg.writeEntry( "NewMails", ( int )stat.message_unseen );
88
89 QCopEnvelope env( "QPE/Pim", "newMails(int)" ); 110 QCopEnvelope env( "QPE/Pim", "newMails(int)" );
90 env << newMails; 111 env << stat.message_unseen;
91 112
92 } else { 113 } else {
93 ODevice *device = ODevice::inst(); 114 ODevice *device = ODevice::inst();
diff --git a/noncore/net/mail/taskbarapplet/mailapplet.h b/noncore/net/mail/taskbarapplet/mailapplet.h
index 34bdc22..8369176 100644
--- a/noncore/net/mail/taskbarapplet/mailapplet.h
+++ b/noncore/net/mail/taskbarapplet/mailapplet.h
@@ -3,6 +3,8 @@
3 3
4#include <qbutton.h> 4#include <qbutton.h>
5 5
6#include <libmailwrapper/statusmail.h>
7
6class Config; 8class Config;
7class QTimer; 9class QTimer;
8 10
@@ -12,6 +14,7 @@ class MailApplet : public QButton {
12 14
13public: 15public:
14 MailApplet( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 ); 16 MailApplet( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 );
17 ~MailApplet();
15 18
16protected: 19protected:
17 void drawButton(QPainter *); 20 void drawButton(QPainter *);
@@ -19,12 +22,14 @@ protected:
19 void gotNewMail(); 22 void gotNewMail();
20 23
21protected slots: 24protected slots:
25 void startup();
22 void slotCheck(); 26 void slotCheck();
23 void slotClicked(); 27 void slotClicked();
24private: 28private:
25 Config *m_config; 29 Config *m_config;
26 QTimer *m_intervalTimer; 30 QTimer *m_intervalTimer;
27 int m_intervalMs; 31 int m_intervalMs;
32 StatusMail* m_statusMail;
28 33
29}; 34};
30 35
diff --git a/noncore/net/mail/taskbarapplet/taskbarapplet.pro b/noncore/net/mail/taskbarapplet/taskbarapplet.pro
index 3c658e3..c54e87f 100644
--- a/noncore/net/mail/taskbarapplet/taskbarapplet.pro
+++ b/noncore/net/mail/taskbarapplet/taskbarapplet.pro
@@ -4,7 +4,7 @@ HEADERS += mailapplet.h \
4 mailappletimpl.h 4 mailappletimpl.h
5 SOURCES +=mailapplet.cpp \ 5 SOURCES +=mailapplet.cpp \
6 mailappletimpl.cpp 6 mailappletimpl.cpp
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include $(OPIEDIR)/noncore/net/mail
8 LIBS +=-lmailwrapper -lqpe -lopie 8 LIBS +=-lmailwrapper -lqpe -lopie
9 TARGET =mailapplet 9 TARGET =mailapplet
10 DESTDIR +=$(OPIEDIR)/plugins/applets/ 10 DESTDIR +=$(OPIEDIR)/plugins/applets/