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

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

?? searchbar.js

?? 現(xiàn)在很火的郵件客戶端軟件thunderbird的源碼
?? JS
?? 第 1 頁 / 共 2 頁
字號:
# -*- Mode: Java; 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):#   Seth Spitzer <sspitzer@netscape.com>#   Scott MacGregor <mscott@mozilla.org>#   David Bienvenu <bienvenu@nventure.com>## 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 ***** var gSearchSession = null;var gPreQuickSearchView = null;var gSearchTimer = null;var gViewSearchListener;var gSearchBundle;var gStatusBar = null;var gSearchInProgress = false;var gSearchInput = null;var gDefaultSearchViewTerms = null;var gQSViewIsDirty = false;var gIgnoreFocus = false;var gIgnoreClick = false;var gNumTotalMessages;var gNumUnreadMessages;// search criteria mode values // Note: If you change these constants, please update the menuitem values in// quick-search-menupopup. Note: These values are stored in localstore.rdf so we // can remember the users last quick search state. If you add values here, you must add// them to the end of the list!const kQuickSearchSubject = 0;const kQuickSearchSender = 1;const kQuickSearchSenderOrSubject = 2;const kQuickSearchBody = 3;// const kQuickSearchHighlight = 4; // * We no longer support this quick search mode..*const kQuickSearchRecipient = 5;function SetQSStatusText(aNumHits){  var statusMsg;  // if there are no hits, it means no matches were found in the search.  if (aNumHits == 0)    statusMsg = gSearchBundle.getString("searchFailureMessage");  else   {    if (aNumHits == 1)       statusMsg = gSearchBundle.getString("searchSuccessMessage");    else      statusMsg = gSearchBundle.getFormattedString("searchSuccessMessages", [aNumHits]);  }  statusFeedback.showStatusString(statusMsg);}// nsIMsgSearchNotify objectvar gSearchNotificationListener ={    onSearchHit: function(header, folder)    {      gNumTotalMessages++;      if (!header.isRead)        gNumUnreadMessages++;        // XXX todo        // update status text?    },    onSearchDone: function(status)    {        SetQSStatusText(gDBView.QueryInterface(Components.interfaces.nsITreeView).rowCount)        statusFeedback.showProgress(0);        gStatusBar.setAttribute("mode","normal");        gSearchInProgress = false;        // ### TODO need to find out if there's quick search within a virtual folder.        if (gCurrentVirtualFolderUri &&         (!gSearchInput || gSearchInput.value == "" || gSearchInput.showingSearchCriteria))        {          var vFolder = GetMsgFolderFromUri(gCurrentVirtualFolderUri, false);          var dbFolderInfo = vFolder.getMsgDatabase(msgWindow).dBFolderInfo;          dbFolderInfo.NumUnreadMessages = gNumUnreadMessages;          dbFolderInfo.NumMessages = gNumTotalMessages;          vFolder.updateSummaryTotals(true); // force update from db.          var msgdb = vFolder.getMsgDatabase(msgWindow);          msgdb.Commit(MSG_DB_LARGE_COMMIT);          // now that we have finished loading a virtual folder, scroll to the correct message          ScrollToMessageAfterFolderLoad(vFolder);        }    },    onNewSearch: function()    {      statusFeedback.showProgress(0);      statusFeedback.showStatusString(gSearchBundle.getString("searchingMessage"));      gStatusBar.setAttribute("mode","undetermined");      gSearchInProgress = true;      gNumTotalMessages = 0;       gNumUnreadMessages = 0;    }}function getDocumentElements(){  gSearchBundle = document.getElementById("bundle_search");    gStatusBar = document.getElementById('statusbar-icon');  GetSearchInput();}function addListeners(){  gViewSearchListener = gDBView.QueryInterface(Components.interfaces.nsIMsgSearchNotify);  gSearchSession.registerListener(gViewSearchListener);}function removeListeners(){  gSearchSession.unregisterListener(gViewSearchListener);}function removeGlobalListeners(){  removeListeners();  gSearchSession.unregisterListener(gSearchNotificationListener); }function initializeGlobalListeners(){  // Setup the javascript object as a listener on the search results  gSearchSession.registerListener(gSearchNotificationListener);}function createQuickSearchView(){  //if not already in quick search view   if (gDBView.viewType != nsMsgViewType.eShowQuickSearchResults)    {    var treeView = gDBView.QueryInterface(Components.interfaces.nsITreeView);  //clear selection    if (treeView && treeView.selection)      treeView.selection.clearSelection();    gPreQuickSearchView = gDBView;    if (gDBView.viewType == nsMsgViewType.eShowVirtualFolderResults)    {      // remove the view as a listener on the search results      var saveViewSearchListener = gDBView.QueryInterface(Components.interfaces.nsIMsgSearchNotify);      gSearchSession.unregisterListener(saveViewSearchListener);    }    // if grouped by sort, turn that off, as well as threaded, since we don't    // group quick search results yet.    var viewFlags = gDBView.viewFlags;    if (viewFlags & nsMsgViewFlagsType.kGroupBySort)      viewFlags &= ~(nsMsgViewFlagsType.kGroupBySort | nsMsgViewFlagsType.kThreadedDisplay);    CreateDBView(gDBView.msgFolder, (gXFVirtualFolderTerms) ? nsMsgViewType.eShowVirtualFolderResults : nsMsgViewType.eShowQuickSearchResults, viewFlags, gDBView.sortType, gDBView.sortOrder);  }}function initializeSearchBar(){   createQuickSearchView();   if (!gSearchSession)   {     getDocumentElements();     var searchSessionContractID = "@mozilla.org/messenger/searchSession;1";     gSearchSession = Components.classes[searchSessionContractID].createInstance(Components.interfaces.nsIMsgSearchSession);     initializeGlobalListeners();   }   else   {     if (gSearchInProgress)     {       onSearchStop();       gSearchInProgress = false;     }     removeListeners();   }   addListeners();}function onEnterInSearchBar(){   if (!gSearchInput || gSearchInput.value == "" || gSearchInput.showingSearchCriteria)    {      if (gDBView.viewType == nsMsgViewType.eShowQuickSearchResults         || gDBView.viewType == nsMsgViewType.eShowVirtualFolderResults)     {       statusFeedback.showStatusString("");       viewDebug ("onEnterInSearchBar gDefaultSearchViewTerms = " + gDefaultSearchViewTerms + "gVirtualFolderTerms = "         + gVirtualFolderTerms + "gXFVirtualFolderTerms = " + gXFVirtualFolderTerms + "\n");       var addTerms = gDefaultSearchViewTerms || gVirtualFolderTerms || gXFVirtualFolderTerms;       if (addTerms)       {           viewDebug ("addTerms = " + addTerms + " count = " + addTerms.Count() + "\n");           initializeSearchBar();           onSearch(addTerms);       }       else        restorePreSearchView();     }     else if (gPreQuickSearchView && !gDefaultSearchViewTerms)// may be a quick search from a cross-folder virtual folder      restorePreSearchView();          if (gSearchInput)     gSearchInput.showingSearchCriteria = true;          gQSViewIsDirty = false;     return;   }   initializeSearchBar();   ClearThreadPaneSelection();   ClearMessagePane();   onSearch(null);   gQSViewIsDirty = false;}function restorePreSearchView(){  var selectedHdr = null;  //save selection  try   {    selectedHdr = gDBView.hdrForFirstSelectedMessage;  }  catch (ex)  {}  //we might have to sort the view coming out of quick search  var sortType = gDBView.sortType;  var sortOrder = gDBView.sortOrder;  var viewFlags = gDBView.viewFlags;  var folder = gDBView.msgFolder;  gDBView.close();  gDBView = null;   if (gPreQuickSearchView)  {    gDBView = gPreQuickSearchView;    if (gDBView.viewType == nsMsgViewType.eShowVirtualFolderResults)    {      // readd the view as a listener on the search results      var saveViewSearchListener = gDBView.QueryInterface(Components.interfaces.nsIMsgSearchNotify);      if (gSearchSession)        gSearchSession.registerListener(saveViewSearchListener);    }//    dump ("view type = " + gDBView.viewType + "\n");    if (sortType != gDBView.sortType || sortOrder != gDBView.sortOrder)    {      gDBView.sort(sortType, sortOrder);    }    UpdateSortIndicators(sortType, sortOrder);    gPreQuickSearchView = null;      }  else //create default view type  {    CreateDBView(folder, nsMsgViewType.eShowAllThreads, viewFlags, sortType, sortOrder);  }  RerootThreadPane();     var scrolled = false;    // now restore selection  if (selectedHdr)  {    gDBView.selectMsgByKey(selectedHdr.messageKey);    var treeView = gDBView.QueryInterface(Components.interfaces.nsITreeView);    var selectedIndex = treeView.selection.currentIndex;    if (selectedIndex >= 0)     {      // scroll      EnsureRowInThreadTreeIsVisible(selectedIndex);      scrolled = true;    }    else      ClearMessagePane();  }  if (!scrolled)    ScrollToMessageAfterFolderLoad(null);}function onSearch(aSearchTerms){    viewDebug("in OnSearch, searchTerms = " + aSearchTerms + "\n");    RerootThreadPane();    if (aSearchTerms)      createSearchTermsWithList(aSearchTerms);    else      createSearchTerms();    gDBView.searchSession = gSearchSession;    try    {      gSearchSession.search(msgWindow);    }    catch(ex)    {      dump("Search Exception\n");    }}function createSearchTermsWithList(aTermsArray){  var nsMsgSearchScope = Components.interfaces.nsMsgSearchScope;  var nsMsgSearchAttrib = Components.interfaces.nsMsgSearchAttrib;  var nsMsgSearchOp = Components.interfaces.nsMsgSearchOp;  gSearchSession.clearScopes();  var searchTerms = gSearchSession.searchTerms;  var searchTermsArray = searchTerms.QueryInterface(Components.interfaces.nsISupportsArray);  searchTermsArray.Clear();  var i;  var selectedFolder = GetThreadPaneFolder();  var ioService = Components.classes["@mozilla.org/network/io-service;1"]                  .getService(Components.interfaces.nsIIOService);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产亚洲一区二区三区| 日韩女优视频免费观看| 国产精品久线在线观看| 成人一区二区三区在线观看| 久久久精品欧美丰满| 国产999精品久久久久久绿帽| 欧美激情综合网| 99久久伊人网影院| 一区二区三区精品在线| 欧美日韩成人高清| 青青草精品视频| 国产日韩欧美a| 在线观看日韩精品| 日av在线不卡| 国产精品蜜臀在线观看| 一本大道久久a久久精品综合| 亚洲一区在线观看视频| 精品少妇一区二区三区| 丁香一区二区三区| 午夜激情一区二区| 日韩精品专区在线影院观看| 粉嫩高潮美女一区二区三区| 一区二区日韩电影| 久久尤物电影视频在线观看| 91视频com| 精品亚洲成a人| 亚洲欧美另类小说| 精品久久人人做人人爱| 色婷婷综合久久久中文字幕| 免费成人在线观看视频| 综合色中文字幕| 欧美一级欧美一级在线播放| av电影天堂一区二区在线| 日韩高清中文字幕一区| 国产精品三级电影| 欧美蜜桃一区二区三区| 成人av网站免费观看| 婷婷激情综合网| 国产精品短视频| 欧美tickling挠脚心丨vk| 色综合一区二区三区| 精品一区二区三区香蕉蜜桃| 亚洲国产精品一区二区www在线 | 色综合天天综合网天天狠天天 | 亚洲摸摸操操av| 久久婷婷国产综合精品青草| 欧美图区在线视频| 99久久久国产精品| 国产乱码精品一区二区三区忘忧草| 亚洲一二三四在线| 欧美国产一区在线| 日韩精品在线网站| 欧美另类z0zxhd电影| 91麻豆国产在线观看| 国产精品一区二区三区网站| 视频一区二区三区中文字幕| 亚洲欧美一区二区不卡| 国产精品三级在线观看| 久久久久99精品国产片| 精品国产污污免费网站入口| 欧美精品aⅴ在线视频| 欧洲精品视频在线观看| 91片在线免费观看| 国产成人综合在线播放| 韩国理伦片一区二区三区在线播放 | 日韩精品一区二区三区四区| 欧美性生交片4| 在线免费观看日韩欧美| 色综合久久久久综合99| av成人老司机| 91麻豆产精品久久久久久| 99免费精品在线| youjizz久久| voyeur盗摄精品| 99久久国产综合精品女不卡| 99久久精品免费| 99久久99精品久久久久久| a美女胸又www黄视频久久| 成人黄色av电影| 97久久超碰国产精品电影| 色综合久久66| 欧美日韩视频专区在线播放| 欧美日韩三级一区| 欧美女孩性生活视频| 欧美一区二区三区啪啪| 欧美电影免费观看高清完整版在线 | 久久精品夜色噜噜亚洲a∨| 国产日韩欧美精品电影三级在线 | 91玉足脚交白嫩脚丫在线播放| 不卡在线观看av| 91视频精品在这里| 日本精品视频一区二区| 精品视频在线看| 日韩一卡二卡三卡国产欧美| 久久―日本道色综合久久| 欧美激情中文字幕| 一区二区激情小说| 日产精品久久久久久久性色| 黄色资源网久久资源365| 国产大陆a不卡| 在线亚洲人成电影网站色www| 91成人看片片| 91精品国产综合久久福利软件 | 亚洲色图丝袜美腿| 亚洲成在人线免费| 极品少妇一区二区| 91美女在线观看| 日韩一区二区麻豆国产| 国产精品私人影院| 亚洲已满18点击进入久久| 日本va欧美va精品| 国产成人综合网站| 欧美在线一二三| 欧美va亚洲va| 亚洲蜜桃精久久久久久久| 三级亚洲高清视频| 粉嫩久久99精品久久久久久夜| 在线免费不卡电影| 久久精品夜色噜噜亚洲aⅴ| 一区二区三区.www| 国产成人免费视频网站高清观看视频| 99久久伊人精品| 精品剧情在线观看| 夜夜操天天操亚洲| 国内国产精品久久| 欧美在线观看一区| 久久先锋影音av鲁色资源网| 一片黄亚洲嫩模| 国产成人精品免费视频网站| 欧美日韩国产在线播放网站| 久久精品亚洲国产奇米99| 亚洲成av人片一区二区梦乃| 99这里只有久久精品视频| 精品国偷自产国产一区| 亚洲福利视频导航| youjizz国产精品| 欧美精品一区二区三区在线播放| 一区二区在线观看视频在线观看| 国产专区欧美精品| 91精品国产91久久久久久最新毛片 | 风间由美性色一区二区三区| 欧美一二三四在线| 亚洲v日本v欧美v久久精品| 91亚洲精华国产精华精华液| 国产亚洲一区二区三区四区| 日韩电影在线观看电影| 色婷婷国产精品| 国产精品免费丝袜| 国产91精品露脸国语对白| 久久影视一区二区| 麻豆91免费观看| 7777精品伊人久久久大香线蕉| 亚洲素人一区二区| thepron国产精品| 国产精品久久久久毛片软件| 国产自产v一区二区三区c| 日韩精品一区二区三区在线播放 | 一区二区成人在线| 99精品黄色片免费大全| 国产精品人妖ts系列视频| 国产做a爰片久久毛片| 精品国产髙清在线看国产毛片| 午夜精品123| 91精品欧美福利在线观看| 亚洲第一福利视频在线| 在线视频国内一区二区| 亚洲精品成人悠悠色影视| 91蝌蚪国产九色| 亚洲丝袜美腿综合| 色哟哟亚洲精品| 亚洲综合色网站| 欧美剧情片在线观看| 婷婷综合五月天| 精品三级av在线| 国产精品亚洲一区二区三区妖精| 久久久天堂av| aa级大片欧美| 一区二区三区中文字幕精品精品| 在线这里只有精品| 五月婷婷激情综合| 日韩午夜三级在线| 国产一区二区精品久久99| 国产欧美一区二区三区沐欲| 国产69精品久久久久毛片| 国产精品三级电影| 欧美亚洲一区二区在线观看| 日韩电影一区二区三区四区| 亚洲精品一区二区三区99| 成人精品免费视频| 亚洲伦理在线免费看| 欧美久久一区二区| 国内成人精品2018免费看| 亚洲国产精品成人综合| 色先锋久久av资源部| 天堂资源在线中文精品| 精品va天堂亚洲国产| 成人免费av资源| 亚洲h动漫在线| 国产日产精品1区| 欧美日韩精品欧美日韩精品一|