?? mailwindowoverlay.js
字號(hào):
function UpdateDeleteCommand(){ var value = "value"; var uri = GetFirstSelectedMessage(); if (IsNewsMessage(uri)) value += "News"; else if (SelectedMessagesAreDeleted()) value += "IMAPDeleted"; if (GetNumSelectedMessages() < 2) value += "Message"; else value += "Messages"; goSetMenuValue("cmd_delete", value); goSetAccessKey("cmd_delete", value + "AccessKey");}function SelectedMessagesAreDeleted(){ try { return gDBView.hdrForFirstSelectedMessage.flags & MSG_FLAG_IMAP_DELETED; } catch (ex) { return 0; }}function SelectedMessagesAreJunk(){ var isJunk; try { var junkScore = gDBView.hdrForFirstSelectedMessage.getStringProperty("junkscore"); isJunk = ((junkScore != "") && (junkScore != "0")); } catch (ex) { isJunk = false; } return isJunk;}function SelectedMessagesAreRead(){ var isRead; try { isRead = gDBView.hdrForFirstSelectedMessage.isRead; } catch (ex) { isRead = false; } return isRead;}function SelectedMessagesAreFlagged(){ var isFlagged; try { isFlagged = gDBView.hdrForFirstSelectedMessage.isFlagged; } catch (ex) { isFlagged = false; } return isFlagged;}function getMsgToolbarMenu_init(){ document.commandDispatcher.updateCommands('create-menu-getMsgToolbar');}function GetFirstSelectedMsgFolder(){ var result = null; var selectedFolders = GetSelectedMsgFolders(); if (selectedFolders.length > 0) { result = selectedFolders[0]; } return result;}function GetWindowMediator(){ if (gWindowManagerInterface) return gWindowManagerInterface; var windowManager = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService(); return (gWindowManagerInterface = windowManager.QueryInterface(Components.interfaces.nsIWindowMediator));}function GetInboxFolder(server){ try { var rootMsgFolder = server.rootMsgFolder; //now find Inbox var outNumFolders = new Object(); var inboxFolder = rootMsgFolder.getFoldersWithFlag(0x1000, 1, outNumFolders); return inboxFolder.QueryInterface(Components.interfaces.nsIMsgFolder); } catch (ex) { dump(ex + "\n"); } return null;}function GetMessagesForInboxOnServer(server){ var inboxFolder = GetInboxFolder(server); // if the server doesn't support an inbox it could be an RSS server or some other server type.. // just use the root folder and the server implementation can figure out what to do. if (!inboxFolder) inboxFolder = server.rootFolder; var folders = new Array(1); folders[0] = inboxFolder; var compositeDataSource = GetCompositeDataSource("GetNewMessages"); GetNewMessages(folders, server, compositeDataSource);}function MsgGetMessage(){ // if offline, prompt for getting messages if (MailOfflineMgr.isOnline() || MailOfflineMgr.getNewMail()) GetFolderMessages();}function MsgGetMessagesForAllServers(defaultServer){ // now log into any server try { var allServers = accountManager.allServers; // array of isupportsarrays of servers for a particular folder var pop3DownloadServersArray = new Array; // parallel isupports array of folders to download to... var localFoldersToDownloadTo = Components.classes["@mozilla.org/supports-array;1"].createInstance(Components.interfaces.nsISupportsArray); var pop3Server; for (var i=0;i<allServers.Count();i++) { var currentServer = allServers.GetElementAt(i).QueryInterface(Components.interfaces.nsIMsgIncomingServer); var protocolinfo = Components.classes["@mozilla.org/messenger/protocol/info;1?type=" + currentServer.type].getService(Components.interfaces.nsIMsgProtocolInfo); if (protocolinfo.canLoginAtStartUp && currentServer.loginAtStartUp) { if (defaultServer && defaultServer.equals(currentServer) && !defaultServer.isDeferredTo && defaultServer.rootFolder == defaultServer.rootMsgFolder) { dump(currentServer.serverURI + "...skipping, already opened\n"); } else if (currentServer.type == "pop3" && currentServer.downloadOnBiff) { CoalesceGetMsgsForPop3ServersByDestFolder(currentServer, pop3DownloadServersArray, localFoldersToDownloadTo); pop3Server = currentServer.QueryInterface(Components.interfaces.nsIPop3IncomingServer); } else { // Check to see if there are new messages on the server currentServer.PerformBiff(msgWindow); } } } for (var i = 0; i < pop3DownloadServersArray.length; i++) { // any ol' pop3Server will do - the serversArray specifies which servers to download from pop3Server.downloadMailFromServers(pop3DownloadServersArray[i], msgWindow, localFoldersToDownloadTo.GetElementAt(i), null); } } catch(ex) { dump(ex + "\n"); }}/** * Get messages for all those accounts which have the capability * of getting messages and have session password available i.e., * curretnly logged in accounts. * if offline, prompt for getting messages. */function MsgGetMessagesForAllAuthenticatedAccounts(){ if (MailOfflineMgr.isOnline() || MailOfflineMgr.getNewMail()) GetMessagesForAllAuthenticatedAccounts();}/** * Get messages for the account selected from Menu dropdowns. * if offline, prompt for getting messages. */function MsgGetMessagesForAccount(aEvent){ if (!aEvent) return; if (MailOfflineMgr.isOnline() || MailOfflineMgr.getNewMail()) GetMessagesForAccount(aEvent); }// if offline, prompt for getNextNMessagesfunction MsgGetNextNMessages(){ var folder; if (MailOfflineMgr.isOnline() || MailOfflineMgr.getNewMail()) { folder = GetFirstSelectedMsgFolder(); if(folder) GetNextNMessages(folder); } } function MsgDeleteMessage(reallyDelete, fromToolbar){ // if from the toolbar, return right away if this is a news message // only allow cancel from the menu: "Edit | Cancel / Delete Message" if (fromToolbar) { var srcFolder = GetLoadedMsgFolder(); var folderResource = srcFolder.QueryInterface(Components.interfaces.nsIRDFResource); var uri = folderResource.Value; if (isNewsURI(uri)) { // if news, don't delete return; } } SetNextMessageAfterDelete(); if (reallyDelete) { gDBView.doCommand(nsMsgViewCommandType.deleteNoTrash); } else { gDBView.doCommand(nsMsgViewCommandType.deleteMsg); }}// MsgCopyMessage// Copies the selected messages to the destination folder// aDestFolderURI -- the URI of the destination folderfunction MsgCopyMessage(aDestFolderURI){ try { // get the msg folder we're copying messages into var destResource = RDF.GetResource(aDestFolderURI); var destMsgFolder = destResource.QueryInterface(Components.interfaces.nsIMsgFolder); gDBView.doCommandWithFolder(nsMsgViewCommandType.copyMessages, destMsgFolder); pref.setCharPref("mail.last_msg_movecopy_target_uri", aDestFolderURI); pref.setBoolPref("mail.last_msg_movecopy_was_move", false); } catch (ex) { dump("MsgCopyMessage failed: " + ex + "\n"); }}// MsgMoveMessage// Moves the selected messages to the destination folder// aDestFolderURI -- the URI of the destination folderfunction MsgMoveMessage(aDestFolderURI){ try { // get the msg folder we're moving messages into // var destUri = destFolder.getAttribute('id'); var destResource = RDF.GetResource(aDestFolderURI); var destMsgFolder = destResource.QueryInterface(Components.interfaces.nsIMsgFolder); // we don't move news messages, we copy them if (isNewsURI(gDBView.msgFolder.URI)) gDBView.doCommandWithFolder(nsMsgViewCommandType.copyMessages, destMsgFolder); else { SetNextMessageAfterDelete(); gDBView.doCommandWithFolder(nsMsgViewCommandType.moveMessages, destMsgFolder); } pref.setCharPref("mail.last_msg_movecopy_target_uri", aDestFolderURI); pref.setBoolPref("mail.last_msg_movecopy_was_move", true); } catch (ex) { dump("MsgMoveMessage failed: " + ex + "\n"); }}function MsgNewMessage(event){ var loadedFolder = GetFirstSelectedMsgFolder(); var messageArray = GetSelectedMessages(); if (event && event.shiftKey) ComposeMessage(msgComposeType.New, msgComposeFormat.OppositeOfDefault, loadedFolder, messageArray); else ComposeMessage(msgComposeType.New, msgComposeFormat.Default, loadedFolder, messageArray);}function MsgReplyMessage(event){ var loadedFolder = GetLoadedMsgFolder(); if (loadedFolder) { var server = loadedFolder.server; if(server && server.type == "nntp") { MsgReplyGroup(event); return; } } MsgReplySender(event);}function MsgReplySender(event){ var loadedFolder = GetLoadedMsgFolder(); var messageArray = GetSelectedMessages(); if (event && event.shiftKey) ComposeMessage(msgComposeType.ReplyToSender, msgComposeFormat.OppositeOfDefault, loadedFolder, messageArray); else ComposeMessage(msgComposeType.ReplyToSender, msgComposeFormat.Default, loadedFolder, messageArray);}function MsgReplyGroup(event){ var loadedFolder = GetLoadedMsgFolder(); var messageArray = GetSelectedMessages(); if (event && event.shiftKey) ComposeMessage(msgComposeType.ReplyToGroup, msgComposeFormat.OppositeOfDefault, loadedFolder, messageArray); else ComposeMessage(msgComposeType.ReplyToGroup, msgComposeFormat.Default, loadedFolder, messageArray);}function MsgReplyToAllMessage(event){ var loadedFolder = GetLoadedMsgFolder(); var messageArray = GetSelectedMessages(); ComposeMessage(msgComposeType.ReplyAll, (event && event.shiftKey) ? msgComposeFormat.OppositeOfDefault : msgComposeFormat.Default, loadedFolder, messageArray);}function MsgForwardMessage(event){ var forwardType = 0; try { forwardType = gPrefBranch.getIntPref("mail.forward_message_mode"); } catch (ex) { dump("failed to retrieve pref mail.forward_message_mode"); } // mail.forward_message_mode could be 1, if the user migrated from 4.x // 1 (forward as quoted) is obsolete, so we treat is as forward inline // since that is more like forward as quoted then forward as attachment if (forwardType == 0) MsgForwardAsAttachment(event); else MsgForwardAsInline(event);}function MsgForwardAsAttachment(event){ var loadedFolder = GetLoadedMsgFolder(); var messageArray = GetSelectedMessages(); //dump("\nMsgForwardAsAttachment from XUL\n"); if (event && event.shiftKey) ComposeMessage(msgComposeType.ForwardAsAttachment, msgComposeFormat.OppositeOfDefault, loadedFolder, messageArray); else ComposeMessage(msgComposeType.ForwardAsAttachment, msgComposeFormat.Default, loadedFolder, messageArray);}function MsgForwardAsInline(event){ var loadedFolder = GetLoadedMsgFolder(); var messageArray = GetSelectedMessages(); //dump("\nMsgForwardAsInline from XUL\n"); if (event && event.shiftKey) ComposeMessage(msgComposeType.ForwardInline, msgComposeFormat.OppositeOfDefault, loadedFolder, messageArray); else ComposeMessage(msgComposeType.ForwardInline, msgComposeFormat.Default, loadedFolder, messageArray);}function MsgEditMessageAsNew(){ var loadedFolder = GetLoadedMsgFolder(); var messageArray = GetSelectedMessages(); ComposeMessage(msgComposeType.Template, msgComposeFormat.Default, loadedFolder, messageArray);
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -