Remove deprecated QPrinter methods.

This commit is contained in:
Roman Telezhynskyi 2020-12-19 13:13:03 +02:00
parent e70e998dc5
commit c3142b8b07
3 changed files with 11 additions and 16 deletions

View File

@ -1308,7 +1308,7 @@ void MainWindowsNoGUI::PdfFile(const QString &name, QGraphicsRectItem *paper, QG
}
QPainter painter;
if (painter.begin( &printer ) == false)
if (not painter.begin( &printer ))
{ // failed to open file
qCritical("%s", qUtf8Printable(tr("Can't open printer %1").arg(name)));
return;

View File

@ -315,24 +315,21 @@ QMarginsF GetMinPrinterFields(const QSharedPointer<QPrinter> &printer)
}
//---------------------------------------------------------------------------------------------------------------------
QMarginsF GetPrinterFields(const QSharedPointer<QPrinter> &printer)
auto GetPrinterFields(const QSharedPointer<QPrinter> &printer) -> QMarginsF
{
if (printer.isNull())
{
return QMarginsF();
return {};
}
qreal left = 0;
qreal top = 0;
qreal right = 0;
qreal bottom = 0;
printer->getPageMargins(&left, &top, &right, &bottom, QPrinter::Millimeter);
// We can't use Unit::Px because our dpi in most cases is different
const QMarginsF m = printer->pageLayout().margins(QPageLayout::Millimeter);
QMarginsF def;
def.setLeft(UnitConvertor(left, Unit::Mm, Unit::Px));
def.setRight(UnitConvertor(right, Unit::Mm, Unit::Px));
def.setTop(UnitConvertor(top, Unit::Mm, Unit::Px));
def.setBottom(UnitConvertor(bottom, Unit::Mm, Unit::Px));
def.setLeft(UnitConvertor(m.left(), Unit::Mm, Unit::Px));
def.setRight(UnitConvertor(m.right(), Unit::Mm, Unit::Px));
def.setTop(UnitConvertor(m.top(), Unit::Mm, Unit::Px));
def.setBottom(UnitConvertor(m.bottom(), Unit::Mm, Unit::Px));
return def;
}

View File

@ -45,15 +45,13 @@ TST_VPoster::TST_VPoster(QObject *parent) :
void TST_VPoster::BigPoster()
{
QPrinter printer;
printer.setResolution(96);// By default
printer.setResolution(static_cast<int>(PrintDPI));// By default
printer.setPageSize(QPageSize(QPageSize::A4));
printer.setFullPage(true);
// We need to set full page because otherwise QPrinter->pageRect returns different values in Windows and Linux
//sets the margins to 0 to perform the test.
const qreal left = 0, top = 0, right = 0, bottom = 0;
printer.setPageMargins(QMarginsF(left, top, right, bottom), QPageLayout::Millimeter);
printer.setPageMargins(QMarginsF(), QPageLayout::Millimeter);
const QSize image(2622, 3178); // Little bit bigger than A1
VPoster posterazor(&printer);