home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2005 October / Gamestar_77_2005-10_dvd.iso / Programy / nsb-install-8-0.exe / chrome / browser.jar / content / browser / pref / pref-extensions.js < prev    next >
Encoding:
Text File  |  2005-07-29  |  3.2 KB  |  107 lines

  1.  
  2. try {
  3.   var chromeRegistry = Components.classes["@mozilla.org/chrome/chrome-registry;1"].getService();
  4.   if (chromeRegistry)
  5.     chromeRegistry = chromeRegistry.QueryInterface(Components.interfaces.nsIXULChromeRegistry);
  6. }
  7. catch(e) {}
  8.  
  9. function Startup()
  10. {
  11.   var extList = document.getElementById("extList");
  12.   for (var i = 0; i < extList.childNodes.length; ++i) {
  13.     if (extList.childNodes[i].getAttribute("name")) {
  14.       extList.selectItem(extList.childNodes[i]);
  15.       break;
  16.     }
  17.   }
  18. }
  19.  
  20. function extensionSelect()
  21. {
  22.   var list = document.getElementById("extList");
  23.  
  24.   if (!list)
  25.     return;
  26.  
  27.   var selectedItem = list.selectedItems.length ? list.selectedItems[0] : null;
  28.   if (selectedItem) {
  29.     var extName = selectedItem.getAttribute("displayName");
  30.     var nameField = document.getElementById("extDisplayName");
  31.     var author = document.getElementById("extAuthor");
  32.     var descText = document.createTextNode(selectedItem.getAttribute("description"));
  33.     var description = document.getElementById("extDescription");
  34.     var uninstallButton = document.getElementById("uninstallExtension");
  35.     var settingsButton = document.getElementById("extensionSettings");
  36.  
  37.     while (description.hasChildNodes())
  38.       description.removeChild(description.firstChild);
  39.  
  40.     nameField.setAttribute("value", extName);
  41.  
  42.     author.setAttribute("value", selectedItem.getAttribute("author"));
  43.     var authorURL = selectedItem.getAttribute("authorURL");
  44.     if (authorURL != "") {
  45.       author.setAttribute("link", selectedItem.getAttribute("authorURL"));
  46.       author.className = "themesLink";
  47.     }
  48.     else {
  49.       author.removeAttribute("link");
  50.       author.className = "";
  51.     }
  52.  
  53.     settingsButton.disabled = selectedItem.getAttribute("settingsURL") == "";
  54.  
  55.     description.appendChild(descText);
  56.  
  57.     updateDisableExtButton(selectedItem);
  58.   }
  59. }
  60.  
  61. function toggleExtension()
  62. {
  63.   var list = document.getElementById("extList");
  64.  
  65.   if (!list)
  66.     return;
  67.  
  68.   var selectedItem = list.selectedItems.length ? list.selectedItems[0] : null;
  69.   if (selectedItem) {
  70.     var disabled = (selectedItem.getAttribute("disabledState") == "true");
  71.     chromeRegistry.setAllowOverlaysForPackage(selectedItem.getAttribute("name"), disabled);
  72.     updateDisableExtButton(selectedItem);
  73.   }
  74. }
  75.  
  76. function updateDisableExtButton(item)
  77. {
  78.   var disableButton = document.getElementById("disableExtension");
  79.   if (disableButton.disabled)
  80.     disableButton.disabled = false;
  81.  
  82.   var prefbundle = document.getElementById("bundle_prefutilities");
  83.   var enableExtension = prefbundle.getString("enableExtension");
  84.   var disableExtension = prefbundle.getString("disableExtension");
  85.  
  86.   if (item.getAttribute("disabledState") == "true")
  87.     disableButton.setAttribute("label", enableExtension);
  88.   else
  89.     disableButton.setAttribute("label", disableExtension);
  90. }
  91.  
  92. function showSettings()
  93. {
  94.   var list = document.getElementById("extList");
  95.   var selectedItem = list.selectedItems.length ? list.selectedItems[0] : null;
  96.   if (selectedItem)
  97.     window.openDialog(selectedItem.getAttribute("settingsURL"), "", "chrome,dialog,modal");
  98. }
  99.  
  100. function onDoubleClick(event)
  101. {
  102.   var settingsButton = document.getElementById("extensionSettings");
  103.  
  104.   if (!settingsButton.disabled)
  105.     showSettings();
  106. }
  107.