]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/xul/staff_client/server/admin/printer_settings.js
* I18N for print admin interface
[Evergreen.git] / Open-ILS / xul / staff_client / server / admin / printer_settings.js
1 var myPackageDir = 'open_ils_staff_client'; var IAMXUL = true; var g = {};
2
3 function my_init() {
4     try {
5         netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
6                 if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
7         JSAN.errorLevel = "die"; // none, warn, or die
8         JSAN.addRepository('/xul/server/');
9         JSAN.use('util.error'); g.error = new util.error();
10         g.error.sdump('D_TRACE','my_init() for printer_settings.xul');
11
12         JSAN.use('util.print'); g.print = new util.print();
13
14         g.prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces['nsIPrefBranch']);
15
16         /*
17         netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
18         g.PSSVC = Components.classes["@mozilla.org/gfx/printsettings-service;1"].getService(Components.interfaces.nsIPrintSettingsService);
19         g.PO = Components.classes["@mozilla.org/gfx/printsettings-service;1"].getService(Components.interfaces.nsIPrintOptions);
20         g.PPSVC = Components.classes["@mozilla.org/embedcomp/printingprompt-service;1"].getService(Components.interfaces.nsIPrintingPromptService);
21         g.settings = g.PSSVC.globalPrintSettings;
22         */
23
24     } catch(E) {
25         try { g.error.standard_unexpected_error_dialog('admin/printer_settings.xul',E); } catch(F) { alert(E); }
26     }
27 }
28
29 g.page_settings = function() {
30     netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
31     g.print.page_settings();
32     g.print.save_settings();
33 }
34
35 g.printer_settings = function() {
36     netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
37     var w = get_contentWindow(document.getElementById('sample'));
38     g.print.NSPrint(w ? w : window, false, {});
39     g.print.save_settings();
40 }
41
42 g.set_print_strategy = function(which) {
43     netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
44     if (which == 'custom.print') {
45         var key = 'oils.printer.external.cmd';
46         var has_key = g.prefs.prefHasUserValue(key);
47         var value = has_key ? g.prefs.getCharPref(key) : '';
48         var cmd = window.prompt(
49             document.getElementById('offlineStrings').getString('printing.prompt_for_external_print_cmd'),
50             value
51         );
52         if (!cmd) { return; }
53         g.prefs.setCharPref(key,cmd);
54     }
55     JSAN.use('util.file'); var file = new util.file('print_strategy');
56     file.write_content( 'truncate', String( which ) );
57     file.close();
58     JSAN.use('OpenILS.data'); var data = new OpenILS.data(); data.init({'via':'stash'});
59     data.print_strategy = which; data.stash('print_strategy');
60     alert(
61         document.getElementById('offlineStrings').getFormattedString('printing.print_strategy_saved',[which])
62     );
63 }
64
65 g.save_settings = function() { g.print.save_settings(); }