This commit is contained in:
jefft%netscape.com 1999-08-11 04:54:48 +00:00
Родитель 97be48c3f5
Коммит 2d6f1870c9
2 изменённых файлов: 8 добавлений и 2 удалений

Просмотреть файл

@ -617,6 +617,9 @@ NS_IMETHODIMP nsImapMailFolder::Delete ()
NS_IMETHODIMP nsImapMailFolder::Rename (const char *newName) NS_IMETHODIMP nsImapMailFolder::Rename (const char *newName)
{ {
nsresult rv = NS_ERROR_FAILURE; nsresult rv = NS_ERROR_FAILURE;
NS_WITH_SERVICE (nsIImapService, imapService, kCImapService, &rv);
if (NS_SUCCEEDED(rv))
rv = imapService->RenameLeaf(m_eventQueue, this, newName, this, nsnull);
return rv; return rv;
} }
@ -1416,6 +1419,7 @@ NS_IMETHODIMP nsImapMailFolder::OnlineFolderRename(
nsresult rv = NS_ERROR_FAILURE; nsresult rv = NS_ERROR_FAILURE;
if (aStruct && aStruct->fNewName && *aStruct->fNewName) if (aStruct && aStruct->fNewName && *aStruct->fNewName)
{ {
Delete();
nsCOMPtr<nsIMsgFolder> rootFolder; nsCOMPtr<nsIMsgFolder> rootFolder;
rv = GetRootFolder(getter_AddRefs(rootFolder)); rv = GetRootFolder(getter_AddRefs(rootFolder));
if (NS_SUCCEEDED(rv)) if (NS_SUCCEEDED(rv))

Просмотреть файл

@ -1453,12 +1453,14 @@ nsImapService::RenameLeaf(nsIEventQueue* eventQueue, nsIMsgFolder* srcFolder,
urlSpec.Append(hierarchySeparator); urlSpec.Append(hierarchySeparator);
urlSpec.Append(folderName.GetBuffer()); urlSpec.Append(folderName.GetBuffer());
urlSpec.Append('>'); urlSpec.Append('>');
urlSpec.Append(hierarchySeparator);
PRInt32 leafNameStart = PRInt32 leafNameStart =
folderName.RFindChar('/'); // ** troublesome hierarchyseparator folderName.RFindChar('/'); // ** troublesome hierarchyseparator
if (leafNameStart != -1) if (leafNameStart != -1)
{
folderName.SetLength(leafNameStart+1); folderName.SetLength(leafNameStart+1);
urlSpec.Append(hierarchySeparator);
urlSpec.Append(folderName.GetBuffer()); urlSpec.Append(folderName.GetBuffer());
}
urlSpec.Append(newLeafName); urlSpec.Append(newLeafName);
nsCOMPtr<nsIURI> uri = do_QueryInterface(imapUrl, &rv); nsCOMPtr<nsIURI> uri = do_QueryInterface(imapUrl, &rv);
if (NS_SUCCEEDED(rv) && uri) if (NS_SUCCEEDED(rv) && uri)