70517 r=sspitzer sr=bienvenu; Set unicode name for the folder on rename/delete

git-svn-id: svn://10.0.0.236/trunk@98792 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
naving%netscape.com
2001-07-06 06:13:49 +00:00
parent 5d9f84b166
commit 06d7c27a90

View File

@@ -51,6 +51,7 @@
#include "nsIMsgFolderCacheElement.h"
#include "nsTextFormatter.h"
#include "nsIPref.h"
#include "nsMsgUtf7Utils.h"
#include "nsIMsgFilter.h"
#include "nsImapMoveCoalescer.h"
@@ -5618,8 +5619,14 @@ NS_IMETHODIMP nsImapMailFolder::RenameClient( nsIMsgFolder *msgFolder, const cha
//Now let's create the actual new folder
rv = AddSubfolderWithPath(&folderNameStr, dbFileSpec, getter_AddRefs(child));
if (!child || NS_FAILED(rv)) return rv;
nsXPIDLString unicodeName;
rv = CreateUnicodeStringFromUtf7(proposedDBName, getter_Copies(unicodeName));
if (NS_SUCCEEDED(rv) && unicodeName)
child->SetName(unicodeName);
imapFolder = do_QueryInterface(child);
if (imapFolder)
{
nsCAutoString onlineName(m_onlineFolderName);
@@ -5640,11 +5647,9 @@ NS_IMETHODIMP nsImapMailFolder::RenameClient( nsIMsgFolder *msgFolder, const cha
folderInfo->SetMailboxName(&unicodeOnlineName);
}
}
unusedDB->SetSummaryValid(PR_TRUE);
unusedDB->Commit(nsMsgDBCommitType::kLargeCommit);
unusedDB->Close(PR_TRUE);
imapFolder->RenameSubfolders(msgFolder);
}
}
@@ -5732,9 +5737,14 @@ NS_IMETHODIMP nsImapMailFolder::RenameSubfolders(nsIMsgFolder *oldFolder)
nsAutoString currentFolderNameStr;
currentFolderNameStr.AssignWithConversion(leafName);
nsAutoString utf7LeafName = currentFolderNameStr;
nsXPIDLString unicodeName;
AddSubfolderWithPath(&utf7LeafName, dbFileSpec, getter_AddRefs(child));
rv = AddSubfolderWithPath(&utf7LeafName, dbFileSpec, getter_AddRefs(child));
if (!child || NS_FAILED(rv)) return rv;
rv = CreateUnicodeStringFromUtf7(leafName, getter_Copies(unicodeName));
if (NS_SUCCEEDED(rv) && unicodeName)
child->SetName(unicodeName);
nsCOMPtr <nsIMsgImapMailFolder> imapFolder = do_QueryInterface(child);
nsXPIDLCString onlineName;
GetOnlineName(getter_Copies(onlineName));