From 16628afba5a4a6eec784f174192eafbd4c18d1d0 Mon Sep 17 00:00:00 2001 From: "bryner%netscape.com" Date: Sun, 12 Jan 2003 21:37:26 +0000 Subject: [PATCH] port patch from xpfe/communicator/resources/content/printPreviewBindings.xml to support printing from print preview for xprint on unix, --- browser/base/content/printPreviewBindings.xml | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/browser/base/content/printPreviewBindings.xml b/browser/base/content/printPreviewBindings.xml index dcf993b5e5c1..2afb9f5fc562 100644 --- a/browser/base/content/printPreviewBindings.xml +++ b/browser/base/content/printPreviewBindings.xml @@ -165,15 +165,35 @@ _getValuesFromPS(); - // XXX TEMPORARY - // XXX Until bug 119491 ("Cleanup global vars in PostScript and Xprint - // modules") is fixed we will hide the ``Print...'' button + // Hide the ``Print...'' button when the underlying gfx code does not + // support multiple devicecontext to be used concurrently + // (e.g. printing and printpreview at the same time; required as + // legacy support for unices.'s PostScript module (Xprint + // on unices.does not have problems with that)) // XXX the scaling widgets, and the orientation widgets on unices. var canPrint = true; try { var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch); canPrint = prefs.getBoolPref("print.whileInPrintPreview"); + if (!canPrint) + { + // Ask the printerfeatures database if this printer device + // supports multiple device instances which can be used + // concurrently + var smdci = prefs.getBoolPref("print.tmp.printerfeatures." + + print.currentPrintSettings.printerName + + ".can_use_multiple_devicecontexts_concurrently"); + + // We can print from print preview when we can use multiple + // devicecontext instances in parallel (regardless what + // "print.whileInPrintPreview" may say here...) + if (smdci) + { + canPrint = true; + } + } + } catch(e) {} if (!canPrint) @@ -192,7 +212,6 @@ document.getAnonymousNodes(this)[i].setAttribute("hidden", "true"); } } - // XXX TEMPORARY ]]>