зеркало из https://github.com/mozilla/pjs.git
check in benb's (mozilla@bucksch.org) fixes for bug #23330
don't convert emoticons to gifs when sending a html message. I also took the liberty of removing the dead code from nsMsgSendPart.cpp r=sspitzer
This commit is contained in:
Родитель
9605cbc630
Коммит
1e7462c423
|
@ -73,6 +73,9 @@ static NS_DEFINE_CID(kMimeServiceCID, NS_MIMESERVICE_CID);
|
||||||
static NS_DEFINE_CID(kCAddressCollecter, NS_ABADDRESSCOLLECTER_CID);
|
static NS_DEFINE_CID(kCAddressCollecter, NS_ABADDRESSCOLLECTER_CID);
|
||||||
static NS_DEFINE_CID(kTXTToHTMLConvCID, MOZITXTTOHTMLCONV_CID);
|
static NS_DEFINE_CID(kTXTToHTMLConvCID, MOZITXTTOHTMLCONV_CID);
|
||||||
|
|
||||||
|
#define PREF_MAIL_CONVERT_STRUCTS "mail.convert_structs"
|
||||||
|
#define PREF_MAIL_STRICTLY_MIME "mail.strictly_mime"
|
||||||
|
|
||||||
#ifdef XP_MAC
|
#ifdef XP_MAC
|
||||||
#include "xp.h" // mac only
|
#include "xp.h" // mac only
|
||||||
#include "errors.h"
|
#include "errors.h"
|
||||||
|
@ -1182,9 +1185,18 @@ nsMsgComposeAndSend::GetBodyFromEditor()
|
||||||
(void **) getter_AddRefs(conv));
|
(void **) getter_AddRefs(conv));
|
||||||
if (NS_SUCCEEDED(rv))
|
if (NS_SUCCEEDED(rv))
|
||||||
{
|
{
|
||||||
|
PRUint32 whattodo = mozITXTToHTMLConv::kURLs;
|
||||||
|
PRBool enable_structs = PR_TRUE;
|
||||||
|
NS_WITH_SERVICE(nsIPref, prefs, kPrefCID, &rv);
|
||||||
|
if (NS_SUCCEEDED(rv) && prefs)
|
||||||
|
{
|
||||||
|
rv = prefs->GetBoolPref(PREF_MAIL_CONVERT_STRUCTS,&enable_structs);
|
||||||
|
if (NS_FAILED(rv) || enable_structs)
|
||||||
|
whattodo = whattodo | mozITXTToHTMLConv::kStructPhrase;
|
||||||
|
}
|
||||||
|
|
||||||
PRUnichar* wresult;
|
PRUnichar* wresult;
|
||||||
rv = conv->ScanHTML(bodyText, ~PRUint32(mozITXTToHTMLConv::kGlyphSubstitution)
|
rv = conv->ScanHTML(bodyText, whattodo, &wresult);
|
||||||
/* XXX Ask Prefs what to do */, &wresult);
|
|
||||||
if (NS_SUCCEEDED(rv))
|
if (NS_SUCCEEDED(rv))
|
||||||
{
|
{
|
||||||
Recycle(bodyText);
|
Recycle(bodyText);
|
||||||
|
@ -2355,7 +2367,7 @@ nsMsgComposeAndSend::Init(
|
||||||
NS_WITH_SERVICE(nsIPref, prefs, kPrefCID, &rv);
|
NS_WITH_SERVICE(nsIPref, prefs, kPrefCID, &rv);
|
||||||
if (NS_SUCCEEDED(rv) && prefs)
|
if (NS_SUCCEEDED(rv) && prefs)
|
||||||
{
|
{
|
||||||
rv = prefs->GetBoolPref("mail.strictly_mime", &strictly_mime);
|
rv = prefs->GetBoolPref(PREF_MAIL_STRICTLY_MIME, &strictly_mime);
|
||||||
}
|
}
|
||||||
|
|
||||||
nsMsgMIMESetConformToStandard(strictly_mime);
|
nsMsgMIMESetConformToStandard(strictly_mime);
|
||||||
|
|
|
@ -25,7 +25,6 @@
|
||||||
#include "nsMsgSendPart.h"
|
#include "nsMsgSendPart.h"
|
||||||
#include "nsIMimeConverter.h"
|
#include "nsIMimeConverter.h"
|
||||||
#include "nsFileStream.h"
|
#include "nsFileStream.h"
|
||||||
#include "mozITXTToHTMLConv.h"
|
|
||||||
#include "nsCOMPtr.h"
|
#include "nsCOMPtr.h"
|
||||||
#include "nsIComponentManager.h"
|
#include "nsIComponentManager.h"
|
||||||
#include "nsMsgEncoders.h"
|
#include "nsMsgEncoders.h"
|
||||||
|
@ -33,18 +32,12 @@
|
||||||
#include "nsMsgCompUtils.h"
|
#include "nsMsgCompUtils.h"
|
||||||
#include "nsFileStream.h"
|
#include "nsFileStream.h"
|
||||||
#include "nsMsgMimeCID.h"
|
#include "nsMsgMimeCID.h"
|
||||||
#include "nsIPref.h"
|
|
||||||
|
|
||||||
// defined in msgCompGlue.cpp
|
// defined in msgCompGlue.cpp
|
||||||
static char *mime_mailto_stream_read_buffer = 0;
|
static char *mime_mailto_stream_read_buffer = 0;
|
||||||
|
|
||||||
PRInt32 nsMsgSendPart::M_counter = 0;
|
PRInt32 nsMsgSendPart::M_counter = 0;
|
||||||
|
|
||||||
#define PREF_MAIL_CONVERT_EMOTICONS "mail.convert_emoticons"
|
|
||||||
#define PREF_MAIL_CONVERT_STRUCTS "mail.convert_structs"
|
|
||||||
|
|
||||||
static NS_DEFINE_CID(kTXTToHTMLConvCID, MOZITXTTOHTMLCONV_CID);
|
|
||||||
static NS_DEFINE_CID(kPrefCID, NS_PREF_CID);
|
|
||||||
static NS_DEFINE_CID(kCMimeConverterCID, NS_MIME_CONVERTER_CID);
|
static NS_DEFINE_CID(kCMimeConverterCID, NS_MIME_CONVERTER_CID);
|
||||||
|
|
||||||
int MIME_EncoderWrite(MimeEncoderData *data, const char *buffer, PRInt32 size)
|
int MIME_EncoderWrite(MimeEncoderData *data, const char *buffer, PRInt32 size)
|
||||||
|
@ -519,68 +512,6 @@ nsMsgSendPart::Write()
|
||||||
PR_Free(m_buffer);
|
PR_Free(m_buffer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
// This part has moved to nsMsgSend.cpp.
|
|
||||||
if (m_buffer)
|
|
||||||
{
|
|
||||||
const char* charset;
|
|
||||||
charset = GetCharsetName();
|
|
||||||
nsCOMPtr<mozITXTToHTMLConv> conv;
|
|
||||||
nsresult rv = nsComponentManager::CreateInstance(kTXTToHTMLConvCID,
|
|
||||||
NULL, nsCOMTypeInfo<mozITXTToHTMLConv>::GetIID(),
|
|
||||||
(void **) getter_AddRefs(conv));
|
|
||||||
if (NS_FAILED(rv))
|
|
||||||
{
|
|
||||||
status = -1;
|
|
||||||
goto FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
//XXX I18N
|
|
||||||
nsAutoString strline(m_buffer);
|
|
||||||
PRUnichar* wline = strline.ToNewUnicode();
|
|
||||||
if (!wline)
|
|
||||||
{
|
|
||||||
status = -1;
|
|
||||||
goto FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
PRUnichar* wresult = nsnull;
|
|
||||||
PRUint32 whattodo = 0;
|
|
||||||
PRBool enable_emoticons = PR_TRUE;
|
|
||||||
NS_WITH_SERVICE(nsIPref, prefs, kPrefCID, &rv);
|
|
||||||
if (NS_SUCCEEDED(rv) && prefs) {
|
|
||||||
rv = prefs->GetBoolPref(PREF_MAIL_CONVERT_EMOTICONS,&enable_emoticons);
|
|
||||||
if (NS_FAILED(rv) || enable_emoticons) {
|
|
||||||
whattodo = whattodo | mozITXTToHTMLConv::kGlyphSubstitution;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
rv = conv->ScanHTML(wline, whattodo, &wresult);
|
|
||||||
Recycle(wline);
|
|
||||||
if (NS_FAILED(rv))
|
|
||||||
{
|
|
||||||
status = -1;
|
|
||||||
goto FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
//XXX I18N Converting PRUnichar* to char*
|
|
||||||
nsAutoString strresult(wresult);
|
|
||||||
char* cresult = strresult.ToNewCString();
|
|
||||||
|
|
||||||
Recycle(wresult);
|
|
||||||
if (cresult)
|
|
||||||
{
|
|
||||||
SetBuffer(cresult);
|
|
||||||
Recycle(cresult);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
status = -1;
|
|
||||||
goto FAIL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_parent && m_parent->m_type &&
|
if (m_parent && m_parent->m_type &&
|
||||||
|
|
Загрузка…
Ссылка в новой задаче