fix default location of special folders for new pop3 accounts which don't use global inbox, sr=mscott 365113

This commit is contained in:
bienvenu%nventure.com 2006-12-28 21:52:30 +00:00
Родитель 10cc43decb
Коммит 176b4c1ee8
1 изменённых файлов: 18 добавлений и 39 удалений

Просмотреть файл

@ -679,21 +679,15 @@ function setDefaultCopiesAndFoldersPrefs(identity, server, accountData)
// coming from the folder cache, in the worst case.
var folders = rootFolder.GetSubFolders();
var msgFolder = rootFolder.QueryInterface(Components.interfaces.nsIMsgFolder);
var numFolders = new Object();
var protocolInfo = Components.classes["@mozilla.org/messenger/protocol/info;1?type=" + msgFolder.server.type].getService(Components.interfaces.nsIMsgProtocolInfo);
/**
* Check if this protocol service needs to create special folder URIs.
* In case of IMAP, when a new account is created, folders 'Sent', 'Drafts'
* When a new account is created, folders 'Sent', 'Drafts'
* and 'Templates' are not created then, but created on demand at runtime.
* But we do need to present them as possible choices in the Copies and Folders
* UI. To do that, folder URIs have to be created and stored in the prefs file.
* So, if there is a need to build special folders, append the special folder
* names and create right URIs.
*/
if (protocolInfo.needToBuildSpecialFolderURIs)
{
var folderDelim = "/";
/* we use internal names known to everyone like Sent, Templates and Drafts */
@ -708,21 +702,6 @@ function setDefaultCopiesAndFoldersPrefs(identity, server, accountData)
identity.stationeryFolder = msgFolder.server.serverURI+ folderDelim + stationeryFolder;
identity.fccFolder = msgFolder.server.serverURI+ folderDelim + fccFolder;
}
else {
// these hex values come from nsMsgFolderFlags.h
var draftFolder = msgFolder.getFoldersWithFlag(0x0400, 1, numFolders);
var stationeryFolder = msgFolder.getFoldersWithFlag(0x400000, 1, numFolders);
var fccFolder = msgFolder.getFoldersWithFlag(0x0200, 1, numFolders);
if (draftFolder) identity.draftFolder = draftFolder.URI;
if (stationeryFolder) identity.stationeryFolder = stationeryFolder.URI;
if (fccFolder) identity.fccFolder = fccFolder.URI;
dump("fccFolder = " + identity.fccFolder + "\n");
dump("draftFolder = " + identity.draftFolder + "\n");
dump("stationeryFolder = " + identity.stationeryFolder + "\n");
}
identity.fccFolderPickerMode = (accountData.identity && accountData.identity.fccFolder ? 1 : gDefaultSpecialFolderPickerMode);
identity.draftsFolderPickerMode = (accountData.identity && accountData.identity.draftFolder ? 1 : gDefaultSpecialFolderPickerMode);