summaryrefslogtreecommitdiffstats
path: root/src/plugins/printsupport/windows/qwindowsprintersupport.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/printsupport/windows/qwindowsprintersupport.cpp')
-rw-r--r--src/plugins/printsupport/windows/qwindowsprintersupport.cpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/plugins/printsupport/windows/qwindowsprintersupport.cpp b/src/plugins/printsupport/windows/qwindowsprintersupport.cpp
index 9444038997..c5c60ae5cc 100644
--- a/src/plugins/printsupport/windows/qwindowsprintersupport.cpp
+++ b/src/plugins/printsupport/windows/qwindowsprintersupport.cpp
@@ -58,12 +58,13 @@ QWindowsPrinterSupport::QWindowsPrinterSupport()
LPBYTE buffer = new BYTE[needed];
if (EnumPrinters(PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS, NULL, 4, buffer, needed, &needed, &returned)) {
PPRINTER_INFO_4 infoList = reinterpret_cast<PPRINTER_INFO_4>(buffer);
- QPrinterInfo defPrn = defaultPrinter();
+ QString defaultPrinterName;
+ QWin32PrintEngine::queryDefaultPrinter(defaultPrinterName, QString(), QString());
for (uint i = 0; i < returned; ++i) {
QString printerName(QString::fromWCharArray(infoList[i].pPrinterName));
QPrinterInfo printerInfo(printerName);
- if (printerInfo.printerName() == defPrn.printerName())
+ if (printerInfo.printerName() == defaultPrinterName)
printerInfo.d_ptr->isDefault = true;
mPrinterList.append(printerInfo);
}
@@ -87,15 +88,9 @@ QPaintEngine *QWindowsPrinterSupport::createPaintEngine(QPrintEngine *engine, QP
return static_cast<QWin32PrintEngine *>(engine);
}
-QList<QPrinter::PaperSize> QWindowsPrinterSupport::supportedPaperSizes(const QPrinterInfo &) const
+QList<QPrinter::PaperSize> QWindowsPrinterSupport::supportedPaperSizes(const QPrinterInfo &printerInfo) const
{
- QList<QPrinter::PaperSize> returnList;
- foreach (const QPrinterInfo &info, mPrinterList) {
- foreach (const QPrinter::PaperSize supportedSize, info.supportedPaperSizes())
- if (!returnList.contains(supportedSize))
- returnList.append(supportedSize);
- }
- return returnList;
+ return QWin32PrintEngine::supportedPaperSizes(printerInfo);
}
QList<QPrinterInfo> QWindowsPrinterSupport::availablePrinters()