-rw-r--r-- | noncore/net/mail/libmailwrapper/statusmail.cpp | 8 |
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 | |||
@@ -18,16 +18,19 @@ StatusMail::~StatusMail() | |||
18 | } | 18 | } |
19 | 19 | ||
20 | void StatusMail::initAccounts(QList<Account>&accounts) | 20 | void 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); |
32 | currentImapStat.message_count+=currentStat.message_unseen; | 35 | currentImapStat.message_count+=currentStat.message_unseen; |
33 | currentImapStat.message_count+=currentStat.message_recent; | 36 | currentImapStat.message_count+=currentStat.message_recent; |
@@ -63,19 +66,24 @@ void StatusMail::check_current_stat(folderStat&targetStat) | |||
63 | it->statusFolder(currentStat); | 66 | it->statusFolder(currentStat); |
64 | it->logout(); | 67 | it->logout(); |
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 | } |