?? mailwindowoverlay.js
字號:
if (server) folder = server.rootFolder; } } } catch (ex) {} } if (!folder) { folder = GetFirstSelectedMsgFolder(); // if this is the local folders account, check if the default account // defers to it; if so, we'll use the default account so the simple case // of one pop3 account with the global inbox creates filters for the right server. if (folder && folder.server.type == "none" && folder.server.isDeferredTo) { var defaultServer = accountManager.defaultAccount.incomingServer; if (defaultServer.rootMsgFolder == folder.server.rootFolder) folder = defaultServer.rootFolder; } } } var args; if (emailAddress) { /* we have to do prefill filter so we are going to launch the filterEditor dialog and prefill that with the emailAddress */ var curFilterList = folder.getFilterList(msgWindow); args = {filterList: curFilterList}; args.filterName = emailAddress; window.openDialog("chrome://messenger/content/FilterEditor.xul", "", "chrome, modal, resizable,centerscreen,dialog=yes", args); /* if the user hits ok in the filterEditor dialog we set args.refresh=true there we check this here in args to show filterList dialog */ if ("refresh" in args && args.refresh) { args = { refresh: true, folder: folder }; MsgFilterList(args); } } else // just launch filterList dialog { args = { refresh: false, folder: folder }; MsgFilterList(args); }}function MsgApplyFilters(){ var filterService = Components.classes["@mozilla.org/messenger/services/filters;1"].getService(Components.interfaces.nsIMsgFilterService); var preselectedFolder = GetFirstSelectedMsgFolder(); var selectedFolders = Components.classes["@mozilla.org/supports-array;1"].createInstance(Components.interfaces.nsISupportsArray); selectedFolders.AppendElement(preselectedFolder); var curFilterList = preselectedFolder.getFilterList(msgWindow); // create a new filter list and copy over the enabled filters to it. // We do this instead of having the filter after the fact code ignore // disabled filters because the Filter Dialog filter after the fact // code would have to clone filters to allow disabled filters to run, // and we don't support cloning filters currently. var tempFilterList = filterService.getTempFilterList(preselectedFolder); var numFilters = curFilterList.filterCount; // make sure the temp filter list uses the same log stream tempFilterList.logStream = curFilterList.logStream; tempFilterList.loggingEnabled = curFilterList.loggingEnabled; var newFilterIndex = 0; for (var i = 0; i < numFilters; i++) { var curFilter = curFilterList.getFilterAt(i); if (curFilter.enabled && !curFilter.temporary) // only add enabled, UI visibile filters { tempFilterList.insertFilterAt(newFilterIndex, curFilter); newFilterIndex++; } } filterService.applyFiltersToFolders(tempFilterList, selectedFolders, msgWindow);}function ChangeMailLayout(newLayout){ gPrefBranch.setIntPref("mail.pane_config.dynamic", newLayout); return true;}function MsgViewAllHeaders(){ gPrefBranch.setIntPref("mail.show_headers",2); MsgReload(); return true;}function MsgViewNormalHeaders(){ gPrefBranch.setIntPref("mail.show_headers",1); MsgReload(); return true;}function MsgViewBriefHeaders(){ gPrefBranch.setIntPref("mail.show_headers",0); MsgReload(); return true;}function MsgBodyAllowHTML(){ gPrefBranch.setBoolPref("mailnews.display.prefer_plaintext", false); gPrefBranch.setIntPref("mailnews.display.html_as", 0); gPrefBranch.setIntPref("mailnews.display.disallow_mime_handlers", 0); MsgReload(); return true;}function MsgBodySanitized(){ gPrefBranch.setBoolPref("mailnews.display.prefer_plaintext", false); gPrefBranch.setIntPref("mailnews.display.html_as", 3); gPrefBranch.setIntPref("mailnews.display.disallow_mime_handlers", gDisallow_classes_no_html); MsgReload(); return true;}function MsgBodyAsPlaintext(){ gPrefBranch.setBoolPref("mailnews.display.prefer_plaintext", true); gPrefBranch.setIntPref("mailnews.display.html_as", 1); gPrefBranch.setIntPref("mailnews.display.disallow_mime_handlers", gDisallow_classes_no_html); MsgReload(); return true;}function ToggleInlineAttachment(target){ var viewAttachmentInline = !pref.getBoolPref("mail.inline_attachments"); pref.setBoolPref("mail.inline_attachments", viewAttachmentInline) target.setAttribute("checked", viewAttachmentInline ? "true" : "false"); MsgReload();}function MsgReload(){ ReloadMessage();}function MsgStop(){ StopUrls();}function MsgSendUnsentMsgs(){ // if offline, prompt for sendUnsentMessages if (MailOfflineMgr.isOnline()) SendUnsentMessages(); else MailOfflineMgr.goOnlineToSendMessages(msgWindow);}function GetPrintSettings(){ var prevPS = gPrintSettings; try { if (gPrintSettings == null) { var useGlobalPrintSettings = gPrefBranch.getBoolPref("print.use_global_printsettings"); // I would rather be using nsIWebBrowserPrint API // but I really don't have a document at this point var printSettingsService = Components.classes["@mozilla.org/gfx/printsettings-service;1"] .getService(Components.interfaces.nsIPrintSettingsService); if (useGlobalPrintSettings) { gPrintSettings = printSettingsService.globalPrintSettings; } else { gPrintSettings = printSettingsService.CreatePrintSettings(); } } } catch (e) { dump("GetPrintSettings "+e); } return gPrintSettings;}function PrintEnginePrintInternal(messageList, numMessages, doPrintPreview, msgType){ if (numMessages == 0) { dump("PrintEnginePrint(): No messages selected.\n"); return false; } if (gPrintSettings == null) { gPrintSettings = GetPrintSettings(); } printEngineWindow = window.openDialog("chrome://messenger/content/msgPrintEngine.xul", "", "chrome,dialog=no,all,centerscreen", numMessages, messageList, statusFeedback, gPrintSettings, doPrintPreview, msgType, window); return true;}function PrintEnginePrint(){ var messageList = GetSelectedMessages(); return PrintEnginePrintInternal(messageList, messageList.length, false, Components.interfaces.nsIMsgPrintEngine.MNAB_PRINT_MSG);}function PrintEnginePrintPreview(){ var messageList = GetSelectedMessages(); return PrintEnginePrintInternal(messageList, 1, true, Components.interfaces.nsIMsgPrintEngine.MNAB_PRINTPREVIEW_MSG);}function IsMailFolderSelected(){ var selectedFolders = GetSelectedMsgFolders(); var numFolders = selectedFolders.length; if(numFolders !=1) return false; var folder = selectedFolders[0]; if (!folder) return false; var server = folder.server; var serverType = server.type; if((serverType == "nntp")) return false; else return true;}function IsGetNewMessagesEnabled(){ // users don't like it when the "Get Msgs" button is disabled // so let's never do that. // we'll just handle it as best we can in GetFolderMessages() // when they click "Get Msgs" and // Local Folders or a news server is selected // see bugs #89404 and #111102 return true;}function IsGetNextNMessagesEnabled(){ var selectedFolders = GetSelectedMsgFolders(); var numFolders = selectedFolders.length; if(numFolders !=1) return false; var folder = selectedFolders[0]; if (!folder) return false; var server = folder.server; var serverType = server.type; var menuItem = document.getElementById("menu_getnextnmsg"); if ((serverType == "nntp") && !folder.isServer) { var newsServer = server.QueryInterface(Components.interfaces.nsINntpIncomingServer); var menuLabel = gMessengerBundle.getFormattedString("getNextNMessages", [ newsServer.maxArticles ]); menuItem.setAttribute("label",menuLabel); menuItem.removeAttribute("hidden"); return true; } menuItem.setAttribute("hidden","true"); return false;}function IsEmptyTrashEnabled(){ var folderURI = GetSelectedFolderURI(); var server = GetServer(folderURI); return (server && server.canEmptyTrashOnExit?IsMailFolderSelected():false);}function IsCompactFolderEnabled(){ var server = GetServer(GetSelectedFolderURI()); return (server && ((server.type != 'imap') || server.canCompactFoldersOnServer) && isCommandEnabled("cmd_compactFolder")); // checks e.g. if IMAP is offline}var gDeleteButton = null;var gMarkButton = null;function SetUpToolbarButtons(uri){ //dump("SetUpToolbarButtons("+uri+")\n"); // eventually, we might want to set up the toolbar differently for imap, // pop, and news. for now, just tweak it based on if it is news or not. var forNews = isNewsURI(uri); if(!gDeleteButton) gDeleteButton = document.getElementById("button-delete"); var buttonToHide = null; var buttonToShow = null; if (forNews) { buttonToHide = gDeleteButton; } else { buttonToShow = gDeleteButton; } if (buttonToHide) { buttonToHide.setAttribute('hidden',true); } if (buttonToShow) { buttonToShow.removeAttribute('hidden'); }}var gMessageBrowser;function getMessageBrowser(){ if (!gMessageBrowser) gMessageBrowser = document.getElementById("messagepane"); return gMessageBrowser;}function getMarkupDocumentViewer(){ return getMessageBrowser().markupDocumentViewer;}function MsgSynchronizeOffline(){ window.openDialog("chrome://messenger/content/msgSynchronize.xul", "", "centerscreen,chrome,modal,titlebar,resizable=yes",{msgWindow:msgWindow}); }function MsgMarkByDate() {}function MsgOpenAttachment() {}function MsgUpdateMsgCount() {}function MsgImport() {}function MsgSynchronize() {}function MsgGetSelectedMsg() {}function MsgGetFlaggedMsg() {}function MsgSelectThread() {}function MsgShowFolders(){}function MsgShowLocationbar() {}function MsgViewAttachInline() {}function MsgWrapLongLines() {}function MsgIncreaseFont() {}function MsgDecreaseFont() {}function MsgShowImages() {}function MsgRefresh() {}function MsgViewPageInfo() {}function MsgFirstUnreadMessage() {}function MsgFirstFlaggedMessage() {}function MsgAddSenderToAddressBook() {}function MsgAddAllToAddressBook() {}function SpaceHit(event){ var contentWindow = window.top._content; var rssiframe = contentWindow.document.getElementById('_mailrssiframe'); // if we are displaying an RSS article, we really want to scroll the nested iframe if (rssiframe) contentWindow = rssiframe.contentWindow; if (event && event.shiftKey) { // if at the start of the message, go to the previous one if (contentWindow.scrollY > 0) { contentWindow.scrollByPages(-1); } else { goDoCommand("cmd_previousUnreadMsg"); } } else { // if at the end of the message, go to the next one if (contentWindow.scrollY < contentW
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -