From fcc1953e2f5c1b7a4156a9ed19acf726138a44ab Mon Sep 17 00:00:00 2001 From: Stefan Taferner Date: Thu, 23 Jul 1998 19:14:14 +0000 Subject: [PATCH] Added message status Read. This status is set to messages which are loaded with check-mail that have status set to R. svn path=/trunk/kdenetwork/kmail/; revision=9226 --- ChangeLog | 9 +++++++++ kmaccount.cpp | 10 ++++++---- kmheaders.cpp | 23 +++++++++++++++++++---- kmmsgbase.cpp | 8 ++++---- kmmsgbase.h | 1 + kmversion.h | 2 +- 6 files changed, 40 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0643146a6..5a73df149 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +1998-07-23 Stefan Taferner + + * Added message status "Read". This status is set to + messages which are loaded with check-mail that have + status set to "R". + + These messages appear whith blue text, but without + the green ball to the left, in the message list. + 1998-07-22 Markus Wuebben * main.cpp Applied session management patch. diff --git a/kmaccount.cpp b/kmaccount.cpp index bb802a0d9..e71578810 100644 --- a/kmaccount.cpp +++ b/kmaccount.cpp @@ -131,16 +131,18 @@ void KMAccount::processNewMsg(KMMessage* aMsg) QString receiptTo; int rc; - //assert(aMsg != NULL); - if(!aMsg) - return; + assert(aMsg != NULL); receiptTo = aMsg->headerField("Return-Receipt-To"); if (!receiptTo.isEmpty()) sendReceipt(aMsg, receiptTo); + // Set status of new messages that are marked as old to read, otherwise + // the user won't see which messages newly arrived. + if (aMsg->status()==KMMsgStatusOld) + aMsg->setStatus(KMMsgStatusRead); + if (filterMgr->process(aMsg)) { - debug("adding msg to inbox"); rc = mFolder->addMsg(aMsg); if (rc) perror("failed to add message"); if (rc) warning(i18n("Failed to add message:")+ diff --git a/kmheaders.cpp b/kmheaders.cpp index e90b1e53d..ad7d67983 100644 --- a/kmheaders.cpp +++ b/kmheaders.cpp @@ -53,6 +53,7 @@ KMHeaders::KMHeaders(KMMainWin *aOwner, QWidget *parent, dict().insert(KMMsgBase::statusToStr(KMMsgStatusNew), &pixNew); dict().insert(KMMsgBase::statusToStr(KMMsgStatusUnread), &pixUns); + dict().insert(KMMsgBase::statusToStr(KMMsgStatusRead), &pixOld); dict().insert(KMMsgBase::statusToStr(KMMsgStatusDeleted), &pixDel); dict().insert(KMMsgBase::statusToStr(KMMsgStatusOld), &pixOld); dict().insert(KMMsgBase::statusToStr(KMMsgStatusReplied), &pixRep); @@ -256,8 +257,15 @@ void KMHeaders::msgHeaderChanged(int msgId) changeItem(msgAsLbxString(mb), msgId); flag = mb->status(); - if (flag==KMMsgStatusNew) changeItemColor(darkRed, msgId); - else if(flag==KMMsgStatusUnread) changeItemColor(darkBlue, msgId); + if (flag==KMMsgStatusNew) + { + changeItemColor(darkRed, msgId); + } + else if(flag==KMMsgStatusUnread || + flag==KMMsgStatusRead) + { + changeItemColor(darkBlue, msgId); + } } @@ -752,8 +760,15 @@ void KMHeaders::updateMessageList(void) insertItem(msgAsLbxString(mb)); flag = mb->status(); - if (flag==KMMsgStatusNew) changeItemColor(darkRed); - else if(flag==KMMsgStatusUnread) changeItemColor(darkBlue); + if (flag==KMMsgStatusNew) + { + changeItemColor(darkRed); + } + else if(flag==KMMsgStatusUnread || + flag==KMMsgStatusRead) + { + changeItemColor(darkBlue); + } } setAutoUpdate(autoUpd); diff --git a/kmmsgbase.cpp b/kmmsgbase.cpp index cd0c63c46..da4c135c0 100644 --- a/kmmsgbase.cpp +++ b/kmmsgbase.cpp @@ -13,9 +13,9 @@ static KMMsgStatus sStatusList[NUM_STATUSLIST+1] = { KMMsgStatusDeleted, KMMsgStatusNew, - KMMsgStatusUnread, KMMsgStatusOld, - KMMsgStatusReplied, KMMsgStatusSent, - KMMsgStatusQueued, + KMMsgStatusUnread, KMMsgStatusOld, + KMMsgStatusRead, KMMsgStatusReplied, + KMMsgStatusSent, KMMsgStatusQueued, KMMsgStatusUnknown /* "Unknown" must be at the *end* of the list */ }; @@ -99,7 +99,7 @@ void KMMsgBase::setStatus(const char* aStatusStr, const char* aXStatusStr) if ((aStatusStr[0]=='R' && aStatusStr[1]=='O') || (aStatusStr[0]=='O' && aStatusStr[1]=='R')) mStatus=KMMsgStatusOld; - else if (aStatusStr[0]=='R') mStatus=KMMsgStatusUnread; + else if (aStatusStr[0]=='R') mStatus=KMMsgStatusRead; else if (aStatusStr[0]=='D') mStatus=KMMsgStatusDeleted; else mStatus=KMMsgStatusNew; } diff --git a/kmmsgbase.h b/kmmsgbase.h index d06def4cb..7e8e376a9 100644 --- a/kmmsgbase.h +++ b/kmmsgbase.h @@ -13,6 +13,7 @@ typedef enum KMMsgStatusUnknown=' ', KMMsgStatusNew='N', KMMsgStatusUnread='U', + KMMsgStatusRead='R', KMMsgStatusOld='O', KMMsgStatusDeleted='D', KMMsgStatusReplied='A', diff --git a/kmversion.h b/kmversion.h index 3a54dcdab..862675f5d 100644 --- a/kmversion.h +++ b/kmversion.h @@ -3,6 +3,6 @@ #ifndef kmversion_h #define kmversion_h -#define KMAIL_VERSION "0.7.9" +#define KMAIL_VERSION "0.8.0" #endif /*kmversion_h*/