From 447430b21adb7d439aeeb92a44aff763c55cd811 Mon Sep 17 00:00:00 2001 From: "alecf%netscape.com" Date: Thu, 7 Oct 1999 23:55:42 +0000 Subject: [PATCH] exorcise xp.h from compose header files, in preparation for nsIModule landing r=sspitzer --- include/msgcom.h | 360 +----------------------- mailnews/compose/src/makefile.win | 3 + mailnews/compose/src/nsMsgCompFields.h | 1 - mailnews/compose/src/nsMsgCompUtils.cpp | 9 +- mailnews/compose/src/nsMsgCompose.cpp | 1 + mailnews/compose/src/nsMsgSendPart.h | 1 - mailnews/compose/src/nsMsgTransition.h | 5 +- 7 files changed, 16 insertions(+), 364 deletions(-) diff --git a/include/msgcom.h b/include/msgcom.h index 5a452bfea84b..e176f50bc0da 100644 --- a/include/msgcom.h +++ b/include/msgcom.h @@ -24,7 +24,9 @@ #define _MSGCOM_H_ #include "rosetta.h" +#if 0 #include "libmime.h" +#endif #define SUBSCRIBE_USE_OLD_API @@ -64,9 +66,11 @@ */ +#if 0 #include "xp_mcom.h" #include "xp_core.h" #include "ntypes.h" +#endif #include "msgtypes.h" /* =========================================================================== @@ -778,8 +782,6 @@ class AB_ContainerInfo; typedef struct AB_ContainerInfo AB_ContainerInfo; #endif -/* used in MWContext to communicate IMAP stuff between libmsg and libnet */ - #ifdef XP_CPLUSPLUS class MSG_IMAPFolderInfoMail; class TImapServerState; @@ -1107,185 +1109,7 @@ int32 MSG_SetDBCacheSize(int32 newCacheSize); extern MSG_Master* MSG_InitializeMail(MSG_Prefs* prefs); -/* Routines to create the various panes. Those panes that require a true - MWContext* take it as a parameter. Any given thread pane is always - associated with a particular folder pane; any given message pane is always - associated with a particular thread pane. - The entire creation process goes like this: - - - The FE decides to create a new pane. - - - The FE creates any necessary contexts and maybe some windows and stuff - that it will associate with the pane. - - - The FE calls MSG_Create*Pane() to create the pane object itself. When - creating a folderpane, the FE must also provide a pointer to a MSG_Prefs - object that contains the preferences to be used for the folderpane. The FE - must be sure not to destroy that MSG_Prefs object as long as the folderpane - exists. Any later change made to the MSG_Prefs will automatically be - reflected in the folderpane and all related panes. (Also note that when - creating a folderpane, msglib uses the context type to determine whether - this is for mail or news.) - - - The FE puts the resulting pane structure into its datastructures - somewhere, and probably calls MSG_SetFEData() to assocatiate that - datastructure with the pane. - -*/ - -extern MSG_Pane* MSG_CreateFolderPane(MWContext* context, - MSG_Master* master); - - -extern MSG_Pane* MSG_CreateThreadPane(MWContext* context, - MSG_Master* master); - -extern MSG_Pane* MSG_CreateMessagePane(MWContext* context, - MSG_Master* master); - -extern int MSG_SetMessagePaneCallbacks(MSG_Pane* messagepane, - MSG_MessagePaneCallbacks* callbacks, - void* closure); - -extern MSG_MessagePaneCallbacks* -MSG_GetMessagePaneCallbacks(MSG_Pane* messagepane, void** closure); - - -extern MSG_Pane* MSG_CreateCompositionPane(MWContext* context, - MWContext* old_context, - MSG_Prefs* prefs, - MSG_CompositionFields* fields, - MSG_Master* master); - -extern int -MSG_SetCompositionPaneCallbacks(MSG_Pane* composepane, - MSG_CompositionPaneCallbacks* callbacks, - void* closure); - -/* Typically, progress panes come down when you receive all connections complete, - or you get a FE_PaneChanged MSG_PaneProgressDone, which gets sent when a - command runs in a progress pane which doesn't launch a url. -*/ -extern MSG_Pane* MSG_CreateProgressPane (MWContext *context, - MSG_Master *master, - MSG_Pane *parentPane); - -/* WinFE (at least) has found that creating the composition pane in one swell - foop is too much to handle. They really want to create the pane pointer, - but not start its initializing until some later point. (The reason this is - nasty is that composition pane initialization can sometimes happen in the - background as we download attachments.) So, if you don't want to call - MSG_CreateCompositionPane(), you can instead call - MSG_CreateCompositionPaneNoInit() and then soon call - MSG_InitializeCompositionPane(). What fun. */ - -extern MSG_Pane* MSG_CreateCompositionPaneNoInit(MWContext* context, - MSG_Prefs* prefs, - MSG_Master* master); - -extern int MSG_InitializeCompositionPane(MSG_Pane* comppane, - MWContext* old_context, - MSG_CompositionFields* fields); - - - - -extern MSG_Pane* MSG_CreateSearchPane (MWContext *context, - MSG_Master *master); - -#ifdef SUBSCRIBE_USE_OLD_API -/* This routine is obsoleted; instead, use MSG_CreateSubscribePaneOnHost(). */ -extern MSG_Pane* MSG_CreateSubscribePane(MWContext* context, - MSG_Master* master); - -/* Bring up the subscribe UI on the given newshost. If host is NULL, - uses the default newshost. */ -extern MSG_Pane* MSG_CreateSubscribePaneOnHost(MWContext* context, - MSG_Master* master, - MSG_NewsHost* host); -#endif /* SUBSCRIBE_USE_OLD_API */ - -/* Bring up the subscribe UI on the given news or imap host. - If host is NULL, uses the default newshost. */ -extern MSG_Pane* MSG_CreateSubscribePaneForHost(MWContext* context, - MSG_Master* master, - MSG_Host* host); - - -/* Tells the FEs to bring up the subscribe UI on the given news - or imap host. */ -extern XP_Bool FE_CreateSubscribePaneOnHost(MSG_Master* master, - MWContext* parentContext, - MSG_Host* host); - -/* Message compositions sometimes (usually) get kicked off by the backend - (like, the user clicks on a "mailto" link). So, this call requests the FE - to create a new context, and call MSG_CreateCompositionPane and bring up a - composition window. The given context and MSG_CompositionFields* are to be - passed on to MSG_CreateCompositionPane(), and lets the backend know what the - initial values of all the fields are to be. The FE should then query the - pane (using MSG_GetCompHeader() and MSG_GetCompBody()) so that it can find - out what to display in the UI. - - The FE should bring up either the plaintext composition or the html - composition window, depending on the user's preference. One exception, - though: the FE must first check MSG_GetForcePlainText(). If TRUE, then - we are replying to a plaintext message, and the FE *must* bring up the - plaintext composition window. - - */ - - -extern MSG_Pane* FE_CreateCompositionPane(MWContext* old_context, - MSG_CompositionFields* fields, - const char* initialText, - MSG_EditorType editorType); - - - - -/* =========================================================================== - RANDOM CORE FUNCTIONS (to sort) - =========================================================================== - */ - - -/* Due to addition of Java/JavaScript MailNews API, other things in addition - to composition can be kicked off by the backend, so we provide the - following FE functions to handle those cases. -*/ - -/* Ask the FE for the current master. FE should create one if it doesn't exist */ -extern MSG_Master* FE_GetMaster(); - -/* Routines to associate or get arbitrary FE-specific data from a pane. */ - -extern void MSG_SetFEData(MSG_Pane* pane, void* data); -extern void* MSG_GetFEData(MSG_Pane* pane); - -/* Routines to to special things when Netscape mail is not being used */ - -extern XP_Bool FE_IsAltMailUsed(MWContext * context); - -typedef enum { - MSG_IMAPUpgradeAutomatic, /* automatically try to upgrade */ - MSG_IMAPUpgradeCustom, /* the user will select folders manually */ - MSG_IMAPUpgradeDont /* Cancel or error - don't upgrade now */ -} MSG_IMAPUpgradeType; - -#if defined(XP_WIN) || defined (XP_MAC) || defined(XP_UNIX) || defined(XP_BEOS) -#define FE_IMPLEMENTS_IMAP_SUBSCRIBE_UPGRADE -#endif - -#ifdef FE_IMPLEMENTS_IMAP_SUBSCRIBE_UPGRADE - -/* Routine to bring up the IMAP Subscription Upgrade dialog box. - context is the context of the parent of this dialog box; - hostName is the name of the IMAP host which will be upgraded. -*/ -extern MSG_IMAPUpgradeType FE_PromptIMAPSubscriptionUpgrade (MWContext * context, const char *hostName); -#endif /* This function is called by the backend to notify the frontend details about new mail state so that the FE can notify the stand-alone biff that something @@ -1309,10 +1133,6 @@ typedef enum { MSG_IMAPDeleteIsDeleteNoTrash /* delete is shift delete - don't create or use trash */ } MSG_IMAPDeleteModel; -/* run the url in the given pane. This will set the msg_pane member - in url, interrupt the context, and then call FE_GetURL */ -extern int MSG_GetURL(MSG_Pane *pane, URL_Struct* url); - /* routines to set and get the text type, setting true indicates that the text is HTML */ @@ -1324,24 +1144,10 @@ extern void MSG_SetHTMLMarkup(MSG_Pane * composepane,XP_Bool flag); extern MSG_PaneType MSG_GetPaneType(MSG_Pane* pane); -/* Finds a pane with the given type. First, it looks for a pane which has the - given context associated with it; failing that, it returns any pane it can - find. - */ -extern MSG_Pane* MSG_FindPane(MWContext* context, MSG_PaneType type); - -/* really find the pane of passed type with given context, NULL otherwise */ -extern MSG_Pane *MSG_FindPaneOfContext (MWContext *context, MSG_PaneType type); - extern MSG_Pane *MSG_FindPaneOfType(MSG_Master *master, MSG_FolderInfo *id, MSG_PaneType type); extern MSG_Pane *MSG_FindPaneFromUrl (MSG_Pane *pane, const char *url, MSG_PaneType type); -/* Returns the context associated with a given pane. If this pane doesn't have - a context (i.e., it's a threadpane), then it will return NULL. */ - -extern MWContext* MSG_GetContext(MSG_Pane* pane); - /* Returns the MSG_Prefs* object that is being used to determine the preferences for this pane. */ @@ -1448,9 +1254,6 @@ extern int MSG_MarkReadByDate (MSG_Pane* pane, time_t startDate, time_t endDate) /* notification from Server Admin page via JavaScript that an imap folder has changed */ extern void MSG_IMAPFolderChangedNotification(const char *folder_url); -/* record the imap connection in the move state of the current context */ -extern void MSG_StoreNavigatorIMAPConnectionInMoveState(MWContext *context, - TNavigatorImapConnection *connection); /* Determines whether we are currently actually showing the recipients in the "Sender" column of the display (because we are in the "sent" @@ -1593,9 +1396,6 @@ extern MSG_ViewIndex MSG_ThreadIndexOfMsg(MSG_Pane* pane, MessageKey key); statically allocated buffer; the caller should copy it somewhere. */ extern const char* MSG_FormatDate(MSG_Pane* pane, time_t date); -/* If you don't have a pane and need to format a date ... */ -extern const char* MSG_FormatDateFromContext(MWContext *context, time_t date); - /* Change the priority on a mail message */ extern XP_Bool MSG_SetPriority(MSG_Pane *pane, /* thread or message */ MessageKey key, @@ -1608,10 +1408,6 @@ extern XP_Bool MSG_SetPriority(MSG_Pane *pane, /* thread or message */ The returned filename will be freed using XP_FREE(). */ -/* #### this should be replaced with a backup-version-hacking XP_FileOpen */ -extern char* FE_GetTempFileFor(MWContext* context, const char* fname, - XP_FileType ftype, XP_FileType* rettype); - @@ -1678,14 +1474,6 @@ extern int MSG_ResultsRecipients(MSG_Pane* composepane, extern void MSG_SetPostDeliveryActionInfo (MSG_Pane* pane, void *actionInfo); extern uint32 MSG_GetActionInfoFlags (void *actionInfo); - -/* Setting the preloaded attachments to a compose window. Drafts only */ -extern int MSG_SetPreloadedAttachments ( MSG_Pane *composepane, - MWContext *context, - void *attachmentData, - void *attachments, - int attachments_count ); - #ifdef XP_UNIX /* This is how the XFE implements non-POP message delivery. The given donefunc will be called when the incorporate actually finishes, which may be before @@ -1792,11 +1580,6 @@ typedef enum MSG_AdminURLType MSG_AdminServerLists } MSG_AdminURLType; -/* use this to run the url */ -extern XP_Bool MSG_GetAdminUrlForFolder(MWContext *context, MSG_FolderInfo *folder, MSG_AdminURLType type); -/* use this to decide to show buttons and/or menut items */ -extern XP_Bool MSG_HaveAdminUrlForFolder(MSG_FolderInfo *folder, MSG_AdminURLType type); - /* =========================================================================== LIST CALLBACKS =========================================================================== @@ -2363,10 +2146,6 @@ extern void MSG_FreeAttachmentList(MSG_Pane* messagepane, -/* These return NULL if they fail. Caller must call NET_FreeURLStruct */ -extern URL_Struct* MSG_ConstructUrlForPane(MSG_Pane *pane); -extern URL_Struct* MSG_ConstructUrlForMessage(MSG_Pane *pane, MessageKey key); -extern URL_Struct* MSG_ConstructUrlForFolder(MSG_Pane *pane, MSG_FolderInfo *folder); /* Returns whether the user has asked to rot13 messages displayed in this pane. (Used by libmime.) */ extern XP_Bool MSG_ShouldRot13Message(MSG_Pane* messagepane); @@ -2410,9 +2189,6 @@ extern void MSG_SetBiffStatFile(const char* filename); #endif /* Causes a biff check to occur immediately. This gets caused automatically by MSG_SetBiffInterval or whenever libmsg gets new mail. */ -extern void MSG_BiffCheckNow(MWContext* context); -/* Tell the FE to render in all the right places this latest knowledge as to - whether we have new mail waiting. */ extern void FE_UpdateBiff(MSG_BIFF_STATE state); /* END OBSOLETE functions */ @@ -2426,11 +2202,6 @@ extern void FE_UpdateBiff(MSG_BIFF_STATE state); are used to see if new mail is available at a particular server or folder. */ -extern int MSG_BiffInit(MWContext* context, MSG_Prefs* prefs); -extern int MSG_BiffCleanupContext(MWContext* context); /* cleanup */ -extern void MSG_Biff_Master_FE_Progress(MWContext *context, char *msg); -extern XP_Bool MSG_Biff_Master_NikiCallingGetNewMail(); - /* =========================================================================== OTHER INTERFACES @@ -2447,29 +2218,12 @@ extern XP_Bool MSG_RequiresNewsWindow (const char *url); extern XP_Bool MSG_RequiresBrowserWindow (const char *url); extern XP_Bool MSG_RequiresComposeWindow (const char *url); -/* If this URL requires a particular kind of window, and this is not - that kind of window, then we need to find or create one. - This routine takes a URL_Struct, which allows it to be smarter than - the obsolete routine which takes a url string. - */ -extern XP_Bool MSG_NewWindowRequiredForURL (MWContext *context, URL_Struct *urlStruct); - -/* If we're in a mail window, and clicking on a link which will itself - require a mail window, then don't allow this to show up in a different - window - since there can be only one mail window. - */ -extern XP_Bool MSG_NewWindowProhibited (MWContext *context, const char *url); - /* When the front end loads a url, it needs to know what kind of pane the url should be loaded into. */ extern MSG_PaneType MSG_PaneTypeForURL(const char *url); -/* Returns the number of bytes available on the disk where the given directory - is - this is so we know whether there is room to incorporate new mail. */ -extern uint32 FE_DiskSpaceAvailable (MWContext* context, const char* dir); - /* Counts bytes for a POP3 message being downloaded and returns TRUE if it is too early to have a message ended because we found CRLF.CRLF */ @@ -2529,53 +2283,6 @@ extern XP_Bool MSG_GetNewsSigningPreference(void); =========================================================================== */ -/* This is how the `mailto' parser asks the message library to create a - message composition window. That window has its own context. The - `old_context' arg is the context from which the mailto: URL was loaded. - It may be NULL. - - Any of the fields may be 0 or "". Some of them (From, BCC, Organization, - etc) will be given default values if none is provided. - - This returns the new composition pane. - */ -extern MSG_Pane* MSG_ComposeMessage(MWContext *old_context, - const char *from, - const char *reply_to, - const char *to, - const char *cc, - const char *bcc, - const char *fcc, - const char *newsgroups, - const char *followup_to, - const char *organization, - const char *subject, - const char *references, - const char *other_random_headers, - const char *priority, - const char *attachment, - const char *newspost_url, - const char *body, - XP_Bool force_plain_text, - const char* html_part); - -extern MSG_CompositionFields* MSG_CreateCompositionFields( - const char *from, - const char *reply_to, - const char *to, - const char *cc, - const char *bcc, - const char *fcc, - const char *newsgroups, - const char *followup_to, - const char *organization, - const char *subject, - const char *references, - const char *other_random_headers, - const char *priority, - const char *attachment, - const char *newspost_url); - extern void MSG_DestroyCompositionFields(MSG_CompositionFields *fields); /* Tell the FE that something has changed in the composition (like, we @@ -2584,12 +2291,6 @@ extern void MSG_DestroyCompositionFields(MSG_CompositionFields *fields); extern void FE_UpdateCompToolbar(MSG_Pane* comppane); -/* Tell the FE that we're all done with the given context (which was associated - with a composition pane that we're destroying). Presumably, the FE will - then destroy the context. */ -extern void FE_DestroyMailCompositionContext(MWContext* context); - - /* Determines whether this is a mail composition that ought to have a "quote message" operation done at startup. If so, the FE must call @@ -2746,37 +2447,15 @@ extern int MSG_SanityCheck(MSG_Pane* comppane, int skippast); /* Get the URL associated with this context (the "X-Url" field.) */ extern const char* MSG_GetAssociatedURL(MSG_Pane* comppane); - -/* This is completely foul, but the FE needs to call this from within - FE_AllConnectionsComplete() when the context->type is - MWContextMessageComposition. - */ -extern void MSG_MailCompositionAllConnectionsComplete (MSG_Pane* pane); - - /* */ -/* Bring up the dialog box that presents the user with the list of domains that - have been marked for HTML, and let the user edit them. */ - -extern int MSG_DisplayHTMLDomainsDialog(MWContext* context); - - /* Returns whether the given folderinfo represents a newsgroup where HTML postings are OK. This is to be used in the property dialog for that newsgroup. This call should only be done on newsgroups. */ extern XP_Bool MSG_IsHTMLOK(MSG_Master* master, MSG_FolderInfo* group); -/* Sets whether the given newsgroup can have HTML. This can potentially - pop up a confirmation window, so we ask for a MWContext* to use for that - (yick). The folderinfo provided must represent a newsgroup. This is to - be used in the property dialog for that newsgroup. */ - -extern int MSG_SetIsHTMLOK(MSG_Master* master, MSG_FolderInfo* group, - MWContext* context, XP_Bool value); - /* Utility function that prefixes each line with "> " (for Paste As Quote). */ @@ -2839,30 +2518,6 @@ MSG_GetAttachmentList(MSG_Pane* comppane); */ extern MSG_HEADER_SET MSG_GetInterestingHeaders(MSG_Pane* comppane); - - -/* This function creates a new, blank mail message composition window. It - causes calls to FE_CreateCompositionPane, which should drive the creation - of the window. - */ - -MSG_Pane* MSG_Mail(MWContext *old_context); - -/* Convenience function to start composing a mail message from a web - browser window - the currently-loaded document will be the default - attachment should the user choose to attach it. The context may - be of any type, or NULL. Returns the new message composition pane. - - This is going away, you should call MSG_MailDocumentURL with NULL - for the second argument. -*/ -extern MSG_Pane* MSG_MailDocument(MWContext *context); -/* - Another version of MSG_MailDocument where pAttachmentURL explicitly gives the URL to attach. - MSG_MailDocument() is still there for backwards compatability. - */ -extern MSG_Pane* MSG_MailDocumentURL(MWContext *context,const char *pAttachmentURL); - /* These routines were in mime.h, but defined in libmsg...*/ /* Given a string which contains a list of RFC822 addresses, parses it into @@ -2934,13 +2589,6 @@ extern char *MSG_MakeFullAddress (const char* name, const char* addr); extern int MSG_UnquotePhraseOrAddr (char *line, char** lineout); -/* Returns the address book context, creating it if necessary. A mail pane is - passed in, on the unlikely chance that it might be useful for the FE. If - "viewnow" is TRUE, then present the address book window to the user; - otherwise, don't (unless it is already visible).*/ - -extern MWContext* FE_GetAddressBookContext(MSG_Pane* pane, XP_Bool viewnow); - /* Notify the address book panes that the list of directory servers has changed This is only called from the address book. */ diff --git a/mailnews/compose/src/makefile.win b/mailnews/compose/src/makefile.win index b3496df88897..820bc3d569db 100644 --- a/mailnews/compose/src/makefile.win +++ b/mailnews/compose/src/makefile.win @@ -30,6 +30,9 @@ EXPORTS= nsSmtpUrl.h \ nsMsgCreate.h \ nsMsgSendLater.h \ nsMsgCompUtils.h \ + nsMsgDeliveryListener.h \ + nsMsgSend.h \ + nsMsgAttachmentHandler.h \ nsMsgComposeService.h \ nsMsgCompose.h \ nsMsgCompFields.h \ diff --git a/mailnews/compose/src/nsMsgCompFields.h b/mailnews/compose/src/nsMsgCompFields.h index 868431d4979b..d43fb3ee7804 100644 --- a/mailnews/compose/src/nsMsgCompFields.h +++ b/mailnews/compose/src/nsMsgCompFields.h @@ -21,7 +21,6 @@ #include "msgCore.h" #include "prprf.h" /* should be defined into msgCore.h? */ -#include "msgcom.h" #include "nsMsgHeaderMasks.h" #include "nsMsgTransition.h" diff --git a/mailnews/compose/src/nsMsgCompUtils.cpp b/mailnews/compose/src/nsMsgCompUtils.cpp index 80a747c630e4..eb8141f22067 100644 --- a/mailnews/compose/src/nsMsgCompUtils.cpp +++ b/mailnews/compose/src/nsMsgCompUtils.cpp @@ -33,6 +33,11 @@ #include "nsXPIDLString.h" #include "nsSpecialSystemDirectory.h" +/* for GET_xxx_PART */ +#include "net.h" +/* for StrAllocCat */ +#include "xp_str.h" + static NS_DEFINE_CID(kPrefCID, NS_PREF_CID); static NS_DEFINE_CID(kMsgHeaderParserCID, NS_MSGHEADERPARSER_CID); static NS_DEFINE_CID(kMimeURLUtilsCID, NS_IMIME_URLUTILS_CID); @@ -667,7 +672,7 @@ mime_generate_headers (nsMsgCompFields *fields, while (references && PL_strlen(references) >= 986 && trimAt) { ptr = PL_strchr(trimAt+1, '<'); if (ptr) - XP_MEMMOVE(trimAt, ptr, PL_strlen(ptr)+1); // including the + nsCRT::memmove(trimAt, ptr, PL_strlen(ptr)+1); // including the else break; } @@ -1007,7 +1012,7 @@ msg_generate_message_id (nsIMsgIdentity *identity) if (host) { const char *s; for (s = ++host; *s; s++) - if (!XP_IS_ALPHA(*s) && !XP_IS_DIGIT(*s) && + if (!nsString::IsAlpha(*s) && !nsString::IsDigit(*s) && *s != '-' && *s != '_' && *s != '.') { host = 0; break; diff --git a/mailnews/compose/src/nsMsgCompose.cpp b/mailnews/compose/src/nsMsgCompose.cpp index 008b60cb37b2..8111b86252cc 100644 --- a/mailnews/compose/src/nsMsgCompose.cpp +++ b/mailnews/compose/src/nsMsgCompose.cpp @@ -41,6 +41,7 @@ #include "nsMsgCreate.h" #include "nsMailHeaders.h" #include "nsMsgPrompts.h" +#include "nsMimeTypes.h" // XXX temporary so we can use the current identity hack -alecf #include "nsIMsgMailSession.h" diff --git a/mailnews/compose/src/nsMsgSendPart.h b/mailnews/compose/src/nsMsgSendPart.h index 91c2861edc53..40929d10fa61 100644 --- a/mailnews/compose/src/nsMsgSendPart.h +++ b/mailnews/compose/src/nsMsgSendPart.h @@ -22,7 +22,6 @@ #include "msgCore.h" #include "prprf.h" /* should be defined into msgCore.h? */ #include "intl_csi.h" -#include "msgcom.h" #include "nsMsgTransition.h" #include "nsMsgZapIt.h" #include "nsMsgSend.h" diff --git a/mailnews/compose/src/nsMsgTransition.h b/mailnews/compose/src/nsMsgTransition.h index 1f4fe861d48e..84b7c2214d0f 100644 --- a/mailnews/compose/src/nsMsgTransition.h +++ b/mailnews/compose/src/nsMsgTransition.h @@ -25,11 +25,8 @@ #define _nsMsgTransition_h_ #define NS_IMPL_IDS -#include "mimeenc.h" -#include "xpgetstr.h" -#include "xp_qsort.h" -#include "msgcom.h" #include "rosetta_mailnews.h" +#include "msgcom.h" #include "nsMsgZapIt.h" // These are transitional defines that will go away when we