path: root/src/printsupport/kernel/qprintengine_pdf_p.h
diff options
authorJohn Layt <>2012-05-09 23:47:14 +0100
committerQt by Nokia <>2012-05-31 17:40:55 +0200
commitf70924e9ccc016b979bc74bba156600639184be7 (patch)
treea470d6ac093035526cbc3840e0588d33c003e05f /src/printsupport/kernel/qprintengine_pdf_p.h
parent704bd686315deeaf86a15d1eb37af56b0b0e184b (diff)
QtPrintSupport: Add CUPS printsupport plugin
Move CUPS code around to create a new CUPS printsupport plugin, this fixes QPrinterInfo for CUPS which depends on the plugin to work. It QT_NO_CUPS is defined then the plugin is not built and only Print to PDF is supported under Linux. * Move unused genericiunixprintersupport plugin to start new CUPS printsupport plugin * Split QPdfPrintEngine to create QCupsPrintEngine * Remove LPR related code from QPdfPrintEngine * Move CUPS specific code from plugin base class to derived CUPS class * Remove forcing CUPS print engine to use PDF mode as PDF is now Native * Move qt_getCupsPrinterPaperSizes from qprinterinfo_unix to QCUPSSupport * Remove qprinterinfo_unix as no longer used * Remove all QT_NO_LPR uses There is now no CUPS specific code left in printsupport/kernel except QCUPSSupport which is needed for the dialogs. Task-number: QTBUG-23060 Change-Id: Ie8fa4512a2424edc8943068e0fa9fb714cc42db9 Reviewed-by: Teemu Katajisto <> Reviewed-by: Lars Knoll <> Reviewed-by: John Layt <>
Diffstat (limited to 'src/printsupport/kernel/qprintengine_pdf_p.h')
1 files changed, 13 insertions, 16 deletions
diff --git a/src/printsupport/kernel/qprintengine_pdf_p.h b/src/printsupport/kernel/qprintengine_pdf_p.h
index 52ade83b43..ec1c90e363 100644
--- a/src/printsupport/kernel/qprintengine_pdf_p.h
+++ b/src/printsupport/kernel/qprintengine_pdf_p.h
@@ -79,11 +79,6 @@ class QRegion;
class QFile;
class QPdfPrintEngine;
-#define PPK_CupsOptions QPrintEngine::PrintEnginePropertyKey(0xfe00)
-#define PPK_CupsPageRect QPrintEngine::PrintEnginePropertyKey(0xfe01)
-#define PPK_CupsPaperRect QPrintEngine::PrintEnginePropertyKey(0xfe02)
-#define PPK_CupsStringPageSize QPrintEngine::PrintEnginePropertyKey(0xfe03)
namespace QPdf {
struct PaperSize {
@@ -95,7 +90,7 @@ namespace QPdf {
class QPdfPrintEnginePrivate;
-class QPdfPrintEngine : public QPdfEngine, public QPrintEngine
+class Q_PRINTSUPPORT_EXPORT QPdfPrintEngine : public QPdfEngine, public QPrintEngine
@@ -113,36 +108,40 @@ public:
bool newPage();
int metric(QPaintDevice::PaintDeviceMetric) const;
- void setProperty(PrintEnginePropertyKey key, const QVariant &value);
- QVariant property(PrintEnginePropertyKey key) const;
+ virtual void setProperty(PrintEnginePropertyKey key, const QVariant &value);
+ virtual QVariant property(PrintEnginePropertyKey key) const;
// end reimplementations QPrintEngine
QPrinter::PrinterState state;
+ QPdfPrintEngine(QPdfPrintEnginePrivate &p);
-class QPdfPrintEnginePrivate : public QPdfEnginePrivate
+class Q_PRINTSUPPORT_EXPORT QPdfPrintEnginePrivate : public QPdfEnginePrivate
QPdfPrintEnginePrivate(QPrinter::PrinterMode m);
- bool openPrintDevice();
- void closePrintDevice();
+ virtual bool openPrintDevice();
+ virtual void closePrintDevice();
- void updatePaperSize();
+ virtual void updatePaperSize();
+ friend class QCupsPrintEngine;
+ friend class QCupsPrintEnginePrivate;
QString printerName;
QString printProgram;
QString selectionOption;
- QStringList cupsOptions;
- QString cupsStringPageSize;
QPrinter::DuplexMode duplex;
bool collate;
@@ -151,8 +150,6 @@ private:
QPrinter::PaperSource paperSource;
QPrinter::PaperSize printerPaperSize;
- QRect cupsPaperRect;
- QRect cupsPageRect;
QSizeF customPaperSize; // in postscript points
int fd;