summaryrefslogtreecommitdiffstats
path: root/src/printsupport/kernel/qprinter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/printsupport/kernel/qprinter.cpp')
-rw-r--r--src/printsupport/kernel/qprinter.cpp91
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);
}
/*!