From 7a4dee432d8c3cb2d5cc3dc62fcff767029960ce Mon Sep 17 00:00:00 2001 From: "naving%netscape.com" Date: Tue, 5 Mar 2002 03:25:31 +0000 Subject: [PATCH] 57440 r=bienvenu sr=sspitzer a=asa Make the default mail folders localizable. --- .../prefs/resources/content/AccountWizard.js | 11 +-- mailnews/base/src/nsMsgAccountManager.cpp | 8 +- mailnews/base/util/nsMsgDBFolder.cpp | 2 +- mailnews/base/util/nsMsgFolder.cpp | 69 +++++++++----- mailnews/base/util/nsMsgFolder.h | 13 +-- mailnews/imap/src/nsImapIncomingServer.cpp | 2 +- mailnews/imap/src/nsImapMailFolder.cpp | 10 +- mailnews/local/src/nsLocalMailFolder.cpp | 93 ++++++++++--------- mailnews/local/src/nsLocalMailFolder.h | 2 +- .../local/src/nsMovemailIncomingServer.cpp | 2 - mailnews/local/src/nsNoIncomingServer.cpp | 6 +- mailnews/local/src/nsPop3IncomingServer.cpp | 55 +---------- mailnews/local/src/nsPop3IncomingServer.h | 12 --- 13 files changed, 120 insertions(+), 165 deletions(-) diff --git a/mailnews/base/prefs/resources/content/AccountWizard.js b/mailnews/base/prefs/resources/content/AccountWizard.js index 6f2f64d107f7..7fd5886b62c5 100644 --- a/mailnews/base/prefs/resources/content/AccountWizard.js +++ b/mailnews/base/prefs/resources/content/AccountWizard.js @@ -584,13 +584,12 @@ function setDefaultCopiesAndFoldersPrefs(identity, server) if (protocolInfo.needToBuildSpecialFolderURIs) { var folderDelim = "/"; - var sentFolderName = gMessengerBundle.getString("sentFolderName"); - var draftsFolderName = gMessengerBundle.getString("draftsFolderName"); - var templatesFolderName = gMessengerBundle.getString("templatesFolderName"); - identity.draftFolder = msgFolder.server.serverURI+ folderDelim + draftsFolderName; - identity.stationeryFolder = msgFolder.server.serverURI+ folderDelim + templatesFolderName; - identity.fccFolder = msgFolder.server.serverURI+ folderDelim + sentFolderName; + /* we use internal names known to everyone like Sent, Templates and Drafts */ + + identity.draftFolder = msgFolder.server.serverURI+ folderDelim + "Drafts"; + identity.stationeryFolder = msgFolder.server.serverURI+ folderDelim + "Templates"; + identity.fccFolder = msgFolder.server.serverURI+ folderDelim + "Sent"; } else { // these hex values come from nsMsgFolderFlags.h diff --git a/mailnews/base/src/nsMsgAccountManager.cpp b/mailnews/base/src/nsMsgAccountManager.cpp index 9995d517b20e..bb2bd5c338c5 100644 --- a/mailnews/base/src/nsMsgAccountManager.cpp +++ b/mailnews/base/src/nsMsgAccountManager.cpp @@ -1035,11 +1035,9 @@ PRBool PR_CALLBACK nsMsgAccountManager::cleanupOnExit(nsHashKey *aKey, void *aDa { rv = aEnumerator->CurrentItem(getter_AddRefs(aSupport)); nsCOMPtrinboxFolder = do_QueryInterface(aSupport); - nsXPIDLString folderName; - inboxFolder->GetName(getter_Copies(folderName)); - if (folderName && - folderName.Equals(NS_LITERAL_STRING("INBOX"), - nsCaseInsensitiveStringComparator())) + PRUint32 flags; + inboxFolder->GetFlags(&flags); + if (flags & MSG_FOLDER_FLAG_INBOX) { rv1 = inboxFolder->Compact(urlListener, nsnull /* msgwindow */); if (NS_SUCCEEDED(rv1)) diff --git a/mailnews/base/util/nsMsgDBFolder.cpp b/mailnews/base/util/nsMsgDBFolder.cpp index 4c8d0034829d..2ece735cea51 100644 --- a/mailnews/base/util/nsMsgDBFolder.cpp +++ b/mailnews/base/util/nsMsgDBFolder.cpp @@ -429,7 +429,7 @@ nsresult nsMsgDBFolder::ReadDBFolderInfo(PRBool force) #ifdef DEBUG_bienvenu nsXPIDLString name; GetName(getter_Copies(name)); - NS_ASSERTION(Compare(name, NS_LITERAL_STRING("Trash")) || (mFlags & MSG_FOLDER_FLAG_TRASH), "lost trash flag"); + NS_ASSERTION(Compare(name, kLocalizedTrashName) || (mFlags & MSG_FOLDER_FLAG_TRASH), "lost trash flag"); #endif mInitializedFromCache = PR_TRUE; } diff --git a/mailnews/base/util/nsMsgFolder.cpp b/mailnews/base/util/nsMsgFolder.cpp index e2b4c670c5bb..597187cf8243 100644 --- a/mailnews/base/util/nsMsgFolder.cpp +++ b/mailnews/base/util/nsMsgFolder.cpp @@ -90,12 +90,12 @@ static NS_DEFINE_CID(kCollationFactoryCID, NS_COLLATIONFACTORY_CID); nsrefcnt nsMsgFolder::gInstanceCount = 0; -PRUnichar *nsMsgFolder::kInboxName = 0; -PRUnichar *nsMsgFolder::kTrashName = 0; -PRUnichar *nsMsgFolder::kSentName = 0; -PRUnichar *nsMsgFolder::kDraftsName = 0; -PRUnichar *nsMsgFolder::kTemplatesName = 0; -PRUnichar *nsMsgFolder::kUnsentName = 0; +PRUnichar *nsMsgFolder::kLocalizedInboxName; +PRUnichar *nsMsgFolder::kLocalizedTrashName; +PRUnichar *nsMsgFolder::kLocalizedSentName; +PRUnichar *nsMsgFolder::kLocalizedDraftsName; +PRUnichar *nsMsgFolder::kLocalizedTemplatesName; +PRUnichar *nsMsgFolder::kLocalizedUnsentName; nsIAtom * nsMsgFolder::kTotalMessagesAtom = nsnull; nsIAtom * nsMsgFolder::kBiffStateAtom = nsnull; @@ -195,12 +195,12 @@ nsMsgFolder::~nsMsgFolder(void) NS_IF_RELEASE(kSynchronizeAtom); NS_IF_RELEASE(kOpenAtom); NS_IF_RELEASE(kCollationKeyGenerator); - CRTFREEIF(kInboxName); - CRTFREEIF(kTrashName); - CRTFREEIF(kSentName); - CRTFREEIF(kDraftsName); - CRTFREEIF(kTemplatesName); - CRTFREEIF(kUnsentName); + CRTFREEIF(kLocalizedInboxName); + CRTFREEIF(kLocalizedTrashName); + CRTFREEIF(kLocalizedSentName); + CRTFREEIF(kLocalizedDraftsName); + CRTFREEIF(kLocalizedTemplatesName); + CRTFREEIF(kLocalizedUnsentName); #ifdef MSG_FASTER_URI_PARSING mParsingURL = nsnull; #endif @@ -218,7 +218,7 @@ nsMsgFolder::initializeStrings() { nsresult rv; nsCOMPtr bundleService = - do_GetService(kStringBundleServiceCID, &rv); + do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv); NS_ENSURE_SUCCESS(rv, rv); nsCOMPtr bundle; rv = bundleService->CreateBundle("chrome://messenger/locale/messenger.properties", @@ -226,17 +226,17 @@ nsMsgFolder::initializeStrings() NS_ENSURE_SUCCESS(rv, rv); bundle->GetStringFromName(NS_LITERAL_STRING("inboxFolderName").get(), - &kInboxName); + &kLocalizedInboxName); bundle->GetStringFromName(NS_LITERAL_STRING("trashFolderName").get(), - &kTrashName); + &kLocalizedTrashName); bundle->GetStringFromName(NS_LITERAL_STRING("sentFolderName").get(), - &kSentName); + &kLocalizedSentName); bundle->GetStringFromName(NS_LITERAL_STRING("draftsFolderName").get(), - &kDraftsName); + &kLocalizedDraftsName); bundle->GetStringFromName(NS_LITERAL_STRING("templatesFolderName").get(), - &kTemplatesName); + &kLocalizedTemplatesName); bundle->GetStringFromName(NS_LITERAL_STRING("unsentFolderName").get(), - &kUnsentName); + &kLocalizedUnsentName); return NS_OK; } @@ -873,7 +873,33 @@ NS_IMETHODIMP nsMsgFolder::GetPrettyName(PRUnichar ** name) NS_IMETHODIMP nsMsgFolder::SetPrettyName(const PRUnichar *name) { - return SetName(name); + nsresult rv; + nsAutoString unicodeName(name); + + //Set pretty name only if special flag is set and if it the default folder name + + if (mFlags & MSG_FOLDER_FLAG_INBOX && unicodeName.Equals(NS_LITERAL_STRING("Inbox"), nsCaseInsensitiveStringComparator())) + rv = SetName(kLocalizedInboxName); + + else if (mFlags & MSG_FOLDER_FLAG_SENTMAIL && unicodeName.Equals(NS_LITERAL_STRING("Sent"), nsCaseInsensitiveStringComparator())) + rv = SetName(kLocalizedSentName); + + else if (mFlags & MSG_FOLDER_FLAG_DRAFTS && unicodeName.Equals(NS_LITERAL_STRING("Drafts"), nsCaseInsensitiveStringComparator())) + rv = SetName(kLocalizedDraftsName); + + else if (mFlags & MSG_FOLDER_FLAG_TEMPLATES && unicodeName.Equals(NS_LITERAL_STRING("Templates"), nsCaseInsensitiveStringComparator())) + rv = SetName(kLocalizedTemplatesName); + + else if (mFlags & MSG_FOLDER_FLAG_TRASH && unicodeName.Equals(NS_LITERAL_STRING("Trash"), nsCaseInsensitiveStringComparator())) + rv = SetName(kLocalizedTrashName); + + else if (mFlags & MSG_FOLDER_FLAG_QUEUE && unicodeName.Equals(NS_LITERAL_STRING("Unsent Messages"), nsCaseInsensitiveStringComparator())) + rv = SetName(kLocalizedUnsentName); + + else + rv = SetName(name); + + return rv; } NS_IMETHODIMP nsMsgFolder::GetName(PRUnichar **name) @@ -1628,7 +1654,7 @@ NS_IMETHODIMP nsMsgFolder::OnFlagChange(PRUint32 flag) #ifdef DEBUG_bienvenu nsXPIDLString name; rv = GetName(getter_Copies(name)); - NS_ASSERTION(Compare(name, NS_LITERAL_STRING("Trash")) || (mFlags & MSG_FOLDER_FLAG_TRASH), "lost trash flag"); + NS_ASSERTION(Compare(name, kLocalizedTrashName)) || (mFlags & MSG_FOLDER_FLAG_TRASH), "lost trash flag"); #endif folderInfo->SetFlags((PRInt32) mFlags); if (db) @@ -2915,4 +2941,3 @@ NS_IMETHODIMP nsMsgFolder::CompareSortKeys(nsIMsgFolder *aFolder, PRInt32 *sortO return rv; } - diff --git a/mailnews/base/util/nsMsgFolder.h b/mailnews/base/util/nsMsgFolder.h index 6841ab5fff11..843dc99eb6b8 100644 --- a/mailnews/base/util/nsMsgFolder.h +++ b/mailnews/base/util/nsMsgFolder.h @@ -266,6 +266,7 @@ protected: nsresult GetWarnFilterChanged(PRBool *aVal); nsresult SetWarnFilterChanged(PRBool aVal); nsresult CreateCollationKey(const nsString &aSource, PRUint8 **aKey, PRUint32 *aLength); + protected: PRUint32 mFlags; nsWeakPtr mParent; //This won't be refcounted for ownership reasons. @@ -310,12 +311,12 @@ protected: static nsresult initializeStrings(); static nsresult createCollationKeyGenerator(); - static PRUnichar *kInboxName; - static PRUnichar *kTrashName; - static PRUnichar *kSentName; - static PRUnichar *kDraftsName; - static PRUnichar *kTemplatesName; - static PRUnichar *kUnsentName; + static PRUnichar *kLocalizedInboxName; + static PRUnichar *kLocalizedTrashName; + static PRUnichar *kLocalizedSentName; + static PRUnichar *kLocalizedDraftsName; + static PRUnichar *kLocalizedTemplatesName; + static PRUnichar *kLocalizedUnsentName; static nsIAtom* kTotalUnreadMessagesAtom; static nsIAtom* kBiffStateAtom; diff --git a/mailnews/imap/src/nsImapIncomingServer.cpp b/mailnews/imap/src/nsImapIncomingServer.cpp index 0cf790912626..47a1326b4c92 100644 --- a/mailnews/imap/src/nsImapIncomingServer.cpp +++ b/mailnews/imap/src/nsImapIncomingServer.cpp @@ -1312,7 +1312,7 @@ NS_IMETHODIMP nsImapIncomingServer::PossibleImapMailbox(const char *folderPath, if (hierarchyDelimiter != '/') nsImapUrl::UnescapeSlashes(NS_CONST_CAST(char*, folderName.get())); if (NS_SUCCEEDED(CreatePRUnicharStringFromUTF7(folderName.get(), getter_Copies(unicodeName)))) - child->SetName(unicodeName); + child->SetPrettyName(unicodeName); // Call ConvertFolderName() and HideFolderName() to do special folder name // mapping and hiding, if configured to do so. For example, need to hide AOL's // 'RECYCLE_OUT' & convert a few AOL folder names. Regular imap accounts diff --git a/mailnews/imap/src/nsImapMailFolder.cpp b/mailnews/imap/src/nsImapMailFolder.cpp index 272512f9f783..c514635eb82a 100644 --- a/mailnews/imap/src/nsImapMailFolder.cpp +++ b/mailnews/imap/src/nsImapMailFolder.cpp @@ -365,15 +365,15 @@ NS_IMETHODIMP nsImapMailFolder::AddSubfolderWithPath(nsAutoString *name, nsIFile name->Equals(NS_LITERAL_STRING("Inbox"), nsCaseInsensitiveStringComparator())) flags |= MSG_FOLDER_FLAG_INBOX; - else if((isServer || isParentInbox) && name->Equals(kTrashName, + else if((isServer || isParentInbox) && name->Equals(NS_LITERAL_STRING("Trash"), nsCaseInsensitiveStringComparator())) flags |= MSG_FOLDER_FLAG_TRASH; #if 0 - else if(name->EqualsIgnoreCase(kSentName)) + else if(name->EqualsIgnoreCase(NS_LITERAL_STRING("Sent"))) folder->SetFlag(MSG_FOLDER_FLAG_SENTMAIL); - else if(name->EqualsIgnoreCase(kDraftsName)) + else if(name->EqualsIgnoreCase(NS_LITERAL_STRING("Drafts"))) folder->SetFlag(MSG_FOLDER_FLAG_DRAFTS); - else if (name->EqualsIgnoreCase(kTemplatesName)); + else if (name->EqualsIgnoreCase(NS_LITERAL_STRING("Templates"))); folder->SetFlag(MSG_FOLDER_FLAG_TEMPLATES); #endif } @@ -508,7 +508,7 @@ nsresult nsImapMailFolder::CreateSubFolders(nsFileSpec &path) // use the unicode name as the "pretty" name. Set it so it won't be // automatically computed from the URI, which is in utf7 form. if (currentFolderNameStr.Length() > 0) - child->SetName(currentFolderNameStr.get()); + child->SetPrettyName(currentFolderNameStr.get()); } PL_strfree(folderName); diff --git a/mailnews/local/src/nsLocalMailFolder.cpp b/mailnews/local/src/nsLocalMailFolder.cpp index 38b54a913337..b808c36d2cd5 100644 --- a/mailnews/local/src/nsLocalMailFolder.cpp +++ b/mailnews/local/src/nsLocalMailFolder.cpp @@ -242,7 +242,7 @@ nsMsgLocalMailFolder::CreateSubFolders(nsFileSpec &path) rv = AddSubfolder(¤tFolderNameStr, getter_AddRefs(child)); if (child) - child->SetName(currentFolderNameStr.get()); + child->SetPrettyName(currentFolderNameStr.get()); } return rv; } @@ -295,24 +295,24 @@ NS_IMETHODIMP nsMsgLocalMailFolder::AddSubfolder(nsAutoString *name, //Only set these is these are top level children. if(NS_SUCCEEDED(rv) && isServer) { - if(name->Equals(kInboxName, nsCaseInsensitiveStringComparator())) + if(name->Equals(NS_LITERAL_STRING("Inbox"), nsCaseInsensitiveStringComparator())) { flags |= MSG_FOLDER_FLAG_INBOX; SetBiffState(nsIMsgFolder::nsMsgBiffState_Unknown); } - else if (name->Equals(kTrashName, nsCaseInsensitiveStringComparator())) + else if (name->Equals(NS_LITERAL_STRING("Trash"), nsCaseInsensitiveStringComparator())) flags |= MSG_FOLDER_FLAG_TRASH; - else if (name->Equals(kUnsentName, nsCaseInsensitiveStringComparator()) || + else if (name->Equals(NS_LITERAL_STRING("Unsent Messages"), nsCaseInsensitiveStringComparator()) || name->Equals(NS_LITERAL_STRING("Outbox"), nsCaseInsensitiveStringComparator())) flags |= MSG_FOLDER_FLAG_QUEUE; #if 0 // the logic for this has been moved into // SetFlagsOnDefaultMailboxes() - else if(name->EqualsIgnoreCase(kSentName)) + else if(name->EqualsIgnoreCase(NS_LITERAL_STRING("Sent"), nsCaseInsensitiveStringComparator())) folder->SetFlag(MSG_FOLDER_FLAG_SENTMAIL); - else if(name->EqualsIgnoreCase(kDraftsName)) + else if(name->EqualsIgnoreCase(NS_LITERAL_STRING("Drafts"), nsCaseInsensitiveStringComparator())) folder->SetFlag(MSG_FOLDER_FLAG_DRAFTS); - else if(name->EqualsIgnoreCase(kTemplatesName)) + else if(name->EqualsIgnoreCase(NS_LITERAL_STRING("Templates"), nsCaseInsensitiveStringComparator())) folder->SetFlag(MSG_FOLDER_FLAG_TEMPLATES); #endif } @@ -352,7 +352,6 @@ NS_IMETHODIMP nsMsgLocalMailFolder::ParseFolder(nsIMsgWindow *aMsgWindow, nsIUrl nsMsgMailboxParser *parser = new nsMsgMailboxParser; if(!parser) return NS_ERROR_OUT_OF_MEMORY; - rv = mailboxService->ParseMailbox(aMsgWindow, path, parser, listener, nsnull); return rv; @@ -842,7 +841,7 @@ nsMsgLocalMailFolder::CreateSubfolder(const PRUnichar *folderName, nsIMsgWindow //Now let's create the actual new folder rv = AddSubfolder(&folderNameStr, getter_AddRefs(child)); if (child) - child->SetName(folderNameStr.get()); + child->SetPrettyName(folderNameStr.get()); //because empty trash will create a new trash folder unusedDB->SetSummaryValid(PR_TRUE); unusedDB->Close(PR_TRUE); } @@ -983,33 +982,27 @@ NS_IMETHODIMP nsMsgLocalMailFolder::EmptyTrash(nsIMsgWindow *msgWindow, rv = trashFolder->GetParentMsgFolder(getter_AddRefs(parentFolder)); if (NS_SUCCEEDED(rv) && parentFolder) { - nsXPIDLString idlFolderName; - rv = trashFolder->GetName(getter_Copies(idlFolderName)); - if (NS_SUCCEEDED(rv)) - { - nsCOMPtr dbFolderInfo; - nsCOMPtr transferInfo; - nsCOMPtr db; - trashFolder->GetDBFolderInfoAndDB(getter_AddRefs(dbFolderInfo), getter_AddRefs(db)); - if (dbFolderInfo) - dbFolderInfo->GetTransferInfo(getter_AddRefs(transferInfo)); - dbFolderInfo = nsnull; + nsCOMPtr dbFolderInfo; + nsCOMPtr transferInfo; + nsCOMPtr db; + trashFolder->GetDBFolderInfoAndDB(getter_AddRefs(dbFolderInfo), getter_AddRefs(db)); + if (dbFolderInfo) + dbFolderInfo->GetTransferInfo(getter_AddRefs(transferInfo)); + dbFolderInfo = nsnull; - nsString folderName(idlFolderName); - trashFolder->SetParent(nsnull); - parentFolder->PropagateDelete(trashFolder, PR_TRUE, msgWindow); - parentFolder->CreateSubfolder(folderName.get(),nsnull); - nsCOMPtr newTrashFolder; - rv = GetTrashFolder(getter_AddRefs(newTrashFolder)); - if (NS_SUCCEEDED(rv) && newTrashFolder) - newTrashFolder->GetMsgDatabase(msgWindow, getter_AddRefs(db)); + trashFolder->SetParent(nsnull); + parentFolder->PropagateDelete(trashFolder, PR_TRUE, msgWindow); + parentFolder->CreateSubfolder(NS_LITERAL_STRING("Trash").get(),nsnull); + nsCOMPtr newTrashFolder; + rv = GetTrashFolder(getter_AddRefs(newTrashFolder)); + if (NS_SUCCEEDED(rv) && newTrashFolder) + newTrashFolder->GetMsgDatabase(msgWindow, getter_AddRefs(db)); - if (transferInfo && db) - { - db->GetDBFolderInfo(getter_AddRefs(dbFolderInfo)); - if (dbFolderInfo) - dbFolderInfo->InitFromTransferInfo(transferInfo); - } + if (transferInfo && db) + { + db->GetDBFolderInfo(getter_AddRefs(dbFolderInfo)); + if (dbFolderInfo) + dbFolderInfo->InitFromTransferInfo(transferInfo); } } } @@ -3256,44 +3249,52 @@ NS_IMETHODIMP nsMsgLocalMailFolder::SetFlagsOnDefaultMailboxes(PRUint32 flags) { if (flags & MSG_FOLDER_FLAG_INBOX) - setSubfolderFlag(kInboxName, MSG_FOLDER_FLAG_INBOX); + setSubfolderFlag("Inbox", MSG_FOLDER_FLAG_INBOX); if (flags & MSG_FOLDER_FLAG_SENTMAIL) - setSubfolderFlag(kSentName, MSG_FOLDER_FLAG_SENTMAIL); + setSubfolderFlag("Sent", MSG_FOLDER_FLAG_SENTMAIL); if (flags & MSG_FOLDER_FLAG_DRAFTS) - setSubfolderFlag(kDraftsName, MSG_FOLDER_FLAG_DRAFTS); + setSubfolderFlag("Drafts", MSG_FOLDER_FLAG_DRAFTS); if (flags & MSG_FOLDER_FLAG_TEMPLATES) - setSubfolderFlag(kTemplatesName, MSG_FOLDER_FLAG_TEMPLATES); + setSubfolderFlag("Templates", MSG_FOLDER_FLAG_TEMPLATES); if (flags & MSG_FOLDER_FLAG_TRASH) - setSubfolderFlag(kTrashName, MSG_FOLDER_FLAG_TRASH); + setSubfolderFlag("Trash", MSG_FOLDER_FLAG_TRASH); if (flags & MSG_FOLDER_FLAG_QUEUE) - setSubfolderFlag(kUnsentName, MSG_FOLDER_FLAG_QUEUE); + setSubfolderFlag("Unsent Messages", MSG_FOLDER_FLAG_QUEUE); return NS_OK; } nsresult -nsMsgLocalMailFolder::setSubfolderFlag(PRUnichar* aFolderName, +nsMsgLocalMailFolder::setSubfolderFlag(const char *aFolderName, PRUint32 flags) { nsresult rv; nsCOMPtr folder; - rv = FindSubFolder(NS_ConvertUCS2toUTF8(aFolderName).get(), getter_AddRefs(folder)); + rv = FindSubFolder(aFolderName, getter_AddRefs(folder)); - if (NS_FAILED(rv)) return rv; - if (!folder) return NS_ERROR_FAILURE; + if (NS_FAILED(rv)) + return rv; + if (!folder) + return NS_ERROR_FAILURE; nsCOMPtr msgFolder = do_QueryInterface(folder); - if (!msgFolder) return NS_ERROR_FAILURE; + if (!msgFolder) + return NS_ERROR_FAILURE; rv = msgFolder->SetFlag(flags); - if (NS_FAILED(rv)) return rv; + if (NS_FAILED(rv)) + return rv; + + nsAutoString unicodeFolderName; + unicodeFolderName.AssignWithConversion(aFolderName); + msgFolder->SetPrettyName(unicodeFolderName.get()); return NS_OK; } diff --git a/mailnews/local/src/nsLocalMailFolder.h b/mailnews/local/src/nsLocalMailFolder.h index f3ff6f552886..a7a5e21fca95 100644 --- a/mailnews/local/src/nsLocalMailFolder.h +++ b/mailnews/local/src/nsLocalMailFolder.h @@ -216,7 +216,7 @@ protected: PRBool mCheckForNewMessagesAfterParsing; nsCOMPtr mMsgStringService; - nsresult setSubfolderFlag(PRUnichar *aFolderName, PRUint32 flags); + nsresult setSubfolderFlag(const char *aFolderName, PRUint32 flags); }; #endif // nsMsgLocalMailFolder_h__ diff --git a/mailnews/local/src/nsMovemailIncomingServer.cpp b/mailnews/local/src/nsMovemailIncomingServer.cpp index 5e35eafebf4b..8474557b5676 100644 --- a/mailnews/local/src/nsMovemailIncomingServer.cpp +++ b/mailnews/local/src/nsMovemailIncomingServer.cpp @@ -118,8 +118,6 @@ NS_IMETHODIMP nsMovemailIncomingServer::CreateDefaultMailboxes(nsIFileSpec *path PRBool exists; if (!path) return NS_ERROR_NULL_POINTER; - // todo, use a string bundle for this - rv =path->AppendRelativeUnixPath("Inbox"); if (NS_FAILED(rv)) return rv; rv = path->Exists(&exists); diff --git a/mailnews/local/src/nsNoIncomingServer.cpp b/mailnews/local/src/nsNoIncomingServer.cpp index 251c04490eb3..68ffca210525 100644 --- a/mailnews/local/src/nsNoIncomingServer.cpp +++ b/mailnews/local/src/nsNoIncomingServer.cpp @@ -166,10 +166,8 @@ NS_IMETHODIMP nsNoIncomingServer::CreateDefaultMailboxes(nsIFileSpec *path) { nsresult rv; PRBool exists; - if (!path) return NS_ERROR_NULL_POINTER; - - // todo, use a string bundle for these - + if (!path) + return NS_ERROR_NULL_POINTER; // notice, no Inbox rv = path->AppendRelativeUnixPath("Trash"); diff --git a/mailnews/local/src/nsPop3IncomingServer.cpp b/mailnews/local/src/nsPop3IncomingServer.cpp index 37a2cd36242b..76736513b16e 100644 --- a/mailnews/local/src/nsPop3IncomingServer.cpp +++ b/mailnews/local/src/nsPop3IncomingServer.cpp @@ -60,17 +60,6 @@ static NS_DEFINE_CID(kCPop3ServiceCID, NS_POP3SERVICE_CID); static NS_DEFINE_CID(kCMsgMailSessionCID, NS_MSGMAILSESSION_CID); static NS_DEFINE_CID(kStringBundleServiceCID, NS_STRINGBUNDLESERVICE_CID); -#define INBOX_NAME "Inbox" - -nsrefcnt nsPop3IncomingServer::gInstanceCount = 0; - -PRUnichar *nsPop3IncomingServer::kInboxName = 0; -PRUnichar *nsPop3IncomingServer::kTrashName = 0; -PRUnichar *nsPop3IncomingServer::kSentName = 0; -PRUnichar *nsPop3IncomingServer::kDraftsName = 0; -PRUnichar *nsPop3IncomingServer::kTemplatesName = 0; -PRUnichar *nsPop3IncomingServer::kUnsentName = 0; - NS_IMPL_ISUPPORTS_INHERITED2(nsPop3IncomingServer, nsMsgIncomingServer, nsIPop3IncomingServer, @@ -87,52 +76,11 @@ nsPop3IncomingServer::nsPop3IncomingServer() POP3_TOP_UNDEFINED | POP3_XTND_XLST_UNDEFINED; - if (gInstanceCount++ == 0) { - initializeStrings(); - - } - m_canHaveFilters = PR_TRUE; } nsPop3IncomingServer::~nsPop3IncomingServer() { - if (--gInstanceCount == 0) { - CRTFREEIF(kInboxName); - CRTFREEIF(kTrashName); - CRTFREEIF(kSentName); - CRTFREEIF(kDraftsName); - CRTFREEIF(kTemplatesName); - CRTFREEIF(kUnsentName); - } -} - -nsresult -nsPop3IncomingServer::initializeStrings() -{ - nsresult rv; - nsCOMPtr bundleService = - do_GetService(kStringBundleServiceCID, &rv); - NS_ENSURE_SUCCESS(rv, rv); - - nsCOMPtr bundle; - rv = bundleService->CreateBundle("chrome://messenger/locale/messenger.properties", - getter_AddRefs(bundle)); - NS_ENSURE_SUCCESS(rv, rv); - - bundle->GetStringFromName(NS_LITERAL_STRING("inboxFolderName").get(), - &kInboxName); - bundle->GetStringFromName(NS_LITERAL_STRING("trashFolderName").get(), - &kTrashName); - bundle->GetStringFromName(NS_LITERAL_STRING("sentFolderName").get(), - &kSentName); - bundle->GetStringFromName(NS_LITERAL_STRING("draftsFolderName").get(), - &kDraftsName); - bundle->GetStringFromName(NS_LITERAL_STRING("templatesFolderName").get(), - &kTemplatesName); - bundle->GetStringFromName(NS_LITERAL_STRING("unsentFolderName").get(), - &kUnsentName); - return NS_OK; } @@ -260,8 +208,7 @@ NS_IMETHODIMP nsPop3IncomingServer::CreateDefaultMailboxes(nsIFileSpec *path) PRBool exists; if (!path) return NS_ERROR_NULL_POINTER; - // todo, use a string bundle for this - rv =path->AppendRelativeUnixPath(INBOX_NAME); + rv =path->AppendRelativeUnixPath("Inbox"); if (NS_FAILED(rv)) return rv; rv = path->Exists(&exists); if (!exists) { diff --git a/mailnews/local/src/nsPop3IncomingServer.h b/mailnews/local/src/nsPop3IncomingServer.h index bd11a789520f..0430c9b38c6a 100644 --- a/mailnews/local/src/nsPop3IncomingServer.h +++ b/mailnews/local/src/nsPop3IncomingServer.h @@ -69,18 +69,6 @@ private: PRUnichar *folderName, PRUint32 flag); - // copied from nsMsgFolder because flag setting is done in the - // server, not the folder :( - static nsrefcnt gInstanceCount; - static nsresult initializeStrings(); - - static PRUnichar *kInboxName; - static PRUnichar *kTrashName; - static PRUnichar *kSentName; - static PRUnichar *kDraftsName; - static PRUnichar *kTemplatesName; - static PRUnichar *kUnsentName; - PRUint32 m_capabilityFlags; };