mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-22 17:55:50 +00:00
changes for quoting
This commit is contained in:
parent
dd66ebf9ae
commit
4902e7b8f1
@ -34,6 +34,7 @@
|
||||
#include "nsMsgSendLaterFact.h"
|
||||
#include "nsIServiceManager.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsMsgQuote.h"
|
||||
|
||||
static NS_DEFINE_CID(kComponentManagerCID, NS_COMPONENTMANAGER_CID);
|
||||
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
|
||||
@ -44,7 +45,7 @@ static NS_DEFINE_CID(kCMsgSendCID, NS_MSGSEND_CID);
|
||||
static NS_DEFINE_CID(kCMsgSendLaterCID, NS_MSGSENDLATER_CID);
|
||||
static NS_DEFINE_CID(kCSmtpServiceCID, NS_SMTPSERVICE_CID);
|
||||
static NS_DEFINE_CID(kCMsgComposeServiceCID, NS_MSGCOMPOSESERVICE_CID);
|
||||
|
||||
static NS_DEFINE_CID(kCMsgQuoteCID, NS_MSGQUOTE_CID);
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
@ -183,6 +184,12 @@ nsresult nsMsgComposeFactory::CreateInstance(nsISupports *aOuter, const nsIID &a
|
||||
return aMsgCompService->QueryInterface(kISupportsIID, aResult);
|
||||
}
|
||||
|
||||
// Quoting anyone?
|
||||
else if (mClassID.Equals(kCMsgQuoteCID))
|
||||
{
|
||||
return NS_NewMsgQuote(aIID, aResult);
|
||||
}
|
||||
|
||||
return NS_NOINTERFACE;
|
||||
}
|
||||
|
||||
@ -272,6 +279,12 @@ extern "C" NS_EXPORT nsresult NSRegisterSelf(nsISupports* aServMgr, const char*
|
||||
path, PR_TRUE, PR_TRUE);
|
||||
if (NS_FAILED(rv)) finalResult = rv;
|
||||
|
||||
|
||||
rv = compMgr->RegisterComponent(kCMsgQuoteCID,
|
||||
"Message Quoting",
|
||||
"Xcomponent://netscape/messengercompose/smtp",
|
||||
path, PR_TRUE, PR_TRUE);
|
||||
if (NS_FAILED(rv)) finalResult = rv;
|
||||
|
||||
#ifdef NS_DEBUG
|
||||
printf("composer registering from %s\n",path);
|
||||
@ -307,5 +320,8 @@ NSUnregisterSelf(nsISupports* aServMgr, const char* path)
|
||||
rv = compMgr->UnregisterComponent(kCSmtpServiceCID, path);
|
||||
if (NS_FAILED(rv)) finalResult = rv;
|
||||
|
||||
rv = compMgr->UnregisterComponent(kCMsgQuoteCID, path);
|
||||
if (NS_FAILED(rv)) finalResult = rv;
|
||||
|
||||
return finalResult;
|
||||
}
|
||||
|
@ -17,50 +17,53 @@
|
||||
*/
|
||||
#include "prmem.h"
|
||||
#include "plstr.h"
|
||||
#include "nsMailHeaders.h"
|
||||
#include "nsIMimeEmitter.h"
|
||||
|
||||
extern "C" char *
|
||||
nsEscapeHTML(const char * string)
|
||||
extern "C" PRBool
|
||||
EmitThisHeaderForPrefSetting(PRInt32 dispType, const char *header)
|
||||
{
|
||||
if (!string)
|
||||
return NULL;
|
||||
if (AllHeaders == dispType)
|
||||
return PR_TRUE;
|
||||
|
||||
char *rv = (char *) PR_MALLOC(PL_strlen(string)*4 + 1);
|
||||
/* The +1 is for the trailing null! */
|
||||
char *ptr = rv;
|
||||
if ((!header) || (!*header))
|
||||
return PR_FALSE;
|
||||
|
||||
if(rv)
|
||||
if (MicroHeaders == dispType)
|
||||
{
|
||||
for(; *string != '\0'; string++)
|
||||
{
|
||||
if(*string == '<')
|
||||
{
|
||||
*ptr++ = '&';
|
||||
*ptr++ = 'l';
|
||||
*ptr++ = 't';
|
||||
*ptr++ = ';';
|
||||
}
|
||||
else if(*string == '>')
|
||||
{
|
||||
*ptr++ = '&';
|
||||
*ptr++ = 'g';
|
||||
*ptr++ = 't';
|
||||
*ptr++ = ';';
|
||||
}
|
||||
else if(*string == '&')
|
||||
{
|
||||
*ptr++ = '&';
|
||||
*ptr++ = 'a';
|
||||
*ptr++ = 'm';
|
||||
*ptr++ = 'p';
|
||||
*ptr++ = ';';
|
||||
}
|
||||
else
|
||||
{
|
||||
*ptr++ = *string;
|
||||
}
|
||||
}
|
||||
*ptr = '\0';
|
||||
if (
|
||||
(!PL_strcmp(header, HEADER_SUBJECT)) ||
|
||||
(!PL_strcmp(header, HEADER_FROM)) ||
|
||||
(!PL_strcmp(header, HEADER_DATE))
|
||||
)
|
||||
return PR_TRUE;
|
||||
else
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
return(rv);
|
||||
if (NormalHeaders == dispType)
|
||||
{
|
||||
if (
|
||||
(!PL_strcmp(header, HEADER_TO)) ||
|
||||
(!PL_strcmp(header, HEADER_SUBJECT)) ||
|
||||
(!PL_strcmp(header, HEADER_SENDER)) ||
|
||||
(!PL_strcmp(header, HEADER_RESENT_TO)) ||
|
||||
(!PL_strcmp(header, HEADER_RESENT_SENDER)) ||
|
||||
(!PL_strcmp(header, HEADER_RESENT_FROM)) ||
|
||||
(!PL_strcmp(header, HEADER_RESENT_CC)) ||
|
||||
(!PL_strcmp(header, HEADER_REPLY_TO)) ||
|
||||
(!PL_strcmp(header, HEADER_REFERENCES)) ||
|
||||
(!PL_strcmp(header, HEADER_NEWSGROUPS)) ||
|
||||
(!PL_strcmp(header, HEADER_MESSAGE_ID)) ||
|
||||
(!PL_strcmp(header, HEADER_FROM)) ||
|
||||
(!PL_strcmp(header, HEADER_FOLLOWUP_TO)) ||
|
||||
(!PL_strcmp(header, HEADER_CC)) ||
|
||||
(!PL_strcmp(header, HEADER_BCC))
|
||||
)
|
||||
return PR_TRUE;
|
||||
else
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
return PR_TRUE;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user