Fix for 10796. r=jefft and ducarroz. Hook up double clicks on thread pane for drafts and templates.

This commit is contained in:
putterman%netscape.com 2000-01-31 22:20:55 +00:00
parent 18bb9b179f
commit bb42c1aa32
4 changed files with 38 additions and 10 deletions

View File

@ -157,7 +157,8 @@ function ComposeMessage(type, format) //type is a nsIMsgCompType and format is a
{
dump('i = '+ i);
dump('\n');
if (type == msgComposeType.Reply || type == msgComposeType.ReplyAll || type == msgComposeType.ForwardInline)
if (type == msgComposeType.Reply || type == msgComposeType.ReplyAll || type == msgComposeType.ForwardInline ||
type == msgComposeType.Template || type == msgComposeType.Draft)
{
msgComposeService.OpenComposeWindow(null, nodeList[i].getAttribute('id'), type, format, identity);
}

View File

@ -574,9 +574,23 @@ function ThreadPaneOnClick(event)
}
dump('clicked on a twisty\n');
}
else if(event.clickCount == 2)
{
ThreadPaneDoubleClick(event.target.parentNode.parentNode);
}
}
function ThreadPaneDoubleClick(treeitem)
{
if(IsSpecialFolderSelected("Drafts"))
{
ComposeMessage(msgComposeType.Draft, msgComposeFormat.Default);
}
else if(IsSpecialFolderSelected("Templates"))
{
ComposeMessage(msgComposeType.Template, msgComposeFormat.Default);
}
}
function ChangeSelection(tree, newSelection)
{

View File

@ -25,7 +25,7 @@
*/
var msgComposeType = Components.interfaces.nsIMsgCompType;
var msgComposFormat = Components.interfaces.nsIMsgCompFormat;
var msgComposeFormat = Components.interfaces.nsIMsgCompFormat;
var Bundle = srGetStrBundle("chrome://messenger/locale/messenger.properties");
var prefs = Components.classes['component://netscape/preferences'].getService();
@ -403,19 +403,19 @@ function MsgDeleteFolder()
function MsgNewMessage(event)
{
ComposeMessage(msgComposeType.New, msgComposFormat.Default);
ComposeMessage(msgComposeType.New, msgComposeFormat.Default);
}
function MsgReplyMessage(event)
{
dump("\nMsgReplyMessage from XUL\n");
ComposeMessage(msgComposeType.Reply, msgComposFormat.Default);
ComposeMessage(msgComposeType.Reply, msgComposeFormat.Default);
}
function MsgReplyToAllMessage(event)
{
dump("\nMsgReplyToAllMessage from XUL\n");
ComposeMessage(msgComposeType.ReplyAll, msgComposFormat.Default);
ComposeMessage(msgComposeType.ReplyAll, msgComposeFormat.Default);
}
function MsgForwardMessage(event)
@ -435,13 +435,13 @@ function MsgForwardMessage(event)
function MsgForwardAsAttachment(event)
{
dump("\nMsgForwardAsAttachment from XUL\n");
ComposeMessage(msgComposeType.ForwardAsAttachment, msgComposFormat.Default);
ComposeMessage(msgComposeType.ForwardAsAttachment, msgComposeFormat.Default);
}
function MsgForwardAsInline(event)
{
dump("\nMsgForwardAsInline from XUL\n");
ComposeMessage(msgComposeType.ForwardInline, msgComposFormat.Default);
ComposeMessage(msgComposeType.ForwardInline, msgComposeFormat.Default);
}
function MsgCopyMessage(destFolder)

View File

@ -97,7 +97,7 @@ nsresult nsMsgComposeService::OpenComposeWindow(const PRUnichar *msgComposeWindo
/* Actually, the only way to implement forward inline is to simulate a template message.
Maybe one day when we will have more time we can change that
*/
if (type == nsIMsgCompType::ForwardInline)
if (type == nsIMsgCompType::ForwardInline || type == nsIMsgCompType::Draft || type == nsIMsgCompType::Template)
{
nsCOMPtr<nsIMsgDraft> pMsgDraft;
rv = nsComponentManager::CreateInstance(kMsgDraftCID,
@ -105,8 +105,21 @@ nsresult nsMsgComposeService::OpenComposeWindow(const PRUnichar *msgComposeWindo
nsCOMTypeInfo<nsIMsgDraft>::GetIID(),
getter_AddRefs(pMsgDraft));
if (NS_SUCCEEDED(rv) && pMsgDraft)
rv = pMsgDraft->OpenDraftMsg(originalMsgURI, nsnull, identity, PR_TRUE);
{
switch(type)
{
case nsIMsgCompType::ForwardInline:
rv = pMsgDraft->OpenDraftMsg(originalMsgURI, nsnull, identity, PR_TRUE);
break;
case nsIMsgCompType::Draft:
rv = pMsgDraft->OpenDraftMsg(originalMsgURI, nsnull, identity, PR_FALSE);
break;
case nsIMsgCompType::Template:
rv = pMsgDraft->OpenEditorTemplate(originalMsgURI, nsnull, identity);
break;
}
}
return rv;
}