for local trash folder, empty trash doesn't always update unread / total msg counts.
r/sr=bienvenu, a=sspitzer


git-svn-id: svn://10.0.0.236/trunk@142034 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
sspitzer%netscape.com 2003-05-02 02:30:09 +00:00
parent ff36e0ba4f
commit 37cf346e8e
5 changed files with 16 additions and 14 deletions

View File

@ -880,14 +880,12 @@ nsMsgFolderDataSource::OnItemIntPropertyChanged(nsISupports *item,
nsCOMPtr<nsIMsgFolder> folder = do_QueryInterface(item);
if(folder)
{
if (kTotalMessagesAtom == property)
OnTotalMessagePropertyChanged(folder, oldValue, newValue);
else if (kTotalUnreadMessagesAtom == property)
OnUnreadMessagePropertyChanged(folder, oldValue, newValue);
else if (kFolderSizeAtom == property)
OnFolderSizePropertyChanged(folder, oldValue, newValue);
if (kTotalMessagesAtom == property)
OnTotalMessagePropertyChanged(folder, oldValue, newValue);
else if (kTotalUnreadMessagesAtom == property)
OnUnreadMessagePropertyChanged(folder, oldValue, newValue);
else if (kFolderSizeAtom == property)
OnFolderSizePropertyChanged(folder, oldValue, newValue);
}
return NS_OK;
}

View File

@ -199,8 +199,7 @@ NS_IMETHODIMP nsImapUrl::GetFolder(nsIMsgFolder **aMsgFolder)
NS_ENSURE_ARG_POINTER(m_imapFolder);
nsCOMPtr<nsIMsgFolder> folder = do_QueryReferent(m_imapFolder);
*aMsgFolder = folder;
NS_IF_ADDREF(*aMsgFolder);
NS_IF_ADDREF(*aMsgFolder = folder);
return NS_OK;
}

View File

@ -1061,8 +1061,13 @@ NS_IMETHODIMP nsMsgLocalMailFolder::EmptyTrash(nsIMsgWindow *msgWindow,
parentFolder->CreateSubfolder(NS_LITERAL_STRING("Trash").get(),nsnull);
nsCOMPtr<nsIMsgFolder> newTrashFolder;
rv = GetTrashFolder(getter_AddRefs(newTrashFolder));
if (NS_SUCCEEDED(rv) && newTrashFolder)
if (NS_SUCCEEDED(rv) && newTrashFolder) {
newTrashFolder->SetDBTransferInfo(transferInfo);
// update the summary totals so the front end will
// show the right thing for the new trash folder
// see bug #161999
newTrashFolder->UpdateSummaryTotals(PR_TRUE);
}
}
}
return rv;

View File

@ -1534,7 +1534,7 @@ void nsParseNewMailState::DoneParsingFolder(nsresult status)
PRInt32 nsParseNewMailState::PublishMsgHeader(nsIMsgWindow *msgWindow)
{
PRBool moved = PR_FALSE;
PRBool moved = PR_FALSE;
FinishHeader();
@ -1556,7 +1556,7 @@ PRInt32 nsParseNewMailState::PublishMsgHeader(nsIMsgWindow *msgWindow)
if (!(oldFlags & MSG_FLAG_READ)) // don't mark read messages as new.
m_newMsgHdr->OrFlags(MSG_FLAG_NEW, &newFlags);
m_mailDB->AddNewHdrToDB (m_newMsgHdr, PR_TRUE);
m_mailDB->AddNewHdrToDB(m_newMsgHdr, PR_TRUE);
}
} // if it was moved by imap filter, m_parseMsgState->m_newMsgHdr == nsnull
m_newMsgHdr = nsnull;

View File

@ -1492,7 +1492,7 @@ nsNNTPProtocol::ParseURL(nsIURI * aURL, char ** aGroup, char ** aMessageID,
// if we get here, we, we are either doing:
// news://host/message-id or news://host/*
// (but not news://host/message-id?cancel)
// for authentication, we se set m_newsFolder to be the server's folder.
// for authentication, we set m_newsFolder to be the server's folder.
// while we are here, we set m_nntpServer.
rv = nntpService->DecomposeNewsURI(serverURI.get(), getter_AddRefs(folder), &m_key);
NS_ENSURE_SUCCESS(rv,rv);