work on imap delete model, r=jefft,putterman 16805

This commit is contained in:
bienvenu%netscape.com 2000-03-30 15:04:28 +00:00
parent cdd098a3ed
commit 6e454f5b3f
2 changed files with 6 additions and 2 deletions

View File

@ -124,6 +124,10 @@ NS_IMETHODIMP nsImapIncomingServer::SetKey(const char * aKey) // override nsMsg
if (NS_FAILED(rv)) return rv;
hostSession->AddHostToList(aKey);
nsMsgImapDeleteModel deleteModel;
GetDeleteModel(&deleteModel);
hostSession->SetDeleteIsMoveToTrashForHost(aKey, deleteModel == nsMsgImapDeleteModels::MoveToTrash);
hostSession->SetShowDeletedMessagesForHost(aKey, deleteModel != nsMsgImapDeleteModels::IMAPDelete);
char *personalNamespace = nsnull;
char *publicNamespace = nsnull;

View File

@ -1417,12 +1417,12 @@ NS_IMETHODIMP nsImapMailFolder::DeleteMessages(nsISupportsArray *messages,
deleteImmediatelyNoTrash = PR_TRUE;
}
}
if (NS_SUCCEEDED(rv) && deleteImmediatelyNoTrash)
if ((NS_SUCCEEDED(rv) && deleteImmediatelyNoTrash) || deleteModel == nsMsgImapDeleteModels::IMAPDelete )
{
rv = StoreImapFlags(kImapMsgDeletedFlag, PR_TRUE, srcKeyArray);
if (NS_SUCCEEDED(rv))
{
if (mDatabase)
if (mDatabase && deleteModel != nsMsgImapDeleteModels::IMAPDelete)
{
mDatabase->DeleteMessages(&srcKeyArray,NULL);
// if(!isMove)