summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/statusmail.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/noncore/net/mail/libmailwrapper/statusmail.cpp b/noncore/net/mail/libmailwrapper/statusmail.cpp
index 9f4c47c..98f6204 100644
--- a/noncore/net/mail/libmailwrapper/statusmail.cpp
+++ b/noncore/net/mail/libmailwrapper/statusmail.cpp
@@ -20,12 +20,15 @@ StatusMail::~StatusMail()
20void StatusMail::initAccounts(QList<Account>&accounts) 20void StatusMail::initAccounts(QList<Account>&accounts)
21{ 21{
22 22
23 Account *it; 23 Account *it;
24 folderStat currentStat; 24 folderStat currentStat;
25 AbstractMail * current = 0; 25 AbstractMail * current = 0;
26 currentPop3Stat.message_count=0;
27 currentPop3Stat.message_recent=0;
28 currentPop3Stat.message_unseen=0;
26 for ( it = accounts.first(); it; it = accounts.next() ) { 29 for ( it = accounts.first(); it; it = accounts.next() ) {
27 if ( it->getType().compare( "IMAP" ) == 0 ) { 30 if ( it->getType().compare( "IMAP" ) == 0 ) {
28 IMAPaccount*ima = static_cast<IMAPaccount *>(it); 31 IMAPaccount*ima = static_cast<IMAPaccount *>(it);
29 current = AbstractMail::getWrapper(ima); 32 current = AbstractMail::getWrapper(ima);
30 connectionList.append(current); 33 connectionList.append(current);
31 current->statusFolder(currentStat); 34 current->statusFolder(currentStat);
@@ -65,17 +68,22 @@ void StatusMail::check_current_stat(folderStat&targetStat)
65 if (it->getType().lower()=="imap") { 68 if (it->getType().lower()=="imap") {
66 currentImapStat.message_unseen+=currentStat.message_unseen; 69 currentImapStat.message_unseen+=currentStat.message_unseen;
67 currentImapStat.message_recent+=currentStat.message_recent; 70 currentImapStat.message_recent+=currentStat.message_recent;
68 currentImapStat.message_count+=currentStat.message_count; 71 currentImapStat.message_count+=currentStat.message_count;
69 } else if (it->getType().lower()=="pop3") { 72 } else if (it->getType().lower()=="pop3") {
70 currentPop3Stat.message_count+=currentStat.message_count; 73 currentPop3Stat.message_count+=currentStat.message_count;
74 qDebug("Pop3 count: %i",currentPop3Stat.message_count);
71 } 75 }
72 } 76 }
77 qDebug("Pop3 last: %i",lastPop3Stat.message_count);
73 if (currentPop3Stat.message_count > lastPop3Stat.message_count) { 78 if (currentPop3Stat.message_count > lastPop3Stat.message_count) {
74 currentPop3Stat.message_recent = currentPop3Stat.message_count - lastPop3Stat.message_count; 79 currentPop3Stat.message_recent = currentPop3Stat.message_count - lastPop3Stat.message_count;
75 currentPop3Stat.message_unseen = currentPop3Stat.message_recent; 80 currentPop3Stat.message_unseen = currentPop3Stat.message_recent;
81 } else {
82 lastPop3Stat.message_count = currentPop3Stat.message_count;
83 currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0;
76 } 84 }
77 targetStat = currentImapStat; 85 targetStat = currentImapStat;
78 targetStat.message_unseen+=currentPop3Stat.message_unseen; 86 targetStat.message_unseen+=currentPop3Stat.message_unseen;
79 targetStat.message_recent+=currentPop3Stat.message_recent; 87 targetStat.message_recent+=currentPop3Stat.message_recent;
80 targetStat.message_count+=currentPop3Stat.message_count; 88 targetStat.message_count+=currentPop3Stat.message_count;
81} 89}