From 9d9a67b6bbc4b6466afbc6670302fe4ef77961e4 Mon Sep 17 00:00:00 2001 From: "mscott%netscape.com" Date: Tue, 21 Sep 1999 06:30:51 +0000 Subject: [PATCH] re-write so we actually use the string bundle instead of the hard coded strings that used to be in this class. This meant changing the api to return a unichar * instead of a char *!!! --- .../compose/src/nsMsgComposeStringBundle.cpp | 152 ++++-------------- .../compose/src/nsMsgComposeStringBundle.h | 12 +- 2 files changed, 39 insertions(+), 125 deletions(-) diff --git a/mailnews/compose/src/nsMsgComposeStringBundle.cpp b/mailnews/compose/src/nsMsgComposeStringBundle.cpp index c9524fb410e8..1fe3c9e982d6 100644 --- a/mailnews/compose/src/nsMsgComposeStringBundle.cpp +++ b/mailnews/compose/src/nsMsgComposeStringBundle.cpp @@ -31,138 +31,44 @@ static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); static NS_DEFINE_IID(kIPrefIID, NS_IPREF_IID); static NS_DEFINE_CID(kPrefCID, NS_PREF_CID); -#define COMPOSE_BE_URL "chrome://messengercompose/locale/composebe.properties" +#define COMPOSE_BE_URL "chrome://messengercompose/locale/composeMsgs.properties" extern "C" -char * -ComposeBEGetStringByIDREAL(PRInt32 stringID) +PRUnichar * +ComposeGetStringByID(PRInt32 stringID) { - nsresult res; - char* propertyURL = NULL; + nsresult res; + char* propertyURL = NULL; + nsString resultString = "???"; - NS_WITH_SERVICE(nsIPref, prefs, kPrefCID, &res); - if (NS_SUCCEEDED(res) && prefs) - res = prefs->CopyCharPref("mail.strings.compose_be", &propertyURL); + propertyURL = COMPOSE_BE_URL; - if (!NS_SUCCEEDED(res) || !prefs) - propertyURL = COMPOSE_BE_URL; + NS_WITH_SERVICE(nsIStringBundleService, sBundleService, kStringBundleServiceCID, &res); + if (NS_SUCCEEDED(res) && (nsnull != sBundleService)) + { + nsILocale *locale = nsnull; - NS_WITH_SERVICE(nsIIOService, pNetService, kIOServiceCID, &res); - if (!NS_SUCCEEDED(res) || (nsnull == pNetService)) - { - return PL_strdup("???"); // Don't I18N this string...failsafe return value - } + nsIStringBundle* sBundle = nsnull; + res = sBundleService->CreateBundle(propertyURL, locale, &sBundle); - NS_WITH_SERVICE(nsIStringBundleService, sBundleService, kStringBundleServiceCID, &res); - if (NS_SUCCEEDED(res) && (nsnull != sBundleService)) - { - nsCOMPtr url; - nsILocale *locale = nsnull; + if (NS_SUCCEEDED(res)) + { + PRUnichar *ptrv = nsnull; + res = sBundle->GetStringFromID(stringID, &ptrv); -#if 1 - nsIStringBundle* sBundle = nsnull; - res = sBundleService->CreateBundle(propertyURL, locale, &sBundle); -#else - res = pNetService->NewURI(propertyURL, nsnull, getter_AddRefs(url)); - // cleanup...if necessary - if (propertyURL != COMPOSE_BE_URL) - PR_FREEIF(propertyURL); + NS_RELEASE(sBundle); - // Cleanup property URL - PR_FREEIF(propertyURL); + if (NS_FAILED(res)) + { + resultString = "[StringID"; + resultString.Append(stringID, 10); + resultString += "?]"; + return resultString.ToNewUnicode(); + } - if (NS_FAILED(res)) - { - return PL_strdup("???"); // Don't I18N this string...failsafe return value - } + return ptrv; + } + } - nsIStringBundle* sBundle = nsnull; - res = sBundleService->CreateBundle(url, locale, &sBundle); -#endif - NS_RELEASE(sBundle); - if (NS_FAILED(res)) - { - return PL_strdup("???"); // Don't I18N this string...failsafe return value - } - - nsAutoString v(""); -#if 1 - PRUnichar *ptrv = nsnull; - res = sBundle->GetStringFromID(stringID, &ptrv); - v = ptrv; -#else - res = sBundle->GetStringFromID(stringID, v); -#endif - NS_RELEASE(sBundle); - if (NS_FAILED(res)) - { - char buf[128]; - - PR_snprintf(buf, sizeof(buf), "[StringID %d?]", stringID); - return PL_strdup(buf); - } - - // Here we need to return a new copy of the string - char *returnBuffer = NULL; - PRInt32 bufferLen = v.Length() + 1; - - returnBuffer = (char *)PR_MALLOC(bufferLen); - if (returnBuffer) - { - v.ToCString(returnBuffer, bufferLen); - return returnBuffer; - } - } - - return PL_strdup("???"); // Don't I18N this string...failsafe return value -} - -extern "C" -char * -ComposeBEGetStringByID(PRInt32 stringID) -{ - if (-1000 == stringID) return PL_strdup("Application is out of memory."); - if (-1001 == stringID) return PL_strdup("Unable to open the temporary file\n.\n%s\nCheck your `Temporary Directory' setting and try again."); - if (-1002 == stringID) return PL_strdup("Error writing temporary file."); - if (1000 == stringID) return PL_strdup("Subject"); - if (1001 == stringID) return PL_strdup("Resent-Comments"); - if (1002 == stringID) return PL_strdup("Resent-Date"); - if (1003 == stringID) return PL_strdup("Resent-Sender"); - if (1004 == stringID) return PL_strdup("Resent-From"); - if (1005 == stringID) return PL_strdup("Resent-To"); - if (1006 == stringID) return PL_strdup("Resent-CC"); - if (1007 == stringID) return PL_strdup("Date"); - if (1008 == stringID) return PL_strdup("Sender"); - if (1009 == stringID) return PL_strdup("From"); - if (1010 == stringID) return PL_strdup("Reply-To"); - if (1011 == stringID) return PL_strdup("Organization"); - if (1012 == stringID) return PL_strdup("To"); - if (1013 == stringID) return PL_strdup("CC"); - if (1014 == stringID) return PL_strdup("Newsgroups"); - if (1015 == stringID) return PL_strdup("Followup-To"); - if (1016 == stringID) return PL_strdup("References"); - if (1017 == stringID) return PL_strdup("Name"); - if (1018 == stringID) return PL_strdup("Type"); - if (1019 == stringID) return PL_strdup("Encoding"); - if (1020 == stringID) return PL_strdup("Description"); - if (1021 == stringID) return PL_strdup("Message-ID"); - if (1022 == stringID) return PL_strdup("Resent-Message-ID"); - if (1023 == stringID) return PL_strdup("BCC"); - if (1024 == stringID) return PL_strdup("Download Status"); - if (1025 == stringID) return PL_strdup("Not Downloaded Inline"); - if (1026 == stringID) return PL_strdup("Link to Document"); - if (1027 == stringID) return PL_strdup("Document Info:"); - if (1028 == stringID) return PL_strdup("Attachment"); - if (1029 == stringID) return PL_strdup("forward.msg"); - if (1030 == stringID) return PL_strdup("Add %s to your Address Book"); - if (1031 == stringID) return PL_strdup("      Internal"); - if (1032 == stringID) return PL_strdup("In message wrote:

