summaryrefslogtreecommitdiff
authoralwin <alwin>2004-01-06 12:57:52 (UTC)
committer alwin <alwin>2004-01-06 12:57:52 (UTC)
commit46753cb77877f4807ab9b1ba3e6c7a4eed7bc1bd (patch) (side-by-side diff)
treecd0b99b0856f65499f7d15aaf5670822183dd660
parent71b6178795294dcdc85dee7a8ec8e8470c5b06e0 (diff)
downloadopie-46753cb77877f4807ab9b1ba3e6c7a4eed7bc1bd.zip
opie-46753cb77877f4807ab9b1ba3e6c7a4eed7bc1bd.tar.gz
opie-46753cb77877f4807ab9b1ba3e6c7a4eed7bc1bd.tar.bz2
status of pop3 accounts slightly reworked
when starting opiemail from taskbar applet the status will be reset
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/mailtypes.cpp9
-rw-r--r--noncore/net/mail/libmailwrapper/mailtypes.h1
-rw-r--r--noncore/net/mail/libmailwrapper/statusmail.cpp8
-rw-r--r--noncore/net/mail/taskbarapplet/mailapplet.cpp2
4 files changed, 16 insertions, 4 deletions
diff --git a/noncore/net/mail/libmailwrapper/mailtypes.cpp b/noncore/net/mail/libmailwrapper/mailtypes.cpp
index d8a36e7..bf91c63 100644
--- a/noncore/net/mail/libmailwrapper/mailtypes.cpp
+++ b/noncore/net/mail/libmailwrapper/mailtypes.cpp
@@ -328,8 +328,17 @@ void encodedString::setContent(const char*nContent,int nSize)
}
}
void encodedString::setContent(char*nContent,int nSize)
{
content = nContent;
size = nSize;
}
+
+folderStat&folderStat::operator=(const folderStat&old)
+{
+ message_count = old.message_count;
+ message_unseen = old.message_unseen;
+ message_recent = old.message_recent;
+ return *this;
+}
+
diff --git a/noncore/net/mail/libmailwrapper/mailtypes.h b/noncore/net/mail/libmailwrapper/mailtypes.h
index 05c4816..b2047cb 100644
--- a/noncore/net/mail/libmailwrapper/mailtypes.h
+++ b/noncore/net/mail/libmailwrapper/mailtypes.h
@@ -182,11 +182,12 @@ protected:
void clean();
};
struct folderStat
{
unsigned int message_count;
unsigned int message_unseen;
unsigned int message_recent;
+ folderStat&operator=(const folderStat&old);
};
#endif
diff --git a/noncore/net/mail/libmailwrapper/statusmail.cpp b/noncore/net/mail/libmailwrapper/statusmail.cpp
index 98f6204..1d7d559 100644
--- a/noncore/net/mail/libmailwrapper/statusmail.cpp
+++ b/noncore/net/mail/libmailwrapper/statusmail.cpp
@@ -35,23 +35,25 @@ void StatusMail::initAccounts(QList<Account>&accounts)
currentImapStat.message_count+=currentStat.message_unseen;
currentImapStat.message_count+=currentStat.message_recent;
currentImapStat.message_count+=currentStat.message_count;
} else if ( it->getType().compare( "POP3" ) == 0 ) {
POP3account *pop3 = static_cast<POP3account *>(it);
current = AbstractMail::getWrapper(pop3);
connectionList.append(current);
current->statusFolder(currentStat);
- currentPop3Stat.message_count+=currentStat.message_unseen;
- currentPop3Stat.message_count+=currentStat.message_recent;
currentPop3Stat.message_count+=currentStat.message_count;
}
current->logout();
}
- lastPop3Stat = currentPop3Stat;
+ qDebug("Pop3 init count: %i",currentPop3Stat.message_count);
+ currentPop3Stat.message_recent = currentPop3Stat.message_unseen = 0;
+ lastPop3Stat.message_unseen = currentPop3Stat.message_unseen;
+ lastPop3Stat.message_recent = currentPop3Stat.message_recent;
+ lastPop3Stat.message_count = currentPop3Stat.message_count;
}
void StatusMail::reset_status()
{
lastPop3Stat = currentPop3Stat;
}
void StatusMail::check_current_stat(folderStat&targetStat)
diff --git a/noncore/net/mail/taskbarapplet/mailapplet.cpp b/noncore/net/mail/taskbarapplet/mailapplet.cpp
index 991b5fb..6078013 100644
--- a/noncore/net/mail/taskbarapplet/mailapplet.cpp
+++ b/noncore/net/mail/taskbarapplet/mailapplet.cpp
@@ -65,17 +65,17 @@ void MailApplet::slotClicked() {
ODevice *device = ODevice::inst();
if ( !device-> ledList().isEmpty() ) {
OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0];
device->setLedState( led, Led_Off );
}
- // m_statusMails->reset_status();
+ if (m_statusMail) m_statusMail->reset_status();
}
void MailApplet::startup() {
Settings *settings = new Settings();
QList<Account> ma = settings->getAccounts();
m_statusMail = new StatusMail( ma );
delete settings;