summaryrefslogtreecommitdiff
authoralwin <alwin>2005-03-12 02:15:18 (UTC)
committer alwin <alwin>2005-03-12 02:15:18 (UTC)
commitf6fa2808753f84a66037d8ca4f62f7ce412a386b (patch) (unidiff)
treefd6c9a3f20306a2e9d9a891d520fa2d214b1aaaa
parentcd1b9f7c11c73ef0df0ce66c53466c979a3a4d42 (diff)
downloadopie-f6fa2808753f84a66037d8ca4f62f7ce412a386b.zip
opie-f6fa2808753f84a66037d8ca4f62f7ce412a386b.tar.gz
opie-f6fa2808753f84a66037d8ca4f62f7ce412a386b.tar.bz2
as in most other applets mails on pop3-acounts counts always as
new mail
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
@@ -26,69 +26,75 @@ void StatusMail::initAccounts(QList<Account>&accounts)
26 Account *it; 26 Account *it;
27 folderStat currentStat; 27 folderStat currentStat;
28 AbstractMail * current = 0; 28 AbstractMail * current = 0;
29 currentPop3Stat.message_count=0; 29 currentPop3Stat.message_count=0;
30 currentPop3Stat.message_recent=0; 30 currentPop3Stat.message_recent=0;
31 currentPop3Stat.message_unseen=0; 31 currentPop3Stat.message_unseen=0;
32 for ( it = accounts.first(); it; it = accounts.next() ) { 32 for ( it = accounts.first(); it; it = accounts.next() ) {
33 if ( it->getType()==MAILLIB::A_IMAP && !it->getOffline() ) { 33 if ( it->getType()==MAILLIB::A_IMAP && !it->getOffline() ) {
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}