[Libreoffice-commits] .: vcl/generic vcl/inc vcl/unx
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Wed Jan 9 04:50:44 PST 2013
vcl/generic/print/genprnpsp.cxx | 1 +
vcl/inc/vcl/jobdata.hxx | 3 ++-
vcl/unx/generic/printer/jobdata.cxx | 8 +++++++-
3 files changed, 10 insertions(+), 2 deletions(-)
New commits:
commit 9c4d77f22d58f5b500c95f65a431628a8d8d6e6e
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Jan 9 12:44:09 2013 +0000
Resolves: fdo#59131 resolve default backend on printer->setup
For setting permanent defaults via spadmin we don't want to resolve the
default backend on saving "default", this happens during the print
initialization stuff.
But when we tweak the printer settings for a single print job and reset back to
default, we need to resolve that to what backend we want
Change-Id: Iac2370624b6d248c9658fb0fbc2f2d449849d81a
diff --git a/vcl/generic/print/genprnpsp.cxx b/vcl/generic/print/genprnpsp.cxx
index 9949eae..6800e01 100644
--- a/vcl/generic/print/genprnpsp.cxx
+++ b/vcl/generic/print/genprnpsp.cxx
@@ -584,6 +584,7 @@ sal_Bool PspSalInfoPrinter::Setup( SalFrame* pFrame, ImplJobSetup* pJobSetup )
if( pSetupFunction( aInfo ) )
{
+ aInfo.resolveDefaultBackend();
rtl_freeMemory( pJobSetup->mpDriverData );
pJobSetup->mpDriverData = NULL;
diff --git a/vcl/inc/vcl/jobdata.hxx b/vcl/inc/vcl/jobdata.hxx
index 577e0fa..3f81877 100644
--- a/vcl/inc/vcl/jobdata.hxx
+++ b/vcl/inc/vcl/jobdata.hxx
@@ -68,7 +68,8 @@ struct VCL_DLLPUBLIC JobData
void setCollate( bool bCollate );
bool setPaper( int nWidth, int nHeight ); // dimensions in pt
bool setPaperBin( int nPaperBin ); // dimensions in pt
- void setDefaultBackend( bool bUsePDF );
+ void resolveDefaultBackend();
+ void setDefaultBackend(bool bUsePDF);
// creates a new buffer using new
// it is up to the user to delete it again
diff --git a/vcl/unx/generic/printer/jobdata.cxx b/vcl/unx/generic/printer/jobdata.cxx
index 385ed02..c55f64a 100644
--- a/vcl/unx/generic/printer/jobdata.cxx
+++ b/vcl/unx/generic/printer/jobdata.cxx
@@ -18,9 +18,9 @@
*/
+#include <officecfg/Office/Common.hxx>
#include "vcl/jobdata.hxx"
#include "vcl/printerinfomanager.hxx"
-
#include "tools/stream.hxx"
#include <sal/alloca.h>
@@ -269,6 +269,12 @@ bool JobData::constructFromStreamBuffer( void* pData, int bytes, JobData& rJobDa
return bVersion && bPrinter && bOrientation && bCopies && bContext && bMargin && bPSLevel && bPDFDevice && bColorDevice && bColorDepth;
}
+void JobData::resolveDefaultBackend()
+{
+ if (m_nPSLevel == 0 && m_nPDFDevice == 0)
+ setDefaultBackend(officecfg::Office::Common::Print::Option::Printer::PDFAsStandardPrintJobFormat::get());
+}
+
void JobData::setDefaultBackend(bool bUsePDF)
{
if (bUsePDF && m_nPSLevel == 0 && m_nPDFDevice == 0)
More information about the Libreoffice-commits
mailing list