aboutsummaryrefslogtreecommitdiffstats
path: root/embed/mozilla/EphyBrowser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'embed/mozilla/EphyBrowser.cpp')
-rw-r--r--embed/mozilla/EphyBrowser.cpp56
1 files changed, 27 insertions, 29 deletions
diff --git a/embed/mozilla/EphyBrowser.cpp b/embed/mozilla/EphyBrowser.cpp
index 8481cee56..b9db2c2a0 100644
--- a/embed/mozilla/EphyBrowser.cpp
+++ b/embed/mozilla/EphyBrowser.cpp
@@ -24,9 +24,11 @@
#include "EphyBrowser.h"
#include "EphyUtils.h"
+#include "MozillaPrivate.h"
#include "ephy-embed.h"
#include "ephy-string.h"
#include "ephy-debug.h"
+#include "print-dialog.h"
#include <gtkmozembed_internal.h>
#include <unistd.h>
@@ -311,43 +313,49 @@ EphyBrowser::DetachListeners(void)
return NS_OK;
}
-nsresult EphyBrowser::Print (nsIPrintSettings *options, PRBool preview)
+nsresult EphyBrowser::Print ()
{
- nsresult result;
-
NS_ENSURE_TRUE (mWebBrowser, NS_ERROR_FAILURE);
nsCOMPtr<nsIWebBrowserPrint> print(do_GetInterface(mWebBrowser));
NS_ENSURE_TRUE (print, NS_ERROR_FAILURE);
- if (!preview)
- {
- result = print->Print (options, nsnull);
- }
- else
- {
- result = print->PrintPreview(options, nsnull, nsnull);
- }
-
- return result;
+ return print->Print (nsnull, nsnull);
}
-nsresult EphyBrowser::PrintPreviewClose (void)
+nsresult EphyBrowser::SetPrintPreviewMode (PRBool previewMode)
{
nsresult rv;
- PRBool isPreview = PR_FALSE;
NS_ENSURE_TRUE (mWebBrowser, NS_ERROR_FAILURE);
nsCOMPtr<nsIWebBrowserPrint> print(do_GetInterface(mWebBrowser));
NS_ENSURE_TRUE (print, NS_ERROR_FAILURE);
- rv = print->GetDoingPrintPreview(&isPreview);
- NS_ENSURE_SUCCESS (rv, NS_ERROR_FAILURE);
+ if (previewMode)
+ {
+ EmbedPrintInfo *info;
- if (isPreview == PR_TRUE)
+ nsCOMPtr<nsIPrintSettings> settings;
+ print->GetGlobalPrintSettings (getter_AddRefs(settings));
+
+ info = ephy_print_get_print_info ();
+ MozillaCollatePrintSettings (info, settings);
+ ephy_print_info_free (info);
+
+ rv = print->PrintPreview (nsnull, mDOMWindow, nsnull);
+ }
+ else
{
- rv = print->ExitPrintPreview();
+ PRBool isPreview = PR_FALSE;
+
+ rv = print->GetDoingPrintPreview(&isPreview);
+ NS_ENSURE_SUCCESS (rv, NS_ERROR_FAILURE);
+
+ if (isPreview == PR_TRUE)
+ {
+ rv = print->ExitPrintPreview();
+ }
}
return rv;
@@ -373,16 +381,6 @@ nsresult EphyBrowser::PrintPreviewNavigate(PRInt16 navType, PRInt32 pageNum)
return print->PrintPreviewNavigate(navType, pageNum);
}
-nsresult EphyBrowser::GetPrintSettings (nsIPrintSettings **options)
-{
- NS_ENSURE_TRUE (mWebBrowser, NS_ERROR_FAILURE);
-
- nsCOMPtr<nsIWebBrowserPrint> print(do_GetInterface(mWebBrowser));
- NS_ENSURE_TRUE (print, NS_ERROR_FAILURE);
-
- return print->GetGlobalPrintSettings(options);
-}
-
nsresult EphyBrowser::GetSHistory (nsISHistory **aSHistory)
{
nsresult result;