/* void showPageSetup (in nsIDOMWindow parent, in nsIPrintSettings printSettings); */ NS_IMETHODIMP nsPrintingPromptService::ShowPageSetup(nsIDOMWindow *parent, nsIPrintSettings *printSettings, nsIObserver *aObs) { NS_ENSURE_ARG(printSettings); ParamBlock block; nsresult rv = block.Init(); if (NS_FAILED(rv)) return rv; block->SetInt(0, 0); return DoDialog(parent, block, nsnull, printSettings, kPageSetupDialogURL); }
/* void showPrintDialog (in nsIDOMWindow parent, in nsIWebBrowserPrint webBrowserPrint, in nsIPrintSettings printSettings); */ NS_IMETHODIMP nsPrintingPromptService::ShowPrintDialog(nsIDOMWindow *parent, nsIWebBrowserPrint *webBrowserPrint, nsIPrintSettings *printSettings) { NS_ENSURE_ARG(webBrowserPrint); NS_ENSURE_ARG(printSettings); ParamBlock block; nsresult rv = block.Init(); if (NS_FAILED(rv)) return rv; block->SetInt(0, 0); return DoDialog(parent, block, webBrowserPrint, printSettings, kPrintDialogURL); }
/* void showPageSetup (in nsIDOMWindow parent, in nsIPrintSettings printSettings); */ NS_IMETHODIMP nsPrintingPromptService::ShowPageSetup(nsIDOMWindow *parent, nsIPrintSettings *printSettings, nsIObserver *aObs) { NS_ENSURE_ARG(printSettings); // Try to access a component dialog nsCOMPtr<nsIPrintDialogService> dlgPrint(do_GetService( NS_PRINTDIALOGSERVICE_CONTRACTID)); if (dlgPrint) return dlgPrint->ShowPageSetup(parent, printSettings); ParamBlock block; nsresult rv = block.Init(); if (NS_FAILED(rv)) return rv; block->SetInt(0, 0); return DoDialog(parent, block, nullptr, printSettings, kPageSetupDialogURL); }
/* void showPrintDialog (in nsIDOMWindow parent, in nsIWebBrowserPrint webBrowserPrint, in nsIPrintSettings printSettings); */ NS_IMETHODIMP nsPrintingPromptService::ShowPrintDialog(nsIDOMWindow *parent, nsIWebBrowserPrint *webBrowserPrint, nsIPrintSettings *printSettings) { NS_ENSURE_ARG(webBrowserPrint); NS_ENSURE_ARG(printSettings); // Try to access a component dialog nsCOMPtr<nsIPrintDialogService> dlgPrint(do_GetService( NS_PRINTDIALOGSERVICE_CONTRACTID)); if (dlgPrint) return dlgPrint->Show(parent, printSettings, webBrowserPrint); // Show the built-in dialog instead ParamBlock block; nsresult rv = block.Init(); if (NS_FAILED(rv)) return rv; block->SetInt(0, 0); return DoDialog(parent, block, webBrowserPrint, printSettings, kPrintDialogURL); }
/* void showPrinterProperties (in nsIDOMWindow parent, in wstring printerName, in nsIPrintSettings printSettings); */ NS_IMETHODIMP nsPrintingPromptService::ShowPrinterProperties(nsIDOMWindow *parent, const PRUnichar *printerName, nsIPrintSettings *printSettings) { /* fixme: We simply ignore the |aPrinter| argument here * We should get the supported printer attributes from the printer and * populate the print job options dialog with these data instead of using * the "default set" here. * However, this requires changes on all platforms and is another big chunk * of patches ... ;-( */ NS_ENSURE_ARG(printerName); NS_ENSURE_ARG(printSettings); ParamBlock block; nsresult rv = block.Init(); if (NS_FAILED(rv)) return rv; block->SetInt(0, 0); return DoDialog(parent, block, nullptr, printSettings, kPrinterPropertiesURL); }
/* void showPageSetup (in nsIDOMWindow parent, in nsIPrintSettings printSettings); */ NS_IMETHODIMP nsPrintingPromptService::ShowPageSetup(nsIDOMWindow *parent, nsIPrintSettings *printSettings, nsIObserver *aObs) { NS_ENSURE_ARG(printSettings); ParamBlock block; nsresult rv = block.Init(); if (NS_FAILED(rv)) return rv; block->SetInt(0, 0); rv = DoDialog(parent, block, printSettings, kPageSetupDialogURL); // if aWebBrowserPrint is not null then we are printing // so we want to pass back NS_ERROR_ABORT on cancel if (NS_SUCCEEDED(rv)) { int32_t status; block->GetInt(0, &status); return status == 0?NS_ERROR_ABORT:NS_OK; } return rv; }