From ea3f8ff6d0d1551a44b0c1a892470d9d48ebb858 Mon Sep 17 00:00:00 2001 From: Martin Klapetek Date: Wed, 11 Sep 2013 21:02:42 +0200 Subject: Add CUPS Banner Pages options to print support Adds a way to set standard CUPS Banner Pages. This widget is part of the Job Options widget/tab in Properties dialog. [ChangeLog][QtPrintSupport][QPrintDialog] Added support for setting CUPS Banner pages in the print dialog. Change-Id: Ia7a22b7a0f51c12d170986caee61af7109e781e9 Reviewed-by: John Layt --- src/printsupport/kernel/qcups.cpp | 57 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'src/printsupport/kernel/qcups.cpp') diff --git a/src/printsupport/kernel/qcups.cpp b/src/printsupport/kernel/qcups.cpp index 332245cc21..cf71e92e95 100644 --- a/src/printsupport/kernel/qcups.cpp +++ b/src/printsupport/kernel/qcups.cpp @@ -433,6 +433,63 @@ void QCUPSSupport::setJobPriority(QPrinter *printer, int priority) setCupsOptions(printer, cupsOptions); } +void QCUPSSupport::setBannerPages(QPrinter *printer, const BannerPage startBannerPage, const BannerPage endBannerPage) +{ + QStringList cupsOptions = cupsOptionsList(printer); + QString startBanner, endBanner; + + switch (startBannerPage) { + case NoBanner: + startBanner = QStringLiteral("none"); + break; + case Standard: + startBanner = QStringLiteral("standard"); + break; + case Unclassified: + startBanner = QStringLiteral("unclassified"); + break; + case Confidential: + startBanner = QStringLiteral("confidential"); + break; + case Classified: + startBanner = QStringLiteral("classified"); + break; + case Secret: + startBanner = QStringLiteral("secret"); + break; + case TopSecret: + startBanner = QStringLiteral("topsecret"); + break; + } + + switch (endBannerPage) { + case NoBanner: + endBanner = QStringLiteral("none"); + break; + case Standard: + endBanner = QStringLiteral("standard"); + break; + case Unclassified: + endBanner = QStringLiteral("unclassified"); + break; + case Confidential: + endBanner = QStringLiteral("confidential"); + break; + case Classified: + endBanner = QStringLiteral("classified"); + break; + case Secret: + endBanner = QStringLiteral("secret"); + break; + case TopSecret: + endBanner = QStringLiteral("topsecret"); + break; + } + + setCupsOption(cupsOptions, QStringLiteral("job-sheets"), startBanner + QLatin1Char(',') + endBanner); + setCupsOptions(printer, cupsOptions); +} + bool QCUPSSupport::printerHasPPD(const char *printerName) { if (!isAvailable()) -- cgit v1.2.3