From 0a82d5890998a1cddcf2660a7a5c91b74d71ac4a Mon Sep 17 00:00:00 2001 From: ANISH M <58029804+Anish-M-code@users.noreply.github.com> Date: Thu, 16 Mar 2023 19:54:15 +0530 Subject: [PATCH] Make Qt auto-detect the preferred page size for printer -> Removes need for hard-coded paper size in printer configuration --- src/qt/utilitydialog.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/qt/utilitydialog.cpp b/src/qt/utilitydialog.cpp index 82abee656..cee764b61 100644 --- a/src/qt/utilitydialog.cpp +++ b/src/qt/utilitydialog.cpp @@ -58,6 +58,7 @@ #include #include #include +#include #endif #include #include "walletmodel.h" @@ -347,17 +348,25 @@ void PaperWalletDialog::on_printButton_clicked() QPrinter printer(QPrinter::HighResolution); QPrintDialog* qpd = new QPrintDialog(&printer, this); - qpd->setPrintRange(QAbstractPrintDialog::AllPages); + #if QT_VERSION > 0x050000 + QPrinterInfo printerinfo(printer); + QPageSize papersize = printerinfo.defaultPageSize(); + #endif + qpd->setPrintRange(QAbstractPrintDialog::AllPages); QList recipientPubKeyHashes; if (qpd->exec() != QDialog::Accepted) { return; } - // Hardcode these values + printer.setOrientation(QPrinter::Portrait); + #if QT_VERSION > 0x050000 + printer.QPagedPaintDevice::setPageSize(papersize); + #else printer.setPaperSize(QPrinter::A4); + #endif printer.setFullPage(true); QPainter painter;