summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorJohn Layt <jlayt@kde.org>2012-06-01 20:33:53 +0100
committerQt by Nokia <qt-info@nokia.com>2012-06-08 13:33:50 +0200
commit271b484b0081e0f97a97b3e2e7ea5bee02f43ae8 (patch)
tree64b3f9b1b84ba2b7c0819cd409ed743b5f572405 /src/plugins
parent2922f85e707ad086025149fdb7cb1e2608b9e7b2 (diff)
QtPrintSupport: Move plugin access of QPrinterInfo internals to base
Move all plugin methods requiring access to QPrinterInfo internals into the plugin base class, and remove the plugin classes as friends from QPrinterInfo. Change-Id: Ic527efc681e198abf19e038dd77c36bb8017d049 Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com> Reviewed-by: John Layt <jlayt@kde.org>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/cocoa/qcocoaprintersupport.mm19
-rw-r--r--src/plugins/printsupport/cups/qcupsprintersupport.cpp16
-rw-r--r--src/plugins/printsupport/cups/qcupsprintersupport_p.h2
-rw-r--r--src/plugins/printsupport/windows/qwindowsprintersupport.cpp6
4 files changed, 13 insertions, 30 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoaprintersupport.mm b/src/plugins/platforms/cocoa/qcocoaprintersupport.mm
index b77d5a20ea..ed436844cb 100644
--- a/src/plugins/platforms/cocoa/qcocoaprintersupport.mm
+++ b/src/plugins/platforms/cocoa/qcocoaprintersupport.mm
@@ -128,14 +128,13 @@ QPrinterInfo QCocoaPrinterSupport::printerInfoFromPMPrinter(const PMPrinter &pri
if (!printer)
return QPrinterInfo();
- QPrinterInfo pi = QPrinterInfo(QCFString::toQString(PMPrinterGetID(printer)));
-
- pi.d_func()->description = QCFString::toQString(PMPrinterGetName(printer));
- pi.d_func()->location = QCFString::toQString(PMPrinterGetLocation(printer));
- CFStringRef makeAndModel;
- PMPrinterGetMakeAndModelName(printer, &makeAndModel);
- pi.d_func()->makeAndModel = QCFString::toQString(makeAndModel);
- pi.d_func()->isDefault = PMPrinterIsDefault(printer);
-
- return pi;
+ QString name = QCFString::toQString(PMPrinterGetID(printer));
+ QString description = QCFString::toQString(PMPrinterGetName(printer));
+ QString location = QCFString::toQString(PMPrinterGetLocation(printer));
+ CFStringRef cfMakeAndModel;
+ PMPrinterGetMakeAndModelName(printer, &cfMakeAndModel);
+ QString makeAndModel = QCFString::toQString(cfMakeAndModel);
+ bool isDefault = PMPrinterIsDefault(printer);
+
+ return createPrinterInfo(name, description, location, makeAndModel, isDefault, 0);
}
diff --git a/src/plugins/printsupport/cups/qcupsprintersupport.cpp b/src/plugins/printsupport/cups/qcupsprintersupport.cpp
index 279c26ad72..83d4068d16 100644
--- a/src/plugins/printsupport/cups/qcupsprintersupport.cpp
+++ b/src/plugins/printsupport/cups/qcupsprintersupport.cpp
@@ -71,29 +71,17 @@ QPaintEngine *QCupsPrinterSupport::createPaintEngine(QPrintEngine *engine, QPrin
QList<QPrinter::PaperSize> QCupsPrinterSupport::supportedPaperSizes(const QPrinterInfo &printerInfo) const
{
- return QCUPSSupport::getCupsPrinterPaperSizes(printerInfoCupsPrinterIndex(printerInfo));
+ return QCUPSSupport::getCupsPrinterPaperSizes(printerIndex(printerInfo));
}
QList<QPrinterInfo> QCupsPrinterSupport::availablePrinters()
{
QList<QPrinterInfo> printers;
foreach (const QCUPSSupport::Printer &p, QCUPSSupport::availableUnixPrinters()) {
- QPrinterInfo printer(p.name);
- printer.d_func()->isDefault = p.isDefault;
- setPrinterInfoCupsPrinterIndex(&printer, p.cupsPrinterIndex);
+ QPrinterInfo printer = createPrinterInfo(p.name, QString(), QString(), QString(), p.isDefault, p.cupsPrinterIndex);
printers.append(printer);
}
return printers;
}
-int QCupsPrinterSupport::printerInfoCupsPrinterIndex(const QPrinterInfo &p)
-{
- return p.isNull() ? -1 : p.d_func()->cupsPrinterIndex;
-}
-
-void QCupsPrinterSupport::setPrinterInfoCupsPrinterIndex(QPrinterInfo *p, int index)
-{
- p->d_func()->cupsPrinterIndex = index;
-}
-
QT_END_NAMESPACE
diff --git a/src/plugins/printsupport/cups/qcupsprintersupport_p.h b/src/plugins/printsupport/cups/qcupsprintersupport_p.h
index 81887e3dd8..13b65a5cb5 100644
--- a/src/plugins/printsupport/cups/qcupsprintersupport_p.h
+++ b/src/plugins/printsupport/cups/qcupsprintersupport_p.h
@@ -60,8 +60,6 @@ public:
virtual QList<QPrinterInfo> availablePrinters();
private:
- static int printerInfoCupsPrinterIndex(const QPrinterInfo &p);
- static void setPrinterInfoCupsPrinterIndex(QPrinterInfo *p, int index);
};
QT_END_NAMESPACE
diff --git a/src/plugins/printsupport/windows/qwindowsprintersupport.cpp b/src/plugins/printsupport/windows/qwindowsprintersupport.cpp
index 476889890d..3715aa1da9 100644
--- a/src/plugins/printsupport/windows/qwindowsprintersupport.cpp
+++ b/src/plugins/printsupport/windows/qwindowsprintersupport.cpp
@@ -64,10 +64,8 @@ QWindowsPrinterSupport::QWindowsPrinterSupport()
QWin32PrintEngine::queryDefaultPrinter(defaultPrinterName, program, port);
for (uint i = 0; i < returned; ++i) {
QString printerName(QString::fromWCharArray(infoList[i].pPrinterName));
-
- QPrinterInfo printerInfo(printerName);
- if (printerInfo.printerName() == defaultPrinterName)
- printerInfo.d_ptr->isDefault = true;
+ bool isDefault = (printerName == defaultPrinterName);
+ QPrinterInfo printerInfo = createPrinterInfo(printerName, QString(), QString(), QString(), isDefault, i);
mPrinterList.append(printerInfo);
}
}