summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Layt <jlayt@kde.org>2014-01-17 16:45:18 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-05 19:34:03 +0100
commit5af95d077bc7bcb1633d81686d324d167746040b (patch)
tree71f96ae7b7f548b47b358eed4c6d98edadee9d88
parent27c33a8f7a9469fd8b55de62b11e0b6b868636c5 (diff)
QPrinter - Fix Printer Selection option on Windows
Make the printer selection option api public on Windows to be consistent with Mac, and with the print program api which is already public. Change-Id: I3da9684288348eaa43276ca8534a1d5809f7027b Reviewed-by: Lars Knoll <lars.knoll@digia.com>
-rw-r--r--src/printsupport/kernel/qprinter.cpp22
-rw-r--r--src/printsupport/kernel/qprinter.h2
-rw-r--r--tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp8
3 files changed, 13 insertions, 19 deletions
diff --git a/src/printsupport/kernel/qprinter.cpp b/src/printsupport/kernel/qprinter.cpp
index 77fa40f414..366e3bc844 100644
--- a/src/printsupport/kernel/qprinter.cpp
+++ b/src/printsupport/kernel/qprinter.cpp
@@ -1828,11 +1828,17 @@ QList<QPrinter::PaperSource> QPrinter::supportedPaperSources() const
Any other value implies that the given value should be used.
- \warning This function is not available on Windows.
+ This function always returns an empty string on Windows and Mac.
- \sa setPrinterSelectionOption()
+ \sa setPrinterSelectionOption(), setPrintProgram()
*/
+QString QPrinter::printerSelectionOption() const
+{
+ Q_D(const QPrinter);
+ return d->printEngine->property(QPrintEngine::PPK_SelectionOption).toString();
+}
+
/*!
\fn void QPrinter::setPrinterSelectionOption(const QString &option)
@@ -1844,24 +1850,16 @@ QList<QPrinter::PaperSource> QPrinter::supportedPaperSources() const
If the printer selection option is changed while the printer is
active, the current print job may or may not be affected.
- \warning This function is not available on Windows.
+ This function has no effect on Windows or Mac.
- \sa printerSelectionOption()
+ \sa printerSelectionOption(), setPrintProgram()
*/
-#ifndef Q_OS_WIN
-QString QPrinter::printerSelectionOption() const
-{
- Q_D(const QPrinter);
- return d->printEngine->property(QPrintEngine::PPK_SelectionOption).toString();
-}
-
void QPrinter::setPrinterSelectionOption(const QString &option)
{
Q_D(QPrinter);
d->setProperty(QPrintEngine::PPK_SelectionOption, option);
}
-#endif
/*!
\since 4.1
diff --git a/src/printsupport/kernel/qprinter.h b/src/printsupport/kernel/qprinter.h
index d529c06b4d..54047c0c32 100644
--- a/src/printsupport/kernel/qprinter.h
+++ b/src/printsupport/kernel/qprinter.h
@@ -227,10 +227,8 @@ public:
QRectF paperRect(Unit) const;
QRectF pageRect(Unit) const;
-#if !defined(Q_OS_WIN) || defined(Q_QDOC)
QString printerSelectionOption() const;
void setPrinterSelectionOption(const QString &);
-#endif
bool newPage();
bool abort();
diff --git a/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp b/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp
index d3ccb229fc..9571cb4110 100644
--- a/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp
+++ b/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp
@@ -1643,10 +1643,9 @@ void tst_QPrinter::printerSelectionOption()
// printerSelectionOption() / setPrinterSelectionOption() / PPK_SelectionOption
// PdfFormat: Supported
// NativeFormat, Cups: Supported
- // NativeFormat, Win: Unsupported, ifdef'd out TODO remove ifdef, always QString()
+ // NativeFormat, Win: Unsupported, always QString()
// NativeFormat, Mac: Unsupported, always QString()
-#ifndef Q_OS_WIN
QPrinter pdf;
pdf.setOutputFormat(QPrinter::PdfFormat);
QCOMPARE(pdf.printerSelectionOption(), QString());
@@ -1661,9 +1660,9 @@ void tst_QPrinter::printerSelectionOption()
// Test set/get
QString expected = QStringLiteral("Optional option");
native.setPrinterSelectionOption(expected);
-#ifdef Q_OS_MAC
+#if defined Q_OS_MAC || defined Q_OS_WIN
expected.clear();
-#endif // Q_OS_MAC
+#endif // Q_OS_MAC || Q_OS_WIN
QCOMPARE(native.printerSelectionOption(), expected);
// Test value preservation
@@ -1674,7 +1673,6 @@ void tst_QPrinter::printerSelectionOption()
} else {
QSKIP("No printers installed, cannot test NativeFormat, please install printers to test");
}
-#endif // Q_OS_WIN
}
void tst_QPrinter::resolution()