author | alwin <alwin> | 2005-03-12 02:15:18 (UTC) |
---|---|---|
committer | alwin <alwin> | 2005-03-12 02:15:18 (UTC) |
commit | f6fa2808753f84a66037d8ca4f62f7ce412a386b (patch) (unidiff) | |
tree | fd6c9a3f20306a2e9d9a891d520fa2d214b1aaaa | |
parent | cd1b9f7c11c73ef0df0ce66c53466c979a3a4d42 (diff) | |
download | opie-f6fa2808753f84a66037d8ca4f62f7ce412a386b.zip opie-f6fa2808753f84a66037d8ca4f62f7ce412a386b.tar.gz opie-f6fa2808753f84a66037d8ca4f62f7ce412a386b.tar.bz2 |
as in most other applets mails on pop3-acounts counts always as
new mail
-rw-r--r-- | noncore/net/mail/libmailwrapper/statusmail.cpp | 12 |
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 | |||
@@ -18,77 +18,83 @@ StatusMail::StatusMail(QList<Account>&list) | |||
18 | 18 | ||
19 | StatusMail::~StatusMail() | 19 | StatusMail::~StatusMail() |
20 | { | 20 | { |
21 | } | 21 | } |
22 | 22 | ||
23 | void StatusMail::initAccounts(QList<Account>&accounts) | 23 | void StatusMail::initAccounts(QList<Account>&accounts) |
24 | { | 24 | { |
25 | 25 | ||
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 | ||
57 | void StatusMail::reset_status() | 57 | void StatusMail::reset_status() |
58 | { | 58 | { |
59 | lastPop3Stat = currentPop3Stat; | 59 | lastPop3Stat = currentPop3Stat; |
60 | } | 60 | } |
61 | 61 | ||
62 | void StatusMail::check_current_stat(folderStat&targetStat) | 62 | void 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 | } |