1 sdump('D_TRACE','Loading print.js\n');
3 var print_crlf = '<br />\r\n';
7 function print_checkout_receipt(params) {
8 sdump('D_PRINT',arg_dump(arguments));
16 sdump('D_PRINT',arg_dump(arguments));
17 var w = new_window('data:text/html,<html>' + s + '</html>\r\n', { 'window_name':'LastPrint' });
18 w.minimize(); mw.minimize();
21 w.minimize(); mw.minimize();
27 sdump('D_PRINT',arg_dump(arguments));
30 var webBrowserPrint = w
31 .QueryInterface(Components.interfaces.nsIInterfaceRequestor)
32 .getInterface(Components.interfaces.nsIWebBrowserPrint);
33 if (webBrowserPrint) {
34 var gPrintSettings = GetPrintSettings();
35 gPrintSettings.printSilent = true;
36 gPrintSettings.marginTop = 0;
37 gPrintSettings.marginLeft = 0;
38 gPrintSettings.marginBottom = 0;
39 gPrintSettings.marginRight = 0;
40 gPrintSettings.headerStrLeft = '';
41 gPrintSettings.headerStrCenter = '';
42 gPrintSettings.headerStrRight = '';
43 gPrintSettings.footerStrLeft = '';
44 gPrintSettings.footerStrCenter = '';
45 gPrintSettings.footerStrRight = '';
46 webBrowserPrint.print(gPrintSettings, null);
47 //alert('Should be printing\n');
49 //alert('Should not be printing\n');
52 //alert('Probably not printing: ' + e);
53 // Pressing cancel is expressed as an NS_ERROR_ABORT return value,
54 // causing an exception to be thrown which we catch here.
55 // Unfortunately this will also consume helpful failures, so add a
56 sdump('D_PRINT','PRINT EXCEPTION: ' + js2JSON(e) + '\n'); // if you need to debug
60 var gPrintSettings = null;
62 function GetPrintSettings()
64 sdump('D_PRINT',arg_dump(arguments));
66 if (gPrintSettings == null) {
67 var pref = Components.classes["@mozilla.org/preferences-service;1"]
68 .getService(Components.interfaces.nsIPrefBranch);
70 gPrintSettingsAreGlobal = pref.getBoolPref("print.use_global_printsettings", false);
71 gSavePrintSettings = pref.getBoolPref("print.save_print_settings", false);
74 var printService = Components.classes["@mozilla.org/gfx/printsettings-service;1"]
75 .getService(Components.interfaces.nsIPrintSettingsService);
76 if (gPrintSettingsAreGlobal) {
77 gPrintSettings = printService.globalPrintSettings;
78 setPrinterDefaultsForSelectedPrinter(printService);
80 gPrintSettings = printService.newPrintSettings;
84 sdump('D_PRINT',"GetPrintSettings() "+e+"\n");
85 alert("GetPrintSettings() "+e+"\n");
88 return gPrintSettings;
91 function setPrinterDefaultsForSelectedPrinter(aPrintService)
93 sdump('D_PRINT',arg_dump(arguments));
94 if (gPrintSettings.printerName == "") {
95 gPrintSettings.printerName = aPrintService.defaultPrinterName;
98 // First get any defaults from the printer
99 aPrintService.initPrintSettingsFromPrinter(gPrintSettings.printerName, gPrintSettings);
101 // now augment them with any values from last time
102 aPrintService.initPrintSettingsFromPrefs(gPrintSettings, true, gPrintSettings.kInitSaveAll);