From 1e8b1a76145b6cf0ef133ec5722de27f741487a0 Mon Sep 17 00:00:00 2001 From: "akkana%netscape.com" Date: Tue, 14 Mar 2000 02:59:13 +0000 Subject: [PATCH] 31438: stealth msg compose (r=ducarroz) --- mailnews/base/resources/content/widgetglue.js | 27 +++++++++++++++---- mailnews/compose/public/nsIMsgCompose.idl | 1 + mailnews/compose/src/nsMsgCompose.cpp | 6 +++++ 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/mailnews/base/resources/content/widgetglue.js b/mailnews/base/resources/content/widgetglue.js index 5683417d7c6a..c15fe7640ace 100644 --- a/mailnews/base/resources/content/widgetglue.js +++ b/mailnews/base/resources/content/widgetglue.js @@ -450,19 +450,28 @@ function MsgDeleteFolder() function MsgNewMessage(event) { - ComposeMessage(msgComposeType.New, msgComposeFormat.Default); + if (event.shiftKey) + ComposeMessage(msgComposeType.New, msgComposeFormat.OppositeOfDefault); + else + ComposeMessage(msgComposeType.New, msgComposeFormat.Default); } function MsgReplyMessage(event) { dump("\nMsgReplyMessage from XUL\n"); - ComposeMessage(msgComposeType.Reply, msgComposeFormat.Default); + if (event.shiftKey) + ComposeMessage(msgComposeType.Reply, msgComposeFormat.OppositeOfDefault); + else + ComposeMessage(msgComposeType.Reply, msgComposeFormat.Default); } function MsgReplyToAllMessage(event) { dump("\nMsgReplyToAllMessage from XUL\n"); - ComposeMessage(msgComposeType.ReplyAll, msgComposeFormat.Default); + if (event.shiftKey) + ComposeMessage(msgComposeType.ReplyAll, msgComposeFormat.OppositeOfDefault); + else + ComposeMessage(msgComposeType.ReplyAll, msgComposeFormat.Default); } function MsgForwardMessage(event) @@ -482,13 +491,21 @@ function MsgForwardMessage(event) function MsgForwardAsAttachment(event) { dump("\nMsgForwardAsAttachment from XUL\n"); - ComposeMessage(msgComposeType.ForwardAsAttachment, msgComposeFormat.Default); + if (event.shiftKey) + ComposeMessage(msgComposeType.ForwardAsAttachment, + msgComposeFormat.OppositeOfDefault); + else + ComposeMessage(msgComposeType.ForwardAsAttachment, msgComposeFormat.Default); } function MsgForwardAsInline(event) { dump("\nMsgForwardAsInline from XUL\n"); - ComposeMessage(msgComposeType.ForwardInline, msgComposeFormat.Default); + if (event.shiftKey) + ComposeMessage(msgComposeType.ForwardInline, + msgComposeFormat.OppositeOfDefault); + else + ComposeMessage(msgComposeType.ForwardInline, msgComposeFormat.Default); } function MsgCopyMessage(destFolder) diff --git a/mailnews/compose/public/nsIMsgCompose.idl b/mailnews/compose/public/nsIMsgCompose.idl index 6a23816b8446..695140a18ac1 100644 --- a/mailnews/compose/public/nsIMsgCompose.idl +++ b/mailnews/compose/public/nsIMsgCompose.idl @@ -55,6 +55,7 @@ interface nsIMsgCompFormat { const long Default = 0; const long HTML = 1; const long PlainText = 2; + const long OppositeOfDefault = 3; }; typedef long MSG_ComposeSaveType; diff --git a/mailnews/compose/src/nsMsgCompose.cpp b/mailnews/compose/src/nsMsgCompose.cpp index b95a54efe9a2..52ec32b5d341 100644 --- a/mailnews/compose/src/nsMsgCompose.cpp +++ b/mailnews/compose/src/nsMsgCompose.cpp @@ -400,6 +400,12 @@ nsresult nsMsgCompose::Initialize(nsIDOMWindow *aWindow, { case nsIMsgCompFormat::HTML : m_composeHTML = PR_TRUE; break; case nsIMsgCompFormat::PlainText : m_composeHTML = PR_FALSE; break; + case nsIMsgCompFormat::OppositeOfDefault: + /* ask the identity which compose to use */ + if (m_identity) m_identity->GetComposeHtml(&m_composeHTML); + /* then use the opposite */ + m_composeHTML = !m_composeHTML; + break; default : /* ask the identity which compose to use */ if (m_identity) m_identity->GetComposeHtml(&m_composeHTML);