Save all modification
[mozilla-1.9/m8.git] / browser / base / content / aboutDialog.js
blob72ac959d46f7d264a9f16d38e42033b89c2978a3
1 # ***** BEGIN LICENSE BLOCK *****
2 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
4 # The contents of this file are subject to the Mozilla Public License Version
5 # 1.1 (the "License"); you may not use this file except in compliance with
6 # the License. You may obtain a copy of the License at
7 # http://www.mozilla.org/MPL/
9 # Software distributed under the License is distributed on an "AS IS" basis,
10 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11 # for the specific language governing rights and limitations under the
12 # License.
14 # The Original Code is Mozilla Firebird about dialog.
16 # The Initial Developer of the Original Code is
17 # Blake Ross (blaker@netscape.com).
18 # Portions created by the Initial Developer are Copyright (C) 2002
19 # the Initial Developer. All Rights Reserved.
21 # Contributor(s):
22 #   Ehsan Akhgari <ehsan.akhgari@gmail.com>
24 # Alternatively, the contents of this file may be used under the terms of
25 # either the GNU General Public License Version 2 or later (the "GPL"), or
26 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27 # in which case the provisions of the GPL or the LGPL are applicable instead
28 # of those above. If you wish to allow use of your version of this file only
29 # under the terms of either the GPL or the LGPL, and not to allow others to
30 # use your version of this file under the terms of the MPL, indicate your
31 # decision by deleting the provisions above and replace them with the notice
32 # and other provisions required by the LGPL or the GPL. If you do not delete
33 # the provisions above, a recipient may use your version of this file under
34 # the terms of any one of the MPL, the GPL or the LGPL.
36 # ***** END LICENSE BLOCK ***** -->
38 var gSelectedPage = 0;
40 function init(aEvent) 
42   if (aEvent.target != document)
43     return;
45   var prefs = Components.classes["@mozilla.org/preferences-service;1"]
46                         .getService(Components.interfaces.nsIPrefBranch);
48   try {
49     var distroId = prefs.getCharPref("distribution.id");
50     if (distroId) {
51       var distroVersion = prefs.getCharPref("distribution.version");
52       var distroAbout = prefs.getComplexValue("distribution.about", Ci.nsISupportsString);
53   
54       var distroField = document.getElementById("distribution");
55       distroField.value = distroAbout;
56       distroField.style.display = "block";
57     
58       var distroIdField = document.getElementById("distributionId");
59       distroIdField.value = distroId + " - " + distroVersion;
60       distroIdField.style.display = "block";
61     }
62   }
63   catch (e) {
64     // Pref is unset
65   }
67   var userAgentField = document.getElementById("userAgent");
68   userAgentField.value = navigator.userAgent;
70   var button = document.documentElement.getButton("extra2");
71   button.setAttribute("label", document.documentElement.getAttribute("creditslabel"));
72   button.setAttribute("accesskey", document.documentElement.getAttribute("creditsaccesskey"));
73   button.addEventListener("command", switchPage, false);
75   document.documentElement.getButton("accept").focus();
76 #ifdef XP_MACOSX
77   // it may not be sized at this point, and we need its width to calculate its position
78   window.sizeToContent();
79   window.moveTo((screen.availWidth / 2) - (window.outerWidth / 2), screen.availHeight / 5);
80 #endif
83 function uninit(aEvent)
85   if (aEvent.target != document)
86     return;
87   var iframe = document.getElementById("creditsIframe");
88   iframe.setAttribute("src", "");
91 function switchPage(aEvent)
93   var button = aEvent.target;
94   if (button.localName != "button")
95     return;
97   var iframe = document.getElementById("creditsIframe");
98   if (gSelectedPage == 0) { 
99     iframe.setAttribute("src", "chrome://browser/content/credits.xhtml");
100     button.setAttribute("label", document.documentElement.getAttribute("aboutlabel"));
101     button.setAttribute("accesskey", document.documentElement.getAttribute("aboutaccesskey"));
102     gSelectedPage = 1;
103   }
104   else {
105     iframe.setAttribute("src", ""); 
106     button.setAttribute("label", document.documentElement.getAttribute("creditslabel"));
107     button.setAttribute("accesskey", document.documentElement.getAttribute("creditsaccesskey"));
108     gSelectedPage = 0;
109   }
110   var modes = document.getElementById("modes");
111   modes.setAttribute("selectedIndex", gSelectedPage);