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

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

?? migration.js

?? 現在很火的郵件客戶端軟件thunderbird的源碼
?? JS
字號:
# ***** 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 The Browser Profile Migrator.## The Initial Developer of the Original Code is Ben Goodger.# Portions created by the Initial Developer are Copyright (C) 2004# the Initial Developer. All Rights Reserved.## Contributor(s):#   Ben Goodger <ben@bengoodger.com>## Alternatively, the contents of this file may be used under the terms of# either 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 kIMig = Components.interfaces.nsIMailProfileMigrator;const kIPStartup = Components.interfaces.nsIProfileStartup;const kProfileMigratorContractIDPrefix = "@mozilla.org/profile/migrator;1?app=mail&type=";var MigrationWizard = {  _source: "",                  // Source Profile Migrator ContractID suffix  _itemsFlags: kIMig.ALL,       // Selected Import Data Sources (16-bit bitfield)  _selectedProfile: null,       // Selected Profile name to import from  _wiz: null,  _migrator: null,  _autoMigrate: null,  init: function ()  {    var os = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);    os.addObserver(this, "Migration:Started", false);    os.addObserver(this, "Migration:ItemBeforeMigrate", false);    os.addObserver(this, "Migration:ItemAfterMigrate", false);    os.addObserver(this, "Migration:Ended", false);    os.addObserver(this, "Migration:Progress", false);        this._wiz = document.documentElement;    if ("arguments" in window) {      this._source = window.arguments[0];      this._migrator = window.arguments[1] ? window.arguments[1].QueryInterface(kIMig) : null;      this._autoMigrate = window.arguments[2].QueryInterface(kIPStartup);            // Show the "nothing" option in the automigrate case to provide an      // easily identifiable way to avoid migration and create a new profile.      var nothing = document.getElementById("nothing");      nothing.hidden = false;          }    this.onImportSourcePageShow();	    // Behavior alert! If we were given a migrator already, then we are going to perform migration    // with that migrator, skip the wizard screen where we show all of the migration sources and     // jump right into migration.    if (this._migrator)    {      if (this._migrator.sourceHasMultipleProfiles)        this._wiz.goTo("selectProfile");      else       {        var sourceProfiles = this._migrator.sourceProfiles;        var profileName = sourceProfiles.QueryElementAt(0, Components.interfaces.nsISupportsString);        this._selectedProfile = profileName.data;        this._wiz.goTo("migrating");      }    }  },    uninit: function ()  {    var os = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);    os.removeObserver(this, "Migration:Started");    os.removeObserver(this, "Migration:ItemBeforeMigrate");    os.removeObserver(this, "Migration:ItemAfterMigrate");    os.removeObserver(this, "Migration:Ended");    os.removeObserver(this, "Migration:Progress");  },    // 1 - Import Source  onImportSourcePageShow: function ()  {    this._wiz.canRewind = false;        // Figure out what source apps are are available to import from:    var group = document.getElementById("importSourceGroup");    for (var i = 0; i < group.childNodes.length; ++i) {      var suffix = group.childNodes[i].id;      if (suffix != "nothing") {        var contractID = kProfileMigratorContractIDPrefix + suffix;        var migrator = Components.classes[contractID].createInstance(kIMig);        if (!migrator.sourceExists) {          group.childNodes[i].hidden = true;          if (this._source == suffix) this._source = null;        }      }    }        var firstNonDisabled = null;    for (var i = 0; i < group.childNodes.length; ++i) {	  if (!group.childNodes[i].hidden) {        firstNonDisabled = group.childNodes[i];        break;      }    }    group.selectedItem = this._source == "" ? firstNonDisabled : document.getElementById(this._source);  },    onImportSourcePageAdvanced: function ()  {    var newSource = document.getElementById("importSourceGroup").selectedItem.id;        if (newSource == "nothing") {      document.documentElement.cancel();      return;    }        if (!this._migrator || (newSource != this._source)) {      // Create the migrator for the selected source.      var contractID = kProfileMigratorContractIDPrefix + newSource;      this._migrator = Components.classes[contractID].createInstance(kIMig);      this._itemsFlags = kIMig.ALL;      this._selectedProfile = null;    }          this._source = newSource;          // check for more than one source profile    if (this._migrator.sourceHasMultipleProfiles)      this._wiz.currentPage.next = "selectProfile";    else {      this._wiz.currentPage.next = "migrating";      var sourceProfiles = this._migrator.sourceProfiles;      if (sourceProfiles && sourceProfiles.Count() == 1) {        var profileName = sourceProfiles.QueryElementAt(0, Components.interfaces.nsISupportsString);        this._selectedProfile = profileName.data;      }      else        this._selectedProfile = "";    }  },    // 2 - [Profile Selection]  onSelectProfilePageShow: function ()  {    // Disabling this for now, since we ask about import sources in automigration    // too and don't want to disable the back button    // if (this._autoMigrate)    //   document.documentElement.getButton("back").disabled = true;          var profiles = document.getElementById("profiles");    while (profiles.hasChildNodes())       profiles.removeChild(profiles.firstChild);        var sourceProfiles = this._migrator.sourceProfiles;    var count = sourceProfiles.Count();    for (var i = 0; i < count; ++i) {      var item = document.createElement("radio");      var str = sourceProfiles.QueryElementAt(i, Components.interfaces.nsISupportsString);      item.id = str.data;      item.setAttribute("label", str.data);      profiles.appendChild(item);    }        profiles.selectedItem = this._selectedProfile ? document.getElementById(this._selectedProfile) : profiles.firstChild;  },    onSelectProfilePageRewound: function ()  {    var profiles = document.getElementById("profiles");    this._selectedProfile = profiles.selectedItem.id;  },    onSelectProfilePageAdvanced: function ()  {    var profiles = document.getElementById("profiles");    this._selectedProfile = profiles.selectedItem.id;        // If we're automigrating, don't show the item selection page, just grab everything.    if (this._autoMigrate)      this._wiz.currentPage.next = "migrating";  },    // 3 - ImportItems  onImportItemsPageShow: function ()  {    var dataSources = document.getElementById("dataSources");    while (dataSources.hasChildNodes())      dataSources.removeChild(dataSources.firstChild);        var bundle = document.getElementById("bundle");        var items = this._migrator.getMigrateData(this._selectedProfile, this._autoMigrate);    for (var i = 0; i < 16; ++i) {      var itemID = (items >> i) & 0x1 ? Math.pow(2, i) : 0;      if (itemID > 0) {        var checkbox = document.createElement("checkbox");        checkbox.id = itemID;        checkbox.setAttribute("label", bundle.getString(itemID + "_" + this._source));        dataSources.appendChild(checkbox);        if (!this._itemsFlags || this._itemsFlags & itemID)          checkbox.checked = true;      }    }  },  onImportItemsPageAdvanced: function ()  {    var dataSources = document.getElementById("dataSources");    this._itemsFlags = 0;    for (var i = 0; i < dataSources.childNodes.length; ++i) {      var checkbox = dataSources.childNodes[i];      if (checkbox.localName == "checkbox" && checkbox.checked)        this._itemsFlags |= parseInt(checkbox.id);    }  },    onImportItemCommand: function (aEvent)  {    var items = document.getElementById("dataSources");    var checkboxes = items.getElementsByTagName("checkbox");    var oneChecked = false;    for (var i = 0; i < checkboxes.length; ++i) {      if (checkboxes[i].checked) {        oneChecked = true;        break;      }    }    this._wiz.canAdvance = oneChecked;  },    // 4 - Migrating  onMigratingPageShow: function ()  {    this._wiz.getButton("cancel").disabled = true;    this._wiz.canRewind = false;    this._wiz.canAdvance = false;        // When automigrating, show all of the data that can be received from this source.    if (this._autoMigrate)      this._itemsFlags = this._migrator.getMigrateData(this._selectedProfile, this._autoMigrate);    this._listItems("migratingItems");    setTimeout(this.onMigratingMigrate, 0, this);  },    onMigratingMigrate: function (aOuter)  {    aOuter._migrator.migrate(aOuter._itemsFlags, aOuter._autoMigrate, aOuter._selectedProfile);  },    _listItems: function (aID)  {    var items = document.getElementById(aID);    while (items.hasChildNodes())      items.removeChild(items.firstChild);        var bundle = document.getElementById("bundle");    var itemID;    for (var i = 0; i < 16; ++i) {      var itemID = (this._itemsFlags >> i) & 0x1 ? Math.pow(2, i) : 0;      if (itemID > 0) {        var label = document.createElement("label");        label.id = itemID + "_migrated";        try {          label.setAttribute("value", "- " + bundle.getString(itemID + "_" + this._source));          items.appendChild(label);        }        catch (e) {          // if the block above throws, we've enumerated all the import data types we          // currently support and are now just wasting time, break.           break;        }      }    }  },    observe: function (aSubject, aTopic, aData)  {    switch (aTopic) {    case "Migration:Started":      dump("*** started\n");      break;    case "Migration:ItemBeforeMigrate":      dump("*** before " + aData + "\n");      var label = document.getElementById(aData + "_migrated");      if (label)        label.setAttribute("style", "font-weight: bold");      break;    case "Migration:ItemAfterMigrate":      dump("*** after " + aData + "\n");      var label = document.getElementById(aData + "_migrated");      if (label)        label.removeAttribute("style");      break;    case "Migration:Ended":      dump("*** done\n");      if (this._autoMigrate) {        // We're done now.        this._wiz.canAdvance = true;        this._wiz.advance();        setTimeout("close()", 5000);      }      else {        this._wiz.canAdvance = true;        var nextButton = this._wiz.getButton("next");        nextButton.click();      }      break;    case "Migration:Progress":      document.getElementById('progressBar').value = aData;      break;    }  },    onDonePageShow: function ()  {    this._wiz.getButton("cancel").disabled = true;    this._wiz.canRewind = false;    this._listItems("doneItems");  }};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99这里都是精品| 日韩精品1区2区3区| 国产91在线观看| 国产精品久久久久久久蜜臀| 豆国产96在线|亚洲| 一区在线中文字幕| 欧美视频中文一区二区三区在线观看| 亚洲一卡二卡三卡四卡| 91精品国产色综合久久不卡电影| 久久99久久久久久久久久久| 亚洲国产精品成人综合色在线婷婷 | 欧美一区在线视频| 狠狠色丁香久久婷婷综合丁香| 中文字幕av一区 二区| 色狠狠色狠狠综合| 久久精品99国产精品日本| 久久尤物电影视频在线观看| av一本久道久久综合久久鬼色| 一区二区高清在线| 91精品国产高清一区二区三区 | 99riav一区二区三区| 亚洲午夜久久久久久久久电影网 | 色呦呦国产精品| 日韩成人午夜精品| 日本一区二区成人在线| 欧美三级中文字| 国产大陆精品国产| 亚洲国产日韩在线一区模特| 久久久.com| 欧美日韩大陆在线| 不卡视频在线观看| 久久福利视频一区二区| 亚洲综合激情网| 久久精品网站免费观看| 欧美日韩精品免费| av男人天堂一区| 理论电影国产精品| 一区二区三区成人在线视频| 久久精品欧美一区二区三区麻豆| 欧美日韩国产bt| 91麻豆蜜桃一区二区三区| 韩国精品一区二区| 青草av.久久免费一区| 亚洲精品成人精品456| 久久综合999| 67194成人在线观看| 97aⅴ精品视频一二三区| 国产一区二区日韩精品| 日韩电影一区二区三区四区| 一区二区三区在线免费观看| 国产精品久久午夜夜伦鲁鲁| www久久久久| 日韩欧美卡一卡二| 欧美日韩国产中文| 色综合天天视频在线观看| 成人性生交大片免费看视频在线| 国精产品一区一区三区mba桃花| 午夜精品免费在线观看| 一区二区激情视频| 一区二区三区日韩精品视频| 国产精品美女久久福利网站| 久久蜜桃av一区精品变态类天堂 | 国产精品18久久久久久vr| 日韩电影在线看| 日韩主播视频在线| 日本美女一区二区三区| 五月开心婷婷久久| 婷婷成人激情在线网| 亚洲成av人在线观看| 亚洲第一主播视频| 日韩极品在线观看| 石原莉奈一区二区三区在线观看| 亚洲国产综合在线| 午夜欧美电影在线观看| 午夜激情一区二区| 日本不卡免费在线视频| 美国一区二区三区在线播放| 免费在线观看一区| 久久er精品视频| 国产精品一区二区你懂的| 国产精品小仙女| 懂色中文一区二区在线播放| 成人免费毛片aaaaa**| a美女胸又www黄视频久久| 一本到不卡精品视频在线观看| 色播五月激情综合网| 欧美日本一区二区在线观看| 在线播放国产精品二区一二区四区| 欧美日韩精品一区二区在线播放| 6080yy午夜一二三区久久| 精品久久免费看| 国产精品天天看| 玉米视频成人免费看| 亚洲成av人片在线观看无码| 青青青伊人色综合久久| 国产精品一区二区免费不卡| zzijzzij亚洲日本少妇熟睡| 91极品美女在线| 日韩欧美国产三级| 久久精品人人做人人爽97| 亚洲欧美一区二区在线观看| 亚洲国产日韩a在线播放性色| 秋霞国产午夜精品免费视频| 国产69精品久久久久777| 色av成人天堂桃色av| 日韩欧美国产综合| 国产精品乱人伦| 亚洲国产精品久久不卡毛片| 激情成人午夜视频| 99热精品一区二区| 3atv一区二区三区| 欧美激情在线观看视频免费| 亚洲国产精品欧美一二99| 国产一区二区在线观看免费| 色综合久久中文字幕| 欧美电影免费观看完整版| 亚洲色图丝袜美腿| 久久av老司机精品网站导航| 91麻豆蜜桃一区二区三区| 欧美大片免费久久精品三p| 国产精品你懂的在线欣赏| 日韩vs国产vs欧美| av电影在线观看一区| 日韩精品一区二区在线观看| 亚洲精品大片www| 国产一区二区h| 这里只有精品免费| 日韩理论电影院| 国产精品一区在线观看你懂的| 欧美日韩国产小视频| 中文字幕在线视频一区| 蜜芽一区二区三区| 日本韩国精品在线| 国产精品久久久久久久久果冻传媒| 日本特黄久久久高潮| 在线亚洲一区观看| 国产精品素人视频| 韩国毛片一区二区三区| 在线观看91精品国产麻豆| 中文字幕日韩一区二区| 国产一区欧美二区| 日韩精品一区二区在线| 午夜不卡av在线| 欧美色视频在线| 亚洲色图.com| av不卡免费电影| 国产日韩欧美精品一区| 美国十次综合导航| 欧美一区三区二区| 亚洲国产中文字幕| 色婷婷久久久综合中文字幕| 欧美韩国一区二区| 国产精品一二三四| 久久婷婷国产综合精品青草| 美国毛片一区二区三区| 欧美精品高清视频| 五月开心婷婷久久| 欧美日韩国产高清一区二区三区| 亚洲一区二区av电影| 在线视频你懂得一区| 亚洲精品免费在线播放| 91麻豆国产精品久久| 亚洲日本免费电影| 色综合色综合色综合色综合色综合| 国产精品免费久久| 一本色道久久综合亚洲精品按摩| 国产精品女同互慰在线看| av资源网一区| 一区二区三区在线视频播放| 91久久精品一区二区二区| 亚洲国产日韩一区二区| 91精品国产91久久久久久一区二区| 日韩国产欧美在线观看| 欧美mv日韩mv国产| 国产99一区视频免费| 国产精品久久久久久久久免费桃花 | 一区二区三区四区视频精品免费 | 一区视频在线播放| 色av一区二区| 日韩在线a电影| 精品国产三级a在线观看| 国产福利一区在线观看| 国产精品久久久久久久久快鸭 | 欧美高清你懂得| 韩国成人精品a∨在线观看| 久久精品亚洲国产奇米99| www.欧美精品一二区| 亚洲三级理论片| 欧美日韩国产精品成人| 久久国产精品露脸对白| 国产精品久久久久久久久久久免费看 | 亚洲日本一区二区三区| 欧美日韩国产综合草草| 九九精品一区二区| 中文字幕第一区二区| 欧美网站大全在线观看| 久久精品国内一区二区三区| 国产欧美视频在线观看| 欧美三级电影网| 国产精品综合一区二区|