embedding/browser/webBrowser/nsWebBrowser.cpp,1.107 | . | Disk File |
Skipping to line 1758 | . | |
nsresult nsWebBrowser::DoPrintOrPrintPreview(nsIDOMWindow *aDOMWindow, |
. |
nsresult nsWebBrowser::DoPrintOrPrintPreview(nsIDOMWindow *aDOMWindow, |
nsIPrintSettings *aThePrintSettin
gs, |
. |
nsIPrintSettings *aThePrintSettin
gs, |
nsIPrintListener *aPrintListener, |
. |
nsIPrintListener *aPrintListener, |
PRBool aDoPrinting) |
. |
PRBool aDoPrinting) |
{ |
. |
{ |
nsresult rv = NS_OK; |
. |
nsresult rv = NS_ERROR_FAILURE; |
PRBool silent = PR_FALSE; |
. |
  |
if( aThePrintSettings != nsnull) { |
. |
  |
nsCOMPtr<nsIPrintOptions> printService = do_GetService(kPrintOptionsCID, &
rv); |
. |
 
|
if (NS_SUCCEEDED(rv)) { |
. |
  |
printService->SetPrintSettings(aThePrintSettings); |
. |
  |
} |
. |
  |
aThePrintSettings->GetPrintSilent(&silent); |
. |
  |
} |
. |
  |
|
. |
  |
// XXX this next line may need to be changed |
. |
// XXX this next line may need to be changed |
// it is unclear what the correct way is to get the document. |
. |
// it is unclear what the correct way is to get the document. |
nsCOMPtr<nsIDOMWindow> thisDOMWin; |
. |
nsCOMPtr<nsIDOMWindow> thisDOMWin; |
GetContentDOMWindow(getter_AddRefs(thisDOMWin)); |
. |
GetContentDOMWindow(getter_AddRefs(thisDOMWin)); |
if (aDOMWindow == thisDOMWin.get()) { |
. |
if (aDOMWindow == thisDOMWin.get()) { |
Skipping to line 1770 | . | |
mDocShell->GetContentViewer(getter_AddRefs(contentViewer)); |
. |
mDocShell->GetContentViewer(getter_AddRefs(contentViewer)); |
if (contentViewer) { |
. |
if (contentViewer) { |
nsCOMPtr<nsIContentViewerFile> contentViewerFile(do_QueryInterface(cont
entViewer)); |
. |
nsCOMPtr<nsIContentViewerFile> contentViewerFile(do_QueryInterface(cont
entViewer)); |
if (contentViewerFile) { |
. |
if (contentViewerFile) { |
if (aDoPrinting) { |
. |
if (aDoPrinting) { |
rv = contentViewerFile->Print(silent, nsnull, aPrintListener);
|
. |
rv = contentViewerFile->Print(PR_FALSE, aThePrintSettings, aPrintLi
stener, PR_FALSE); |
} else { |
. |
} else { |
rv = contentViewerFile->PrintPreview(); |
. |
rv = contentViewerFile->PrintPreview(aThePrintSettings); |
} |
. |
} |
} |
. |
} |
} |
. |
} |
} |
. |
} |
return rv; |
. |
return rv; |
Skipping to line 1810 | . | |
if (NS_SUCCEEDED(rv) && printService) { |
. |
if (NS_SUCCEEDED(rv) && printService) { |
return printService->SetIsCancelled(PR_TRUE); |
. |
return printService->SetIsCancelled(PR_TRUE); |
} |
. |
} |
return NS_OK; |
. |
return NS_OK; |
} |
. |
} |
  |
. |
|
  |
. |
/* attribute nsIPrintSettings printSettings; */ |
  |
. |
/** |
  |
. |
* Creates a PrintSettings Object to be used for Printing |
  |
. |
*/ |
 
|
. |
NS_IMETHODIMP nsWebBrowser::GetPrintSettings(nsIPrintSettings * *aPrintSetting
s) |
  |
. |
{ |
  |
. |
nsresult rv = NS_OK; |
  |
. |
if (!mPrintSettings) { |
 
|
. |
nsCOMPtr<nsIPrintOptions> printService = do_GetService(kPrintOptionsCID, &
rv); |
  |
. |
if (NS_SUCCEEDED(rv)) { |
  |
. |
printService->CreatePrintSettings(getter_AddRefs(mPrintSettings)); |
  |
. |
} |
  |
. |
} |
  |
. |
*aPrintSettings = mPrintSettings; |
  |
. |
NS_IF_ADDREF(*aPrintSettings); |
  |
. |
return rv; |
  |
. |
} |
  |
. |
|
 
|
. |
NS_IMETHODIMP nsWebBrowser::SetPrintSettings(nsIPrintSettings * aPrintSettings
) |
  |
. |
{ |
  |
. |
mPrintSettings = aPrintSettings; |
  |
. |
return NS_OK; |
  |
. |
|