gecko-dev/widget/gtk/nsPrintDialogGTK.h
Jonathan Watt 154323f370 Bug 1769113 - Kill off nsIPrintingPromptService and use nsIPrintDialogService directly. r=emilio
nsIPrintingPromptService comes from an era when the platform print code would
open the print settings dialog, which defaulted to the OS native dialogs.
Its purpose was to allow that dialog to be overridden by embedders to provide
their own interface for the user to select print settings. Nowadays the
platform print code does not open the dialogs. Instead apps like Firefox are
responsible for getting the print settings to pass to the platform code, and
the platform code provides a way to open the OS native print dialog if they
want to use that (nsIPrintDialogService). So nsIPrintingPromptService no longer
has any purpose, and just adds indirection and needless complexity.

Differential Revision: https://phabricator.services.mozilla.com/D146232
2022-05-13 11:20:59 +00:00

36 lines
962 B
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 nsPrintDialog_h__
#define nsPrintDialog_h__
#include "nsIPrintDialogService.h"
class nsIPrintSettings;
// Copy the print pages enum here because not all versions
// have SELECTION, which we will use
typedef enum {
_GTK_PRINT_PAGES_ALL,
_GTK_PRINT_PAGES_CURRENT,
_GTK_PRINT_PAGES_RANGES,
_GTK_PRINT_PAGES_SELECTION
} _GtkPrintPages;
class nsPrintDialogServiceGTK final : public nsIPrintDialogService {
virtual ~nsPrintDialogServiceGTK();
public:
nsPrintDialogServiceGTK();
NS_DECL_ISUPPORTS
NS_DECL_NSIPRINTDIALOGSERVICE
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsPrintDialogServiceGTK,
NS_IPRINTDIALOGSERVICE_IID)
#endif