diff options
Diffstat (limited to 'src/printsupport')
-rw-r--r-- | src/printsupport/dialogs/qpagesetupdialog.cpp | 4 | ||||
-rw-r--r-- | src/printsupport/dialogs/qpagesetupdialog_unix.cpp | 1 | ||||
-rw-r--r-- | src/printsupport/dialogs/qprintdialog_unix.cpp | 14 | ||||
-rw-r--r-- | src/printsupport/dialogs/qprintpreviewdialog.cpp | 8 | ||||
-rw-r--r-- | src/printsupport/kernel/qcups.cpp | 4 | ||||
-rw-r--r-- | src/printsupport/kernel/qprintengine_pdf.cpp | 4 | ||||
-rw-r--r-- | src/printsupport/kernel/qprintengine_pdf_p.h | 2 | ||||
-rw-r--r-- | src/printsupport/kernel/qprinter.cpp | 33 | ||||
-rw-r--r-- | src/printsupport/kernel/qprinter.h | 3 | ||||
-rw-r--r-- | src/printsupport/kernel/qprinter_p.h | 4 | ||||
-rw-r--r-- | src/printsupport/widgets/qprintpreviewwidget.cpp | 3 |
11 files changed, 57 insertions, 23 deletions
diff --git a/src/printsupport/dialogs/qpagesetupdialog.cpp b/src/printsupport/dialogs/qpagesetupdialog.cpp index 4acac2c5f1..dc0457d20d 100644 --- a/src/printsupport/dialogs/qpagesetupdialog.cpp +++ b/src/printsupport/dialogs/qpagesetupdialog.cpp @@ -97,7 +97,7 @@ QT_BEGIN_NAMESPACE constructor. */ -QPageSetupDialogPrivate::QPageSetupDialogPrivate(QPrinter *prntr) : printer(0), ownsPrinter(false) +QPageSetupDialogPrivate::QPageSetupDialogPrivate(QPrinter *prntr) : printer(nullptr), ownsPrinter(false) { setPrinter(prntr); } @@ -174,7 +174,7 @@ void QPageSetupDialog::done(int result) if (d->receiverToDisconnectOnClose) { disconnect(this, SIGNAL(accepted()), d->receiverToDisconnectOnClose, d->memberToDisconnectOnClose); - d->receiverToDisconnectOnClose = 0; + d->receiverToDisconnectOnClose = nullptr; } d->memberToDisconnectOnClose.clear(); diff --git a/src/printsupport/dialogs/qpagesetupdialog_unix.cpp b/src/printsupport/dialogs/qpagesetupdialog_unix.cpp index b4ad718646..b048ba8b29 100644 --- a/src/printsupport/dialogs/qpagesetupdialog_unix.cpp +++ b/src/printsupport/dialogs/qpagesetupdialog_unix.cpp @@ -239,7 +239,6 @@ QPageSetupWidget::QPageSetupWidget(QWidget *parent) m_ui.setupUi(this); QVBoxLayout *lay = new QVBoxLayout(m_ui.preview); - m_ui.preview->setLayout(lay); m_pagePreview = new QPagePreview(m_ui.preview); m_pagePreview->setPagePreviewLayout(1, 1); diff --git a/src/printsupport/dialogs/qprintdialog_unix.cpp b/src/printsupport/dialogs/qprintdialog_unix.cpp index 71312d65f1..a5f381d0a2 100644 --- a/src/printsupport/dialogs/qprintdialog_unix.cpp +++ b/src/printsupport/dialogs/qprintdialog_unix.cpp @@ -124,7 +124,7 @@ class QPrintPropertiesDialog : public QDialog { Q_OBJECT public: - QPrintPropertiesDialog(QAbstractPrintDialog *parent = 0); + QPrintPropertiesDialog(QAbstractPrintDialog *parent = nullptr); ~QPrintPropertiesDialog(); void selectPrinter(QPrinter::OutputFormat outputFormat, const QString &printerName); @@ -149,7 +149,7 @@ class QUnixPrintWidget : public QWidget Q_OBJECT public: - explicit QUnixPrintWidget(QPrinter *printer, QWidget *parent = 0); + explicit QUnixPrintWidget(QPrinter *printer, QWidget *parent = nullptr); ~QUnixPrintWidget(); void updatePrinter(); @@ -245,7 +245,6 @@ QPrintPropertiesDialog::QPrintPropertiesDialog(QAbstractPrintDialog *parent) { setWindowTitle(tr("Printer Properties")); QVBoxLayout *lay = new QVBoxLayout(this); - this->setLayout(lay); QWidget *content = new QWidget(this); widget.setupUi(content); m_buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, this); @@ -298,7 +297,7 @@ void QPrintPropertiesDialog::selectPrinter(QPrinter::OutputFormat outputFormat, */ QPrintDialogPrivate::QPrintDialogPrivate() - : top(0), bottom(0), buttons(0), collapseButton(0) + : top(nullptr), bottom(nullptr), buttons(nullptr), collapseButton(nullptr) { initResources(); } @@ -338,7 +337,6 @@ void QPrintDialogPrivate::init() printButton->setDefault(true); QVBoxLayout *lay = new QVBoxLayout(q); - q->setLayout(lay); lay->addWidget(top); lay->addWidget(bottom); lay->addWidget(buttons); @@ -744,7 +742,7 @@ void QUnixPrintWidgetPrivate::_q_printerChanged(int index) // Reset properties dialog when printer is changed if (propertiesDialog){ delete propertiesDialog; - propertiesDialog = 0; + propertiesDialog = nullptr; propertiesDialogShown = false; } @@ -802,7 +800,7 @@ void QUnixPrintWidgetPrivate::_q_btnBrowseClicked() void QUnixPrintWidgetPrivate::applyPrinterProperties() { - if (printer == 0) + if (printer == nullptr) return; if (printer->outputFileName().isEmpty()) { QString home = QDir::homePath(); @@ -923,7 +921,7 @@ void QUnixPrintWidgetPrivate::_q_btnPropertiesClicked() // If properties dialog was rejected the dialog is deleted and // the properties are set to defaults when printer is setup delete propertiesDialog; - propertiesDialog = 0; + propertiesDialog = nullptr; propertiesDialogShown = false; } else // properties dialog was shown and accepted diff --git a/src/printsupport/dialogs/qprintpreviewdialog.cpp b/src/printsupport/dialogs/qprintpreviewdialog.cpp index dbcbaf3ce5..174cfe4dba 100644 --- a/src/printsupport/dialogs/qprintpreviewdialog.cpp +++ b/src/printsupport/dialogs/qprintpreviewdialog.cpp @@ -115,7 +115,7 @@ class LineEdit : public QLineEdit { Q_OBJECT public: - LineEdit(QWidget* parent = 0) + LineEdit(QWidget* parent = nullptr) : QLineEdit(parent) { setContextMenuPolicy(Qt::NoContextMenu); @@ -152,7 +152,7 @@ class QPrintPreviewDialogPrivate : public QDialogPrivate Q_DECLARE_PUBLIC(QPrintPreviewDialog) public: QPrintPreviewDialogPrivate() - : printDialog(0), ownPrinter(false), + : printDialog(nullptr), ownPrinter(false), initialized(false) {} // private slots @@ -167,7 +167,7 @@ public: void _q_previewChanged(); void _q_zoomFactorChanged(); - void init(QPrinter *printer = 0); + void init(QPrinter *printer = nullptr); void populateScene(); void layoutPages(); void setupActions(); @@ -736,7 +736,7 @@ void QPrintPreviewDialog::done(int result) if (d->receiverToDisconnectOnClose) { disconnect(this, SIGNAL(finished(int)), d->receiverToDisconnectOnClose, d->memberToDisconnectOnClose); - d->receiverToDisconnectOnClose = 0; + d->receiverToDisconnectOnClose = nullptr; } d->memberToDisconnectOnClose.clear(); } diff --git a/src/printsupport/kernel/qcups.cpp b/src/printsupport/kernel/qcups.cpp index 48ab71eea4..b9e162abe9 100644 --- a/src/printsupport/kernel/qcups.cpp +++ b/src/printsupport/kernel/qcups.cpp @@ -96,7 +96,7 @@ static inline QString jobHoldToString(const QCUPSSupport::JobHoldUntil jobHold, if (holdUntilTime < localDateTime.time()) localDateTime = localDateTime.addDays(1); localDateTime.setTime(holdUntilTime); - return localDateTime.toUTC().time().toString(QStringLiteral("HH:mm")); + return localDateTime.toUTC().time().toString(QStringViewLiteral("HH:mm")); } // else fall through: Q_FALLTHROUGH(); @@ -148,7 +148,7 @@ static inline QString bannerPageToString(const QCUPSSupport::BannerPage bannerPa } Q_UNREACHABLE(); return QString(); -}; +} void QCUPSSupport::setBannerPages(QPrinter *printer, const BannerPage startBannerPage, const BannerPage endBannerPage) { diff --git a/src/printsupport/kernel/qprintengine_pdf.cpp b/src/printsupport/kernel/qprintengine_pdf.cpp index 278bb044e1..080ff7ccf4 100644 --- a/src/printsupport/kernel/qprintengine_pdf.cpp +++ b/src/printsupport/kernel/qprintengine_pdf.cpp @@ -58,10 +58,12 @@ QT_BEGIN_NAMESPACE -QPdfPrintEngine::QPdfPrintEngine(QPrinter::PrinterMode m) +QPdfPrintEngine::QPdfPrintEngine(QPrinter::PrinterMode m, QPdfEngine::PdfVersion version) : QPdfEngine(*new QPdfPrintEnginePrivate(m)) { state = QPrinter::Idle; + + setPdfVersion(version); } QPdfPrintEngine::QPdfPrintEngine(QPdfPrintEnginePrivate &p) diff --git a/src/printsupport/kernel/qprintengine_pdf_p.h b/src/printsupport/kernel/qprintengine_pdf_p.h index b964885bbf..e9e81bdf68 100644 --- a/src/printsupport/kernel/qprintengine_pdf_p.h +++ b/src/printsupport/kernel/qprintengine_pdf_p.h @@ -83,7 +83,7 @@ class Q_PRINTSUPPORT_EXPORT QPdfPrintEngine : public QPdfEngine, public QPrintEn { Q_DECLARE_PRIVATE(QPdfPrintEngine) public: - QPdfPrintEngine(QPrinter::PrinterMode m); + QPdfPrintEngine(QPrinter::PrinterMode m, QPdfEngine::PdfVersion version = QPdfEngine::Version_1_4); virtual ~QPdfPrintEngine(); // reimplementations QPaintEngine diff --git a/src/printsupport/kernel/qprinter.cpp b/src/printsupport/kernel/qprinter.cpp index e2138512cc..3135836ce7 100644 --- a/src/printsupport/kernel/qprinter.cpp +++ b/src/printsupport/kernel/qprinter.cpp @@ -149,7 +149,8 @@ void QPrinterPrivate::initEngines(QPrinter::OutputFormat format, const QPrinterI printEngine = ps->createNativePrintEngine(printerMode, printerName); paintEngine = ps->createPaintEngine(printEngine, printerMode); } else { - QPdfPrintEngine *pdfEngine = new QPdfPrintEngine(printerMode); + const auto pdfEngineVersion = (pdfVersion == QPrinter::PdfVersion_1_4 ? QPdfEngine::Version_1_4 : QPdfEngine::Version_A1b); + QPdfPrintEngine *pdfEngine = new QPdfPrintEngine(printerMode, pdfEngineVersion); paintEngine = pdfEngine; printEngine = pdfEngine; } @@ -686,7 +687,37 @@ QPrinter::OutputFormat QPrinter::outputFormat() const return d->outputFormat; } +/*! + \since 5.10 + + Sets the PDF version for this printer to \a version. + + If \a version is the same value as currently set then no change will be made. +*/ +void QPrinter::setPdfVersion(PdfVersion version) +{ + Q_D(QPrinter); + + if (d->pdfVersion == version) + return; + + d->pdfVersion = version; + if (d->outputFormat == QPrinter::PdfFormat) { + d->changeEngines(d->outputFormat, QPrinterInfo()); + } +} + +/*! + \since 5.10 + + Returns the PDF version for this printer. The default is \c PdfVersion_1_4. +*/ +QPrinter::PdfVersion QPrinter::pdfVersion() const +{ + Q_D(const QPrinter); + return d->pdfVersion; +} /*! \internal */ diff --git a/src/printsupport/kernel/qprinter.h b/src/printsupport/kernel/qprinter.h index 33a2d4dbc8..bfe2d346ae 100644 --- a/src/printsupport/kernel/qprinter.h +++ b/src/printsupport/kernel/qprinter.h @@ -134,6 +134,9 @@ public: void setOutputFormat(OutputFormat format); OutputFormat outputFormat() const; + void setPdfVersion(PdfVersion version); + PdfVersion pdfVersion() const; + void setPrinterName(const QString &); QString printerName() const; diff --git a/src/printsupport/kernel/qprinter_p.h b/src/printsupport/kernel/qprinter_p.h index 603eaf7409..6ced466236 100644 --- a/src/printsupport/kernel/qprinter_p.h +++ b/src/printsupport/kernel/qprinter_p.h @@ -75,7 +75,8 @@ class Q_PRINTSUPPORT_EXPORT QPrinterPrivate Q_DECLARE_PUBLIC(QPrinter) public: QPrinterPrivate(QPrinter *printer) - : printEngine(0), + : pdfVersion(QPrinter::PdfVersion_1_4), + printEngine(0), paintEngine(0), realPrintEngine(0), realPaintEngine(0), @@ -107,6 +108,7 @@ public: QPrinter::PrinterMode printerMode; QPrinter::OutputFormat outputFormat; + QPrinter::PdfVersion pdfVersion; QPrintEngine *printEngine; QPaintEngine *paintEngine; diff --git a/src/printsupport/widgets/qprintpreviewwidget.cpp b/src/printsupport/widgets/qprintpreviewwidget.cpp index b28e693612..9e44603bb8 100644 --- a/src/printsupport/widgets/qprintpreviewwidget.cpp +++ b/src/printsupport/widgets/qprintpreviewwidget.cpp @@ -324,8 +324,7 @@ void QPrintPreviewWidgetPrivate::init() scene->setBackgroundBrush(Qt::gray); graphicsView->setScene(scene); - QVBoxLayout *layout = new QVBoxLayout; - q->setLayout(layout); + QVBoxLayout *layout = new QVBoxLayout(q); layout->setContentsMargins(0, 0, 0, 0); layout->addWidget(graphicsView); } |