зеркало из https://github.com/mozilla/pjs.git
Bug 156742 Consolidate getting the string bundle (nsAbCardProperty.cpp). Original Patch by Andrew Taylor <ataylor@its.to>, revised and updated by me. r=bienvenu,sr=dmose
This commit is contained in:
Родитель
9c6efdfab7
Коммит
c42832559f
|
@ -51,6 +51,7 @@
|
||||||
#include "plbase64.h"
|
#include "plbase64.h"
|
||||||
#include "nsIAddrBookSession.h"
|
#include "nsIAddrBookSession.h"
|
||||||
#include "nsIStringBundle.h"
|
#include "nsIStringBundle.h"
|
||||||
|
#include "nsIAddressBook.h"
|
||||||
#include "plstr.h"
|
#include "plstr.h"
|
||||||
#include "nsIRDFResource.h"
|
#include "nsIRDFResource.h"
|
||||||
#include "nsIRDFService.h"
|
#include "nsIRDFService.h"
|
||||||
|
@ -65,61 +66,59 @@
|
||||||
|
|
||||||
const char sAddrbookProperties[] = "chrome://messenger/locale/addressbook/addressBook.properties";
|
const char sAddrbookProperties[] = "chrome://messenger/locale/addressbook/addressBook.properties";
|
||||||
|
|
||||||
struct AppendItem;
|
enum EAppendType {
|
||||||
|
eAppendLine,
|
||||||
typedef nsresult (AppendCallback) (nsAbCardProperty *aCard, AppendItem *aItem, mozITXTToHTMLConv *aConv, nsString &aResult);
|
eAppendLabel,
|
||||||
|
eAppendCityStateZip
|
||||||
|
};
|
||||||
|
|
||||||
struct AppendItem {
|
struct AppendItem {
|
||||||
const char *mColumn;
|
const char *mColumn;
|
||||||
const char *mLabel;
|
const char *mLabel;
|
||||||
AppendCallback *mCallback;
|
EAppendType mAppendType;
|
||||||
};
|
};
|
||||||
|
|
||||||
nsresult AppendLine(nsAbCardProperty *aCard, AppendItem *aItem, mozITXTToHTMLConv *aConv, nsString &aResult);
|
static const AppendItem NAME_ATTRS_ARRAY[] = {
|
||||||
nsresult AppendLabel(nsAbCardProperty *aCard, AppendItem *aItem, mozITXTToHTMLConv *aConv, nsString &aResult);
|
{kDisplayNameColumn, "propertyDisplayName", eAppendLabel},
|
||||||
nsresult AppendCityStateZip(nsAbCardProperty *aCard, AppendItem *aItem, mozITXTToHTMLConv *aConv, nsString &aResult);
|
{kNicknameColumn, "propertyNickname", eAppendLabel},
|
||||||
|
{kPriEmailColumn, "", eAppendLine},
|
||||||
static AppendItem NAME_ATTRS_ARRAY[] = {
|
{k2ndEmailColumn, "", eAppendLine},
|
||||||
{kDisplayNameColumn, "propertyDisplayName", AppendLabel},
|
{kAimScreenNameColumn, "propertyScreenName", eAppendLabel},
|
||||||
{kNicknameColumn, "propertyNickname", AppendLabel},
|
|
||||||
{kPriEmailColumn, "", AppendLine},
|
|
||||||
{k2ndEmailColumn, "", AppendLine},
|
|
||||||
{kAimScreenNameColumn, "propertyScreenName", AppendLabel},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static AppendItem PHONE_ATTRS_ARRAY[] = {
|
static const AppendItem PHONE_ATTRS_ARRAY[] = {
|
||||||
{kWorkPhoneColumn, "propertyWork", AppendLabel},
|
{kWorkPhoneColumn, "propertyWork", eAppendLabel},
|
||||||
{kHomePhoneColumn, "propertyHome", AppendLabel},
|
{kHomePhoneColumn, "propertyHome", eAppendLabel},
|
||||||
{kFaxColumn, "propertyFax", AppendLabel},
|
{kFaxColumn, "propertyFax", eAppendLabel},
|
||||||
{kPagerColumn, "propertyPager", AppendLabel},
|
{kPagerColumn, "propertyPager", eAppendLabel},
|
||||||
{kCellularColumn, "propertyCellular", AppendLabel}
|
{kCellularColumn, "propertyCellular", eAppendLabel}
|
||||||
};
|
};
|
||||||
|
|
||||||
static AppendItem HOME_ATTRS_ARRAY[] = {
|
static const AppendItem HOME_ATTRS_ARRAY[] = {
|
||||||
{kHomeAddressColumn, "", AppendLine},
|
{kHomeAddressColumn, "", eAppendLine},
|
||||||
{kHomeAddress2Column, "", AppendLine},
|
{kHomeAddress2Column, "", eAppendLine},
|
||||||
{kHomeCityColumn, "", AppendCityStateZip},
|
{kHomeCityColumn, "", eAppendCityStateZip},
|
||||||
{kHomeCountryColumn, "", AppendLine},
|
{kHomeCountryColumn, "", eAppendLine},
|
||||||
{kWebPage2Column, "", AppendLine}
|
{kWebPage2Column, "", eAppendLine}
|
||||||
};
|
};
|
||||||
|
|
||||||
static AppendItem WORK_ATTRS_ARRAY[] = {
|
static const AppendItem WORK_ATTRS_ARRAY[] = {
|
||||||
{kJobTitleColumn, "", AppendLine},
|
{kJobTitleColumn, "", eAppendLine},
|
||||||
{kDepartmentColumn, "", AppendLine},
|
{kDepartmentColumn, "", eAppendLine},
|
||||||
{kCompanyColumn, "", AppendLine},
|
{kCompanyColumn, "", eAppendLine},
|
||||||
{kWorkAddressColumn, "", AppendLine},
|
{kWorkAddressColumn, "", eAppendLine},
|
||||||
{kWorkAddress2Column, "", AppendLine},
|
{kWorkAddress2Column, "", eAppendLine},
|
||||||
{kWorkCityColumn, "", AppendCityStateZip},
|
{kWorkCityColumn, "", eAppendCityStateZip},
|
||||||
{kWorkCountryColumn, "", AppendLine},
|
{kWorkCountryColumn, "", eAppendLine},
|
||||||
{kWebPage1Column, "", AppendLine}
|
{kWebPage1Column, "", eAppendLine}
|
||||||
};
|
};
|
||||||
|
|
||||||
static AppendItem CUSTOM_ATTRS_ARRAY[] = {
|
static const AppendItem CUSTOM_ATTRS_ARRAY[] = {
|
||||||
{kCustom1Column, "propertyCustom1", AppendLabel},
|
{kCustom1Column, "propertyCustom1", eAppendLabel},
|
||||||
{kCustom2Column, "propertyCustom2", AppendLabel},
|
{kCustom2Column, "propertyCustom2", eAppendLabel},
|
||||||
{kCustom3Column, "propertyCustom3", AppendLabel},
|
{kCustom3Column, "propertyCustom3", eAppendLabel},
|
||||||
{kCustom4Column, "propertyCustom4", AppendLabel},
|
{kCustom4Column, "propertyCustom4", eAppendLabel},
|
||||||
{kNotesColumn, "", AppendLine}
|
{kNotesColumn, "", eAppendLine}
|
||||||
};
|
};
|
||||||
|
|
||||||
nsAbCardProperty::nsAbCardProperty(void)
|
nsAbCardProperty::nsAbCardProperty(void)
|
||||||
|
@ -1652,18 +1651,18 @@ NS_IMETHODIMP nsAbCardProperty::ConvertToXMLPrintData(PRUnichar **aXMLSubstr)
|
||||||
xmlStr.AppendLiteral("</GeneratedName>\n"
|
xmlStr.AppendLiteral("</GeneratedName>\n"
|
||||||
"<table><tr><td>");
|
"<table><tr><td>");
|
||||||
|
|
||||||
rv = AppendSection(NAME_ATTRS_ARRAY, sizeof(NAME_ATTRS_ARRAY)/sizeof(AppendItem), EmptyString(), conv, xmlStr);
|
rv = AppendSection(NAME_ATTRS_ARRAY, sizeof(NAME_ATTRS_ARRAY)/sizeof(AppendItem), EmptyString(), bundle, conv, xmlStr);
|
||||||
|
|
||||||
xmlStr.AppendLiteral("</td></tr><tr><td>");
|
xmlStr.AppendLiteral("</td></tr><tr><td>");
|
||||||
|
|
||||||
rv = AppendSection(PHONE_ATTRS_ARRAY, sizeof(PHONE_ATTRS_ARRAY)/sizeof(AppendItem), NS_LITERAL_STRING("headingPhone"), conv, xmlStr);
|
rv = AppendSection(PHONE_ATTRS_ARRAY, sizeof(PHONE_ATTRS_ARRAY)/sizeof(AppendItem), NS_LITERAL_STRING("headingPhone"), bundle, conv, xmlStr);
|
||||||
|
|
||||||
if (!m_IsMailList) {
|
if (!m_IsMailList) {
|
||||||
rv = AppendSection(CUSTOM_ATTRS_ARRAY, sizeof(CUSTOM_ATTRS_ARRAY)/sizeof(AppendItem), NS_LITERAL_STRING("headingOther"), conv, xmlStr);
|
rv = AppendSection(CUSTOM_ATTRS_ARRAY, sizeof(CUSTOM_ATTRS_ARRAY)/sizeof(AppendItem), NS_LITERAL_STRING("headingOther"), bundle, conv, xmlStr);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rv = AppendSection(CUSTOM_ATTRS_ARRAY, sizeof(CUSTOM_ATTRS_ARRAY)/sizeof(AppendItem), NS_LITERAL_STRING("headingDescription"),
|
rv = AppendSection(CUSTOM_ATTRS_ARRAY, sizeof(CUSTOM_ATTRS_ARRAY)/sizeof(AppendItem), NS_LITERAL_STRING("headingDescription"),
|
||||||
conv, xmlStr);
|
bundle, conv, xmlStr);
|
||||||
|
|
||||||
xmlStr.AppendLiteral("<section><sectiontitle>");
|
xmlStr.AppendLiteral("<section><sectiontitle>");
|
||||||
|
|
||||||
|
@ -1726,8 +1725,8 @@ NS_IMETHODIMP nsAbCardProperty::ConvertToXMLPrintData(PRUnichar **aXMLSubstr)
|
||||||
|
|
||||||
xmlStr.AppendLiteral("</td><td>");
|
xmlStr.AppendLiteral("</td><td>");
|
||||||
|
|
||||||
rv = AppendSection(HOME_ATTRS_ARRAY, sizeof(HOME_ATTRS_ARRAY)/sizeof(AppendItem), NS_LITERAL_STRING("headingHome"), conv, xmlStr);
|
rv = AppendSection(HOME_ATTRS_ARRAY, sizeof(HOME_ATTRS_ARRAY)/sizeof(AppendItem), NS_LITERAL_STRING("headingHome"), bundle, conv, xmlStr);
|
||||||
rv = AppendSection(WORK_ATTRS_ARRAY, sizeof(WORK_ATTRS_ARRAY)/sizeof(AppendItem), NS_LITERAL_STRING("headingWork"), conv, xmlStr);
|
rv = AppendSection(WORK_ATTRS_ARRAY, sizeof(WORK_ATTRS_ARRAY)/sizeof(AppendItem), NS_LITERAL_STRING("headingWork"), bundle, conv, xmlStr);
|
||||||
|
|
||||||
xmlStr.AppendLiteral("</td></tr></table>");
|
xmlStr.AppendLiteral("</td></tr></table>");
|
||||||
|
|
||||||
|
@ -1765,10 +1764,12 @@ nsresult nsAbCardProperty::AppendData(const char *aAttrName, mozITXTToHTMLConv *
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
nsresult nsAbCardProperty::AppendSection(AppendItem *aArray, PRInt16 aCount, const nsAFlatString& aHeading,
|
nsresult nsAbCardProperty::AppendSection(const AppendItem *aArray, PRInt16 aCount, const nsAFlatString& aHeading,
|
||||||
mozITXTToHTMLConv *aConv, nsString &aResult)
|
nsIStringBundle *aBundle,
|
||||||
|
mozITXTToHTMLConv *aConv,
|
||||||
|
nsString &aResult)
|
||||||
{
|
{
|
||||||
nsresult rv;
|
nsresult rv = NS_OK;
|
||||||
|
|
||||||
aResult.AppendLiteral("<section>");
|
aResult.AppendLiteral("<section>");
|
||||||
|
|
||||||
|
@ -1783,16 +1784,8 @@ nsresult nsAbCardProperty::AppendSection(AppendItem *aArray, PRInt16 aCount, con
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!sectionIsEmpty && !aHeading.IsEmpty()) {
|
if (!sectionIsEmpty && !aHeading.IsEmpty()) {
|
||||||
nsCOMPtr<nsIStringBundle> bundle;
|
|
||||||
|
|
||||||
nsCOMPtr<nsIStringBundleService> stringBundleService = do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv);
|
|
||||||
NS_ENSURE_SUCCESS(rv,rv);
|
|
||||||
|
|
||||||
rv = stringBundleService->CreateBundle(sAddrbookProperties, getter_AddRefs(bundle));
|
|
||||||
NS_ENSURE_SUCCESS(rv,rv);
|
|
||||||
|
|
||||||
nsXPIDLString heading;
|
nsXPIDLString heading;
|
||||||
rv = bundle->GetStringFromName(aHeading.get(), getter_Copies(heading));
|
rv = aBundle->GetStringFromName(aHeading.get(), getter_Copies(heading));
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
aResult.AppendLiteral("<sectiontitle>");
|
aResult.AppendLiteral("<sectiontitle>");
|
||||||
|
@ -1801,26 +1794,46 @@ nsresult nsAbCardProperty::AppendSection(AppendItem *aArray, PRInt16 aCount, con
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i=0;i<aCount;i++) {
|
for (i=0;i<aCount;i++) {
|
||||||
rv = aArray[i].mCallback(this, &aArray[i], aConv, aResult);
|
switch (aArray[i].mAppendType) {
|
||||||
NS_ASSERTION(NS_SUCCEEDED(rv), "append callback failed");
|
case eAppendLine:
|
||||||
}
|
rv = AppendLine(aArray[i], aConv, aResult);
|
||||||
|
break;
|
||||||
|
case eAppendLabel:
|
||||||
|
rv = AppendLabel(aArray[i], aBundle, aConv, aResult);
|
||||||
|
break;
|
||||||
|
case eAppendCityStateZip:
|
||||||
|
rv = AppendCityStateZip(aArray[i], aBundle, aConv, aResult);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
rv = NS_ERROR_FAILURE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (NS_FAILED(rv)) {
|
||||||
|
NS_WARNING("append item failed");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
aResult.AppendLiteral("</section>");
|
aResult.AppendLiteral("</section>");
|
||||||
|
|
||||||
return NS_OK;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
nsresult AppendLine(nsAbCardProperty *aCard, AppendItem *aItem, mozITXTToHTMLConv *aConv, nsString &aResult)
|
nsresult nsAbCardProperty::AppendLine(const AppendItem &aItem,
|
||||||
|
mozITXTToHTMLConv *aConv,
|
||||||
|
nsString &aResult)
|
||||||
{
|
{
|
||||||
|
NS_ENSURE_ARG_POINTER(aConv);
|
||||||
|
|
||||||
nsXPIDLString attrValue;
|
nsXPIDLString attrValue;
|
||||||
nsresult rv = aCard->GetCardValue(aItem->mColumn, getter_Copies(attrValue));
|
nsresult rv = GetCardValue(aItem.mColumn, getter_Copies(attrValue));
|
||||||
NS_ENSURE_SUCCESS(rv,rv);
|
NS_ENSURE_SUCCESS(rv,rv);
|
||||||
|
|
||||||
if (attrValue.IsEmpty())
|
if (attrValue.IsEmpty())
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
|
|
||||||
nsAutoString attrNameStr;
|
nsAutoString attrNameStr;
|
||||||
attrNameStr.AssignWithConversion(aItem->mColumn);
|
attrNameStr.AssignWithConversion(aItem.mColumn);
|
||||||
|
|
||||||
aResult.Append(PRUnichar('<'));
|
aResult.Append(PRUnichar('<'));
|
||||||
aResult.Append(attrNameStr);
|
aResult.Append(attrNameStr);
|
||||||
|
@ -1839,29 +1852,26 @@ nsresult AppendLine(nsAbCardProperty *aCard, AppendItem *aItem, mozITXTToHTMLCon
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
nsresult AppendLabel(nsAbCardProperty *aCard, AppendItem *aItem, mozITXTToHTMLConv *aConv, nsString &aResult)
|
nsresult nsAbCardProperty::AppendLabel(const AppendItem &aItem,
|
||||||
|
nsIStringBundle *aBundle,
|
||||||
|
mozITXTToHTMLConv *aConv,
|
||||||
|
nsString &aResult)
|
||||||
{
|
{
|
||||||
|
NS_ENSURE_ARG_POINTER(aBundle);
|
||||||
|
|
||||||
nsresult rv;
|
nsresult rv;
|
||||||
|
|
||||||
nsCOMPtr<nsIStringBundle> bundle;
|
|
||||||
|
|
||||||
nsCOMPtr<nsIStringBundleService> stringBundleService = do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv);
|
|
||||||
NS_ENSURE_SUCCESS(rv,rv);
|
|
||||||
|
|
||||||
rv = stringBundleService->CreateBundle(sAddrbookProperties, getter_AddRefs(bundle));
|
|
||||||
NS_ENSURE_SUCCESS(rv,rv);
|
|
||||||
|
|
||||||
nsXPIDLString label;
|
nsXPIDLString label;
|
||||||
|
|
||||||
nsXPIDLString attrValue;
|
nsXPIDLString attrValue;
|
||||||
|
|
||||||
rv = aCard->GetCardValue(aItem->mColumn, getter_Copies(attrValue));
|
rv = GetCardValue(aItem.mColumn, getter_Copies(attrValue));
|
||||||
NS_ENSURE_SUCCESS(rv,rv);
|
NS_ENSURE_SUCCESS(rv,rv);
|
||||||
|
|
||||||
if (attrValue.IsEmpty())
|
if (attrValue.IsEmpty())
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
|
|
||||||
rv = bundle->GetStringFromName(NS_ConvertASCIItoUCS2(aItem->mLabel).get(), getter_Copies(label));
|
rv = aBundle->GetStringFromName(NS_ConvertASCIItoUCS2(aItem.mLabel).get(), getter_Copies(label));
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
aResult.AppendLiteral("<labelrow><label>");
|
aResult.AppendLiteral("<labelrow><label>");
|
||||||
|
@ -1869,7 +1879,7 @@ nsresult AppendLabel(nsAbCardProperty *aCard, AppendItem *aItem, mozITXTToHTMLCo
|
||||||
aResult.Append(label);
|
aResult.Append(label);
|
||||||
aResult.AppendLiteral(": </label>");
|
aResult.AppendLiteral(": </label>");
|
||||||
|
|
||||||
rv = AppendLine(aCard, aItem, aConv, aResult);
|
rv = AppendLine(aItem, aConv, aResult);
|
||||||
NS_ENSURE_SUCCESS(rv,rv);
|
NS_ENSURE_SUCCESS(rv,rv);
|
||||||
|
|
||||||
aResult.AppendLiteral("</labelrow>");
|
aResult.AppendLiteral("</labelrow>");
|
||||||
|
@ -1877,13 +1887,18 @@ nsresult AppendLabel(nsAbCardProperty *aCard, AppendItem *aItem, mozITXTToHTMLCo
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
nsresult AppendCityStateZip(nsAbCardProperty *aCard, AppendItem *aItem, mozITXTToHTMLConv *aConv, nsString &aResult)
|
nsresult nsAbCardProperty::AppendCityStateZip(const AppendItem &aItem,
|
||||||
|
nsIStringBundle *aBundle,
|
||||||
|
mozITXTToHTMLConv *aConv,
|
||||||
|
nsString &aResult)
|
||||||
{
|
{
|
||||||
|
NS_ENSURE_ARG_POINTER(aBundle);
|
||||||
|
|
||||||
nsresult rv;
|
nsresult rv;
|
||||||
AppendItem item;
|
AppendItem item;
|
||||||
const char *stateCol, *zipCol;
|
const char *stateCol, *zipCol;
|
||||||
|
|
||||||
if (strcmp(aItem->mColumn, kHomeCityColumn) == 0) {
|
if (strcmp(aItem.mColumn, kHomeCityColumn) == 0) {
|
||||||
stateCol = kHomeStateColumn;
|
stateCol = kHomeStateColumn;
|
||||||
zipCol = kHomeZipCodeColumn;
|
zipCol = kHomeZipCodeColumn;
|
||||||
}
|
}
|
||||||
|
@ -1894,44 +1909,36 @@ nsresult AppendCityStateZip(nsAbCardProperty *aCard, AppendItem *aItem, mozITXTT
|
||||||
|
|
||||||
nsAutoString cityResult, stateResult, zipResult;
|
nsAutoString cityResult, stateResult, zipResult;
|
||||||
|
|
||||||
rv = AppendLine(aCard, aItem, aConv, cityResult);
|
rv = AppendLine(aItem, aConv, cityResult);
|
||||||
NS_ENSURE_SUCCESS(rv,rv);
|
NS_ENSURE_SUCCESS(rv,rv);
|
||||||
|
|
||||||
item.mColumn = stateCol;
|
item.mColumn = stateCol;
|
||||||
item.mLabel = "";
|
item.mLabel = "";
|
||||||
|
|
||||||
rv = AppendLine(aCard, &item, aConv, stateResult);
|
rv = AppendLine(item, aConv, stateResult);
|
||||||
NS_ENSURE_SUCCESS(rv,rv);
|
NS_ENSURE_SUCCESS(rv,rv);
|
||||||
|
|
||||||
item.mColumn = zipCol;
|
item.mColumn = zipCol;
|
||||||
|
|
||||||
rv = AppendLine(aCard, &item, aConv, zipResult);
|
rv = AppendLine(item, aConv, zipResult);
|
||||||
NS_ENSURE_SUCCESS(rv,rv);
|
NS_ENSURE_SUCCESS(rv,rv);
|
||||||
|
|
||||||
nsXPIDLString formattedString;
|
nsXPIDLString formattedString;
|
||||||
|
|
||||||
nsCOMPtr<nsIStringBundle> bundle;
|
|
||||||
|
|
||||||
nsCOMPtr<nsIStringBundleService> stringBundleService = do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv);
|
|
||||||
NS_ENSURE_SUCCESS(rv,rv);
|
|
||||||
|
|
||||||
rv = stringBundleService->CreateBundle(sAddrbookProperties, getter_AddRefs(bundle));
|
|
||||||
NS_ENSURE_SUCCESS(rv,rv);
|
|
||||||
|
|
||||||
if (!cityResult.IsEmpty() && !stateResult.IsEmpty() && !zipResult.IsEmpty()) {
|
if (!cityResult.IsEmpty() && !stateResult.IsEmpty() && !zipResult.IsEmpty()) {
|
||||||
const PRUnichar *formatStrings[3] = { cityResult.get(), stateResult.get(), zipResult.get() };
|
const PRUnichar *formatStrings[] = { cityResult.get(), stateResult.get(), zipResult.get() };
|
||||||
rv = bundle->FormatStringFromName(NS_LITERAL_STRING("cityAndStateAndZip").get(), formatStrings, 3, getter_Copies(formattedString));
|
rv = aBundle->FormatStringFromName(NS_LITERAL_STRING("cityAndStateAndZip").get(), formatStrings, NS_ARRAY_LENGTH(formatStrings), getter_Copies(formattedString));
|
||||||
NS_ENSURE_SUCCESS(rv,rv);
|
NS_ENSURE_SUCCESS(rv,rv);
|
||||||
}
|
}
|
||||||
else if (!cityResult.IsEmpty() && !stateResult.IsEmpty() && zipResult.IsEmpty()) {
|
else if (!cityResult.IsEmpty() && !stateResult.IsEmpty() && zipResult.IsEmpty()) {
|
||||||
const PRUnichar *formatStrings[2] = { cityResult.get(), stateResult.get() };
|
const PRUnichar *formatStrings[] = { cityResult.get(), stateResult.get() };
|
||||||
rv = bundle->FormatStringFromName(NS_LITERAL_STRING("cityAndStateNoZip").get(), formatStrings, 2, getter_Copies(formattedString));
|
rv = aBundle->FormatStringFromName(NS_LITERAL_STRING("cityAndStateNoZip").get(), formatStrings, NS_ARRAY_LENGTH(formatStrings), getter_Copies(formattedString));
|
||||||
NS_ENSURE_SUCCESS(rv,rv);
|
NS_ENSURE_SUCCESS(rv,rv);
|
||||||
}
|
}
|
||||||
else if ((!cityResult.IsEmpty() && stateResult.IsEmpty() && !zipResult.IsEmpty()) ||
|
else if ((!cityResult.IsEmpty() && stateResult.IsEmpty() && !zipResult.IsEmpty()) ||
|
||||||
(cityResult.IsEmpty() && !stateResult.IsEmpty() && !zipResult.IsEmpty())) {
|
(cityResult.IsEmpty() && !stateResult.IsEmpty() && !zipResult.IsEmpty())) {
|
||||||
const PRUnichar *formatStrings[2] = { cityResult.IsEmpty() ? stateResult.get() : cityResult.get(), zipResult.get() };
|
const PRUnichar *formatStrings[] = { cityResult.IsEmpty() ? stateResult.get() : cityResult.get(), zipResult.get() };
|
||||||
rv = bundle->FormatStringFromName(NS_LITERAL_STRING("cityOrStateAndZip").get(), formatStrings, 2, getter_Copies(formattedString));
|
rv = aBundle->FormatStringFromName(NS_LITERAL_STRING("cityOrStateAndZip").get(), formatStrings, NS_ARRAY_LENGTH(formatStrings), getter_Copies(formattedString));
|
||||||
NS_ENSURE_SUCCESS(rv,rv);
|
NS_ENSURE_SUCCESS(rv,rv);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -47,9 +47,9 @@
|
||||||
|
|
||||||
#include "nsIAbCard.h"
|
#include "nsIAbCard.h"
|
||||||
#include "nsCOMPtr.h"
|
#include "nsCOMPtr.h"
|
||||||
#include "nsIAddressBook.h"
|
|
||||||
#include "nsString.h"
|
#include "nsString.h"
|
||||||
|
|
||||||
|
class nsIStringBundle;
|
||||||
class mozITXTToHTMLConv;
|
class mozITXTToHTMLConv;
|
||||||
struct AppendItem;
|
struct AppendItem;
|
||||||
|
|
||||||
|
@ -134,7 +134,10 @@ protected:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
nsresult AppendData(const char *aAttrName, mozITXTToHTMLConv *aConv, nsString &aResult);
|
nsresult AppendData(const char *aAttrName, mozITXTToHTMLConv *aConv, nsString &aResult);
|
||||||
nsresult AppendSection(AppendItem *aArray, PRInt16 aCount, const nsAFlatString& aHeading, mozITXTToHTMLConv *aConv, nsString &aResult);
|
nsresult AppendSection(const AppendItem *aArray, PRInt16 aCount, const nsAFlatString& aHeading, nsIStringBundle *aBundle, mozITXTToHTMLConv *aConv, nsString &aResult);
|
||||||
|
nsresult AppendLine(const AppendItem &aItem, mozITXTToHTMLConv *aConv, nsString &aResult);
|
||||||
|
nsresult AppendLabel(const AppendItem &aItem, nsIStringBundle *aBundle, mozITXTToHTMLConv *aConv, nsString &aResult);
|
||||||
|
nsresult AppendCityStateZip(const AppendItem &aItem, nsIStringBundle *aBundle, mozITXTToHTMLConv *aConv, nsString &aResult);
|
||||||
nsresult GetCardTypeFromString(const char *aCardTypeStr, PRBool aEmptyIsTrue, PRBool *aValue);
|
nsresult GetCardTypeFromString(const char *aCardTypeStr, PRBool aEmptyIsTrue, PRBool *aValue);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче