in suite/mailnews/content/mail3PaneWindowCommands.js [480:778]
doCommand: function(command)
{
// if the user invoked a key short cut then it is possible that we got here for a command which is
// really disabled. kick out if the command should be disabled.
if (!this.isCommandEnabled(command))
return;
switch (command)
{
case "button_getNewMessages":
case "cmd_getNewMessages":
MsgGetMessage();
break;
case "cmd_getMsgsForAuthAccounts":
MsgGetMessagesForAllAuthenticatedAccounts();
break;
case "cmd_getNextNMessages":
MsgGetNextNMessages();
break;
case "cmd_archive":
MsgArchiveSelectedMessages(null);
break;
case "cmd_reply":
MsgReplyMessage(null);
break;
case "cmd_replyList":
MsgReplyList(null);
break;
case "cmd_replyGroup":
MsgReplyGroup(null);
break;
case "cmd_replySender":
MsgReplySender(null);
break;
case "cmd_replyall":
MsgReplyToAllMessage(null);
break;
case "cmd_replySenderAndGroup":
MsgReplyToSenderAndGroup(null);
break;
case "cmd_replyAllRecipients":
MsgReplyToAllRecipients(null);
break;
case "cmd_forward":
MsgForwardMessage(null);
break;
case "cmd_forwardInline":
MsgForwardAsInline(null);
break;
case "cmd_forwardAttachment":
MsgForwardAsAttachment(null);
break;
case "cmd_editAsNew":
MsgEditMessageAsNew(null);
break;
case "cmd_editDraftMsg":
MsgEditDraftMessage(null);
break;
case "cmd_newMsgFromTemplate":
MsgNewMessageFromTemplate(null);
break;
case "cmd_editTemplateMsg":
MsgEditTemplateMessage(null);
break;
case "cmd_createFilterFromMenu":
MsgCreateFilter();
break;
case "cmd_createFilterFromPopup":
CreateFilter(document.popupNode);
break;
case "cmd_delete":
case "button_delete":
MsgDeleteMessage(false);
UpdateDeleteToolbarButton(false);
break;
case "cmd_shiftDelete":
case "button_shiftDelete":
MsgDeleteMessage(true);
UpdateDeleteToolbarButton(false);
break;
case "cmd_cancel":
let message = gFolderDisplay.selectedMessage;
message.folder.QueryInterface(Ci.nsIMsgNewsFolder)
.cancelMessage(message, msgWindow);
break;
case "cmd_killThread":
/* kill thread kills the thread and then does a next unread */
GoNextMessage(nsMsgNavigationType.toggleThreadKilled, true);
break;
case "cmd_killSubthread":
GoNextMessage(nsMsgNavigationType.toggleSubthreadKilled, true);
break;
case "cmd_watchThread":
gDBView.doCommand(nsMsgViewCommandType.toggleThreadWatched);
break;
case "button_next":
case "cmd_nextUnreadMsg":
GoNextMessage(nsMsgNavigationType.nextUnreadMessage, true);
break;
case "cmd_nextUnreadThread":
GoNextMessage(nsMsgNavigationType.nextUnreadThread, true);
break;
case "cmd_nextMsg":
GoNextMessage(nsMsgNavigationType.nextMessage, false);
break;
case "cmd_nextFlaggedMsg":
GoNextMessage(nsMsgNavigationType.nextFlagged, true);
break;
case "cmd_previousMsg":
GoNextMessage(nsMsgNavigationType.previousMessage, false);
break;
case "cmd_previousUnreadMsg":
GoNextMessage(nsMsgNavigationType.previousUnreadMessage, true);
break;
case "cmd_previousFlaggedMsg":
GoNextMessage(nsMsgNavigationType.previousFlagged, true);
break;
case "button_goForward":
case "cmd_goForward":
GoNextMessage(nsMsgNavigationType.forward, true);
break;
case "button_goBack":
case "cmd_goBack":
GoNextMessage(nsMsgNavigationType.back, true);
break;
case "cmd_goStartPage":
HideMessageHeaderPane();
loadStartPage();
break;
case "cmd_viewAllMsgs":
case "cmd_viewThreadsWithUnread":
case "cmd_viewWatchedThreadsWithUnread":
case "cmd_viewUnreadMsgs":
case "cmd_viewIgnoredThreads":
SwitchView(command);
break;
case "cmd_undo":
messenger.undo(msgWindow);
break;
case "cmd_redo":
messenger.redo(msgWindow);
break;
case "cmd_expandAllThreads":
gDBView.doCommand(nsMsgViewCommandType.expandAll);
break;
case "cmd_collapseAllThreads":
gDBView.doCommand(nsMsgViewCommandType.collapseAll);
break;
case "cmd_renameFolder":
gFolderTreeController.renameFolder();
return;
case "cmd_sendUnsentMsgs":
MsgSendUnsentMsgs();
return;
case "cmd_subscribe":
MsgSubscribe();
return;
case "cmd_openMessage":
MsgOpenSelectedMessages();
return;
case "cmd_printSetup":
PrintUtils.showPageSetup();
return;
case "cmd_print":
PrintEnginePrint();
return;
case "cmd_printpreview":
PrintEnginePrintPreview();
return;
case "cmd_saveAsFile":
MsgSaveAsFile();
return;
case "cmd_saveAsTemplate":
MsgSaveAsTemplate();
return;
case "cmd_viewPageSource":
MsgViewPageSource();
return;
case "cmd_setFolderCharset":
gFolderTreeController.editFolder();
return;
case "cmd_reload":
ReloadMessage();
return;
case "cmd_find":
MsgFind();
return;
case "cmd_findNext":
MsgFindAgain(false);
return;
case "cmd_findPrev":
MsgFindAgain(true);
return;
case "cmd_properties":
gFolderTreeController.editFolder();
return;
case "button_search":
case "cmd_search":
MsgSearchMessages();
return;
case "button_mark":
MsgMarkMsgAsRead();
return;
case "cmd_markAsRead":
MsgMarkMsgAsRead(true);
return;
case "cmd_markAsUnread":
MsgMarkMsgAsRead(false);
return;
case "cmd_markThreadAsRead":
MsgMarkThreadAsRead();
return;
case "cmd_markAllRead":
gDBView.doCommand(nsMsgViewCommandType.markAllRead);
return;
case "cmd_markReadByDate":
MsgMarkReadByDate();
return;
case "button_junk":
MsgJunk();
return;
case "cmd_stop":
msgWindow.StopUrls();
return;
case "cmd_markAsFlagged":
MsgMarkAsFlagged();
return;
case "cmd_viewAllHeader":
MsgViewAllHeaders();
return;
case "cmd_viewNormalHeader":
MsgViewNormalHeaders();
return;
case "cmd_markAsJunk":
JunkSelectedMessages(true);
return;
case "cmd_markAsNotJunk":
JunkSelectedMessages(false);
return;
case "cmd_recalculateJunkScore":
analyzeMessagesForJunk();
return;
case "cmd_markAsShowRemote":
LoadMsgWithRemoteContent();
return;
case "cmd_markAsNotPhish":
MsgIsNotAScam();
return;
case "cmd_displayMsgFilters":
MsgFilters(null, null);
return;
case "cmd_applyFiltersToSelection":
MsgApplyFiltersToSelection();
return;
case "cmd_applyFilters":
MsgApplyFilters(null);
return;
case "cmd_runJunkControls":
filterFolderForJunk();
return;
case "cmd_deleteJunk":
deleteJunkInFolder();
return;
case "cmd_emptyTrash":
gFolderTreeController.emptyTrash();
return;
case "cmd_compactFolder":
gFolderTreeController.compactAllFoldersForAccount();
return;
case "cmd_downloadFlagged":
MsgDownloadFlagged();
break;
case "cmd_downloadSelected":
MsgDownloadSelected();
break;
case "cmd_synchronizeOffline":
MsgSynchronizeOffline();
break;
case "cmd_settingsOffline":
MsgSettingsOffline();
break;
case "cmd_selectAll":
// move the focus so the user can delete the newly selected messages, not the folder
SetFocusThreadPane();
// if in threaded mode, the view will expand all before selecting all
gDBView.doCommand(nsMsgViewCommandType.selectAll)
if (gDBView.numSelected != 1) {
setTitleFromFolder(gDBView.msgFolder,null);
ClearMessagePane();
}
break;
case "cmd_selectThread":
gDBView.doCommand(nsMsgViewCommandType.selectThread);
break;
case "cmd_selectFlagged":
gDBView.doCommand(nsMsgViewCommandType.selectFlagged);
break;
}
},