summaryrefslogtreecommitdiffstats
path: root/src/printsupport
diff options
context:
space:
mode:
Diffstat (limited to 'src/printsupport')
-rw-r--r--src/printsupport/kernel/qplatformprintersupport.h6
-rw-r--r--src/printsupport/kernel/qplatformprintersupport_qpa.cpp16
-rw-r--r--src/printsupport/kernel/qprinterinfo.h3
-rw-r--r--src/printsupport/kernel/qprinterinfo_p.h10
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;
};