зеркало из 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)
|
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)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче