fix mark thread read for imap, r=putterman 45087

git-svn-id: svn://10.0.0.236/trunk@74822 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bienvenu%netscape.com
2000-07-26 21:07:30 +00:00
parent bccac1d2cd
commit 2e901246ff
2 changed files with 21 additions and 1 deletions

View File

@@ -1128,6 +1128,24 @@ nsImapMailFolder::MarkAllMessagesRead(void)
return rv;
}
NS_IMETHODIMP nsImapMailFolder::MarkThreadRead(nsIMsgThread *thread)
{
nsresult rv = GetDatabase(nsnull);
if(NS_SUCCEEDED(rv))
{
nsMsgKeyArray thoseMarked;
rv = mDatabase->MarkThreadRead(thread, nsnull, &thoseMarked);
if (NS_SUCCEEDED(rv))
{
rv = StoreImapFlags(kImapMsgSeenFlag, PR_TRUE, thoseMarked);
mDatabase->Commit(nsMsgDBCommitType::kLargeCommit);
}
}
return rv;
}
NS_IMETHODIMP nsImapMailFolder::ReadFromFolderCacheElem(nsIMsgFolderCacheElement *element)
{
nsresult rv = nsMsgDBFolder::ReadFromFolderCacheElem(element);
@@ -1901,7 +1919,7 @@ NS_IMETHODIMP nsImapMailFolder::NormalEndHeaderParseStream(nsIImapProtocol*
}
}
// here we need to tweak flags from uid state..
if (!m_msgMovedByFilter || !DeleteIsMoveToTrash())
if (!m_msgMovedByFilter || ShowDeletedMessages())
mDatabase->AddNewHdrToDB(newMsgHdr, PR_TRUE);
// I don't think we want to do this - it does bad things like set the size incorrectly.
// m_msgParser->FinishHeader();
@@ -2166,6 +2184,7 @@ NS_IMETHODIMP nsImapMailFolder::ApplyFilterHit(nsIMsgFilter *filter, PRBool *app
keysToFlag.Add(msgKey);
StoreImapFlags(kImapMsgSeenFlag | kImapMsgDeletedFlag, PR_TRUE, keysToFlag);
m_msgMovedByFilter = PR_TRUE;
// if (!showDeletedMessages)
// msgMoved = PR_TRUE; // this will prevent us from adding the header to the db.

View File

@@ -148,6 +148,7 @@ public:
NS_IMETHOD MarkMessagesRead(nsISupportsArray *messages, PRBool markRead);
NS_IMETHOD MarkAllMessagesRead(void);
NS_IMETHOD MarkMessagesFlagged(nsISupportsArray *messages, PRBool markFlagged);
NS_IMETHOD MarkThreadRead(nsIMsgThread *thread);
NS_IMETHOD DeleteSubFolders(nsISupportsArray *folders, nsIMsgWindow *msgWindow);
NS_IMETHOD ReadFromFolderCacheElem(nsIMsgFolderCacheElement *element);