diff options
author | Michael Stahl <mstahl@redhat.com> | 2014-02-18 18:07:37 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2014-02-18 22:56:51 +0100 |
commit | c76cd71fe9bdefaef3f33f8ca193c32e3ab112ed (patch) | |
tree | 8d9b0e2e637a0df6c37321af63b05a2844b9a317 /vcl/generic/print/genprnpsp.cxx | |
parent | 6058a238fceba2e856e0f52c0438a480cb7cb59f (diff) |
fdo#41524: CUPS printing: use "collate" option when PDF is available
Assume that the CUPS printer is able to handle collating by itself,
don't send multiple print jobs (except if user clicks on "Create single
print jobs for collated output" of course...).
To enable collating with PDF based printers, add the "collate" option;
legacy PS based printers still get the weird stuff read from the PPD
(not sure what the risks of changing that are).
Change-Id: Ia12dc69f9083bba94f2ed633ecbd153aac7e40ab
Diffstat (limited to 'vcl/generic/print/genprnpsp.cxx')
-rw-r--r-- | vcl/generic/print/genprnpsp.cxx | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/vcl/generic/print/genprnpsp.cxx b/vcl/generic/print/genprnpsp.cxx index bf38ef0fe8b3..fca730d4ad4a 100644 --- a/vcl/generic/print/genprnpsp.cxx +++ b/vcl/generic/print/genprnpsp.cxx @@ -808,16 +808,9 @@ sal_uLong PspSalInfoPrinter::GetCapabilities( const ImplJobSetup* pJobSetup, sal return 0xffff; case PRINTER_CAPABILITIES_COLLATECOPIES: { - // see if the PPD contains a value to set Collate to True - JobData aData; - JobData::constructFromStreamBuffer( pJobSetup->mpDriverData, pJobSetup->mnDriverDataLen, aData ); - - const PPDKey* pKey = aData.m_pParser ? aData.m_pParser->getKey( OUString("Collate") ) : NULL; - const PPDValue* pVal = pKey ? pKey->getValue(OUString("True")) : NULL; - // PPDs don't mention the number of possible collated copies. // so let's guess as many as we want ? - return pVal ? 0xffff : 0; + return 0xffff; } case PRINTER_CAPABILITIES_SETORIENTATION: return 1; @@ -836,7 +829,7 @@ sal_uLong PspSalInfoPrinter::GetCapabilities( const ImplJobSetup* pJobSetup, sal return 1; else { - // see if the PPD contains a value to set Collate to True + // see if the PPD contains a value to set PDF device JobData aData = PrinterInfoManager::get().getPrinterInfo( pJobSetup->maPrinterName ); if( pJobSetup->mpDriverData ) JobData::constructFromStreamBuffer( pJobSetup->mpDriverData, pJobSetup->mnDriverDataLen, aData ); @@ -846,7 +839,7 @@ sal_uLong PspSalInfoPrinter::GetCapabilities( const ImplJobSetup* pJobSetup, sal return PrinterInfoManager::get().checkFeatureToken( pJobSetup->maPrinterName, "external_dialog" ) ? 1 : 0; case PRINTER_CAPABILITIES_USEPULLMODEL: { - // see if the PPD contains a value to set Collate to True + // see if the PPD contains a value to set PDF device JobData aData = PrinterInfoManager::get().getPrinterInfo( pJobSetup->maPrinterName ); if( pJobSetup->mpDriverData ) JobData::constructFromStreamBuffer( pJobSetup->mpDriverData, pJobSetup->mnDriverDataLen, aData ); |