summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/statusmail.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/noncore/net/mail/libmailwrapper/statusmail.cpp b/noncore/net/mail/libmailwrapper/statusmail.cpp
index 7e14df3..4d87e56 100644
--- a/noncore/net/mail/libmailwrapper/statusmail.cpp
+++ b/noncore/net/mail/libmailwrapper/statusmail.cpp
@@ -34,61 +34,67 @@ void StatusMail::initAccounts(QList<Account>&accounts)
34 IMAPaccount*ima = static_cast<IMAPaccount *>(it); 34 IMAPaccount*ima = static_cast<IMAPaccount *>(it);
35 current = AbstractMail::getWrapper(ima); 35 current = AbstractMail::getWrapper(ima);
36 connectionList.append(current); 36 connectionList.append(current);
37 current->statusFolder(currentStat); 37 current->statusFolder(currentStat);
38 currentImapStat.message_count+=currentStat.message_unseen; 38 currentImapStat.message_count+=currentStat.message_unseen;
39 currentImapStat.message_count+=currentStat.message_recent; 39 currentImapStat.message_count+=currentStat.message_recent;
40 currentImapStat.message_count+=currentStat.message_count; 40 currentImapStat.message_count+=currentStat.message_count;
41 } else if ( it->getType() == MAILLIB::A_POP3 && !it->getOffline() ) { 41 } else if ( it->getType() == MAILLIB::A_POP3 && !it->getOffline() ) {
42 POP3account *pop3 = static_cast<POP3account *>(it); 42 POP3account *pop3 = static_cast<POP3account *>(it);
43 current = AbstractMail::getWrapper(pop3); 43 current = AbstractMail::getWrapper(pop3);
44 connectionList.append(current); 44 connectionList.append(current);
45 current->statusFolder(currentStat); 45 current->statusFolder(currentStat);
46 currentPop3Stat.message_count+=currentStat.message_count; 46 currentPop3Stat.message_count+=currentStat.message_count;
47 } 47 }
48 current->logout(); 48 current->logout();
49 } 49 }
50 odebug << "Pop3 init count: " << currentPop3Stat.message_count << "" << oendl; 50 odebug << "Pop3 init count: " << currentPop3Stat.message_count << "" << oendl;
51 currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0; 51 currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0;
52 lastPop3Stat.message_unseen = currentPop3Stat.message_unseen; 52 lastPop3Stat.message_unseen = currentPop3Stat.message_unseen;
53 lastPop3Stat.message_recent = currentPop3Stat.message_recent; 53 lastPop3Stat.message_recent = currentPop3Stat.message_recent;
54 lastPop3Stat.message_count = currentPop3Stat.message_count; 54 lastPop3Stat.message_count = currentPop3Stat.message_count;
55} 55}
56 56
57void StatusMail::reset_status() 57void StatusMail::reset_status()
58{ 58{
59 lastPop3Stat = currentPop3Stat; 59 lastPop3Stat = currentPop3Stat;
60} 60}
61 61
62void StatusMail::check_current_stat(folderStat&targetStat) 62void StatusMail::check_current_stat(folderStat&targetStat)
63{ 63{
64 AbstractMail*it = 0; 64 AbstractMail*it = 0;
65 folderStat currentStat; 65 folderStat currentStat;
66 currentPop3Stat.message_recent = 0; 66 currentPop3Stat.message_recent = 0;
67 currentPop3Stat.message_count = 0; 67 currentPop3Stat.message_count = 0;
68 currentPop3Stat.message_unseen = 0; 68 currentPop3Stat.message_unseen = 0;
69 currentImapStat = currentPop3Stat; 69 currentImapStat = currentPop3Stat;
70 for ( it = connectionList.first(); it; it = connectionList.next() ) { 70 for ( it = connectionList.first(); it; it = connectionList.next() ) {
71 it->statusFolder(currentStat); 71 it->statusFolder(currentStat);
72 it->logout(); 72 it->logout();
73 if (it->getType() == MAILLIB::A_IMAP) { 73 if (it->getType() == MAILLIB::A_IMAP) {
74 currentImapStat.message_unseen+=currentStat.message_unseen; 74 currentImapStat.message_unseen+=currentStat.message_unseen;
75 currentImapStat.message_recent+=currentStat.message_recent; 75 currentImapStat.message_recent+=currentStat.message_recent;
76 currentImapStat.message_count+=currentStat.message_count; 76 currentImapStat.message_count+=currentStat.message_count;
77 } else if (it->getType() == MAILLIB::A_POP3) { 77 } else if (it->getType() == MAILLIB::A_POP3) {
78 currentPop3Stat.message_count+=currentStat.message_count; 78 currentPop3Stat.message_count+=currentStat.message_count;
79 odebug << "Pop3 count: " << currentPop3Stat.message_count << "" << oendl; 79 odebug << "Pop3 count: " << currentPop3Stat.message_count << "" << oendl;
80 } 80 }
81 } 81 }
82 odebug << "Pop3 last: " << lastPop3Stat.message_count << "" << oendl; 82 odebug << "Pop3 last: " << lastPop3Stat.message_count << "" << oendl;
83
84#if 0
83 if (currentPop3Stat.message_count > lastPop3Stat.message_count) { 85 if (currentPop3Stat.message_count > lastPop3Stat.message_count) {
84 currentPop3Stat.message_recent = currentPop3Stat.message_count - lastPop3Stat.message_count; 86 currentPop3Stat.message_recent = currentPop3Stat.message_count - lastPop3Stat.message_count;
85 currentPop3Stat.message_unseen = currentPop3Stat.message_recent; 87 currentPop3Stat.message_unseen = currentPop3Stat.message_recent;
86 } else { 88 } else {
87 lastPop3Stat.message_count = currentPop3Stat.message_count; 89 lastPop3Stat.message_count = currentPop3Stat.message_count;
88 currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0; 90 currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0;
89 } 91 }
92#else
93 currentPop3Stat.message_recent = currentPop3Stat.message_unseen=currentPop3Stat.message_count;
94#endif
95
90 targetStat = currentImapStat; 96 targetStat = currentImapStat;
91 targetStat.message_unseen+=currentPop3Stat.message_unseen; 97 targetStat.message_unseen+=currentPop3Stat.message_unseen;
92 targetStat.message_recent+=currentPop3Stat.message_recent; 98 targetStat.message_recent+=currentPop3Stat.message_recent;
93 targetStat.message_count+=currentPop3Stat.message_count; 99 targetStat.message_count+=currentPop3Stat.message_count;
94} 100}