diff --git a/mailnews/addrbook/resources/locale/en-US/addressBook.properties b/mailnews/addrbook/resources/locale/en-US/addressBook.properties index 5260730956d9..f456f496aa8d 100644 --- a/mailnews/addrbook/resources/locale/en-US/addressBook.properties +++ b/mailnews/addrbook/resources/locale/en-US/addressBook.properties @@ -77,6 +77,7 @@ prefixTo=To prefixCc=Cc prefixBcc=Bcc emptyEmailCard=Please remove the following cards with no email address : +addressBook=Address Book # mailnews.js # diff --git a/mailnews/addrbook/src/nsAbCardProperty.cpp b/mailnews/addrbook/src/nsAbCardProperty.cpp index ae6067e8de34..2f9fe5e109d6 100644 --- a/mailnews/addrbook/src/nsAbCardProperty.cpp +++ b/mailnews/addrbook/src/nsAbCardProperty.cpp @@ -58,6 +58,8 @@ #define PREF_MAIL_ADDR_BOOK_LASTNAMEFIRST "mail.addr_book.lastnamefirst" +const char sAddrbookProperties[] = "chrome://messenger/locale/addressbook/addressBook.properties"; + struct AppendItem; typedef nsresult (AppendCallback) (nsAbCardProperty *aCard, AppendItem *aItem, mozITXTToHTMLConv *aConv, nsString &aResult); @@ -1012,8 +1014,26 @@ NS_IMETHODIMP nsAbCardProperty::ConvertToBase64EncodedXML(char **result) xmlStr.Append(NS_LITERAL_STRING("\n").get()); xmlStr.Append(NS_LITERAL_STRING("\n").get()); + xmlStr.Append(NS_LITERAL_STRING("\n").get()); + // Get Address Book string and set it as title of XML document + nsCOMPtr bundle; + nsCOMPtr stringBundleService = do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv); + if (NS_SUCCEEDED(rv)) { + rv = stringBundleService->CreateBundle(sAddrbookProperties, getter_AddRefs(bundle)); + if (NS_SUCCEEDED(rv)) { + nsXPIDLString addrBook; + rv = bundle->GetStringFromName(NS_LITERAL_STRING("addressBook").get(), getter_Copies(addrBook)); + if (NS_SUCCEEDED(rv)) { + xmlStr.Append(NS_LITERAL_STRING("").get()); + xmlStr.Append(addrBook); + xmlStr.Append(NS_LITERAL_STRING("\n").get()); + } + } + } + + nsXPIDLString xmlSubstr; rv = ConvertToXMLPrintData(getter_Copies(xmlSubstr)); NS_ENSURE_SUCCESS(rv,rv); @@ -1063,7 +1083,7 @@ NS_IMETHODIMP nsAbCardProperty::ConvertToXMLPrintData(PRUnichar **aXMLSubstr) nsCOMPtr stringBundleService = do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv); NS_ENSURE_SUCCESS(rv,rv); - rv = stringBundleService->CreateBundle("chrome://messenger/locale/addressbook/addressBook.properties", getter_AddRefs(bundle)); + rv = stringBundleService->CreateBundle(sAddrbookProperties, getter_AddRefs(bundle)); NS_ENSURE_SUCCESS(rv,rv); nsXPIDLString heading; @@ -1240,7 +1260,7 @@ nsresult nsAbCardProperty::AppendSection(AppendItem *aArray, PRInt16 aCount, con nsCOMPtr stringBundleService = do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv); NS_ENSURE_SUCCESS(rv,rv); - rv = stringBundleService->CreateBundle("chrome://messenger/locale/addressbook/addressBook.properties", getter_AddRefs(bundle)); + rv = stringBundleService->CreateBundle(sAddrbookProperties, getter_AddRefs(bundle)); NS_ENSURE_SUCCESS(rv,rv); nsXPIDLString heading; @@ -1300,7 +1320,7 @@ nsresult AppendLabel(nsAbCardProperty *aCard, AppendItem *aItem, mozITXTToHTMLCo nsCOMPtr stringBundleService = do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv); NS_ENSURE_SUCCESS(rv,rv); - rv = stringBundleService->CreateBundle("chrome://messenger/locale/addressbook/addressBook.properties", getter_AddRefs(bundle)); + rv = stringBundleService->CreateBundle(sAddrbookProperties, getter_AddRefs(bundle)); NS_ENSURE_SUCCESS(rv,rv); nsXPIDLString label; @@ -1373,7 +1393,7 @@ nsresult AppendCityStateZip(nsAbCardProperty *aCard, AppendItem *aItem, mozITXTT nsCOMPtr stringBundleService = do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv); NS_ENSURE_SUCCESS(rv,rv); - rv = stringBundleService->CreateBundle("chrome://messenger/locale/addressbook/addressBook.properties", getter_AddRefs(bundle)); + rv = stringBundleService->CreateBundle(sAddrbookProperties, getter_AddRefs(bundle)); NS_ENSURE_SUCCESS(rv,rv); if (!cityResult.IsEmpty() && !stateResult.IsEmpty() && !zipResult.IsEmpty()) { diff --git a/mailnews/addrbook/src/nsAddbookProtocolHandler.cpp b/mailnews/addrbook/src/nsAddbookProtocolHandler.cpp index 8e29793a920b..9eefb003cc8a 100644 --- a/mailnews/addrbook/src/nsAddbookProtocolHandler.cpp +++ b/mailnews/addrbook/src/nsAddbookProtocolHandler.cpp @@ -63,6 +63,9 @@ #include "nsIPrefService.h" #include "nsIPrefBranch.h" +#include "nsIStringBundle.h" +#include "nsIServiceManager.h" + nsAddbookProtocolHandler::nsAddbookProtocolHandler() { NS_INIT_ISUPPORTS(); @@ -256,6 +259,23 @@ nsAddbookProtocolHandler::BuildDirectoryXML(nsIAbDirectory *aDirectory, aOutput.Append(NS_LITERAL_STRING("\n").get()); aOutput.Append(NS_LITERAL_STRING("\n").get()); aOutput.Append(NS_LITERAL_STRING("\n").get()); + + // Get Address Book string and set it as title of XML document + nsCOMPtr bundle; + nsCOMPtr stringBundleService = do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv); + if (NS_SUCCEEDED(rv)) { + rv = stringBundleService->CreateBundle("chrome://messenger/locale/addressbook/addressBook.properties", getter_AddRefs(bundle)); + if (NS_SUCCEEDED(rv)) { + nsXPIDLString addrBook; + rv = bundle->GetStringFromName(NS_LITERAL_STRING("addressBook").get(), getter_Copies(addrBook)); + if (NS_SUCCEEDED(rv)) { + aOutput.Append(NS_LITERAL_STRING("").get()); + aOutput.Append(addrBook); + aOutput.Append(NS_LITERAL_STRING("\n").get()); + } + } + } + rv = aDirectory->GetChildCards(getter_AddRefs(cardsEnumerator)); if (NS_SUCCEEDED(rv) && cardsEnumerator)