亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? filterlistdialog.js

?? 現在很火的郵件客戶端軟件thunderbird的源碼
?? JS
?? 第 1 頁 / 共 2 頁
字號:
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is Mozilla Communicator client code, released * March 31, 1998. * * The Initial Developer of the Original Code is * Netscape Communications Corporation. * Portions created by the Initial Developer are Copyright (C) 1998-1999 * the Initial Developer. All Rights Reserved. * * Contributor(s): *   Mark Banner <mark@standard8.demon.co.uk> * * Alternatively, the contents of this file may be used under the terms of * either of the GNU General Public License Version 2 or later (the "GPL"), * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */const MSG_FOLDER_FLAG_INBOX = 0x1000var gRDF = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);var gEditButton;var gDeleteButton;var gReorderUpButton;var gReorderDownButton;var gRunFiltersFolderPickerLabel;var gRunFiltersFolderPicker;var gRunFiltersButton;var gFilterBundle;var gPromptService = GetPromptService();var gFilterListMsgWindow = null;var gFilterTree;var gStatusBar;var gStatusText;var gCurrentServerURI = null;var gStatusFeedback = {  progressMeterVisible : false,	showStatusString: function(status)  {    gStatusText.setAttribute("value", status);  },	startMeteors: function()  {    // change run button to be a stop button    gRunFiltersButton.setAttribute("label", gRunFiltersButton.getAttribute("stoplabel"));    gRunFiltersButton.setAttribute("accesskey", gRunFiltersButton.getAttribute("stopaccesskey"));    if (!this.progressMeterVisible)    {      document.getElementById('statusbar-progresspanel').removeAttribute('collapsed');       this.progressMeterVisible = true;    }    gStatusBar.setAttribute("mode", "undetermined");  },	stopMeteors: function()   {    try {      // change run button to be a stop button      gRunFiltersButton.setAttribute("label", gRunFiltersButton.getAttribute("runlabel"));      gRunFiltersButton.setAttribute("accesskey", gRunFiltersButton.getAttribute("runaccesskey"));      gStatusBar.setAttribute("mode", "normal");      if (this.progressMeterVisible)      {         document.getElementById('statusbar-progresspanel').collapsed = true;        this.progressMeterVisible = true;      }    }    catch (ex) {      // can get here if closing window when running filters    }  },  showProgress: function(percentage)  {      //dump("XXX progress" + percentage + "\n");  },  closeWindow: function()  {  }};const nsMsgFilterMotion = Components.interfaces.nsMsgFilterMotion;function onLoad(){    gFilterListMsgWindow = Components.classes["@mozilla.org/messenger/msgwindow;1"].createInstance(Components.interfaces.nsIMsgWindow);    gFilterListMsgWindow.statusFeedback = gStatusFeedback;    gFilterListMsgWindow.SetDOMWindow(window);     gFilterBundle = document.getElementById("bundle_filter");    gFilterTree = document.getElementById("filterTree");    gEditButton = document.getElementById("editButton");    gDeleteButton = document.getElementById("deleteButton");    gReorderUpButton = document.getElementById("reorderUpButton");    gReorderDownButton = document.getElementById("reorderDownButton");    gRunFiltersFolderPickerLabel = document.getElementById("folderPickerPrefix");    gRunFiltersFolderPicker = document.getElementById("runFiltersFolder");    gRunFiltersButton = document.getElementById("runFiltersButton");    gStatusBar = document.getElementById("statusbar-icon");    gStatusText = document.getElementById("statusText");    updateButtons();    // get the selected server if it can have filters.    var firstItem = getSelectedServerForFilters();    // if the selected server cannot have filters, get the default server    // if the default server cannot have filters, check all accounts    // and get a server that can have filters.    if (!firstItem)        firstItem = getServerThatCanHaveFilters();    if (firstItem) {        selectServer(firstItem);    }    gFilterTree.addEventListener("click",onFilterClick,true);}/*function onCancel(){    var firstItem = getSelectedServerForFilters();    if (!firstItem)        firstItem = getServerThatCanHaveFilters();        if (firstItem) {        var resource = gRDF.GetResource(firstItem);        var msgFolder = resource.QueryInterface(Components.interfaces.nsIMsgFolder);        if (msgFolder)        {           msgFolder.ReleaseDelegate("filter");           msgFolder.setFilterList(null);           try           {              //now find Inbox              var outNumFolders = new Object();              var inboxFolder = msgFolder.getFoldersWithFlag(0x1000, 1, outNumFolders);              inboxFolder.setFilterList(null);           }           catch(ex)           {             dump ("ex " +ex + "\n");           }        }    }    window.close();}*/function onFilterServerClick(selection){    var itemURI = selection.getAttribute('id');    if (!itemURI || itemURI == gCurrentServerURI)      return;    // Save the current filters to disk before switching because    // the dialog may be closed and we'll lose current filters.    var filterList = currentFilterList();    if (filterList)       filterList.saveToDefaultFile();    selectServer(itemURI);}function CanRunFiltersAfterTheFact(aServer){  // can't manually run news filters yet  if (aServer.type == "nntp")    return false;  // filter after the fact is implement using search  // so if you can't search, you can't filter after the fact  return aServer.canSearchMessages;}// roots the tree at the specified serverfunction setServer(uri){   if (uri == gCurrentServerURI)     return;   var resource = gRDF.GetResource(uri);   var msgFolder = resource.QueryInterface(Components.interfaces.nsIMsgFolder);   //Calling getFilterList will detect any errors in rules.dat, backup the file, and alert the user   //we need to do this because gFilterTree.setAttribute will cause rdf to call getFilterList and there is    //no way to pass msgWindow in that case.    if (msgFolder)     msgFolder.getFilterList(gFilterListMsgWindow);   // this will get the deferred to account root folder, if server is deferred   msgFolder = msgFolder.server.rootMsgFolder;   var rootFolderUri = msgFolder.URI;   rebuildFilterTree(uri);      // root the folder picker to this server   gRunFiltersFolderPicker.setAttribute("ref", rootFolderUri);    // run filters after the fact not supported by news   if (CanRunFiltersAfterTheFact(msgFolder.server)) {     gRunFiltersFolderPicker.removeAttribute("hidden");     gRunFiltersButton.removeAttribute("hidden");     gRunFiltersFolderPickerLabel.removeAttribute("hidden");     // for POP3 and IMAP, select the first folder, which is the INBOX     gRunFiltersFolderPicker.selectedIndex = 0;   }   else {     gRunFiltersFolderPicker.setAttribute("hidden", "true");     gRunFiltersButton.setAttribute("hidden", "true");     gRunFiltersFolderPickerLabel.setAttribute("hidden", "true");   }   // Get the first folder uri for this server. INBOX for   // imap and pop accts and 1st news group for news.   var firstFolderURI = getFirstFolderURI(msgFolder);   SetFolderPicker(firstFolderURI, "runFiltersFolder");   updateButtons();   gCurrentServerURI = uri;}function toggleFilter(aResource){    var filter = aResource.GetDelegate("filter",                                       Components.interfaces.nsIMsgFilter);    if (filter.unparseable)    {      if (gPromptService)        gPromptService.alert(window, null,                             gFilterBundle.getString("cannotEnableFilter"));      return;    }    filter.enabled = !filter.enabled;    refresh();}// sets up the menulist and the gFilterTreefunction selectServer(uri){    // update the server menu    var serverMenu = document.getElementById("serverMenu");        var resource = gRDF.GetResource(uri);    var msgFolder = resource.QueryInterface(Components.interfaces.nsIMsgFolder);    // XXX todo    // See msgFolderPickerOverlay.js, SetFolderPicker()    // why do we have to do this?  seems like a hack to work around a bug.    // the bug is that the (deep) content isn't there    // and so this won't work:    //    //   var menuitems = serverMenu.getElementsByAttribute("id", uri);    //   serverMenu.selectedItem = menuitems[0];    //    // we might need help from a XUL template expert to help out here.    // see bug #XXXXXX    serverMenu.setAttribute("label", msgFolder.name);    serverMenu.setAttribute("uri",uri);    setServer(uri);}function getFilter(index){  var filter = gFilterTree.builderView.getResourceAtIndex(index);  filter = filter.GetDelegate("filter", Components.interfaces.nsIMsgFilter);  return filter;}function currentFilter(){    var currentIndex = gFilterTree.currentIndex;    if (currentIndex == -1)      return null;        var filter;    try {      filter = getFilter(currentIndex);    } catch (ex) {      filter = null;    }    return filter;}function currentFilterList(){    // note, serverUri might be a newsgroup    var serverUri = document.getElementById("serverMenu").getAttribute("uri");    var filterList = gRDF.GetResource(serverUri).GetDelegate("filter", Components.interfaces.nsIMsgFilterList);    return filterList;}function onFilterSelect(event){    updateButtons();}function onEditFilter() {  var selectedFilter = currentFilter();  var curFilterList = currentFilterList();  var args = {filter: selectedFilter, filterList: curFilterList};  window.openDialog("chrome://messenger/content/FilterEditor.xul", "FilterEditor", "chrome,modal,titlebar,resizable,centerscreen", args);  if ("refresh" in args && args.refresh)    refresh();}function onNewFilter(emailAddress){  var curFilterList = currentFilterList();  var args = {filterList: curFilterList};    window.openDialog("chrome://messenger/content/FilterEditor.xul", "FilterEditor", "chrome,modal,titlebar,resizable,centerscreen", args);  if ("refresh" in args && args.refresh)    refresh();}function onDeleteFilter(){    var filter = currentFilter();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内精品伊人久久久久av影院| 国产精品理伦片| 不卡区在线中文字幕| 久久久久久久久久看片| 欧美一区二区日韩| 亚洲日本电影在线| 国产精品1024| 欧美剧情片在线观看| 1024成人网| 91精品免费在线观看| 久久精品免费在线观看| 午夜伦欧美伦电影理论片| 成人黄页毛片网站| 欧美精品一区二区三区一线天视频 | 韩日av一区二区| 欧美日韩不卡在线| 亚洲精品中文在线| 99久久99久久精品国产片果冻 | 精品在线免费视频| 91精品国产综合久久小美女| 一区二区三国产精华液| 色综合久久88色综合天天免费| 中文字幕第一区二区| 国产一区二区三区综合| 欧美精品一区二区久久久| 美国一区二区三区在线播放| 欧美一区二区三区婷婷月色| 丝袜脚交一区二区| 欧美精品欧美精品系列| 日欧美一区二区| 欧美一区二区三区日韩| 青草av.久久免费一区| 日韩欧美亚洲国产另类| 九九**精品视频免费播放| 日韩欧美在线影院| 精彩视频一区二区| 国产亚洲一区二区三区在线观看| 丰满白嫩尤物一区二区| 国产精品免费看片| 在线看国产日韩| 丝袜a∨在线一区二区三区不卡| 欧美在线视频你懂得| 五月婷婷久久综合| 精品国产91乱码一区二区三区| 韩国精品主播一区二区在线观看| 久久夜色精品国产噜噜av | 国产午夜精品久久久久久免费视| 国产精品综合一区二区三区| 中文字幕欧美区| 91啪亚洲精品| 日本伊人色综合网| 久久综合狠狠综合久久综合88| 国产91高潮流白浆在线麻豆| 中文字幕一区二区三区四区 | 日本欧美一区二区在线观看| 日日夜夜一区二区| 日韩女优制服丝袜电影| 成人av先锋影音| 性久久久久久久| 精品欧美乱码久久久久久 | 亚洲欧洲无码一区二区三区| 在线观看亚洲专区| 久久99国产精品久久| 亚洲欧美一区二区在线观看| 欧美日韩精品二区第二页| 精品亚洲成a人| 亚洲欧美日韩中文字幕一区二区三区 | 99re热这里只有精品免费视频| 亚洲成人动漫一区| 国产亚洲美州欧州综合国| 在线日韩一区二区| 九九九久久久精品| 亚洲国产精品久久人人爱蜜臀| 精品日韩欧美在线| 欧洲在线/亚洲| 国产成人免费xxxxxxxx| 天堂成人免费av电影一区| 欧美激情综合五月色丁香小说| 欧美四级电影网| 懂色av一区二区夜夜嗨| 日韩极品在线观看| 亚洲裸体在线观看| 久久久久久久久99精品| 8v天堂国产在线一区二区| 波多野结衣中文字幕一区二区三区| 日韩福利电影在线| 亚洲女厕所小便bbb| 久久久噜噜噜久久人人看| 欧美精品一卡两卡| 色噜噜夜夜夜综合网| 国产成人av网站| 精品亚洲国内自在自线福利| 香蕉久久一区二区不卡无毒影院| 国产精品乱码久久久久久| 欧美mv日韩mv国产网站app| 欧美日韩美少妇| 欧洲另类一二三四区| 成人一区二区三区在线观看| 久久成人精品无人区| 午夜精品福利视频网站| 一区二区在线观看免费视频播放| 国产欧美日韩麻豆91| 日韩女优视频免费观看| 日韩午夜av一区| 日韩欧美国产系列| 日韩三级视频中文字幕| 日韩欧美一级在线播放| 日韩一区二区精品葵司在线| 制服丝袜日韩国产| 91麻豆精品国产91久久久久久久久 | 成人免费在线观看入口| 中文字幕欧美三区| 国产精品美女一区二区三区| 国产精品污www在线观看| 日产国产高清一区二区三区 | 一区二区在线观看视频| 亚洲黄一区二区三区| 亚洲激情六月丁香| 亚洲成人精品一区| 亚洲超丰满肉感bbw| 视频一区欧美精品| 蜜桃91丨九色丨蝌蚪91桃色| 美女视频黄 久久| 国产一区二区三区在线看麻豆| 国产成人精品亚洲午夜麻豆| 成人午夜电影网站| 一本色道**综合亚洲精品蜜桃冫 | 成人av午夜电影| 91在线视频网址| 欧美日韩五月天| 日韩欧美国产电影| 国产亚洲自拍一区| 亚洲激情网站免费观看| 舔着乳尖日韩一区| 国产综合久久久久久久久久久久| 国产99久久久国产精品潘金网站| 94-欧美-setu| 日韩视频在线永久播放| 中文av一区特黄| 亚洲一区电影777| 久久成人免费日本黄色| 99视频精品全部免费在线| 欧美色倩网站大全免费| 精品免费一区二区三区| 亚洲欧洲性图库| 久久国产精品无码网站| 成人动漫在线一区| 欧美男人的天堂一二区| 久久久综合视频| 亚洲一区二区三区不卡国产欧美| 日本va欧美va精品发布| 丁香另类激情小说| 欧美日韩国产首页在线观看| 欧美精品一区二区三区蜜桃视频| 亚洲欧美自拍偷拍| 精品一区二区三区免费| 一本大道久久a久久综合| 日韩欧美一区电影| 一区二区三区日韩欧美精品 | 国产精品传媒视频| 日韩av高清在线观看| 99精品一区二区三区| 精品国产伦理网| 亚洲观看高清完整版在线观看| 国产福利一区在线观看| 欧美挠脚心视频网站| 亚洲欧美日韩精品久久久久| 精品一区二区久久久| 在线电影院国产精品| 亚洲欧美经典视频| 成人自拍视频在线观看| 欧美成人猛片aaaaaaa| 亚洲国产精品久久一线不卡| 不卡视频在线看| 国产日韩欧美高清在线| 久久精品国产澳门| 91精品国产欧美一区二区成人| 亚洲手机成人高清视频| 国产99久久久久久免费看农村| 91精品国产综合久久精品性色| 亚洲精品国产a| 99久久久久久| 国产精品的网站| 成人成人成人在线视频| 久久综合视频网| 久久国产精品一区二区| 日韩一区二区高清| 美女视频一区在线观看| 欧美一区二区三区在线观看视频| 亚洲一区二区三区在线| 91网址在线看| 亚洲人成亚洲人成在线观看图片| 成人国产视频在线观看| 久久国产三级精品| 日韩免费高清av| 美女脱光内衣内裤视频久久影院| 91精品蜜臀在线一区尤物| 日本午夜一本久久久综合| 欧美日本韩国一区二区三区视频| 亚洲影院在线观看|