"); - if (1033 == stringID) return PL_strdup(" wrote:

"); - if (1034 == stringID) return PL_strdup("(no headers)"); - if (1035 == stringID) return PL_strdup("Toggle Attachment Pane"); - - char buf[128]; - - PR_snprintf(buf, sizeof(buf), "[StringID %d?]", stringID); - return PL_strdup(buf); + return resultString.ToNewUnicode(); } diff --git a/mailnews/compose/src/nsMsgComposeStringBundle.h b/mailnews/compose/src/nsMsgComposeStringBundle.h index b6bc936d253d..6b101f673296 100644 --- a/mailnews/compose/src/nsMsgComposeStringBundle.h +++ b/mailnews/compose/src/nsMsgComposeStringBundle.h @@ -38,12 +38,20 @@ typedef enum { NS_MSG_ASSEMBLING_MSG, NS_MSG_NO_SENDER, NS_MSG_NO_RECIPIENTS, - NS_MSG_ERROR_WRITING_FILE + NS_MSG_ERROR_WRITING_FILE, + NS_ERROR_COULD_NOT_LOGIN_TO_SMTP_SERVER, + NS_ERROR_SENDING_FROM_COMMAND, + NS_ERROR_SENDING_RCPT_COMMAND, + NS_ERROR_SENDING_DATA_COMMAND, + NS_ERROR_SENDING_MESSAGE, + NS_ERROR_SERVER_ERROR, + NS_ERROR_QUEUED_DELIVERY_FAILED, + NS_ERROR_SEND_FAILED } nsMsgComposeErrorIDs; NS_BEGIN_EXTERN_C -char *ComposeBEGetStringByID(PRInt32 stringID); +PRUnichar *ComposeGetStringByID(PRInt32 stringID); NS_END_EXTERN_C