implemented or they were just stubs. I added CanRename and CanCreateSubfolder
(which follow the naming convention, so we'll keep them) without knowing these were there. I move over the additional logic for special folders (like INBOX, TRASH, etc) in CanBeRenamed to CanRename, and put the logic in one place, in nsMsgFolder::CanRename(), instead of in multiple places. thanks to alecf for pointing out that CanBeRenamed and CanCreateChildren were already there.
r=alecf
major fixes for the new folder / rename folder / subscribe dialogs.
we no longer use an html select for the folder picker.
now we use cascading menu popups, like the copy and move menus.
this fixes a lot of bugs, and allows pre-flighting to finally work.
our folder data source has some new properies:
CanFileMessages, CanSubscribe, CanRename, and CanCreateSubfolders
we use these to determine what cascading menu to build, what to disable, etc.
also, nsMessenger::NewFolder() and nsMessenger::RenameFolder() were changes to
take a nsIRDFResource instead of a nsIDOMXULElement. Before we were
passing through to the back end the selected xul element, now we pass
the resource in.
other cool side effects:
in the copy & move menus, you don't get the choice to file or copy to a server, on folders
in the rename dialog, you can't pick a server, on a folder
in the new folder dialog, you can't pick the imap inbox. (* more needs to be done here.)
bugs fixed: #14773, #14254, #20599, #20646
r=alecf
a couple bullet proofing fixes to prevent some crashes reported on fullcircle
r=bienvenu
handle the case where we migrate from 4.x and our sent folder is on the imap server.
but, since we haven't logged into the imap server yet, our folders are undiscovered.
other related fixes:
1) make it so on failure to fcc, save to draft, save to template, send later the message shows up.
2) clean up the error message strings
3) fix how we determine if an URI points to a local folder. (all we need to do is look at the scheme and see if it is "mailbox:"
4) remove a stale comment.
As this changed the generated interface signatures, I had to change all of the uses to avoid bustage. Any corners of the browser that aren't built by default, or that I haven't discovered how to build, may be at risk of bustage if they use string or wstring attributes. (This could mean blackwood; sorry, guys!)
Many thanks to Alec Flett (alecf@netscape.com) for preparing diffs for the mailnews portion of the signature changes; thanks also to Ariel Backenroth (arielb@rice.edu) and Mike Shaver (shaver@mozilla.org) for help with updating the tree with NS_DECL_NSIFOO macros; everwhere where one of these macros was used was one less place I had to manually add 'const'.
Also removed extraneous space from generated method signatures, leftover from Brendan's capitalization spam, and made 'const decl must be of type short or long' an error rather than just a warning.
this change allows servers to be unique by {userid, hostname, type} combination and allows nsIMsgAccountManager::FindServer() to search for servers this way.