Mark obsolete QPrinter functions as deprecated from 5.15 on

Some of the methods are overrides of virtuals in QPagedPaintDevice, so document
and mark those as obsolete as well.

Adjust code that calls those APIs to use the recommended replacement.

Change-Id: I3cd1980609ea20808d17379a5f97ca595e869875
Pick-to: 5.15
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
bb10
Volker Hilsheimer 2020-09-02 16:23:06 +02:00
parent 25351dcc54
commit 6bbf3f0257
6 changed files with 58 additions and 8 deletions

View File

@ -136,7 +136,8 @@ QPagedPaintDevicePrivate *QPagedPaintDevice::dd()
\enum QPagedPaintDevice::PageSize
This enum type lists the available page sizes as defined in the Postscript
PPD standard. These values are duplicated in QPageSize and QPrinter.
PPD standard. These values are duplicated in QPageSize and QPrinter and
those types and enum will be merged in Qt 6.
The defined sizes are:
@ -315,6 +316,7 @@ QPagedPaintDevice::PageSize QPagedPaintDevice::pageSize() const
}
/*!
\obsolete Use setPageSize(QPageSize) instead.
Sets the page size to \a size. \a size is specified in millimeters.
If the size matches a standard QPagedPaintDevice::PageSize then that page
@ -326,6 +328,8 @@ void QPagedPaintDevice::setPageSizeMM(const QSizeF &size)
}
/*!
\obsolete Use pageLayout().pageSize() instead.
Returns the page size in millimeters.
*/
QSizeF QPagedPaintDevice::pageSizeMM() const
@ -334,6 +338,7 @@ QSizeF QPagedPaintDevice::pageSizeMM() const
}
/*!
\obsolete Use setPageMargins(QMarginsF, QPageLayout::Unit) instead.
Sets the margins to be used to \a margins.
Margins are specified in millimeters.
@ -349,6 +354,7 @@ void QPagedPaintDevice::setMargins(const QMarginsF &margins)
}
/*!
\obsolete Use pageLayout().margins() instead.
Returns the current margins of the paint device. The default is 0.
Margins are specified in millimeters.

View File

@ -224,14 +224,24 @@ public:
bool setPageMargins(const QMarginsF &margins, QPageLayout::Unit units);
QPageLayout pageLayout() const;
#if QT_DEPRECATED_SINCE(5,15)
QT_DEPRECATED_VERSION_X_5_15("Use setPageSize(QPageSize) instead.")
virtual void setPageSize(PageSize size);
QT_DEPRECATED_VERSION_X_5_15("Use pageLayout().pageSize().id() instead.")
PageSize pageSize() const;
QT_DEPRECATED_VERSION_X_5_15("Use setPageSize(QPageSize) instead.")
virtual void setPageSizeMM(const QSizeF &size);
QT_DEPRECATED_VERSION_X_5_15("Use pageLayout().pageSize() instead.")
QSizeF pageSizeMM() const;
#endif
#if QT_DEPRECATED_SINCE(5,15)
QT_DEPRECATED_VERSION_X_5_15("Use setPageMargins(QMarginsF, QPageLayout::Unit) instead.")
virtual void setMargins(const QMarginsF &margins);
QT_DEPRECATED_VERSION_X_5_15("Use pageLayout().margins() instead.")
QMarginsF margins() const;
#endif
protected:
QPagedPaintDevice(QPagedPaintDevicePrivate *dd);

View File

@ -1918,13 +1918,13 @@ void QTextDocument::print(QPagedPaintDevice *printer) const
QPagedPaintDevicePrivate *pd = QPagedPaintDevicePrivate::get(printer);
// ### set page size to paginated size?
QMarginsF m = printer->margins();
QMarginsF m = printer->pageLayout().margins(QPageLayout::Millimeter);
if (!documentPaginated && m.left() == 0. && m.right() == 0. && m.top() == 0. && m.bottom() == 0.) {
m.setLeft(2);
m.setRight(2);
m.setTop(2);
m.setBottom(2);
printer->setMargins(m);
printer->setPageMargins(m, QPageLayout::Millimeter);
}
// ### use the margins correctly

View File

@ -204,7 +204,7 @@ QT_USE_NAMESPACE
}
if (pageSize.isValid() && !pageSize.isEquivalentTo(printer->pageLayout().pageSize()))
printer->setPageSize(pageSize);
printer->setOrientation(orientation == kPMLandscape ? QPrinter::Landscape : QPrinter::Portrait);
printer->setPageOrientation(orientation == kPMLandscape ? QPageLayout::Landscape : QPageLayout::Portrait);
dialog->done((returnCode == NSModalResponseOK) ? QDialog::Accepted : QDialog::Rejected);
}

View File

@ -168,22 +168,35 @@ public:
using QPagedPaintDevice::setPageMargins;
#endif
#if QT_DEPRECATED_SINCE(5,15)
QT_DEPRECATED_VERSION_X_5_15("Use setPageOrientation() instead.")
void setOrientation(Orientation);
QT_DEPRECATED_VERSION_X_5_15("Use pageLayout().pageOrientation() instead.")
Orientation orientation() const;
QT_DEPRECATED_VERSION_X_5_15("Use setPageSize(QPageSize) instead.")
void setPageSize(PageSize) override;
QT_DEPRECATED_VERSION_X_5_15("Use pageLayout().pageSize().id() instead.")
PageSize pageSize() const;
QT_DEPRECATED_VERSION_X_5_15("Use setPageSize(QPageSize) instead.")
void setPageSizeMM(const QSizeF &size) override;
QT_DEPRECATED_VERSION_X_5_15("Use setPageSize(QPageSize) instead.")
void setPaperSize(PaperSize);
QT_DEPRECATED_VERSION_X_5_15("pageLayout().pageSize().id()")
PaperSize paperSize() const;
QT_DEPRECATED_VERSION_X_5_15("Use setPageSize(QPageSize) instead.")
void setPaperSize(const QSizeF &paperSize, Unit unit);
QT_DEPRECATED_VERSION_X_5_15("Use pageLayout().pageSize().size() or pageLayout().fullPageSize() instead.")
QSizeF paperSize(Unit unit) const;
QT_DEPRECATED_VERSION_X_5_15("Use setPageSize(QPageSize) instead.")
void setPaperName(const QString &paperName);
QT_DEPRECATED_VERSION_X_5_15("Use pageLayout().pageSize().name() instead.")
QString paperName() const;
#endif
void setPageOrder(PageOrder);
PageOrder pageOrder() const;
@ -200,10 +213,14 @@ public:
void setFullPage(bool);
bool fullPage() const;
#if QT_DEPRECATED_SINCE(5,15)
QT_DEPRECATED_VERSION_X_5_15("Use setCopyCount() instead.")
void setNumCopies(int);
QT_DEPRECATED_VERSION_X_5_15("Use copyCount() instead.")
int numCopies() const;
QT_DEPRECATED_VERSION_X_5_15("Use copyCount() instead.")
int actualNumCopies() const;
#endif
void setCopyCount(int);
int copyCount() const;
@ -224,14 +241,24 @@ public:
void setFontEmbeddingEnabled(bool enable);
bool fontEmbeddingEnabled() const;
#if QT_DEPRECATED_SINCE(5,15)
QT_DEPRECATED_VERSION_X_5_15("Use setDuplex() instead.")
void setDoubleSidedPrinting(bool enable);
QT_DEPRECATED_VERSION_X_5_15("Use duplex() instead.")
bool doubleSidedPrinting() const;
#endif
#if QT_DEPRECATED_SINCE(5,15)
QT_DEPRECATED_VERSION_X_5_15("Use QPageSize::id(windowsId) and setPageLayout(QPageSize) instead.")
void setWinPageSize(int winPageSize);
QT_DEPRECATED_VERSION_X_5_15("Use pageLayout.pageSize().windowsId() instead.")
int winPageSize() const;
QT_DEPRECATED_VERSION_X_5_15("Use pageLayout().fullRectPixels(resolution()) instead.")
QRect paperRect() const;
QT_DEPRECATED_VERSION_X_5_15("Use pageLayout().paintRectPixels(resolution()) instead.")
QRect pageRect() const;
#endif
QRectF paperRect(Unit) const;
QRectF pageRect(Unit) const;
@ -255,10 +282,15 @@ public:
void setPrintRange(PrintRange range);
PrintRange printRange() const;
#if QT_DEPRECATED_SINCE(5,15)
QT_DEPRECATED_VERSION_X_5_15("Use setPageMargins(QMarginsF, QPageLayout::Unit) instead.")
void setMargins(const QMarginsF &m) override;
QT_DEPRECATED_VERSION_X_5_15("Use setPageMargins(QMarginsF, QPageLayout::Unit) instead.")
void setPageMargins(qreal left, qreal top, qreal right, qreal bottom, Unit unit);
QT_DEPRECATED_VERSION_X_5_15("Use pageLayout().pageMargins() instead.")
void getPageMargins(qreal *left, qreal *top, qreal *right, qreal *bottom, Unit unit) const;
#endif
protected:
int metric(PaintDeviceMetric) const override;

View File

@ -357,7 +357,7 @@ void QPrintPreviewWidgetPrivate::layoutPages()
int numPagePlaces = numPages;
int cols = 1; // singleMode and default
if (viewMode == QPrintPreviewWidget::AllPagesView) {
if (printer->orientation() == QPrinter::Portrait)
if (printer->pageLayout().orientation() == QPageLayout::Portrait)
cols = qCeil(qSqrt((float) numPages));
else
cols = qFloor(qSqrt((float) numPages));
@ -593,7 +593,8 @@ void QPrintPreviewWidget::setViewMode(ViewMode mode)
QPrinter::Orientation QPrintPreviewWidget::orientation() const
{
Q_D(const QPrintPreviewWidget);
return d->printer->orientation();
return d->printer->pageLayout().orientation() == QPageLayout::Portrait
? QPrinter::Portrait : QPrinter::Landscape;
}
/*!
@ -603,7 +604,8 @@ QPrinter::Orientation QPrintPreviewWidget::orientation() const
void QPrintPreviewWidget::setOrientation(QPrinter::Orientation orientation)
{
Q_D(QPrintPreviewWidget);
d->printer->setOrientation(orientation);
d->printer->setPageOrientation(orientation == QPrinter::Portrait
? QPageLayout::Portrait : QPageLayout::Landscape);
d->generatePreview();
}