Bug 128926 - Add printing support to PPEmbed. r=pink/sr=beard/a=asa
git-svn-id: svn://10.0.0.236/trunk@117862 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -1194,6 +1194,13 @@
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>CPrintAttachment.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>ContextMenus.r</PATH>
|
||||
@@ -1466,6 +1473,11 @@
|
||||
<PATH>CWebBrowserCMAttachment.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>CPrintAttachment.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>ContextMenus.r</PATH>
|
||||
@@ -2664,6 +2676,13 @@
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS></FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>CPrintAttachment.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS></FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>ContextMenus.r</PATH>
|
||||
@@ -2926,6 +2945,11 @@
|
||||
<PATH>CWebBrowserCMAttachment.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>CPrintAttachment.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>ContextMenus.r</PATH>
|
||||
@@ -4078,6 +4102,13 @@
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>CPrintAttachment.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>ContextMenus.r</PATH>
|
||||
@@ -4308,6 +4339,11 @@
|
||||
<PATH>CWebBrowserCMAttachment.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>CPrintAttachment.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>ContextMenus.r</PATH>
|
||||
@@ -5440,6 +5476,13 @@
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS></FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>CPrintAttachment.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS></FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>ContextMenus.r</PATH>
|
||||
@@ -5585,6 +5628,11 @@
|
||||
<PATH>CWebBrowserCMAttachment.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>CPrintAttachment.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>CAppFileLocationProvider.cpp</PATH>
|
||||
@@ -5816,6 +5864,12 @@
|
||||
<PATH>CWebBrowserCMAttachment.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<TARGETNAME>PPEmbedDebug</TARGETNAME>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>CPrintAttachment.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<TARGETNAME>PPEmbedDebug</TARGETNAME>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
|
||||
Binary file not shown.
@@ -54,8 +54,12 @@ enum {
|
||||
dlog_ConfirmCheck = 1284,
|
||||
dlog_Prompt = 1285,
|
||||
dlog_PromptNameAndPass = 1286,
|
||||
dlog_PromptPassword = 1287,
|
||||
dlog_Universal = 1288
|
||||
dlog_PromptPassword = 1287
|
||||
};
|
||||
|
||||
// Printing
|
||||
enum {
|
||||
dlog_OS9PrintProgress = 1290
|
||||
};
|
||||
|
||||
// Profile Mgmt
|
||||
|
||||
@@ -394,7 +394,7 @@ void CBrowserApp::HandleAppleEvent(const AppleEvent& inAppleEvent,
|
||||
else
|
||||
chromeFlags = nsIWebBrowserChrome::CHROME_DEFAULT;
|
||||
|
||||
LWindow *theWindow = CWindowCreator::CreateWindowInternal(chromeFlags, -1, -1);
|
||||
LWindow *theWindow = CWindowCreator::CreateWindowInternal(chromeFlags, PR_TRUE, -1, -1);
|
||||
ThrowIfNil_(theWindow);
|
||||
CBrowserShell *theBrowser = dynamic_cast<CBrowserShell*>(theWindow->FindPaneByID(CBrowserShell::paneID_MainBrowser));
|
||||
ThrowIfNil_(theBrowser);
|
||||
@@ -429,7 +429,7 @@ CBrowserApp::ObeyCommand(
|
||||
|
||||
case PP_PowerPlant::cmd_New:
|
||||
{
|
||||
LWindow *theWindow = CWindowCreator::CreateWindowInternal(nsIWebBrowserChrome::CHROME_DEFAULT, -1, -1);
|
||||
LWindow *theWindow = CWindowCreator::CreateWindowInternal(nsIWebBrowserChrome::CHROME_DEFAULT, PR_TRUE, -1, -1);
|
||||
ThrowIfNil_(theWindow);
|
||||
CBrowserShell *theBrowser = dynamic_cast<CBrowserShell*>(theWindow->FindPaneByID(CBrowserShell::paneID_MainBrowser));
|
||||
ThrowIfNil_(theBrowser);
|
||||
@@ -455,7 +455,7 @@ CBrowserApp::ObeyCommand(
|
||||
rv = NS_GetURLSpecFromFile(macFile, urlSpec);
|
||||
ThrowIfError_(NS_ERROR_GET_CODE(rv));
|
||||
|
||||
LWindow *theWindow = CWindowCreator::CreateWindowInternal(nsIWebBrowserChrome::CHROME_DEFAULT, -1, -1);
|
||||
LWindow *theWindow = CWindowCreator::CreateWindowInternal(nsIWebBrowserChrome::CHROME_DEFAULT, PR_TRUE, -1, -1);
|
||||
ThrowIfNil_(theWindow);
|
||||
CBrowserShell *theBrowser = dynamic_cast<CBrowserShell*>(theWindow->FindPaneByID(CBrowserShell::paneID_MainBrowser));
|
||||
ThrowIfNil_(theBrowser);
|
||||
|
||||
@@ -59,6 +59,7 @@
|
||||
#include "nsWeakReference.h"
|
||||
#include "nsIChannel.h"
|
||||
#include "nsIWidget.h"
|
||||
#include "nsIWebBrowserPrint.h"
|
||||
|
||||
// Local
|
||||
#include "ApplIDs.h"
|
||||
@@ -877,6 +878,25 @@ NS_METHOD CBrowserShell::GetContentViewer(nsIContentViewer** aViewer)
|
||||
}
|
||||
|
||||
|
||||
NS_METHOD CBrowserShell::GetPrintSettings(nsIPrintSettings** aSettings)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aSettings);
|
||||
*aSettings = nsnull;
|
||||
|
||||
if (!mPrintSettings) {
|
||||
// If we don't have print settings yet, make new ones.
|
||||
nsCOMPtr<nsIWebBrowserPrint> wbPrint(do_GetInterface(mWebBrowser));
|
||||
NS_ENSURE_TRUE(wbPrint, NS_ERROR_NO_INTERFACE);
|
||||
wbPrint->GetNewPrintSettings(getter_AddRefs(mPrintSettings));
|
||||
}
|
||||
if (mPrintSettings) {
|
||||
*aSettings = mPrintSettings;
|
||||
NS_ADDREF(*aSettings);
|
||||
return NS_OK;
|
||||
}
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
//*** CBrowserShell: Navigation
|
||||
//*****************************************************************************
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
#include "nsIEventSink.h"
|
||||
#include "nsIWebProgress.h"
|
||||
#include "nsIDragHelperService.h"
|
||||
#include "nsIPrintSettings.h"
|
||||
|
||||
class CBrowserChrome;
|
||||
class CBrowserShellProgressListener;
|
||||
@@ -122,6 +123,8 @@ public:
|
||||
|
||||
NS_METHOD GetContentViewer(nsIContentViewer** aViewer);
|
||||
|
||||
NS_METHOD GetPrintSettings(nsIPrintSettings** aSettings);
|
||||
|
||||
Boolean IsBusy();
|
||||
Boolean CanGoBack();
|
||||
Boolean CanGoForward();
|
||||
@@ -210,6 +213,8 @@ protected:
|
||||
// during OnShowContextMenu.
|
||||
PRUint32 mContextMenuContext;
|
||||
nsIDOMNode *mContextMenuDOMNode;
|
||||
|
||||
nsCOMPtr<nsIPrintSettings> mPrintSettings;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
* Copyright (C) 1999, Mozilla. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Conrad Carlen <conrad@ingress.com>
|
||||
* Conrad Carlen <ccarlen@netscape.com>
|
||||
*/
|
||||
|
||||
#include "nsString.h"
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
|
||||
#include "CBrowserShell.h"
|
||||
#include "CBrowserWindow.h"
|
||||
#include "CPrintAttachment.h"
|
||||
#include "ApplIDs.h"
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -71,7 +72,7 @@ NS_IMETHODIMP CWindowCreator::CreateChromeWindow(nsIWebBrowserChrome *aParent,
|
||||
// we're ignoring aParent,
|
||||
// but since windows on the Mac don't have parents anyway...
|
||||
try {
|
||||
LWindow *theWindow = CreateWindowInternal(aChromeFlags, -1, -1);
|
||||
LWindow *theWindow = CreateWindowInternal(aChromeFlags, PR_FALSE, -1, -1);
|
||||
CBrowserShell *browser = dynamic_cast<CBrowserShell*>(theWindow->FindPaneByID(CBrowserShell::paneID_MainBrowser));
|
||||
ThrowIfNil_(browser);
|
||||
browser->GetWebBrowserChrome(_retval);
|
||||
@@ -105,6 +106,7 @@ nsresult CWindowCreator::Initialize()
|
||||
}
|
||||
|
||||
LWindow* CWindowCreator::CreateWindowInternal(PRUint32 inChromeFlags,
|
||||
PRBool enablePrinting,
|
||||
PRInt32 width, PRInt32 height)
|
||||
{
|
||||
const SInt16 kStatusBarHeight = 16;
|
||||
@@ -233,7 +235,14 @@ LWindow* CWindowCreator::CreateWindowInternal(PRUint32 inChromeFlags,
|
||||
statusView->PlaceInSuperFrameAt(0, windowSize.height - kStatusBarHeight + 1, false);
|
||||
statusView->ResizeFrameTo(windowSize.width - 15, kStatusBarHeight, false);
|
||||
}
|
||||
|
||||
|
||||
if (enablePrinting)
|
||||
{
|
||||
CPrintAttachment *printAttachment = new CPrintAttachment(CBrowserShell::paneID_MainBrowser);
|
||||
ThrowIfNil_(printAttachment);
|
||||
theWindow->AddAttachment(printAttachment);
|
||||
}
|
||||
|
||||
// Now the window is constructed...
|
||||
theWindow->FinishCreate();
|
||||
|
||||
|
||||
@@ -59,6 +59,7 @@ class CWindowCreator : public nsIWindowCreator
|
||||
static nsresult Initialize();
|
||||
|
||||
static LWindow* CreateWindowInternal(PRUint32 inChromeFlags,
|
||||
PRBool enablePrinting,
|
||||
PRInt32 width, PRInt32 height);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user