on going work on the printing component: rename PRINTSVC to PSSVC, getValuesFromPS to updateSettings, remove duplicate getWebBrowserPrint and start removing the duplicated code in printUtils.js and printPreviewBindings.xml that lays the print preview.

This commit is contained in:
chanial%noos.fr 2003-11-02 00:15:04 +00:00
parent 7c9765217b
commit d6ee5838ef
2 changed files with 38 additions and 50 deletions

View File

@ -57,7 +57,7 @@
oncommand="PrintUtils.print();"/>
<xul:button label="&pageSetup.label;" accesskey="&pageSetup.accesskey;"
oncommand="PrintUtils.showPageSetup();"/>
oncommand="this.doPageSetup();"/>
<xul:vbox align="center" pack="center">
<xul:label value="&page.label;"/>
@ -158,10 +158,10 @@
<constructor>
<![CDATA[
var print = getWebBrowserPrint();
var print = PrintUtils.getWebBrowserPrint();
this.mTotalPages.value = print.printPreviewNumPages;
this.getValuesFromPS();
this.updateSettings();
// Hide the ``Print...'' button when the underlying gfx code does not
// support multiple devicecontext to be used concurrently
@ -216,13 +216,13 @@
<method name="doPageSetup">
<body>
<![CDATA[
var didOK = BrowserPrintSetup();
var didOK = PrintUtils.showPageSetup();
if (didOK) {
// the changes that effect the UI
this.getValuesFromPS();
this.updateSettings();
// Now do PrintPreview
var print = this.getWebBrowserPrint();
var print = PrintUtils.getWebBrowserPrint();
var settings = print.currentPrintSettings;
this.doPrintPreview(print, settings, this.mTotalPages, null);
}
@ -236,7 +236,7 @@
<parameter name="aHomeOrEnd"/>
<body>
<![CDATA[
var print = this.getWebBrowserPrint();
var print = PrintUtils.getWebBrowserPrint();
var validInput = false;
var total;
@ -430,7 +430,7 @@
<parameter name="aValue"/>
<body>
<![CDATA[
var print = this.getWebBrowserPrint();
var print = PrintUtils.getWebBrowserPrint();
var settings = print.currentPrintSettings;
if (aValue == "ShrinkToFit") {
if (!settings.shrinkToFit) {
@ -481,7 +481,7 @@
orientValue = kIPrintSettings.kLandscapeOrientation;
}
var print = this.getWebBrowserPrint();
var print = PrintUtils.getWebBrowserPrint();
var settings = print.currentPrintSettings;
settings.orientation = orientValue;
this.doPrintPreview(print, settings, this.mTotalPages, null);
@ -489,17 +489,7 @@
</body>
</method>
<method name="getWebBrowserPrint">
<body>
<![CDATA[
var ifreq = _content.QueryInterface(
Components.interfaces.nsIInterfaceRequestor);
return ifreq.getInterface(Components.interfaces.nsIWebBrowserPrint);
]]>
</body>
</method>
<method name="getValuesFromPS">
<method name="updateSettings">
<body>
<![CDATA[
var print = this.getWebBrowserPrint();

View File

@ -47,30 +47,23 @@ var PrintUtils = {
{
var didOK = false;
try {
var webBrowserPrint = this.getWebBrowserPrint();
var printSettings = this.getPrintSettings();
var webBrowserPrint = null;
if (_content) {
var ifreq = _content.QueryInterface(Components.interfaces.nsIInterfaceRequestor);
webBrowserPrint = ifreq.getInterface(Components.interfaces.nsIWebBrowserPrint);
}
var PRINTPROMPTSVC = Components.classes["@mozilla.org/embedcomp/printingprompt-service;1"]
.getService(Components.interfaces.nsIPrintingPromptService);
didOK = PRINTPROMPTSVC.showPageSetup(window, printSettings, null);
if (didOK) {
if (webBrowserPrint) {
var PREF = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefBranch);
var isGlobal = PREF.getBoolPref("print.use_global_printsettings", false);
var doSave = PREF.getBoolPref("print.save_print_settings", false);
var PREF = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefBranch);
var isGlobal = PREF.getBoolPref("print.use_global_printsettings", false);
var doSave = PREF.getBoolPref("print.save_print_settings", false);
if (isGlobal && doSave) {
var PSSVC = Components.classes["@mozilla.org/gfx/printsettings-service;1"]
.getService(Components.interfaces.nsIPrintSettingsService);
PSSVC.savePrintSettingsToPrefs(printSettings, false, printSettings.kInitSaveNativeData);
}
if (isGlobal && doSave) {
var PSSVC = Components.classes["@mozilla.org/gfx/printsettings-service;1"]
.getService(Components.interfaces.nsIPrintSettingsService);
PSSVC.savePrintSettingsToPrefs(printSettings, false, printSettings.kInitSaveNativeData);
}
}
} catch (e) {
@ -129,25 +122,25 @@ var PrintUtils = {
}
},
////////////////////////////////////////
// "private" methods. Don't use them. //
////////////////////////////////////////
getWebBrowserPrint: function ()
{
return _content.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIWebBrowserPrint);
},
setPrinterDefaultsForSelectedPrinter: function (aPRINTSVC, aPrintSettings)
////////////////////////////////////////
// "private" methods. Don't use them. //
////////////////////////////////////////
setPrinterDefaultsForSelectedPrinter: function (aPSSVC, aPrintSettings)
{
if (!aPrintSettings.printerName)
aPrintSettings.printerName = aPRINTSVC.defaultPrinterName;
aPrintSettings.printerName = aPSSVC.defaultPrinterName;
// First get any defaults from the printer
aPRINTSVC.initPrintSettingsFromPrinter(aPrintSettings.printerName, aPrintSettings);
aPSSVC.initPrintSettingsFromPrinter(aPrintSettings.printerName, aPrintSettings);
// now augment them with any values from last time
aPRINTSVC.initPrintSettingsFromPrefs(aPrintSettings, true, aPrintSettings.kInitSaveAll);
aPSSVC.initPrintSettingsFromPrefs(aPrintSettings, true, aPrintSettings.kInitSaveAll);
},
getPrintSettings: function ()
@ -156,15 +149,14 @@ var PrintUtils = {
var PREF = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefBranch);
try {
var PSSVC = Components.classes["@mozilla.org/gfx/printsettings-service;1"]
.getService(Components.interfaces.nsIPrintSettingsService);
var isGlobal = PREF.getBoolPref("print.use_global_printsettings", false);
var PRINTSVC = Components.classes["@mozilla.org/gfx/printsettings-service;1"]
.getService(Components.interfaces.nsIPrintSettingsService);
if (isGlobal) {
printSettings = PRINTSVC.globalPrintSettings;
this.setPrinterDefaultsForSelectedPrinter(PRINTSVC, printSettings);
printSettings = PSSVC.globalPrintSettings;
this.setPrinterDefaultsForSelectedPrinter(PSSVC, printSettings);
} else
printSettings = PRINTSVC.newPrintSettings;
printSettings = PSSVC.newPrintSettings;
} catch (e) {
dump("getPrintSettings: "+e+"\n");
}
@ -207,6 +199,12 @@ var PrintUtils = {
// dump(e); // if you need to debug
}
var printPreviewTB = document.getElementById("print-preview-toolbar");
if (printPreviewTB) {
printPreviewTB.updateSettings();
return
}
// show the toolbar after we go into print preview mode so
// that we can initialize the toolbar with total num pages
var printPreviewTB = document.createElementNS(XUL_NS, "toolbar");