From abfa5218d87c25a8f071ea58628a67b95732d61d Mon Sep 17 00:00:00 2001 From: phasefx Date: Tue, 26 Apr 2011 20:44:08 +0000 Subject: [PATCH] Setting print.always_print_silent to false is a bad thing, since it trumps gPrintSettings.printSilent, and will cause a print dialog regardless of Printer Prompt or Auto-Print checkboxes. Let's clear it instead when toggling it off, and if we find it lingering as false from past code, let's clear it then too. git-svn-id: svn://svn.open-ils.org/ILS/trunk@20326 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/xul/staff_client/chrome/content/util/print.js | 10 ++++++++++ .../xul/staff_client/server/admin/printer_settings.js | 5 ++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Open-ILS/xul/staff_client/chrome/content/util/print.js b/Open-ILS/xul/staff_client/chrome/content/util/print.js index aa1608a5a4..4f9cbdd6da 100644 --- a/Open-ILS/xul/staff_client/chrome/content/util/print.js +++ b/Open-ILS/xul/staff_client/chrome/content/util/print.js @@ -22,6 +22,16 @@ util.print = function (context) { } this.oils_printer_external_cmd = has_key ? prefs.getCharPref(key) : ''; + try { + if (prefs.prefHasUserValue('print.always_print_silent')) { + if (! prefs.getBoolPref('print.always_print_silent')) { + prefs.clearUserPref('print.always_print_silent'); + } + } + } catch(E) { + dump('Error in print.js trying to clear print.always_print_silent\n'); + } + return this; }; diff --git a/Open-ILS/xul/staff_client/server/admin/printer_settings.js b/Open-ILS/xul/staff_client/server/admin/printer_settings.js index 82f5de087d..8c3e389cbe 100644 --- a/Open-ILS/xul/staff_client/server/admin/printer_settings.js +++ b/Open-ILS/xul/staff_client/server/admin/printer_settings.js @@ -67,10 +67,13 @@ g.printer_settings = function() { print_silent_pref = g.prefs.getBoolPref('print.always_print_silent'); } g.prefs.setBoolPref('print.always_print_silent', false); + g.prefs.clearUserPref('print.always_print_silent'); var w = get_contentWindow(document.getElementById('sample')); g.print.NSPrint(w ? w : window, false, {}); g.print.save_settings(); - g.prefs.setBoolPref('print.always_print_silent', print_silent_pref); + if (print_silent_pref) { + g.prefs.setBoolPref('print.always_print_silent', true); + } } g.set_print_strategy = function(which) { -- 2.43.2