1 | <?xml version="1.0" encoding="UTF-8" ?> |
---|
2 | <!DOCTYPE overlay SYSTEM "chrome://markingcollection/locale/markingcollection.dtd"> |
---|
3 | <overlay |
---|
4 | id="autocacheDialogOverlay" |
---|
5 | xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" |
---|
6 | xmlns:html="http://www.w3.org/1999/xhtml"> |
---|
7 | <script type="application/x-javascript" src="chrome://global/content/nsUserSettings.js" /> |
---|
8 | <script type="application/x-javascript"> |
---|
9 | <![CDATA[ |
---|
10 | function _autocacheDialogOverlayInit(aEvent){ |
---|
11 | |
---|
12 | var manually_exec = nsPreferences.getBoolPref("wiredmarker.autocache.manually.exec", false); |
---|
13 | document.getElementById("bitsSelectDisplayAutocacheManually").checked = manually_exec; |
---|
14 | document.getElementById("bitsSelectDisplayAutocacheManually").setAttribute("disabled","true"); |
---|
15 | |
---|
16 | |
---|
17 | var manually_confirm = nsPreferences.getBoolPref("wiredmarker.autocache.manually.confirm", true); |
---|
18 | document.getElementById("bitsSelectDisplayAutocacheManuallyConfirm").checked = manually_confirm; |
---|
19 | document.getElementById("bitsSelectDisplayAutocacheManuallyConfirm").setAttribute("disabled","true"); |
---|
20 | |
---|
21 | |
---|
22 | document.getElementById("bitsSelectDisplayAutocacheMarkingDisabled").removeAttribute("disabled"); |
---|
23 | document.getElementById("bitsSelectDisplayAutocacheMarkingConfirm").removeAttribute("disabled"); |
---|
24 | document.getElementById("bitsSelectDisplayAutocacheMarkingValid").removeAttribute("disabled"); |
---|
25 | |
---|
26 | document.getElementById("bitsAutocacheSaveFolderCheckbox").setAttribute("disabled","true"); |
---|
27 | document.getElementById("bitsAutocacheSaveFolderTextbox").setAttribute("disabled","true"); |
---|
28 | document.getElementById("bitsAutocacheSaveFolderUserTextbox").setAttribute("disabled","true"); |
---|
29 | document.getElementById("bitsAutocacheSaveFolderUserButton").setAttribute("disabled","true"); |
---|
30 | |
---|
31 | document.getElementById("bitsAutocacheTopmenuDisplay").setAttribute("disabled","true"); |
---|
32 | document.getElementById("bitsAutocacheTopmenuDisplayNumber").setAttribute("disabled","true"); |
---|
33 | |
---|
34 | var autocache_use = nsPreferences.copyUnicharPref("wiredmarker.autocache.use","valid"); |
---|
35 | switch(autocache_use){ |
---|
36 | case "switching": |
---|
37 | document.getElementById("bitsSelectDisplayAutocacheDisabled").removeAttribute("selected"); |
---|
38 | document.getElementById("bitsSelectDisplayAutocacheSwitching").setAttribute("selected","true"); |
---|
39 | document.getElementById("bitsSelectDisplayAutocacheValid").removeAttribute("selected"); |
---|
40 | |
---|
41 | document.getElementById("bitsSelectDisplayAutocacheManuallyConfirm").removeAttribute("disabled"); |
---|
42 | break; |
---|
43 | case "valid": |
---|
44 | document.getElementById("bitsSelectDisplayAutocacheDisabled").removeAttribute("selected"); |
---|
45 | document.getElementById("bitsSelectDisplayAutocacheSwitching").removeAttribute("selected"); |
---|
46 | document.getElementById("bitsSelectDisplayAutocacheValid").setAttribute("selected","true"); |
---|
47 | document.getElementById("bitsSelectDisplayAutocacheMarking").removeAttribute("disabled"); |
---|
48 | break; |
---|
49 | default: |
---|
50 | document.getElementById("bitsSelectDisplayAutocacheDisabled").setAttribute("selected","true"); |
---|
51 | document.getElementById("bitsSelectDisplayAutocacheSwitching").removeAttribute("selected"); |
---|
52 | document.getElementById("bitsSelectDisplayAutocacheValid").removeAttribute("selected"); |
---|
53 | |
---|
54 | |
---|
55 | document.getElementById("bitsSelectDisplayAutocacheManually").removeAttribute("disabled"); |
---|
56 | if(manually_exec){ |
---|
57 | document.getElementById("bitsSelectDisplayAutocacheManuallyConfirm").removeAttribute("disabled"); |
---|
58 | }else{ |
---|
59 | document.getElementById("bitsSelectDisplayAutocacheManuallyConfirm").setAttribute("disabled","true"); |
---|
60 | document.getElementById("bitsSelectDisplayAutocacheMarkingDisabled").setAttribute("disabled","true"); |
---|
61 | document.getElementById("bitsSelectDisplayAutocacheMarkingConfirm").setAttribute("disabled","true"); |
---|
62 | document.getElementById("bitsSelectDisplayAutocacheMarkingValid").setAttribute("disabled","true"); |
---|
63 | } |
---|
64 | break; |
---|
65 | } |
---|
66 | var autocache_marking = nsPreferences.copyUnicharPref("wiredmarker.autocache.marking","confirm"); |
---|
67 | switch(autocache_marking){ |
---|
68 | case "confirm": |
---|
69 | document.getElementById("bitsSelectDisplayAutocacheMarkingDisabled").removeAttribute("selected"); |
---|
70 | document.getElementById("bitsSelectDisplayAutocacheMarkingConfirm").setAttribute("selected","true"); |
---|
71 | document.getElementById("bitsSelectDisplayAutocacheMarkingValid").removeAttribute("selected"); |
---|
72 | break; |
---|
73 | case "valid": |
---|
74 | document.getElementById("bitsSelectDisplayAutocacheMarkingDisabled").removeAttribute("selected"); |
---|
75 | document.getElementById("bitsSelectDisplayAutocacheMarkingConfirm").removeAttribute("selected"); |
---|
76 | document.getElementById("bitsSelectDisplayAutocacheMarkingValid").setAttribute("selected","true"); |
---|
77 | break; |
---|
78 | default: |
---|
79 | document.getElementById("bitsSelectDisplayAutocacheMarkingDisabled").setAttribute("selected","true"); |
---|
80 | document.getElementById("bitsSelectDisplayAutocacheMarkingConfirm").removeAttribute("selected"); |
---|
81 | document.getElementById("bitsSelectDisplayAutocacheMarkingValid").removeAttribute("selected"); |
---|
82 | break; |
---|
83 | } |
---|
84 | |
---|
85 | |
---|
86 | if(autocache_use != "disabled"){ |
---|
87 | document.getElementById("bitsAutocacheSaveFolderCheckbox").removeAttribute("disabled"); |
---|
88 | var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator); |
---|
89 | var browserWindow = wm.getMostRecentWindow("navigator:browser"); |
---|
90 | if(browserWindow && browserWindow.bitsAutocacheService){ |
---|
91 | document.getElementById("bitsAutocacheSaveFolderTextbox").value = browserWindow.bitsAutocacheService.default_cachedir.path; |
---|
92 | } |
---|
93 | |
---|
94 | var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch); |
---|
95 | try{ |
---|
96 | var save_folder = prefs.getComplexValue("wiredmarker.autocache.save.folder", Components.interfaces.nsILocalFile); |
---|
97 | document.getElementById("bitsAutocacheSaveFolderUserTextbox").value = save_folder.path; |
---|
98 | }catch(e){ |
---|
99 | nsPreferences.setBoolPref("wiredmarker.autocache.save.default", true); |
---|
100 | } |
---|
101 | |
---|
102 | var save_default = nsPreferences.getBoolPref("wiredmarker.autocache.save.default", true); |
---|
103 | document.getElementById("bitsAutocacheSaveFolderCheckbox").checked = save_default; |
---|
104 | if(save_default){ |
---|
105 | document.getElementById("bitsAutocacheSaveFolderTextbox").removeAttribute("disabled"); |
---|
106 | }else{ |
---|
107 | document.getElementById("bitsAutocacheSaveFolderUserTextbox").removeAttribute("disabled"); |
---|
108 | document.getElementById("bitsAutocacheSaveFolderUserButton").removeAttribute("disabled"); |
---|
109 | } |
---|
110 | } |
---|
111 | |
---|
112 | if(autocache_use != "disabled"){ |
---|
113 | document.getElementById("bitsAutocacheTopmenuDisplay").removeAttribute("disabled"); |
---|
114 | var topmenu_display = nsPreferences.getBoolPref("wiredmarker.autocache.topmenu.display", false); |
---|
115 | document.getElementById("bitsAutocacheTopmenuDisplay").checked = topmenu_display; |
---|
116 | if(topmenu_display) document.getElementById("bitsAutocacheTopmenuDisplayNumber").removeAttribute("disabled"); |
---|
117 | |
---|
118 | var topmenu_number = nsPreferences.getIntPref("wiredmarker.autocache.topmenu.number", 0); |
---|
119 | var elem = document.getElementById("bitsAutocacheTopmenuDisplayNumber"); |
---|
120 | elem.valueNumber = topmenu_number; |
---|
121 | elem.value = topmenu_number; |
---|
122 | } |
---|
123 | window.sizeToContent(); |
---|
124 | } |
---|
125 | function _autocacheDialogOverlayDone(aEvent){ |
---|
126 | |
---|
127 | } |
---|
128 | function _SelectAutocacheCommand(aEvent){ |
---|
129 | nsPreferences.setUnicharPref("wiredmarker.autocache.use", aEvent.target.value); |
---|
130 | _autocacheDialogOverlayInit(); |
---|
131 | } |
---|
132 | function _CheckAutocacheManuallyCommand(aEvent){ |
---|
133 | nsPreferences.setBoolPref("wiredmarker.autocache.manually.exec", aEvent.target.checked); |
---|
134 | _autocacheDialogOverlayInit(); |
---|
135 | } |
---|
136 | function _CheckAutocacheManuallyConfirmCommand(aEvent){ |
---|
137 | nsPreferences.setBoolPref("wiredmarker.autocache.manually.confirm", aEvent.target.checked); |
---|
138 | } |
---|
139 | function _SelectAutocacheMarkingCommand(aEvent){ |
---|
140 | nsPreferences.setUnicharPref("wiredmarker.autocache.marking", aEvent.target.value); |
---|
141 | } |
---|
142 | |
---|
143 | function _GetAutocacheSaveFolder(){ |
---|
144 | var picker = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker); |
---|
145 | var result = null; |
---|
146 | try{ |
---|
147 | picker.init(window, "Selected Save Folder", picker.modeGetFolder); |
---|
148 | var showResult = picker.show(); |
---|
149 | if(showResult == picker.returnOK) result = picker.file; |
---|
150 | }catch(e){ |
---|
151 | result = null; |
---|
152 | alert(e); |
---|
153 | } |
---|
154 | return result; |
---|
155 | } |
---|
156 | |
---|
157 | function _CommandAutocacheSaveFolder(aEvent){ |
---|
158 | var folder = _GetAutocacheSaveFolder(); |
---|
159 | var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch); |
---|
160 | if(folder){ |
---|
161 | prefs.setComplexValue("wiredmarker.autocache.save.folder", Components.interfaces.nsILocalFile, folder); |
---|
162 | }else{ |
---|
163 | try{ |
---|
164 | var save_folder = prefs.getComplexValue("wiredmarker.autocache.save.folder", Components.interfaces.nsILocalFile); |
---|
165 | }catch(e){ |
---|
166 | nsPreferences.setBoolPref("wiredmarker.autocache.save.default", true); |
---|
167 | try{prefs.clearUserPref("wiredmarker.autocache.save.folder");}catch(e){} |
---|
168 | } |
---|
169 | } |
---|
170 | _autocacheDialogOverlayInit(); |
---|
171 | } |
---|
172 | |
---|
173 | function _CheckAutocacheSaveFolder(aEvent){ |
---|
174 | nsPreferences.setBoolPref("wiredmarker.autocache.save.default", aEvent.target.checked); |
---|
175 | if(!aEvent.target.checked){ |
---|
176 | try{ |
---|
177 | var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch); |
---|
178 | var save_folder = prefs.getComplexValue("wiredmarker.autocache.save.folder", Components.interfaces.nsILocalFile); |
---|
179 | }catch(e){ |
---|
180 | save_folder = undefined; |
---|
181 | } |
---|
182 | if(!save_folder){ |
---|
183 | _CommandAutocacheSaveFolder(); |
---|
184 | }else{ |
---|
185 | _autocacheDialogOverlayInit(); |
---|
186 | } |
---|
187 | }else{ |
---|
188 | _autocacheDialogOverlayInit(); |
---|
189 | } |
---|
190 | } |
---|
191 | |
---|
192 | function _CheckAutocacheDisplay(aEvent){ |
---|
193 | nsPreferences.setBoolPref("wiredmarker.autocache.topmenu.display", aEvent.target.checked); |
---|
194 | _autocacheDialogOverlayInit(); |
---|
195 | } |
---|
196 | |
---|
197 | function _InputAutocacheDisplayNumber(aEvent){ |
---|
198 | if(parseInt(aEvent.target.value)>50) aEvent.target.value = 50; |
---|
199 | if(parseInt(aEvent.target.value)<0) aEvent.target.value = 0; |
---|
200 | nsPreferences.setIntPref("wiredmarker.autocache.topmenu.number", aEvent.target.value); |
---|
201 | _autocacheDialogOverlayInit(); |
---|
202 | } |
---|
203 | |
---|
204 | function _dump(aString){ |
---|
205 | var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator); |
---|
206 | var browserWindow = wm.getMostRecentWindow("navigator:browser"); |
---|
207 | if(browserWindow && browserWindow.bitsMarkingCollection) browserWindow.bitsMarkingCollection._dump(aString); |
---|
208 | } |
---|
209 | |
---|
210 | window.addEventListener("load", _autocacheDialogOverlayInit, false); |
---|
211 | window.addEventListener("unload", _autocacheDialogOverlayDone, false); |
---|
212 | ]]> |
---|
213 | </script> |
---|
214 | <tabbox id="mcSettingTabbox"> |
---|
215 | <tabs id="mcSettingTabs"> |
---|
216 | <tab id="mcProjectTab" label="&markingcollection.autocache.tab;" image="chrome://markingcollection/skin/autocache.png"/> |
---|
217 | </tabs> |
---|
218 | <tabpanels id="mcSettingTabPanels"> |
---|
219 | <tabpanel id="mcAutocacheTabPanel" orient="vertical" flex="1"> |
---|
220 | <hbox align="center"> |
---|
221 | <groupbox> |
---|
222 | <caption label="&markingcollection.autocache.caption;" style="background-color:#fff;"/> |
---|
223 | <hbox> |
---|
224 | <radiogroup id="" orient="horizontal" oncommand="_SelectAutocacheCommand(event)"> |
---|
225 | <radio id="bitsSelectDisplayAutocacheValid" value="valid" label="&markingcollection.autocache.valid;"/> |
---|
226 | <radio id="bitsSelectDisplayAutocacheDisabled" value="disabled" label="&markingcollection.autocache.disabled;"/> |
---|
227 | <radio id="bitsSelectDisplayAutocacheSwitching" value="switching" label="&markingcollection.autocache.switching;" hidden="true"/> |
---|
228 | </radiogroup> |
---|
229 | <checkbox id="bitsSelectDisplayAutocacheManually" label="&markingcollection.autocache.manually.caption;" oncommand="_CheckAutocacheManuallyCommand(event)" disabled="true" hidden="true"/> |
---|
230 | <checkbox id="bitsSelectDisplayAutocacheManuallyConfirm" label="&markingcollection.autocache.manually.confirm;" oncommand="_CheckAutocacheManuallyConfirmCommand(event)" disabled="true" hidden="true"/> |
---|
231 | </hbox> |
---|
232 | </groupbox> |
---|
233 | <groupbox id="bitsSelectDisplayAutocacheMarking"> |
---|
234 | <caption label="&markingcollection.autocache.marking;" style="background-color:#fff;"/> |
---|
235 | <radiogroup id="" orient="horizontal" oncommand="_SelectAutocacheMarkingCommand(event)"> |
---|
236 | <radio id="bitsSelectDisplayAutocacheMarkingDisabled" value="disabled" label="&markingcollection.autocache.marking.disabled;"/> |
---|
237 | <radio id="bitsSelectDisplayAutocacheMarkingConfirm" value="confirm" label="&markingcollection.autocache.marking.confirm;"/> |
---|
238 | <radio id="bitsSelectDisplayAutocacheMarkingValid" value="valid" label="&markingcollection.autocache.marking.valid;"/> |
---|
239 | </radiogroup> |
---|
240 | </groupbox> |
---|
241 | </hbox> |
---|
242 | <groupbox id="bitsAutocacheSaveFolder"> |
---|
243 | <caption label="&markingcollection.autocache.save.folder;" style="background-color:#fff;"/> |
---|
244 | <hbox align="center"> |
---|
245 | <checkbox id="bitsAutocacheSaveFolderCheckbox" label="&markingcollection.autocache.save.default;:" oncommand="_CheckAutocacheSaveFolder(event);"/> |
---|
246 | <textbox id="bitsAutocacheSaveFolderTextbox" flex="1" readonly="true"/> |
---|
247 | </hbox> |
---|
248 | <hbox align="center"> |
---|
249 | <label control="bitsAutocacheSaveFolderUserTextbox" value="&markingcollection.autocache.save.user;:"/> |
---|
250 | <textbox id="bitsAutocacheSaveFolderUserTextbox" flex="1" readonly="true"/> |
---|
251 | <button id="bitsAutocacheSaveFolderUserButton" label="&markingcollection.autocache.save.folder;" oncommand="_CommandAutocacheSaveFolder(event);"/> |
---|
252 | </hbox> |
---|
253 | </groupbox> |
---|
254 | <hbox> |
---|
255 | <groupbox id="bitsAutocacheTopmenu"> |
---|
256 | <caption label="&markingcollection.autocache.topmenu.caption;" style="background-color:#fff;"/> |
---|
257 | <hbox align="center"> |
---|
258 | <checkbox id="bitsAutocacheTopmenuDisplay" label="&markingcollection.autocache.topmenu.display;" oncommand="_CheckAutocacheDisplay(event)"/> |
---|
259 | <label control="bitsAutocacheSaveFolderUserTextbox" value="&markingcollection.autocache.topmenu.number;:"/> |
---|
260 | <textbox id="bitsAutocacheTopmenuDisplayNumber" type="number" wraparound="true" min="0" max="50" size="2" maxlength="2" onchange="_InputAutocacheDisplayNumber(event)"/> |
---|
261 | </hbox> |
---|
262 | <hbox align="center"> |
---|
263 | <description style="color:#ff0000;padding-left:1em;">&markingcollection.autocache.topmenu.attention;</description> |
---|
264 | </hbox> |
---|
265 | </groupbox> |
---|
266 | </hbox> |
---|
267 | </tabpanel> |
---|
268 | </tabpanels> |
---|
269 | </tabbox> |
---|
270 | </overlay> |
---|