Add API to convert QSizeF<->PaperSize in QPlatformPrinterSupport
authorBradley T. Hughes <bradley.hughes@nokia.com>
Thu, 1 Mar 2012 07:22:57 +0000 (08:22 +0100)
committerQt by Nokia <qt-info@nokia.com>
Mon, 5 Mar 2012 15:37:16 +0000 (16:37 +0100)
These static public functions give printsupport plugins access to the
non-exported qt_paperSizeToQSizeF() and qSizeFTopaperSize() functions in
qprinter.cpp to aid implementing QPrintEngine and
QPlatformPrinterSupport::supportedPaperSizes().

Change-Id: I3ebcdcd17e863b06ceb135e096e630b37882a293
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
src/printsupport/kernel/qplatformprintersupport_qpa.cpp
src/printsupport/kernel/qplatformprintersupport_qpa.h

index aeb4599..b6f65ee 100644 (file)
@@ -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
index 53f5900..5dba565 100644 (file)
@@ -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);