]> git.donarmstrong.com Git - x_full.git/blob - .mozilla/firefox/default/extensions/itsalltext@docwhat.gerf.org/chrome/content/preferences.js
8807595b7dfb907df00de86d6ef805ed6e33dd9f
[x_full.git] / .mozilla / firefox / default / extensions / itsalltext@docwhat.gerf.org / chrome / content / preferences.js
1 // @todo [6] [pref] Better strategy for getting the default editor: EDITOR env variable or view_source.editor.path
2 // @todo [8] [pref] Option to make the textarea uneditable when using editor.
3
4 /**
5  * Open a filepicker to select the value of the editor.
6  */
7 function pref_editor_select() {  
8     var locale = document.getElementById("strings");
9
10     var pref_editor = document.getElementById('pref_editor');
11     var nsIFilePicker = Components.interfaces.nsIFilePicker;
12  
13     var fp = Components.classes["@mozilla.org/filepicker;1"].
14         createInstance(nsIFilePicker);
15     fp.init(window,
16             locale.getString('picker.window.title'),
17             nsIFilePicker.modeOpen);
18     fp.appendFilters(nsIFilePicker.filterApps);
19
20     var initdir = Components.classes["@mozilla.org/file/local;1"].
21         createInstance(Components.interfaces.nsILocalFile);
22     try {
23         initdir.initWithPath(pref_editor.value);
24         initdir = initdir.parent;
25         if (initdir.exists() && initdir.isDirectory()) {
26             fp.displayDirectory = initdir;
27         }
28     } catch(e) {
29         // Ignore error, the pref may not have been set or who knows.
30     }
31   
32     var rv = fp.show();
33     var file;
34     var editor;
35     if (rv == nsIFilePicker.returnOK) {
36         file = fp.file;
37         pref_editor.value = file.path;
38         editor = document.getElementById('editor');
39         editor.style.color = 'inherit';
40         editor.style.backgroundColor = 'inherit';
41     }
42 }
43
44 function setHelp(text) {
45     var help = document.getElementById('help');
46     while (help.firstChild) {
47         help.removeChild(help.firstChild);
48     }
49     var textnode = document.createTextNode(text);
50     help.appendChild(textnode);
51 }
52
53 function pref_onload() {
54     var locale = document.getElementById("strings");
55     document.getElementById('browse').focus();
56     var editor;
57     var box;
58     var desc;
59     var textnode;
60     if (window['arguments'] && window['arguments'][0] && window['arguments'][0] == 'badeditor') {
61         editor = document.getElementById('editor');
62         editor.style.color = 'black';
63         editor.style.backgroundColor = '#fb4';
64         box = document.getElementById('help');
65         // Clean it out
66         while (box.firstChild) {
67             box.removeChild(box.firstChild);
68         }
69         desc = document.createElement('description');
70         textnode = document.createTextNode(locale.getFormattedString('problem.editor', [editor.value]));
71         desc.appendChild(textnode);
72         desc.style.maxWidth = '18em';
73         box.appendChild(desc);
74
75         desc = document.createElement('description');
76         textnode = document.createTextNode(locale.getString('mac.hint'));
77         desc.appendChild(textnode);
78         desc.style.maxWidth = '18em';
79         box.appendChild(desc);
80     }
81 }