http://macieira.org/~thiago/qt-5.3/QtPrintSupport.diff
diff --git a/src/printsupport/dialogs/qprintdialog.h b/src/printsupport/dialogs/qprintdialog.h
index c822aa0..886cd1e 100644
--- a/src/printsupport/dialogs/qprintdialog.h
+++ b/src/printsupport/dialogs/qprintdialog.h
@@ -106,7 +106,6 @@ Q_SIGNALS:
 
 private:
 #if defined (Q_OS_UNIX) && !defined(Q_OS_MAC)
-    Q_PRIVATE_SLOT(d_func(), void _q_chbPrintLastFirstToggled(bool))
     Q_PRIVATE_SLOT(d_func(), void _q_togglePageSetCombo(bool))
     Q_PRIVATE_SLOT(d_func(), void _q_collapseOrExpandDialog())
 # if !defined(QT_NO_MESSAGEBOX)
diff --git a/src/printsupport/kernel/qprintengine.h b/src/printsupport/kernel/qprintengine.h
index 3993a22..a69fe01 100644
--- a/src/printsupport/kernel/qprintengine.h
+++ b/src/printsupport/kernel/qprintengine.h
@@ -45,6 +45,8 @@
 #include <QtCore/qvariant.h>
 #include <QtPrintSupport/qprinter.h>
 
+Q_DECLARE_METATYPE(QMarginsF)
+
 QT_BEGIN_NAMESPACE
 
 
@@ -85,6 +87,9 @@ public:
         PPK_CopyCount,
         PPK_SupportsMultipleCopies,
         PPK_PaperName,
+        PPK_QPageSize,
+        PPK_QPageMargins,
+        PPK_QPageLayout,
         PPK_PaperSize = PPK_PageSize,
 
         PPK_CustomBase = 0xff00
diff --git a/src/printsupport/kernel/qprinter.h b/src/printsupport/kernel/qprinter.h
index 2528157..fa102d0 100644
--- a/src/printsupport/kernel/qprinter.h
+++ b/src/printsupport/kernel/qprinter.h
@@ -45,6 +45,7 @@
 #include <QtCore/qstring.h>
 #include <QtCore/qscopedpointer.h>
 #include <QtGui/qpagedpaintdevice.h>
+#include <QtGui/qpagelayout.h>
 #include <QtPrintSupport/qtprintsupportglobal.h>
 
 QT_BEGIN_NAMESPACE
@@ -60,6 +61,8 @@ class QPrinterPrivate;
 class QPaintEngine;
 class QPrintEngine;
 class QPrinterInfo;
