mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-28 12:45:27 +00:00
eec30b1b54
Adds serialization of native print settings values so that correct page size, scaling, orientation are sent to the child after the print dialog is displayed. Changes the Mac print dialog code to load native print settings from the "print.macosx.pagesetup-2" pref and ignore what is passed in. Overwrites the scaling percentage specified in the print dialog when "Ignore Scaling and Shrink to Fit Page Width" is checked. Scaling on Nightly (remote printing) needs more work to be done in a follow up bug. MozReview-Commit-ID: B12ZeHuiYFJ --HG-- extra : rebase_source : baa2a5865b29db8914fca1242af59674f9630c8e
45 lines
1.6 KiB
C++
45 lines
1.6 KiB
C++
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef nsPrintOptionsX_h_
|
|
#define nsPrintOptionsX_h_
|
|
|
|
#include "nsPrintOptionsImpl.h"
|
|
|
|
namespace mozilla
|
|
{
|
|
namespace embedding
|
|
{
|
|
class PrintData;
|
|
} // namespace embedding
|
|
} // namespace mozilla
|
|
|
|
class nsPrintOptionsX : public nsPrintOptions
|
|
{
|
|
public:
|
|
nsPrintOptionsX();
|
|
virtual ~nsPrintOptionsX();
|
|
|
|
/*
|
|
* These serialize and deserialize methods are not symmetrical in that
|
|
* printSettingsX != deserialize(serialize(printSettingsX)). This is because
|
|
* the native print settings stored in the nsPrintSettingsX's NSPrintInfo
|
|
* object are not fully serialized. Only the values needed for successful
|
|
* printing are.
|
|
*/
|
|
NS_IMETHODIMP SerializeToPrintData(nsIPrintSettings* aSettings,
|
|
nsIWebBrowserPrint* aWBP,
|
|
mozilla::embedding::PrintData* data);
|
|
NS_IMETHODIMP DeserializeToPrintSettings(const mozilla::embedding::PrintData& data,
|
|
nsIPrintSettings* settings);
|
|
|
|
protected:
|
|
nsresult _CreatePrintSettings(nsIPrintSettings **_retval);
|
|
nsresult ReadPrefs(nsIPrintSettings* aPS, const nsAString& aPrinterName, uint32_t aFlags);
|
|
nsresult WritePrefs(nsIPrintSettings* aPS, const nsAString& aPrinterName, uint32_t aFlags);
|
|
};
|
|
|
|
#endif // nsPrintOptionsX_h_
|