mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 20:05:49 +00:00
Fix for 10796. r=jefft and ducarroz. Hook up double clicks on thread pane for drafts and templates.
This commit is contained in:
parent
18bb9b179f
commit
bb42c1aa32
@ -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);
|
||||
}
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user