+class QPageSize;
+class QPageMargins;
 
 class Q_PRINTSUPPORT_EXPORT QPrinter : public QPagedPaintDevice
 {
@@ -75,13 +78,161 @@ public:
 
     enum Orientation { Portrait, Landscape };
 
+    // ### Qt6 Remove in favor of QPage::PageSize
+    // NOTE: Must keep in sync with QPageSize and QPagedPaintDevice
 #ifndef Q_QDOC
     typedef PageSize PaperSize;
 #else
-    enum PaperSize { A4, B5, Letter, Legal, Executive,
-                     A0, A1, A2, A3, A5, A6, A7, A8, A9, B0, B1,
-                     B10, B2, B3, B4, B6, B7, B8, B9, C5E, Comm10E,
-                     DLE, Folio, Ledger, Tabloid, Custom, NPageSize = Custom, NPaperSize = Custom };
+    enum PaperSize {
+        // Existing Qt sizes
+        A4,
+        B5,
+        Letter,
+        Legal,
+        Executive,
+        A0,
+        A1,
+        A2,
+        A3,
+        A5,
+        A6,
+        A7,
+        A8,
+        A9,
+        B0,
+        B1,
+        B10,
+        B2,
+        B3,
+        B4,
+        B6,
+        B7,
+        B8,
+        B9,
+        C5E,
+        Comm10E,
+        DLE,
+        Folio,
+        Ledger,
+        Tabloid,
+        Custom,
+
+        // New values derived from PPD standard
+        A10,
+        A3Extra,
+        A4Extra,
+        A4Plus,
+        A4Small,
+        A5Extra,
+        B5Extra,
+
+        JisB0,
+        JisB1,
+        JisB2,
+        JisB3,
+        JisB4,
+        JisB5,
+        JisB6,
+        JisB7,
+        JisB8,
+        JisB9,
+        JisB10,
+
+        // AnsiA = Letter,
+        // AnsiB = Ledger,
+        AnsiC,
+        AnsiD,
+        AnsiE,
+        LegalExtra,
+        LetterExtra,
+        LetterPlus,
+        LetterSmall,
+        TabloidExtra,
+
+        ArchA,
+        ArchB,
+        ArchC,
+        ArchD,
+        ArchE,
+
+        Imperial7x9,
+        Imperial8x10,
+        Imperial9x11,
+        Imperial9x12,
+        Imperial10x11,
+        Imperial10x13,
+        Imperial10x14,
+        Imperial12x11,
+        Imperial15x11,
+
+        ExecutiveStandard,
+        Note,
+        Quarto,
+        Statement,
+        SuperA,
+        SuperB,
+        Postcard,
+        DoublePostcard,
+        Prc16K,
+        Prc32K,
+        Prc32KBig,
+
+        FanFoldUS,
+        FanFoldGerman,
+        FanFoldGermanLegal,
+
+        EnvelopeB4,
+        EnvelopeB5,
+        EnvelopeB6,
+        EnvelopeC0,
+        EnvelopeC1,
+        EnvelopeC2,
+        EnvelopeC3,
+        EnvelopeC4,
+        // EnvelopeC5 = C5E,
+        EnvelopeC6,
+        EnvelopeC65,
+        EnvelopeC7,
+        // EnvelopeDL = DLE,
+
+        Envelope9,
+        // Envelope10 = Comm10E,
+        Envelope11,
+        Envelope12,
+        Envelope14,
+        EnvelopeMonarch,
+        EnvelopePersonal,
+
+        EnvelopeChou3,
+        EnvelopeChou4,
+        EnvelopeInvite,
+        EnvelopeItalian,
+        EnvelopeKaku2,
+        EnvelopeKaku3,
+        EnvelopePrc1,
+        EnvelopePrc2,
+        EnvelopePrc3,
+        EnvelopePrc4,
+        EnvelopePrc5,
+        EnvelopePrc6,
+        EnvelopePrc7,
+        EnvelopePrc8,
+        EnvelopePrc9,
+        EnvelopePrc10,
+        EnvelopeYou4,
+
+        // Last item, with commonly used synynoms from QPagedPrintEngine / QPrinter
+        LastPageSize = EnvelopeYou4,
+        NPageSize = LastPageSize,
+        NPaperSize = LastPageSize,
+
+        // Convenience overloads for naming consistency
+        AnsiA = Letter,
+        AnsiB = Ledger,
+        EnvelopeC5 = C5E,
+        EnvelopeDL = DLE,
+        Envelope10 = Comm10E
+    };
 #endif
 
     enum PageOrder   { FirstPageFirst,
@@ -103,7 +254,10 @@ public:
                        LargeCapacity,
                        Cassette,
                        FormSource,
-                       MaxPageSource
+                       MaxPageSource, // Deprecated
+                       CustomSource,
+                       LastPaperSource = CustomSource,
+                       Upper = OnlyOne  // As defined in Windows
     };
 
     enum PrinterState { Idle,
@@ -153,6 +307,18 @@ public:
     void setCreator(const QString &);
     QString creator() const;
 
+#ifdef Q_QDOC
+    bool setPageLayout(const QPageLayout &pageLayout);
+    bool setPageSize(const QPageSize &pageSize);
+    bool setPageOrientation(QPageLayout::Orientation orientation);
+    bool setPageMargins(const QMarginsF &margins);
+    bool setPageMargins(const QMarginsF &margins, QPageLayout::Unit units);
+    QPageLayout pageLayout() const;
+#else
+    using QPagedPaintDevice::setPageSize;
+    using QPagedPaintDevice::setPageMargins;
+#endif
+
     void setOrientation(Orientation);
     Orientation orientation() const;
 
@@ -212,20 +378,16 @@ public:
     void setDoubleSidedPrinting(bool enable);
     bool doubleSidedPrinting() const;
 
-#ifdef Q_OS_WIN
     void setWinPageSize(int winPageSize);
     int winPageSize() const;
-#endif
 
     QRect paperRect() const;
     QRect pageRect() const;
     QRectF paperRect(Unit) const;
     QRectF pageRect(Unit) const;
 
-#if !defined(Q_OS_WIN) || defined(Q_QDOC)
     QString printerSelectionOption() const;
     void setPrinterSelectionOption(const QString &);
-#endif
 
     bool newPage();
     bool abort();
diff --git a/src/printsupport/kernel/qprinterinfo.h b/src/printsupport/kernel/qprinterinfo.h
index 0dc19c1..73ec48d 100644
--- a/src/printsupport/kernel/qprinterinfo.h
+++ b/src/printsupport/kernel/qprinterinfo.h
@@ -42,9 +42,11 @@
 #ifndef QPRINTERINFO_H
 #define QPRINTERINFO_H
 
+#include <QtPrintSupport/qprinter.h>
+
 #include <QtCore/QList>
 #include <QtCore/QPair>
-#include <QtPrintSupport/QPrinter>
+#include <QtGui/qpagesize.h>
 
 QT_BEGIN_NAMESPACE
 
@@ -69,12 +71,31 @@ public:
 
     bool isNull() const;
     bool isDefault() const;
+    bool isRemote() const;
+
+    QPrinter::PrinterState state() const;
+
+    QList<QPageSize> supportedPageSizes() const;
+    QPageSize defaultPageSize() const;
+
+    bool supportsCustomPageSizes() const;
 
-    QList<QPrinter::PaperSize> supportedPaperSizes() const;
-    QList<QPair<QString, QSizeF> > supportedSizesWithNames() const;
+    QPageSize minimumPhysicalPageSize() const;
+    QPageSize maximumPhysicalPageSize() const;
 
+#if QT_DEPRECATED_SINCE(5,3)
+    QT_DEPRECATED QList<QPrinter::PaperSize> supportedPaperSizes() const;
+    QT_DEPRECATED QList<QPair<QString, QSizeF> > supportedSizesWithNames() const;
+#endif // QT_DEPRECATED_SINCE(5,3)
+
+    QList<int> supportedResolutions() const;
+
+    static QStringList availablePrinterNames();
     static QList<QPrinterInfo> availablePrinters();
+
+    static QString defaultPrinterName();
     static QPrinterInfo defaultPrinter();
+
     static QPrinterInfo printerInfo(const QString &printerName);
 
 private:
_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to