mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-30 16:22:00 +00:00
b81a2922ac
This patch adds a createDefaultSettings() method to nsIPrinter to initialize a default print settings object specific to that printer. It implements the functionality for Linux and macOS but adds only stubs for Windows. Differential Revision: https://phabricator.services.mozilla.com/D87125
34 lines
1.3 KiB
C++
34 lines
1.3 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/. */
|
|
#include "nsPrintSettingsServiceAndroid.h"
|
|
|
|
#include "nsPrintSettingsImpl.h"
|
|
|
|
class nsPrintSettingsAndroid : public nsPrintSettings {
|
|
public:
|
|
nsPrintSettingsAndroid() {
|
|
// The aim here is to set up the objects enough that silent printing works
|
|
SetOutputFormat(nsIPrintSettings::kOutputFormatPDF);
|
|
SetPrinterName(u"PDF printer"_ns);
|
|
}
|
|
};
|
|
|
|
nsresult nsPrintSettingsServiceAndroid::_CreatePrintSettings(
|
|
nsIPrintSettings** _retval) {
|
|
nsPrintSettings* printSettings = new nsPrintSettingsAndroid();
|
|
NS_ENSURE_TRUE(printSettings, NS_ERROR_OUT_OF_MEMORY);
|
|
NS_ADDREF(*_retval = printSettings);
|
|
(void)InitPrintSettingsFromPrefs(*_retval, false,
|
|
nsIPrintSettings::kInitSaveAll);
|
|
return NS_OK;
|
|
}
|
|
|
|
already_AddRefed<nsIPrintSettings> CreatePlatformPrintSettings(
|
|
const mozilla::PrintSettingsInitializer& aSettings) {
|
|
RefPtr<nsPrintSettings> settings = new nsPrintSettingsAndroid();
|
|
settings->InitWithInitializer(aSettings);
|
|
return settings.forget();
|
|
}
|