Comment on attachment 8370331
WIP patch 2

>+  PRUint32 i = 2;
>+  nsAutoString newFolderNameUnderTrash(folderName);
>+  while (1) {
>+    rv = CheckIfFolderExists(newFolderNameUnderTrash, this, NULL);
>+    if (rv == NS_MSG_FOLDER_EXISTS) {
>+      newFolderNameUnderTrash.Assign(folderName);
>+      newFolderNameUnderTrash.AppendLiteral("-"); // do we want this 
>localizable? "<folder>-<SeqNo>"
>+      newFolderNameUnderTrash.AppendInt(i);
>+      i++;
>+    } else if (NS_SUCCEEDED(rv)) {
>+      // NS_OK so the tried folder name doesn't exist
>+      break;
>+    } else {
>+      return rv;
>+    }
>+  }
CheckIfFolderExists is overkill if you don't want to alert, use 
ContainsChildNamed instead. Also, the loop is horribly written, though maybe 
you might think my version is going too far the other way:
bool containsChild;
for (int32_t i = 2; ContainsChildNamed(destFolderName, &containsChild), 
containsChild; i++) {
  // compute new folder name
}

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/214366

Title:
  Can't delete a folder if Trash already contains a folder of the same
  name

To manage notifications about this bug go to:
https://bugs.launchpad.net/thunderbird/+bug/214366/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to