diff --git a/xpfe/components/jar.mn b/xpfe/components/jar.mn index 3fe96ff57bf..f54ebcda79b 100644 --- a/xpfe/components/jar.mn +++ b/xpfe/components/jar.mn @@ -49,6 +49,7 @@ comm.jar: content/communicator/pref/pref-search.xul (prefwindow/resources/content/pref-search.xul) content/communicator/pref/pref-security.xul (prefwindow/resources/content/pref-security.xul) content/communicator/pref/pref-smart_browsing.xul (prefwindow/resources/content/pref-smart_browsing.xul) + content/communicator/pref/pref-smart_browsing.js (prefwindow/resources/content/pref-smart_browsing.js) content/communicator/pref/pref-smart_browsing-ac.xul (prefwindow/resources/content/pref-smart_browsing-ac.xul) content/communicator/pref/pref-smartupdate.xul (prefwindow/resources/content/pref-smartupdate.xul) content/communicator/pref/pref.xul (prefwindow/resources/content/pref.xul) diff --git a/xpfe/components/prefwindow/resources/content/pref-smart_browsing.js b/xpfe/components/prefwindow/resources/content/pref-smart_browsing.js new file mode 100644 index 00000000000..0436ed29f33 --- /dev/null +++ b/xpfe/components/prefwindow/resources/content/pref-smart_browsing.js @@ -0,0 +1,170 @@ +/* + * 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 + * August 15, 2001. + * + * The Initial Developer of the Original Code is Netscape + * Communications Corp. Portions created by Netscape Communications + * Corp. are Copyright (C) 2001, Netscape Communications Corp. All + * Rights Reserved. + * + * Contributor(s): + */ + +function Startup() +{ + // populate tree + var domainPrefField = document.getElementById( "browserRelatedDisabledForDomains" ); + var domains = domainPrefField.getAttribute("value").split(","); + if (domains[0] != "") + { + for (var i = 0; i < domains.length; i++) + createCell( domains[i] ); + } + + // select the first item + selectFirstCell(); + + // enable buttons + doButtonEnabling(); +} + +function selectFirstCell() +{ + var domainKids = document.getElementById( "disabledKids" ); + if (domainKids.childNodes.length >= 1) { + var domainTree = document.getElementById( "disabledDomains" ); + domainTree.selectItem( domainKids.firstChild ); + } +} + +function addDomain() +{ + var domainField = document.getElementById( "addDomain" ); + if (domainField.value != "") { + var domainTree = document.getElementById( "disabledDomains" ); + domainTree.selectItem( createCell( domainField.value ) ); + rebuildPrefValue(); + domainField.value = ""; + doButtonEnabling(); + } +} + + +function removeDomain() +{ + var domainTree = document.getElementById( "disabledDomains" ); + var treeKids = document.getElementById( "disabledKids" ); + var selectedItems = domainTree.selectedItems; + if (selectedItems.length >= 1) + { + for (var i = 0; i < selectedItems.length; i++) + { + treeKids.removeChild( selectedItems[i] ); + } + } + selectFirstCell(); + rebuildPrefValue(); +} + +function rebuildPrefValue() +{ + var treeKids = document.getElementById( "disabledKids" ); + var string = ""; + if (treeKids.hasChildNodes()) + { + for (var i = 0; i < treeKids.childNodes.length; i++) + { + var domain = treeKids.childNodes[i].firstChild.firstChild.getAttribute("label"); + string += ( domain + "," ); + } + } + var domainPrefField = document.getElementById( "browserRelatedDisabledForDomains" ); + domainPrefField.setAttribute("value",string); +} + +function createCell( aLabel ) +{ + var treeKids = document.getElementById( "disabledKids" ); + var item = document.createElement( "treeitem" ); + var row = document.createElement( "treerow" ); + var cell = document.createElement( "treecell" ); + cell.setAttribute( "label", aLabel ); + row.appendChild( cell ); + item.appendChild( row ); + treeKids.appendChild( item ); + return item; +} + +function treeHandleEvent( aEvent ) +{ + if (aEvent.keyCode == 46) + removeDomain(); +} + +function doButtonEnabling() +{ + var addDomain = document.getElementById("addDomain"); + var addDomainButton = document.getElementById("addDomainButton"); + var prefstring = document.getElementById("browserRelatedDisabledForDomains").getAttribute("value"); + if( addDomain.value == "" || prefstring.indexOf( addDomain.value + "," ) != -1 ) + addDomainButton.disabled = true; + else + addDomainButton.removeAttribute("disabled"); + if (parent.hPrefWindow.getPrefIsLocked(addDomainButton.getAttribute("prefstring"))) + addDomainButton.disabled = true; + if (parent.hPrefWindow.getPrefIsLocked(addDomain.getAttribute("prefstring"))) + addDomain.disabled = true; +} + +function moreInfo() +{ + var browserURL = null; + var regionBundle = document.getElementById("bundle_region"); + var smartBrowsingURL = regionBundle.getString("smartBrowsingURL"); + if (smartBrowsingURL) { + try { + var prefs = Components.classes["@mozilla.org/preferences;1"]; + if (prefs) { + prefs = prefs.getService(); + if (prefs) + prefs = prefs.QueryInterface(Components.interfaces.nsIPref); + } + if (prefs) { + var url = prefs.CopyCharPref("browser.chromeURL"); + if (url) + browserURL = url; + } + } catch(e) { + } + if (browserURL == null) + browserURL = "chrome://navigator/content/navigator.xul"; + window.openDialog( browserURL, "_blank", "chrome,all,dialog=no", smartBrowsingURL ); + } +} + +function showACAdvanced() +{ + window.openDialog("chrome://communicator/content/pref/pref-smart_browsing-ac.xul", "", + "modal=yes,chrome,resizable=yes", + document.getElementById("browserUrlbarAutoFill").getAttribute("value"), + document.getElementById("browserUrlbarShowPopup").getAttribute("value"), + document.getElementById("browserUrlbarShowSearch").getAttribute("value")); +} + +function receiveACPrefs(aAutoFill, aShowPopup, aShowSearch) +{ + document.getElementById("browserUrlbarAutoFill").setAttribute("value", aAutoFill); + document.getElementById("browserUrlbarShowPopup").setAttribute("value", aShowPopup); + document.getElementById("browserUrlbarShowSearch").setAttribute("value", aShowSearch); +} + diff --git a/xpfe/components/prefwindow/resources/content/pref-smart_browsing.xul b/xpfe/components/prefwindow/resources/content/pref-smart_browsing.xul index 57c88a4ebba..9e94d44ce47 100644 --- a/xpfe/components/prefwindow/resources/content/pref-smart_browsing.xul +++ b/xpfe/components/prefwindow/resources/content/pref-smart_browsing.xul @@ -41,6 +41,9 @@ + +