summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/printsupport/kernel/qplatformprintersupport_qpa.cpp20
-rw-r--r--src/printsupport/kernel/qplatformprintersupport_qpa.h3
2 files changed, 23 insertions, 0 deletions
diff --git a/src/printsupport/kernel/qplatformprintersupport_qpa.cpp b/src/printsupport/kernel/qplatformprintersupport_qpa.cpp
index aeb4599955..b6f65ee893 100644
--- a/src/printsupport/kernel/qplatformprintersupport_qpa.cpp
+++ b/src/printsupport/kernel/qplatformprintersupport_qpa.cpp
@@ -124,6 +124,26 @@ void QPlatformPrinterSupport::setPrinterInfoCupsPrinterIndex(QPrinterInfo *p, in
#endif
}
+/*
+ Converts QSizeF in millimeters to a predefined PaperSize (returns Custom if
+ the size isn't a standard size)
+*/
+QPrinter::PaperSize QPlatformPrinterSupport::convertQSizeFToPaperSize(const QSizeF &sizef)
+{
+ extern QPrinter::PaperSize qSizeFTopaperSize(const QSizeF &);
+ return qSizeFTopaperSize(sizef);
+}
+
+/*
+ Converts a predefined PaperSize to a QSizeF in millimeters (returns
+ QSizeF(0.0, 0.0) if PaperSize is Custom)
+*/
+QSizeF QPlatformPrinterSupport::convertPaperSizeToQSizeF(QPrinter::PaperSize paperSize)
+{
+ extern QSizeF qt_paperSizeToQSizeF(QPrinter::PaperSize size);
+ return qt_paperSizeToQSizeF(paperSize);
+}
+
QT_END_NAMESPACE
#endif // QT_NO_PRINTER
diff --git a/src/printsupport/kernel/qplatformprintersupport_qpa.h b/src/printsupport/kernel/qplatformprintersupport_qpa.h
index 53f5900cce..5dba56579c 100644
--- a/src/printsupport/kernel/qplatformprintersupport_qpa.h
+++ b/src/printsupport/kernel/qplatformprintersupport_qpa.h
@@ -66,6 +66,9 @@ public:
virtual QList<QPrinterInfo> availablePrinters();
virtual QPrinterInfo defaultPrinter();
+ static QPrinter::PaperSize convertQSizeFToPaperSize(const QSizeF &sizef);
+ static QSizeF convertPaperSizeToQSizeF(QPrinter::PaperSize paperSize);
+
protected:
static QPrinterInfo printerInfo(const QString &printerName, bool isDefault = false);
static void setPrinterInfoDefault(QPrinterInfo *p, bool isDefault);