JSAN.use('util.print');
var print = new util.print('default');
+ // Temporarily override the forced silent print option for lost &
+ // paid receipts where we /always/ want to show the print dialog.
+ var prefs = Components.classes['@mozilla.org/preferences-service;1']
+ .getService(Components.interfaces['nsIPrefBranch']);
+
+ var silentPrintApplied = (
+ prefs.prefHasUserValue('print.always_print_silent')
+ && prefs.getBoolPref('print.always_print_silent')
+ );
+
+ if (silentPrintApplied) {
+ // Note setting the value to 'false' does not work.
+ prefs.clearUserPref('print.always_print_silent');
+ }
+
print.simple(html , {
no_prompt: false,
content_type: 'text/html'
});
+
+ if (silentPrintApplied) {
+ // Re-apply the silent print preference after the
+ // current thread is done.
+ setTimeout(function() {
+ prefs.setBoolPref('print.always_print_silent', true);
+ });
+ }
}
}
JSAN.use('util.print');
var print = new util.print('default');
+ // Temporarily override the forced silent print option for lost &
+ // paid receipts where we /always/ want to show the print dialog.
+ var prefs = Components.classes['@mozilla.org/preferences-service;1']
+ .getService(Components.interfaces['nsIPrefBranch']);
+
+ var silentPrintApplied = (
+ prefs.prefHasUserValue('print.always_print_silent')
+ && prefs.getBoolPref('print.always_print_silent')
+ );
+
+ if (silentPrintApplied) {
+ // Note setting the value to 'false' does not work.
+ prefs.clearUserPref('print.always_print_silent');
+ }
+
print.simple(html , {
no_prompt: false, // always prompt for lost payment receipts
content_type: 'text/html'
});
+
+ if (silentPrintApplied) {
+ // Re-apply the silent print preference after the
+ // current thread is done.
+ setTimeout(function() {
+ prefs.setBoolPref('print.always_print_silent', true);
+ });
+ }
}
}