Modified the following files to get Unix ENDER to save Multi-part MIME:

cmd/xfe/forms.c
    include/edt.h
    lib/layout/editor.cpp
    lib/mailto/mhtmlstm.cpp
This commit is contained in:
kin%netscape.com 1998-10-19 18:24:51 +00:00
Родитель 3f8bc0de7c
Коммит 4a5d7819bb
4 изменённых файлов: 59 добавлений и 2 удалений

Просмотреть файл

@ -2501,7 +2501,7 @@ htmlarea_get_value(FEFormData *fed, LO_FormElementStruct *form, XP_Bool delete_p
EDT_SaveToBuffer(ha_fed->editor_context, &text);
if (! text) return;
/* if (! text) return; */
current_text = XP_FormGetCurrentText(form_data);
default_text = XP_FormGetDefaultText(form_data);
@ -2512,6 +2512,26 @@ htmlarea_get_value(FEFormData *fed, LO_FormElementStruct *form, XP_Bool delete_p
/* XXX: Get rid of this PA_Block cast! */
XP_FormSetCurrentText(form_data, (PA_Block)text);
#ifdef MOZ_ENDER_MIME
if (submit)
{
if (form_data->ele_mimearea.mime_bits)
{
XP_FREE(form_data->ele_mimearea.mime_bits);
form_data->ele_mimearea.mime_bits = 0;
}
EDT_SaveMimeToBuffer(ha_fed->editor_context,
(XP_HUGE_CHAR_PTR *)&form_data->ele_mimearea.mime_bits,
FALSE);
if (text)
EDT_SetDefaultMimeHTML(ha_fed->editor_context, text);
}
#endif /* MOZ_ENDER_MIME */
if (delete_p)
{
extern Widget XFE_DestroyEmbeddedEditor(Widget, MWContext *);

Просмотреть файл

@ -160,6 +160,7 @@ void EDT_SaveToBuffer ( MWContext * pContext, XP_HUGE_CHAR_PTR* pBuffer );
void EDT_ReadFromBuffer ( MWContext * pContext, XP_HUGE_CHAR_PTR pBuffer );
#ifdef MOZ_ENDER_MIME
ED_FileError EDT_SaveMimeToBuffer(MWContext *pContext, XP_HUGE_CHAR_PTR *pBuffer, XP_Bool async);
void EDT_ReadMimeFromBuffer ( MWContext * pContext, XP_HUGE_CHAR_PTR pBuffer );
#endif /*MOZ_ENDER_MIME*/

Просмотреть файл

@ -40,7 +40,6 @@ extern "C" {
#include "msgcom.h"
#include "intl_csi.h"
//extern "C" int XP_EDT_HEAD_FAILED;
CBitArray *edt_setNoEndTag = 0;
@ -972,6 +971,34 @@ void EDT_ReadFromBuffer(MWContext* pContext, XP_HUGE_CHAR_PTR pBuffer )
}
#ifdef MOZ_ENDER_MIME
extern "C" {
void *MSG_CreateMimeRelatedStreamSaver(MWContext *, char **, char **);
};
ED_FileError
EDT_SaveMimeToBuffer(MWContext *pContext, XP_HUGE_CHAR_PTR *pBuffer, XP_Bool async)
{
ED_FileError status = ED_ERROR_NONE;
char *pRootPartName = 0;
void *fs = MSG_CreateMimeRelatedStreamSaver(pContext,
&pRootPartName, (char **)pBuffer);
if (!fs)
return ED_ERROR_FILE_WRITE;
status = EDT_SaveFileTo(pContext, ED_FINISHED_MAIL_SEND, pRootPartName, fs,
TRUE, TRUE);
if (!async && status == ED_ERROR_NONE)
{
while ( pContext->edit_saving_url )
FEU_StayingAlive();
}
return status;
}
void EDT_ReadMimeFromBuffer(MWContext* pContext, XP_HUGE_CHAR_PTR pBuffer )
{
GET_WRITABLE_EDIT_BUF_OR_RETURN(pContext, pEditBuffer);

Просмотреть файл

@ -1131,4 +1131,13 @@ MSG_MimeRelatedSaver::IsLocalPersistentFile(intn /*iFileIndex*/) {
return FALSE;
}
extern "C" void *
MSG_CreateMimeRelatedStreamSaver(MWContext *context,
char **origRootURL, char **streamOut)
{
return ((void *)new MSG_MimeRelatedStreamSaver(
NULL, context, NULL, FALSE, MSG_DeliverNow,
NULL, 0, NULL, NULL, origRootURL, streamOut));
}
//#endif