(In reply to [email protected] from comment #107)
> Comment on attachment 8371072
> WIP patch 3
> 
> >+    newFolderName.Assign(folderName);
> >+    bool containsChild = true;
> >+    uint32_t i = 1;
> >+    while (containsChild) {
> >+      rv = ContainsChildNamed(newFolderName, &containsChild);
> >+      NS_ENSURE_SUCCESS(rv, rv);
> >+      if (!containsChild)
> >+        break;
> >+      // This could be localizable but Toolkit is fine without it, see
> >+      // mozilla/toolkit/content/contentAreaUtils.js::uniqueFile()
> >+      i++;
> >+      newFolderName.Assign(folderName);
> >+      newFolderName.AppendLiteral("(");
> >+      newFolderName.AppendInt(i);
> >+      newFolderName.AppendLiteral(")");
> >+    }
> bool containsChild;
> rv = ContainsChildNamed(folderName, &containsChild);
> NS_ENSURE_SUCCESS(rv, rv);
> while (containsChild) {
>   i++;
>   newFolderName.Assign(folderName);
>   newFolderName.AppendLiteral("(");
>   newFolderName.AppendInt(i);
>   newFolderName.AppendLiteral(")");
>   rv = ContainsChildNamed(newFolderName, &containsChild);
>   NS_ENSURE_SUCCESS(rv, rv);
> }

Well, I always try to avoid the duplication of the main logic (rv =
ContainsChildNamed(folderName, &containsChild);) that is why I did not
write it this way :)

-- 
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
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to