зеркало из https://github.com/mozilla/gecko-dev.git
enabled RenameFolder()
This commit is contained in:
Родитель
97be48c3f5
Коммит
2d6f1870c9
|
@ -617,6 +617,9 @@ NS_IMETHODIMP nsImapMailFolder::Delete ()
|
|||
NS_IMETHODIMP nsImapMailFolder::Rename (const char *newName)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -1416,6 +1419,7 @@ NS_IMETHODIMP nsImapMailFolder::OnlineFolderRename(
|
|||
nsresult rv = NS_ERROR_FAILURE;
|
||||
if (aStruct && aStruct->fNewName && *aStruct->fNewName)
|
||||
{
|
||||
Delete();
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if (NS_SUCCEEDED(rv))
|
||||
|
|
|
@ -1453,12 +1453,14 @@ nsImapService::RenameLeaf(nsIEventQueue* eventQueue, nsIMsgFolder* srcFolder,
|
|||
urlSpec.Append(hierarchySeparator);
|
||||
urlSpec.Append(folderName.GetBuffer());
|
||||
urlSpec.Append('>');
|
||||
urlSpec.Append(hierarchySeparator);
|
||||
PRInt32 leafNameStart =
|
||||
folderName.RFindChar('/'); // ** troublesome hierarchyseparator
|
||||
if (leafNameStart != -1)
|
||||
{
|
||||
folderName.SetLength(leafNameStart+1);
|
||||
urlSpec.Append(hierarchySeparator);
|
||||
urlSpec.Append(folderName.GetBuffer());
|
||||
urlSpec.Append(folderName.GetBuffer());
|
||||
}
|
||||
urlSpec.Append(newLeafName);
|
||||
nsCOMPtr<nsIURI> uri = do_QueryInterface(imapUrl, &rv);
|
||||
if (NS_SUCCEEDED(rv) && uri)
|
||||
|
|
Загрузка…
Ссылка в новой задаче