diff options
Diffstat (limited to 'src/printsupport')
-rw-r--r-- | src/printsupport/kernel/qplatformprintersupport.h | 6 | ||||
-rw-r--r-- | src/printsupport/kernel/qplatformprintersupport_qpa.cpp | 16 | ||||
-rw-r--r-- | src/printsupport/kernel/qprinterinfo.h | 3 | ||||
-rw-r--r-- | src/printsupport/kernel/qprinterinfo_p.h | 10 |
4 files changed, 18 insertions, 17 deletions
diff --git a/src/printsupport/kernel/qplatformprintersupport.h b/src/printsupport/kernel/qplatformprintersupport.h index 910eafacb6..074405f0cd 100644 --- a/src/printsupport/kernel/qplatformprintersupport.h +++ b/src/printsupport/kernel/qplatformprintersupport.h @@ -79,8 +79,10 @@ public: static QSizeF convertPaperSizeToQSizeF(QPrinter::PaperSize paperSize); protected: - static void setPrinterInfoDefault(QPrinterInfo *p, bool isDefault); - static bool printerInfoIsDefault(const QPrinterInfo &p); + static int printerIndex(const QPrinterInfo &printer); + static QPrinterInfo createPrinterInfo(const QString &name, const QString &description, + const QString &location, const QString &makeAndModel, + bool isDefault, int index); }; #endif // QT_NO_PRINTER diff --git a/src/printsupport/kernel/qplatformprintersupport_qpa.cpp b/src/printsupport/kernel/qplatformprintersupport_qpa.cpp index 7bf2b291d0..d6ffd9b7fc 100644 --- a/src/printsupport/kernel/qplatformprintersupport_qpa.cpp +++ b/src/printsupport/kernel/qplatformprintersupport_qpa.cpp @@ -107,14 +107,22 @@ QPrinterInfo QPlatformPrinterSupport::printerInfo(const QString &printerName) return QPrinterInfo(); } -void QPlatformPrinterSupport::setPrinterInfoDefault(QPrinterInfo *p, bool isDefault) +int QPlatformPrinterSupport::printerIndex(const QPrinterInfo &printer) { - p->d_func()->isDefault = isDefault; + return printer.d_func()->index; } -bool QPlatformPrinterSupport::printerInfoIsDefault(const QPrinterInfo &p) +QPrinterInfo QPlatformPrinterSupport::createPrinterInfo(const QString &name, const QString &description, + const QString &location, const QString &makeAndModel, + bool isDefault, int index) { - return p.d_func()->isDefault; + QPrinterInfo printer(name); + printer.d_func()->description = description; + printer.d_func()->location = location; + printer.d_func()->makeAndModel = makeAndModel; + printer.d_func()->isDefault = isDefault; + printer.d_func()->index = index; + return printer; } /* diff --git a/src/printsupport/kernel/qprinterinfo.h b/src/printsupport/kernel/qprinterinfo.h index 9370890639..44ca1fcae2 100644 --- a/src/printsupport/kernel/qprinterinfo.h +++ b/src/printsupport/kernel/qprinterinfo.h @@ -83,9 +83,6 @@ private: private: friend class QPlatformPrinterSupport; - friend class QWindowsPrinterSupport; - friend class QCocoaPrinterSupport; - friend class QCupsPrinterSupport; Q_DECLARE_PRIVATE(QPrinterInfo) QScopedPointer<QPrinterInfoPrivate, QPrinterInfoPrivateDeleter> d_ptr; }; diff --git a/src/printsupport/kernel/qprinterinfo_p.h b/src/printsupport/kernel/qprinterinfo_p.h index 6e1c088f79..97f0986b66 100644 --- a/src/printsupport/kernel/qprinterinfo_p.h +++ b/src/printsupport/kernel/qprinterinfo_p.h @@ -65,11 +65,7 @@ class QPrinterInfoPrivate { public: QPrinterInfoPrivate(const QString& name = QString()) : - name(name), isDefault(false) -#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY) - , cupsPrinterIndex(0) -#endif - , hasPaperSizes(false) + name(name), isDefault(false), index(-1), hasPaperSizes(false) {} ~QPrinterInfoPrivate() {} @@ -81,10 +77,8 @@ public: QString location; QString makeAndModel; bool isDefault; + int index; // Internal printer plugin use only -#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY) - int cupsPrinterIndex; -#endif mutable bool hasPaperSizes; mutable QList<QPrinter::PaperSize> paperSizes; }; |