]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/xul/staff_client/chrome/content/util/mozilla.js
internal: an alternative to default_focus
[working/Evergreen.git] / Open-ILS / xul / staff_client / chrome / content / util / mozilla.js
1 dump('entering util/mozilla.js\n');
2
3 const Cc = Components.classes;
4 const Ci = Components.interfaces;
5
6 if (typeof util == 'undefined') var util = {};
7 util.mozilla = {};
8
9 util.mozilla.EXPORT_OK    = [ 
10     'chromeRegistry', 'languages', 'regions', 'prefs'
11 ];
12 util.mozilla.EXPORT_TAGS    = { ':all' : util.mozilla.EXPORT_OK };
13
14 util.mozilla.chromeRegistry = function() {
15     try {
16
17         return Cc['@mozilla.org/chrome/chrome-registry;1'].getService(Ci['nsIToolkitChromeRegistry']);
18
19     } catch(E) {
20         alert("FIXME: util.mozilla.reloadChrome() = " + E);
21     }
22 }
23
24 util.mozilla.languages = function() {
25     try {
26
27         var stringBundles = Cc['@mozilla.org/intl/stringbundle;1'].getService(Ci['nsIStringBundleService']);
28         return stringBundles.createBundle('chrome://global/locale/languageNames.properties');
29
30     } catch(E) {
31         alert("FIXME: util.mozilla.reloadChrome() = " + E);
32     }
33 }
34
35 util.mozilla.regions = function() {
36     try {
37
38         var stringBundles = Cc['@mozilla.org/intl/stringbundle;1'].getService(Ci['nsIStringBundleService']);
39         return stringBundles.createBundle('chrome://global/locale/regionNames.properties');
40
41     } catch(E) {
42         alert("FIXME: util.mozilla.reloadChrome() = " + E);
43     }
44 }
45
46 util.mozilla.prefs = function() {
47     try {
48
49         return Cc['@mozilla.org/preferences-service;1'].getService(Ci['nsIPrefBranch']);
50
51     } catch(E) {
52         alert("FIXME: util.mozilla.reloadChrome() = " + E);
53     }
54 }
55
56 util.mozilla.change_locale = function( locale ) {
57     try {
58         var current_locale = 'en-US';
59         try { current_locale = util.mozilla.prefs().getCharPref('general.useragent.locale'); } catch(E) { alert('util.locale.change, prefs() = ' + E); }
60         if (locale != current_locale) {
61             util.mozilla.prefs().setCharPref('general.useragent.locale',locale);
62             util.mozilla.prefs().setCharPref('intl.accept_languages',locale);
63             util.mozilla.chromeRegistry().reloadChrome();
64         }
65
66     } catch(E) {
67         alert('FIXME: util.mozilla.change_locale( "' + locale + ") = " + E);
68     }
69 }
70
71
72 dump('exiting util/mozilla.js\n');