summaryrefslogtreecommitdiff
path: root/noncore/net/mail/libmailwrapper/statusmail.cpp
Unidiff
Diffstat (limited to 'noncore/net/mail/libmailwrapper/statusmail.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/statusmail.cpp1
1 files changed, 0 insertions, 1 deletions
diff --git a/noncore/net/mail/libmailwrapper/statusmail.cpp b/noncore/net/mail/libmailwrapper/statusmail.cpp
index 172c58f..4134e79 100644
--- a/noncore/net/mail/libmailwrapper/statusmail.cpp
+++ b/noncore/net/mail/libmailwrapper/statusmail.cpp
@@ -1,91 +1,90 @@
1#include "statusmail.h" 1#include "statusmail.h"
2#include <qlist.h>
3 2
4StatusMail::StatusMail(QList<Account>&list) 3StatusMail::StatusMail(QList<Account>&list)
5{ 4{
6 currentImapStat.message_count=0; 5 currentImapStat.message_count=0;
7 currentImapStat.message_unseen=0; 6 currentImapStat.message_unseen=0;
8 currentImapStat.message_recent=0; 7 currentImapStat.message_recent=0;
9 lastPop3Stat = currentImapStat; 8 lastPop3Stat = currentImapStat;
10 currentPop3Stat = currentImapStat; 9 currentPop3Stat = currentImapStat;
11 connectionList.setAutoDelete(true); 10 connectionList.setAutoDelete(true);
12 connectionList.clear(); 11 connectionList.clear();
13 initAccounts(list); 12 initAccounts(list);
14} 13}
15 14
16StatusMail::~StatusMail() 15StatusMail::~StatusMail()
17{ 16{
18} 17}
19 18
20void StatusMail::initAccounts(QList<Account>&accounts) 19void StatusMail::initAccounts(QList<Account>&accounts)
21{ 20{
22 21
23 Account *it; 22 Account *it;
24 folderStat currentStat; 23 folderStat currentStat;
25 AbstractMail * current = 0; 24 AbstractMail * current = 0;
26 currentPop3Stat.message_count=0; 25 currentPop3Stat.message_count=0;
27 currentPop3Stat.message_recent=0; 26 currentPop3Stat.message_recent=0;
28 currentPop3Stat.message_unseen=0; 27 currentPop3Stat.message_unseen=0;
29 for ( it = accounts.first(); it; it = accounts.next() ) { 28 for ( it = accounts.first(); it; it = accounts.next() ) {
30 if ( it->getType().compare( "IMAP" ) == 0 && !it->getOffline() ) { 29 if ( it->getType().compare( "IMAP" ) == 0 && !it->getOffline() ) {
31 IMAPaccount*ima = static_cast<IMAPaccount *>(it); 30 IMAPaccount*ima = static_cast<IMAPaccount *>(it);
32 current = AbstractMail::getWrapper(ima); 31 current = AbstractMail::getWrapper(ima);
33 connectionList.append(current); 32 connectionList.append(current);
34 current->statusFolder(currentStat); 33 current->statusFolder(currentStat);
35 currentImapStat.message_count+=currentStat.message_unseen; 34 currentImapStat.message_count+=currentStat.message_unseen;
36 currentImapStat.message_count+=currentStat.message_recent; 35 currentImapStat.message_count+=currentStat.message_recent;
37 currentImapStat.message_count+=currentStat.message_count; 36 currentImapStat.message_count+=currentStat.message_count;
38 } else if ( it->getType().compare( "POP3" ) == 0 && !it->getOffline() ) { 37 } else if ( it->getType().compare( "POP3" ) == 0 && !it->getOffline() ) {
39 POP3account *pop3 = static_cast<POP3account *>(it); 38 POP3account *pop3 = static_cast<POP3account *>(it);
40 current = AbstractMail::getWrapper(pop3); 39 current = AbstractMail::getWrapper(pop3);
41 connectionList.append(current); 40 connectionList.append(current);
42 current->statusFolder(currentStat); 41 current->statusFolder(currentStat);
43 currentPop3Stat.message_count+=currentStat.message_count; 42 currentPop3Stat.message_count+=currentStat.message_count;
44 } 43 }
45 current->logout(); 44 current->logout();
46 } 45 }
47 qDebug("Pop3 init count: %i",currentPop3Stat.message_count); 46 qDebug("Pop3 init count: %i",currentPop3Stat.message_count);
48 currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0; 47 currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0;
49 lastPop3Stat.message_unseen = currentPop3Stat.message_unseen; 48 lastPop3Stat.message_unseen = currentPop3Stat.message_unseen;
50 lastPop3Stat.message_recent = currentPop3Stat.message_recent; 49 lastPop3Stat.message_recent = currentPop3Stat.message_recent;
51 lastPop3Stat.message_count = currentPop3Stat.message_count; 50 lastPop3Stat.message_count = currentPop3Stat.message_count;
52} 51}
53 52
54void StatusMail::reset_status() 53void StatusMail::reset_status()
55{ 54{
56 lastPop3Stat = currentPop3Stat; 55 lastPop3Stat = currentPop3Stat;
57} 56}
58 57
59void StatusMail::check_current_stat(folderStat&targetStat) 58void StatusMail::check_current_stat(folderStat&targetStat)
60{ 59{
61 AbstractMail*it = 0; 60 AbstractMail*it = 0;
62 folderStat currentStat; 61 folderStat currentStat;
63 currentPop3Stat.message_recent = 0; 62 currentPop3Stat.message_recent = 0;
64 currentPop3Stat.message_count = 0; 63 currentPop3Stat.message_count = 0;
65 currentPop3Stat.message_unseen = 0; 64 currentPop3Stat.message_unseen = 0;
66 currentImapStat = currentPop3Stat; 65 currentImapStat = currentPop3Stat;
67 for ( it = connectionList.first(); it; it = connectionList.next() ) { 66 for ( it = connectionList.first(); it; it = connectionList.next() ) {
68 it->statusFolder(currentStat); 67 it->statusFolder(currentStat);
69 it->logout(); 68 it->logout();
70 if (it->getType().lower()=="imap") { 69 if (it->getType().lower()=="imap") {
71 currentImapStat.message_unseen+=currentStat.message_unseen; 70 currentImapStat.message_unseen+=currentStat.message_unseen;
72 currentImapStat.message_recent+=currentStat.message_recent; 71 currentImapStat.message_recent+=currentStat.message_recent;
73 currentImapStat.message_count+=currentStat.message_count; 72 currentImapStat.message_count+=currentStat.message_count;
74 } else if (it->getType().lower()=="pop3") { 73 } else if (it->getType().lower()=="pop3") {
75 currentPop3Stat.message_count+=currentStat.message_count; 74 currentPop3Stat.message_count+=currentStat.message_count;
76 qDebug("Pop3 count: %i",currentPop3Stat.message_count); 75 qDebug("Pop3 count: %i",currentPop3Stat.message_count);
77 } 76 }
78 } 77 }
79 qDebug("Pop3 last: %i",lastPop3Stat.message_count); 78 qDebug("Pop3 last: %i",lastPop3Stat.message_count);
80 if (currentPop3Stat.message_count > lastPop3Stat.message_count) { 79 if (currentPop3Stat.message_count > lastPop3Stat.message_count) {
81 currentPop3Stat.message_recent = currentPop3Stat.message_count - lastPop3Stat.message_count; 80 currentPop3Stat.message_recent = currentPop3Stat.message_count - lastPop3Stat.message_count;
82 currentPop3Stat.message_unseen = currentPop3Stat.message_recent; 81 currentPop3Stat.message_unseen = currentPop3Stat.message_recent;
83 } else { 82 } else {
84 lastPop3Stat.message_count = currentPop3Stat.message_count; 83 lastPop3Stat.message_count = currentPop3Stat.message_count;
85 currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0; 84 currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0;
86 } 85 }
87 targetStat = currentImapStat; 86 targetStat = currentImapStat;
88 targetStat.message_unseen+=currentPop3Stat.message_unseen; 87 targetStat.message_unseen+=currentPop3Stat.message_unseen;
89 targetStat.message_recent+=currentPop3Stat.message_recent; 88 targetStat.message_recent+=currentPop3Stat.message_recent;
90 targetStat.message_count+=currentPop3Stat.message_count; 89 targetStat.message_count+=currentPop3Stat.message_count;
91} 90}