зеркало из https://github.com/mozilla/pjs.git
Put "<name> wrote:" at the beginning of a reply instance of "--- Original Message ---". Last part of bug 12080
This commit is contained in:
Родитель
6753dd6636
Коммит
a014e76f49
|
@ -38,6 +38,7 @@
|
|||
#include "nsMsgComposeStringBundle.h"
|
||||
#include "nsSpecialSystemDirectory.h"
|
||||
#include "nsMsgSend.h"
|
||||
#include "nsMsgCreate.h"
|
||||
|
||||
// XXX temporary so we can use the current identity hack -alecf
|
||||
#include "nsIMsgMailSession.h"
|
||||
|
@ -707,11 +708,40 @@ QuotingOutputStreamListener::~QuotingOutputStreamListener()
|
|||
NS_RELEASE(mComposeObj);
|
||||
}
|
||||
|
||||
QuotingOutputStreamListener::QuotingOutputStreamListener(void)
|
||||
QuotingOutputStreamListener::QuotingOutputStreamListener(const PRUnichar * originalMsgURI, PRBool quoteHeaders)
|
||||
{
|
||||
mComposeObj = nsnull;
|
||||
// mMsgBody = "<br><BLOCKQUOTE TYPE=CITE><html><br>--- Original Message ---<br><br>";
|
||||
mMsgBody = "<br><br>--- Original Message ---<br><BLOCKQUOTE TYPE=CITE><html><br>";
|
||||
mQuoteHeaders = quoteHeaders;
|
||||
|
||||
nsCOMPtr<nsIMessage> originalMsg = getter_AddRefs(GetIMessageFromURI(originalMsgURI));
|
||||
if (originalMsg && !quoteHeaders)
|
||||
{
|
||||
nsresult rv;
|
||||
nsString author;
|
||||
rv = originalMsg->GetMime2DecodedAuthor(&author);
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
char * authorName = nsnull;
|
||||
nsCOMPtr<nsIMsgHeaderParser> parser;
|
||||
nsComponentManager::CreateInstance(kHeaderParserCID,
|
||||
nsnull,
|
||||
nsCOMTypeInfo<nsIMsgHeaderParser>::GetIID(),
|
||||
getter_AddRefs(parser));
|
||||
if (parser)
|
||||
if (NS_SUCCEEDED(parser->ExtractHeaderAddressName(nsnull, nsAutoCString(author), &authorName)))
|
||||
{
|
||||
mMsgBody = "<br><br>";
|
||||
mMsgBody += authorName;
|
||||
mMsgBody += " wrote:<br><BLOCKQUOTE TYPE=CITE><html>";
|
||||
}
|
||||
if (authorName)
|
||||
PL_strfree(authorName);
|
||||
}
|
||||
}
|
||||
|
||||
if (mMsgBody.IsEmpty())
|
||||
mMsgBody = "<br><br>--- Original Message ---<br><BLOCKQUOTE TYPE=CITE><html>";
|
||||
|
||||
NS_INIT_REFCNT();
|
||||
}
|
||||
|
||||
|
@ -858,13 +888,6 @@ QuotingOutputStreamListener::SetComposeObj(nsMsgCompose *obj)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult
|
||||
QuotingOutputStreamListener::SetQuoteHeaders(PRBool quoteHeaders)
|
||||
{
|
||||
mQuoteHeaders = quoteHeaders;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMPL_ISUPPORTS(QuotingOutputStreamListener, nsCOMTypeInfo<nsIStreamListener>::GetIID());
|
||||
////////////////////////////////////////////////////////////////////////////////////
|
||||
// END OF QUOTING LISTENER
|
||||
|
@ -899,7 +922,7 @@ nsMsgCompose::QuoteOriginalMessage(const PRUnichar *originalMsgURI, PRInt32 what
|
|||
return NS_ERROR_FAILURE;
|
||||
|
||||
// Create the consumer output stream.. this will receive all the HTML from libmime
|
||||
mQuoteStreamListener = new QuotingOutputStreamListener();
|
||||
mQuoteStreamListener = new QuotingOutputStreamListener(originalMsgURI, what != 1);
|
||||
|
||||
if (!mQuoteStreamListener)
|
||||
{
|
||||
|
@ -910,7 +933,6 @@ nsMsgCompose::QuoteOriginalMessage(const PRUnichar *originalMsgURI, PRInt32 what
|
|||
|
||||
NS_ADDREF(this);
|
||||
mQuoteStreamListener->SetComposeObj(this);
|
||||
mQuoteStreamListener->SetQuoteHeaders(what != 1);
|
||||
|
||||
return mQuote->QuoteMessage(originalMsgURI, what != 1, mQuoteStreamListener);
|
||||
}
|
||||
|
|
|
@ -146,7 +146,7 @@ class nsMsgCompose : public nsIMsgCompose
|
|||
class QuotingOutputStreamListener : public nsIStreamListener
|
||||
{
|
||||
public:
|
||||
QuotingOutputStreamListener(void);
|
||||
QuotingOutputStreamListener(const PRUnichar *originalMsgURI, PRBool quoteHeaders);
|
||||
virtual ~QuotingOutputStreamListener(void);
|
||||
|
||||
// nsISupports interface
|
||||
|
@ -162,7 +162,6 @@ public:
|
|||
NS_IMETHOD OnStopRequest(nsIChannel * aChannel, nsISupports *ctxt, nsresult status, const PRUnichar *errorMsg);
|
||||
|
||||
NS_IMETHOD SetComposeObj(nsMsgCompose *obj);
|
||||
NS_IMETHOD SetQuoteHeaders(PRBool quoteHeaders);
|
||||
NS_IMETHOD ConvertToPlainText();
|
||||
|
||||
private:
|
||||
|
|
|
@ -55,4 +55,7 @@ public:
|
|||
// Will be used by factory to generate a nsMsgQuote class...
|
||||
nsresult NS_NewMsgDraft(const nsIID &aIID, void ** aInstancePtrResult);
|
||||
|
||||
nsIMessage * GetIMessageFromURI(const PRUnichar *msgURI);
|
||||
|
||||
|
||||
#endif /* _nsMsgCreate_H_ */
|
||||
|
|
Загрузка…
Ссылка в новой задаче