source: DASISH/t5.6/client/branches/webannotator-basic/chrome/markingcollection/content/markingcollection/autocacheDialogOverlay.xul @ 5428

Last change on this file since 5428 was 5428, checked in by stephanie.roth@snd.gu.se, 10 years ago

Added new branch for work on schema change related client fixes.

File size: 14.1 KB
Line 
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>
Note: See TracBrowser for help on using the repository browser.