diff options
Diffstat (limited to 'src/printsupport/kernel/qprinter.cpp')
-rw-r--r-- | src/printsupport/kernel/qprinter.cpp | 91 |
1 files changed, 25 insertions, 66 deletions
diff --git a/src/printsupport/kernel/qprinter.cpp b/src/printsupport/kernel/qprinter.cpp index 8166e816f3..10c4c681ba 100644 --- a/src/printsupport/kernel/qprinter.cpp +++ b/src/printsupport/kernel/qprinter.cpp @@ -1,41 +1,5 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #include "qprinter.h" #include "qprinter_p.h" @@ -49,7 +13,6 @@ #include "qlist.h" #include <qcoreapplication.h> #include <qfileinfo.h> -#include <QtGui/qrangecollection.h> #include <private/qpagedpaintdevice_p.h> @@ -62,6 +25,8 @@ QT_BEGIN_NAMESPACE +using namespace Qt::StringLiterals; + #define ABORT_IF_ACTIVE(location) \ if (d->printEngine->printerState() == QPrinter::Active) { \ qWarning("%s: Cannot be changed while printer is active", location); \ @@ -164,6 +129,11 @@ QList<const QPicture *> QPrinterPrivate::previewPages() const return QList<const QPicture *>(); } +bool QPrinterPrivate::previewMode() const +{ + return (previewEngine != nullptr) && (previewEngine == printEngine); +} + void QPrinterPrivate::setPreviewMode(bool enable) { Q_Q(QPrinter); @@ -466,7 +436,7 @@ public: Note the difference between Point and DevicePixel. The Point unit is defined to be 1/72th of an inch, while the DevicePixel unit is - resolution dependant and is based on the actual pixels, or dots, on + resolution dependent and is based on the actual pixels, or dots, on the printer. */ @@ -750,7 +720,7 @@ void QPrinter::setOutputFileName(const QString &fileName) ABORT_IF_ACTIVE("QPrinter::setOutputFileName"); QFileInfo fi(fileName); - if (!fi.suffix().compare(QLatin1String("pdf"), Qt::CaseInsensitive)) + if (!fi.suffix().compare("pdf"_L1, Qt::CaseInsensitive)) setOutputFormat(QPrinter::PdfFormat); else if (fileName.isEmpty()) setOutputFormat(QPrinter::NativeFormat); @@ -1017,12 +987,12 @@ void QPrinter::setCollateCopies(bool collate) coordinate system coincides with the top-left corner of the paper itself. In this case, the \l{QPaintDevice::PaintDeviceMetric}{device metrics} will report - the exact same dimensions as indicated by \l{PaperSize}. It may not + the exact same dimensions as indicated by \{QPageSize}. It may not be possible to print on the entire physical page because of the printer's margins, so the application must account for the margins itself. - \sa fullPage(), pageLayout(), setPageSize(), width(), height() + \sa fullPage(), QPagedPaintDevice::pageLayout(), QPagedPaintDevice::setPageSize() */ void QPrinter::setFullPage(bool fp) @@ -1040,7 +1010,7 @@ void QPrinter::setFullPage(bool fp) See setFullPage() for details and caveats. - \sa setFullPage(), pageLayout() + \sa setFullPage(), QPagedPaintDevice::pageLayout() */ bool QPrinter::fullPage() const @@ -1060,7 +1030,7 @@ bool QPrinter::fullPage() const This function must be called before QPainter::begin() to have an effect on all platforms. - \sa resolution(), setPaperSize() + \sa resolution(), QPagedPaintDevice::setPageSize() */ void QPrinter::setResolution(int dpi) @@ -1187,7 +1157,7 @@ QPrinter::DuplexMode QPrinter::duplex() const than the paperRect() since the page normally has margins between its borders and the paper. - \sa paperSize() + \sa QPagedPaintDevice::pageLayout() */ QRectF QPrinter::pageRect(Unit unit) const { @@ -1307,7 +1277,7 @@ QPrinter::PrinterState QPrinter::printerState() const return d->printEngine->printerState(); } -#if defined(Q_OS_WIN) || defined(Q_CLANG_QDOC) +#if defined(Q_OS_WIN) || defined(Q_QDOC) /*! Returns the supported paper sizes for this printer. @@ -1393,12 +1363,12 @@ void QPrinter::setPrinterSelectionOption(const QString &option) \note If fromPage() and toPage() both return 0, this indicates that \e{the whole document will be printed}. - \sa setFromTo(), toPage(), rangeCollection() + \sa setFromTo(), toPage(), pageRanges() */ int QPrinter::fromPage() const { - return d->rangeCollection->firstPage(); + return d->pageRanges.firstPage(); } /*! @@ -1417,12 +1387,12 @@ int QPrinter::fromPage() const The programmer is responsible for reading this setting and printing accordingly. - \sa setFromTo(), fromPage(), rangeCollection() + \sa setFromTo(), fromPage(), pageRanges() */ int QPrinter::toPage() const { - return d->rangeCollection->lastPage(); + return d->pageRanges.lastPage(); } /*! @@ -1439,25 +1409,14 @@ int QPrinter::toPage() const This function is mostly used to set a default value that the user can override in the print dialog when you call setup(). - \sa fromPage(), toPage(), rangeCollection() + \sa fromPage(), toPage(), pageRanges() */ void QPrinter::setFromTo(int from, int to) { - d->rangeCollection->clear(); - d->rangeCollection->addRange(from, to); -} - -/*! - \since 6.0 - - Returns the range collection associated with this device. - - \sa QRangeCollection, fromPage(), toPage() -*/ -QRangeCollection *QPrinter::rangeCollection() -{ - return d->rangeCollection; + d->pageRanges.clear(); + if (from && to) + d->pageRanges.addRange(from, to); } /*! |