diff options
Diffstat (limited to 'src/gui/painting/qpdfwriter.cpp')
-rw-r--r-- | src/gui/painting/qpdfwriter.cpp | 43 |
1 files changed, 37 insertions, 6 deletions
diff --git a/src/gui/painting/qpdfwriter.cpp b/src/gui/painting/qpdfwriter.cpp index edf2950a67..2f24c7efcb 100644 --- a/src/gui/painting/qpdfwriter.cpp +++ b/src/gui/painting/qpdfwriter.cpp @@ -56,6 +56,7 @@ public: { engine = new QPdfEngine(); output = 0; + pdfVersion = QPdfWriter::PdfVersion_1_4; } ~QPdfWriterPrivate() { @@ -65,6 +66,7 @@ public: QPdfEngine *engine; QFile *output; + QPdfWriter::PdfVersion pdfVersion; }; class QPdfPagedPaintDevicePrivate : public QPagedPaintDevicePrivate @@ -77,7 +79,7 @@ public: virtual ~QPdfPagedPaintDevicePrivate() {} - bool setPageLayout(const QPageLayout &newPageLayout) Q_DECL_OVERRIDE + bool setPageLayout(const QPageLayout &newPageLayout) override { // Try to set the paint engine page layout pd->engine->setPageLayout(newPageLayout); @@ -86,7 +88,7 @@ public: return m_pageLayout.isEquivalentTo(newPageLayout); } - bool setPageSize(const QPageSize &pageSize) Q_DECL_OVERRIDE + bool setPageSize(const QPageSize &pageSize) override { // Try to set the paint engine page size pd->engine->setPageSize(pageSize); @@ -95,7 +97,7 @@ public: return m_pageLayout.pageSize().isEquivalentTo(pageSize); } - bool setPageOrientation(QPageLayout::Orientation orientation) Q_DECL_OVERRIDE + bool setPageOrientation(QPageLayout::Orientation orientation) override { // Set the print engine value pd->engine->setPageOrientation(orientation); @@ -104,12 +106,12 @@ public: return m_pageLayout.orientation() == orientation; } - bool setPageMargins(const QMarginsF &margins) Q_DECL_OVERRIDE + bool setPageMargins(const QMarginsF &margins) override { return setPageMargins(margins, pageLayout().units()); } - bool setPageMargins(const QMarginsF &margins, QPageLayout::Unit units) Q_DECL_OVERRIDE + bool setPageMargins(const QMarginsF &margins, QPageLayout::Unit units) override { // Try to set engine margins pd->engine->setPageMargins(margins, units); @@ -118,7 +120,7 @@ public: return m_pageLayout.margins() == margins && m_pageLayout.units() == units; } - QPageLayout pageLayout() const Q_DECL_OVERRIDE + QPageLayout pageLayout() const override { return pd->engine->pageLayout(); } @@ -177,6 +179,35 @@ QPdfWriter::~QPdfWriter() } /*! + \since 5.10 + + Sets the PDF version for this writer to \a version. + + If \a version is the same value as currently set then no change will be made. +*/ +void QPdfWriter::setPdfVersion(PdfVersion version) +{ + Q_D(QPdfWriter); + + if (d->pdfVersion == version) + return; + + d->pdfVersion = version; + d->engine->setPdfVersion(d->pdfVersion == QPdfWriter::PdfVersion_1_4 ? QPdfEngine::Version_1_4 : QPdfEngine::Version_A1b); +} + +/*! + \since 5.10 + + Returns the PDF version for this writer. The default is \c PdfVersion_1_4. +*/ +QPdfWriter::PdfVersion QPdfWriter::pdfVersion() const +{ + Q_D(const QPdfWriter); + return d->pdfVersion; +} + +/*! Returns the title of the document. */ QString QPdfWriter::title() const |