git-svn-id: svn://euphorik.ch/pompage@45 02bbb61a-6d21-0410-aba0-cb053bdfd66a
[pompage.git] / doc / webdeveloper / disable.js
1 // Toggles the cache
2 function webdeveloper_toggleCache(element)
3 {
4 webdeveloper_disablePreference(element, "browser.cache.disk.enable");
5 webdeveloper_disablePreference(element, "browser.cache.memory.enable");
6 }
7
8 // Toggles Java
9 function webdeveloper_toggleJava(element)
10 {
11 webdeveloper_disablePreference(element, "security.enable_java");
12 }
13
14 // Toggle JavaScript
15 function webdeveloper_toggleJavaScript(element)
16 {
17 var javaScriptButton = document.getElementById("webdeveloper-javascript-statusbar");
18
19 webdeveloper_disablePreference(element, "javascript.enabled");
20
21 // If the JavaScript button exists
22 if(javaScriptButton)
23 {
24 // If disabling JavaScript
25 if(element.getAttribute("checked"))
26 {
27 javaScriptButton.setAttribute("class", "disabled");
28 javaScriptButton.setAttribute("tooltiptext", document.getElementById("webdeveloper-string-bundle").getString("webdeveloper_javaScriptDisabledTooltip"));
29 }
30 else
31 {
32 // If the JavaScript button has a class attribute
33 if(javaScriptButton.hasAttribute("class"))
34 {
35 javaScriptButton.removeAttribute("class");
36 }
37
38 // If the JavaScript button has a tooltip text attribute
39 if(javaScriptButton.hasAttribute("tooltiptext"))
40 {
41 javaScriptButton.removeAttribute("tooltiptext");
42 }
43 }
44 }
45 }
46
47 // Toggles meta redirects
48 function webdeveloper_toggleMetaRedirects(element)
49 {
50 var allowMetaRedirects = true;
51 var browsers = getBrowser().browsers;
52 var browserLength = browsers.length;
53
54 // If the element is checked
55 if(element.getAttribute("checked"))
56 {
57 allowMetaRedirects = false;
58 }
59
60 // Loop through the browsers
61 for(var i = 0; i < browserLength; i++)
62 {
63 browsers[i].docShell.allowMetaRedirects = allowMetaRedirects;
64 }
65
66 webdeveloper_enablePreference(element, "webdeveloper.meta.redirects.disable");
67 }
68
69 // Toggles the minimum font size
70 function webdeveloper_toggleMinimumFontSize(element)
71 {
72 var defaultFontSize = 10;
73 var minimumFontSize = null;
74
75 // If disabling the minimum font size
76 if(element.getAttribute("checked"))
77 {
78 minimumFontSize = webdeveloper_getIntegerPreference("font.minimum-size.x-western", true);
79
80 // If the minimum font size is not set
81 if(minimumFontSize == 0)
82 {
83 minimumFontSize = defaultFontSize;
84 }
85
86 webdeveloper_deletePreference("font.minimum-size.x-western");
87 webdeveloper_setIntegerPreference("webdeveloper.font.minimum.size", minimumFontSize);
88 }
89 else
90 {
91 minimumFontSize = webdeveloper_getIntegerPreference("webdeveloper.font.minimum.size", true);
92
93 // If the minimum font size is not set
94 if(minimumFontSize == 0)
95 {
96 minimumFontSize = defaultFontSize;
97 }
98
99 webdeveloper_deletePreference("webdeveloper.font.minimum.size");
100 webdeveloper_setIntegerPreference("font.minimum-size.x-western", minimumFontSize);
101 }
102
103 BrowserReload();
104 }
105
106 // Toggles the page colors
107 function webdeveloper_togglePageColors(element)
108 {
109 webdeveloper_disablePreference(element, "browser.display.use_document_colors");
110 BrowserReload();
111 }
112
113 // Toggles the proxy settings
114 function webdeveloper_toggleProxy(element)
115 {
116 // If disabling the proxy
117 if(element.getAttribute("checked"))
118 {
119 webdeveloper_setIntegerPreference("webdeveloper.proxy.type", webdeveloper_getIntegerPreference("network.proxy.type", true));
120 webdeveloper_deletePreference("network.proxy.type");
121 }
122 else
123 {
124 webdeveloper_setIntegerPreference("network.proxy.type", webdeveloper_getIntegerPreference("webdeveloper.proxy.type", true));
125 webdeveloper_deletePreference("webdeveloper.proxy.type");
126 }
127 }
128
129 // Toggles referrers
130 function webdeveloper_toggleReferrers(element)
131 {
132 var sendReferrer = 2;
133
134 // If disabling referrers
135 if(element.getAttribute("checked"))
136 {
137 sendReferrer = 0;
138 }
139
140 webdeveloper_setIntegerPreference("network.http.sendRefererHeader", sendReferrer);
141 }
142
143 // Updates the disable menu
144 function webdeveloper_updateDisableMenu(suffix)
145 {
146 var checked = !webdeveloper_getBooleanPreference("browser.cache.disk.enable", false) && !webdeveloper_getBooleanPreference("browser.cache.memory.enable", false);
147 var menu = document.getElementById("webdeveloper-disable-proxy-" + suffix);
148
149 webdeveloper_configureElement(document.getElementById("webdeveloper-disable-cache-" + suffix), "checked", checked);
150 webdeveloper_configureElement(document.getElementById("webdeveloper-disable-java-" + suffix), "checked", !webdeveloper_getBooleanPreference("security.enable_java", false));
151 webdeveloper_configureElement(document.getElementById("webdeveloper-disable-javascript-" + suffix), "checked", !webdeveloper_getBooleanPreference("javascript.enabled", false));
152 webdeveloper_configureElement(document.getElementById("webdeveloper-disable-meta-redirects-" + suffix), "checked", webdeveloper_getBooleanPreference("webdeveloper.meta.redirects.disable", true));
153 webdeveloper_configureElement(document.getElementById("webdeveloper-disable-minimum-font-size-" + suffix), "checked", webdeveloper_getIntegerPreference("font.minimum-size.x-western", true) == 0);
154 webdeveloper_configureElement(document.getElementById("webdeveloper-disable-page-colors-" + suffix), "checked", !webdeveloper_getBooleanPreference("browser.display.use_document_colors", false));
155 webdeveloper_configureElement(document.getElementById("webdeveloper-disable-popup-blocker-" + suffix), "checked", !webdeveloper_getBooleanPreference("dom.disable_open_during_load", false));
156
157 // If the menu is set
158 if(menu)
159 {
160 var proxyConfigured = webdeveloper_isPreferenceSet("network.proxy.type");
161 var proxyDisabled = webdeveloper_isPreferenceSet("webdeveloper.proxy.type");
162
163 webdeveloper_configureElement(menu, "checked", !proxyConfigured && proxyDisabled);
164 webdeveloper_configureElement(menu, "disabled", !proxyConfigured && !proxyDisabled);
165 }
166
167 // If the referrer preference is set to 0
168 if(webdeveloper_getIntegerPreference("network.http.sendRefererHeader", false) == 0)
169 {
170 checked = true;
171 }
172 else
173 {
174 checked = false;
175 }
176
177 webdeveloper_configureElement(document.getElementById("webdeveloper-disable-referrers-" + suffix), "checked", checked);
178 }
179
180 // Updates the disable JavaScript menu
181 function webdeveloper_updateDisableJavaScriptMenu(suffix)
182 {
183 webdeveloper_configureElement(document.getElementById("webdeveloper-disable-all-javascript-" + suffix), "checked", !webdeveloper_getBooleanPreference("javascript.enabled", false));
184 webdeveloper_configureElement(document.getElementById("webdeveloper-disable-strict-javascript-warnings-" + suffix), "checked", !webdeveloper_getBooleanPreference("javascript.options.strict", false));
185 }