1 sdump('D_TRACE','Loading print.js\n');
3 var print_crlf = '<br />\r\n';
7 function print_checkout_receipt(params) {
15 //var w = window.open('about:blank','print_win','alwaysLowered,minimizable,resizable,height=100,width=100,sizemode=minimized');
16 //var w = SafeWindowOpen('about:blank','print_win','alwaysLowered,minimizable,resizable,height=100,width=100,sizemode=minimized');
17 var w = new_window('data:text/html,<html>' + s + '</html>\r\n');
23 function sPrint_old(s) {
24 sdump('D_PRINT','Printing "' + s + '"\n');
25 //var deck = mw.document.getElementById('main_deck');
26 var iframe = mw.document.getElementById('print_frame');
27 //deck.appendChild(iframe);
28 iframe.setAttribute('src','about:blank');
29 /*while (iframe.contentWindow.document.lastChild) {
30 iframe.contentWindow.document.removeChild(
31 iframe.contentWindow.document.lastChild
34 //iframe.contentDocument.write(s);
35 iframe.contentWindow.document.write(s);
36 NSPrint2(iframe.contentWindow);
37 //deck.removeChild(iframe);
44 var webBrowserPrint = w
45 .QueryInterface(Components.interfaces.nsIInterfaceRequestor)
46 .getInterface(Components.interfaces.nsIWebBrowserPrint);
47 if (webBrowserPrint) {
48 var gPrintSettings = GetPrintSettings();
49 gPrintSettings.printSilent = true;
50 webBrowserPrint.print(gPrintSettings, null);
51 gPrintSettings.marginTop = 0;
52 gPrintSettings.marginLeft = 0;
53 gPrintSettings.marginBottom = 0;
54 gPrintSettings.marginRight = 0;
55 gPrintSettings.headerStrLeft = '';
56 gPrintSettings.headerStrCenter = '';
57 gPrintSettings.headerStrRight = '';
58 gPrintSettings.footerStrLeft = '';
59 gPrintSettings.footerStrCenter = '';
60 gPrintSettings.footerStrRight = '';
61 //alert('Should be printing\n');
63 //alert('Should not be printing\n');
66 //alert('Probably not printing: ' + e);
67 // Pressing cancel is expressed as an NS_ERROR_ABORT return value,
68 // causing an exception to be thrown which we catch here.
69 // Unfortunately this will also consume helpful failures, so add a
70 sdump('D_PRINT','PRINT EXCEPTION: ' + js2JSON(e) + '\n'); // if you need to debug
74 function NSPrint2(w) {
77 var webBrowserPrint = w
78 .QueryInterface(Components.interfaces.nsIInterfaceRequestor)
79 .getInterface(Components.interfaces.nsIWebBrowserPrint);
80 if (webBrowserPrint) {
81 webBrowserPrint.print(null, null);
82 //alert('Should be printing\n');
84 //alert('Should not be printing\n');
87 //alert('Probably not printing: ' + e);
88 // Pressing cancel is expressed as an NS_ERROR_ABORT return value,
89 // causing an exception to be thrown which we catch here.
90 // Unfortunately this will also consume helpful failures, so add a
91 sdump('D_PRINT','PRINT EXCEPTION: ' + js2JSON(e) + '\n'); // if you need to debug
96 var gPrintSettings = null;
98 function GetPrintSettings()
101 if (gPrintSettings == null) {
102 var pref = Components.classes["@mozilla.org/preferences-service;1"]
103 .getService(Components.interfaces.nsIPrefBranch);
105 gPrintSettingsAreGlobal = pref.getBoolPref("print.use_global_printsettings", false);
106 gSavePrintSettings = pref.getBoolPref("print.save_print_settings", false);
109 var printService = Components.classes["@mozilla.org/gfx/printsettings-service;1"]
110 .getService(Components.interfaces.nsIPrintSettingsService);
111 if (gPrintSettingsAreGlobal) {
112 gPrintSettings = printService.globalPrintSettings;
113 setPrinterDefaultsForSelectedPrinter(printService);
115 gPrintSettings = printService.newPrintSettings;
119 sdump('D_PRINT',"GetPrintSettings() "+e+"\n");
120 alert("GetPrintSettings() "+e+"\n");
123 return gPrintSettings;
126 function setPrinterDefaultsForSelectedPrinter(aPrintService)
128 if (gPrintSettings.printerName == "") {
129 gPrintSettings.printerName = aPrintService.defaultPrinterName;
132 // First get any defaults from the printer
133 aPrintService.initPrintSettingsFromPrinter(gPrintSettings.printerName, gPrintSettings);
135 // now augment them with any values from last time
136 aPrintService.initPrintSettingsFromPrefs(gPrintSettings, true, gPrintSettings.kInitSaveAll);