Diffstat (limited to 'noncore/net/mail/libmailwrapper/statusmail.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/libmailwrapper/statusmail.cpp | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/noncore/net/mail/libmailwrapper/statusmail.cpp b/noncore/net/mail/libmailwrapper/statusmail.cpp index 172c58f..4134e79 100644 --- a/noncore/net/mail/libmailwrapper/statusmail.cpp +++ b/noncore/net/mail/libmailwrapper/statusmail.cpp | |||
@@ -1,91 +1,90 @@ | |||
1 | #include "statusmail.h" | 1 | #include "statusmail.h" |
2 | #include <qlist.h> | ||
3 | 2 | ||
4 | StatusMail::StatusMail(QList<Account>&list) | 3 | StatusMail::StatusMail(QList<Account>&list) |
5 | { | 4 | { |
6 | currentImapStat.message_count=0; | 5 | currentImapStat.message_count=0; |
7 | currentImapStat.message_unseen=0; | 6 | currentImapStat.message_unseen=0; |
8 | currentImapStat.message_recent=0; | 7 | currentImapStat.message_recent=0; |
9 | lastPop3Stat = currentImapStat; | 8 | lastPop3Stat = currentImapStat; |
10 | currentPop3Stat = currentImapStat; | 9 | currentPop3Stat = currentImapStat; |
11 | connectionList.setAutoDelete(true); | 10 | connectionList.setAutoDelete(true); |
12 | connectionList.clear(); | 11 | connectionList.clear(); |
13 | initAccounts(list); | 12 | initAccounts(list); |
14 | } | 13 | } |
15 | 14 | ||
16 | StatusMail::~StatusMail() | 15 | StatusMail::~StatusMail() |
17 | { | 16 | { |
18 | } | 17 | } |
19 | 18 | ||
20 | void StatusMail::initAccounts(QList<Account>&accounts) | 19 | void StatusMail::initAccounts(QList<Account>&accounts) |
21 | { | 20 | { |
22 | 21 | ||
23 | Account *it; | 22 | Account *it; |
24 | folderStat currentStat; | 23 | folderStat currentStat; |
25 | AbstractMail * current = 0; | 24 | AbstractMail * current = 0; |
26 | currentPop3Stat.message_count=0; | 25 | currentPop3Stat.message_count=0; |
27 | currentPop3Stat.message_recent=0; | 26 | currentPop3Stat.message_recent=0; |
28 | currentPop3Stat.message_unseen=0; | 27 | currentPop3Stat.message_unseen=0; |
29 | for ( it = accounts.first(); it; it = accounts.next() ) { | 28 | for ( it = accounts.first(); it; it = accounts.next() ) { |
30 | if ( it->getType().compare( "IMAP" ) == 0 && !it->getOffline() ) { | 29 | if ( it->getType().compare( "IMAP" ) == 0 && !it->getOffline() ) { |
31 | IMAPaccount*ima = static_cast<IMAPaccount *>(it); | 30 | IMAPaccount*ima = static_cast<IMAPaccount *>(it); |
32 | current = AbstractMail::getWrapper(ima); | 31 | current = AbstractMail::getWrapper(ima); |
33 | connectionList.append(current); | 32 | connectionList.append(current); |
34 | current->statusFolder(currentStat); | 33 | current->statusFolder(currentStat); |
35 | currentImapStat.message_count+=currentStat.message_unseen; | 34 | currentImapStat.message_count+=currentStat.message_unseen; |
36 | currentImapStat.message_count+=currentStat.message_recent; | 35 | currentImapStat.message_count+=currentStat.message_recent; |
37 | currentImapStat.message_count+=currentStat.message_count; | 36 | currentImapStat.message_count+=currentStat.message_count; |
38 | } else if ( it->getType().compare( "POP3" ) == 0 && !it->getOffline() ) { | 37 | } else if ( it->getType().compare( "POP3" ) == 0 && !it->getOffline() ) { |
39 | POP3account *pop3 = static_cast<POP3account *>(it); | 38 | POP3account *pop3 = static_cast<POP3account *>(it); |
40 | current = AbstractMail::getWrapper(pop3); | 39 | current = AbstractMail::getWrapper(pop3); |
41 | connectionList.append(current); | 40 | connectionList.append(current); |
42 | current->statusFolder(currentStat); | 41 | current->statusFolder(currentStat); |
43 | currentPop3Stat.message_count+=currentStat.message_count; | 42 | currentPop3Stat.message_count+=currentStat.message_count; |
44 | } | 43 | } |
45 | current->logout(); | 44 | current->logout(); |
46 | } | 45 | } |
47 | qDebug("Pop3 init count: %i",currentPop3Stat.message_count); | 46 | qDebug("Pop3 init count: %i",currentPop3Stat.message_count); |
48 | currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0; | 47 | currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0; |
49 | lastPop3Stat.message_unseen = currentPop3Stat.message_unseen; | 48 | lastPop3Stat.message_unseen = currentPop3Stat.message_unseen; |
50 | lastPop3Stat.message_recent = currentPop3Stat.message_recent; | 49 | lastPop3Stat.message_recent = currentPop3Stat.message_recent; |
51 | lastPop3Stat.message_count = currentPop3Stat.message_count; | 50 | lastPop3Stat.message_count = currentPop3Stat.message_count; |
52 | } | 51 | } |
53 | 52 | ||
54 | void StatusMail::reset_status() | 53 | void StatusMail::reset_status() |
55 | { | 54 | { |
56 | lastPop3Stat = currentPop3Stat; | 55 | lastPop3Stat = currentPop3Stat; |
57 | } | 56 | } |
58 | 57 | ||
59 | void StatusMail::check_current_stat(folderStat&targetStat) | 58 | void StatusMail::check_current_stat(folderStat&targetStat) |
60 | { | 59 | { |
61 | AbstractMail*it = 0; | 60 | AbstractMail*it = 0; |
62 | folderStat currentStat; | 61 | folderStat currentStat; |
63 | currentPop3Stat.message_recent = 0; | 62 | currentPop3Stat.message_recent = 0; |
64 | currentPop3Stat.message_count = 0; | 63 | currentPop3Stat.message_count = 0; |
65 | currentPop3Stat.message_unseen = 0; | 64 | currentPop3Stat.message_unseen = 0; |
66 | currentImapStat = currentPop3Stat; | 65 | currentImapStat = currentPop3Stat; |
67 | for ( it = connectionList.first(); it; it = connectionList.next() ) { | 66 | for ( it = connectionList.first(); it; it = connectionList.next() ) { |
68 | it->statusFolder(currentStat); | 67 | it->statusFolder(currentStat); |
69 | it->logout(); | 68 | it->logout(); |
70 | if (it->getType().lower()=="imap") { | 69 | if (it->getType().lower()=="imap") { |
71 | currentImapStat.message_unseen+=currentStat.message_unseen; | 70 | currentImapStat.message_unseen+=currentStat.message_unseen; |
72 | currentImapStat.message_recent+=currentStat.message_recent; | 71 | currentImapStat.message_recent+=currentStat.message_recent; |
73 | currentImapStat.message_count+=currentStat.message_count; | 72 | currentImapStat.message_count+=currentStat.message_count; |
74 | } else if (it->getType().lower()=="pop3") { | 73 | } else if (it->getType().lower()=="pop3") { |
75 | currentPop3Stat.message_count+=currentStat.message_count; | 74 | currentPop3Stat.message_count+=currentStat.message_count; |
76 | qDebug("Pop3 count: %i",currentPop3Stat.message_count); | 75 | qDebug("Pop3 count: %i",currentPop3Stat.message_count); |
77 | } | 76 | } |
78 | } | 77 | } |
79 | qDebug("Pop3 last: %i",lastPop3Stat.message_count); | 78 | qDebug("Pop3 last: %i",lastPop3Stat.message_count); |
80 | if (currentPop3Stat.message_count > lastPop3Stat.message_count) { | 79 | if (currentPop3Stat.message_count > lastPop3Stat.message_count) { |
81 | currentPop3Stat.message_recent = currentPop3Stat.message_count - lastPop3Stat.message_count; | 80 | currentPop3Stat.message_recent = currentPop3Stat.message_count - lastPop3Stat.message_count; |
82 | currentPop3Stat.message_unseen = currentPop3Stat.message_recent; | 81 | currentPop3Stat.message_unseen = currentPop3Stat.message_recent; |
83 | } else { | 82 | } else { |
84 | lastPop3Stat.message_count = currentPop3Stat.message_count; | 83 | lastPop3Stat.message_count = currentPop3Stat.message_count; |
85 | currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0; | 84 | currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0; |
86 | } | 85 | } |
87 | targetStat = currentImapStat; | 86 | targetStat = currentImapStat; |
88 | targetStat.message_unseen+=currentPop3Stat.message_unseen; | 87 | targetStat.message_unseen+=currentPop3Stat.message_unseen; |
89 | targetStat.message_recent+=currentPop3Stat.message_recent; | 88 | targetStat.message_recent+=currentPop3Stat.message_recent; |
90 | targetStat.message_count+=currentPop3Stat.message_count; | 89 | targetStat.message_count+=currentPop3Stat.message_count; |
91 | } | 90 | } |