summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Sherlock <chris.sherlock79@gmail.com>2017-03-30 22:41:44 +1100
committerChris Sherlock <chris.sherlock79@gmail.com>2017-04-02 15:26:53 +1000
commitd5d67b92282d9b4b28099671d439854981760911 (patch)
tree88633d7f032bb833f814250d623b650144bbc52b
parent8c5afcc47eb5ea4f2db4a7fa2482b20f9c2c1250 (diff)
vcl: merge PrinterInfo into JobData
Change-Id: I9c75557ca992c295d224d8912b6bb250679f7893
-rw-r--r--include/vcl/jobdata.hxx18
-rw-r--r--include/vcl/printerinfomanager.hxx43
-rw-r--r--vcl/headless/svpprn.cxx6
-rw-r--r--vcl/null/printerinfomanager.cxx4
-rw-r--r--vcl/unx/generic/print/common_gfx.cxx4
-rw-r--r--vcl/unx/generic/print/genprnpsp.cxx12
-rw-r--r--vcl/unx/generic/print/prtsetup.cxx4
-rw-r--r--vcl/unx/generic/print/prtsetup.hxx8
-rw-r--r--vcl/unx/generic/printer/cupsmgr.cxx8
-rw-r--r--vcl/unx/generic/printer/jobdata.cxx2
-rw-r--r--vcl/unx/generic/printer/printerinfomanager.cxx14
11 files changed, 58 insertions, 65 deletions
diff --git a/include/vcl/jobdata.hxx b/include/vcl/jobdata.hxx
index 311351894a94..7b7f6ccac8a0 100644
--- a/include/vcl/jobdata.hxx
+++ b/include/vcl/jobdata.hxx
@@ -47,6 +47,21 @@ struct VCL_DLLPUBLIC JobData
const PPDParser* m_pParser;
PPDContext m_aContext;
+ // basename of PPD
+ OUString m_aDriverName;
+ // can be the queue
+ OUString m_aLocation;
+ // a user defined comment
+ OUString m_aComment;
+ // a command line to pipe a PS-file to
+ OUString m_aCommand;
+ // a command line to pipe a PS-file to in case of direct print
+ OUString m_aQuickCommand;
+ // a list of special features separated by ',' not used by psprint
+ // but assigned from the outside (currently for "fax","pdf=","autoqueue","external_dialog")
+ OUString m_aFeatures;
+ bool m_bPapersizeFromSetup;
+
JobData() :
m_nCopies( 1 ),
m_bCollate(false),
@@ -59,7 +74,8 @@ struct VCL_DLLPUBLIC JobData
m_nColorDevice( 0 ),
m_nPDFDevice( 0 ),
m_eOrientation( orientation::Portrait ),
- m_pParser( nullptr ) {}
+ m_pParser( nullptr ),
+ m_bPapersizeFromSetup(false) {}
JobData& operator=(const psp::JobData& rRight);
diff --git a/include/vcl/printerinfomanager.hxx b/include/vcl/printerinfomanager.hxx
index f80633945b23..738bba14f17d 100644
--- a/include/vcl/printerinfomanager.hxx
+++ b/include/vcl/printerinfomanager.hxx
@@ -35,29 +35,6 @@ namespace psp
class SystemQueueInfo;
-struct PrinterInfo : JobData
-{
- // basename of PPD
- OUString m_aDriverName;
- // can be the queue
- OUString m_aLocation;
- // a user defined comment
- OUString m_aComment;
- // a command line to pipe a PS-file to
- OUString m_aCommand;
- // a command line to pipe a PS-file to in case of direct print
- OUString m_aQuickCommand;
- // a list of special features separated by ',' not used by psprint
- // but assigned from the outside (currently for "fax","pdf=","autoqueue","external_dialog")
- OUString m_aFeatures;
- bool m_bPapersizeFromSetup;
-
- PrinterInfo()
- : JobData()
- , m_bPapersizeFromSetup(false)
- {}
-};
-
class VCL_DLLPUBLIC PrinterInfoManager
{
public:
@@ -75,7 +52,7 @@ protected:
struct WatchFile
{
// the file in question
- OUString m_aFilePath;
+ OUString m_aFilePath;
// the last know modification time or 0, if file did not exist
TimeValue m_aModified;
};
@@ -85,25 +62,25 @@ protected:
{
// configuration file containing this printer
// empty means a freshly added printer that has to be saved yet
- OUString m_aFile;
+ OUString m_aFile;
// details other config files that have this printer
// in case of removal all have to be removed
- std::list< OUString > m_aAlternateFiles;
+ std::list< OUString > m_aAlternateFiles;
// group in m_aFile containing the printer
// this must be unique over all configuration files
// it usually should be the printer name
- OString m_aGroup;
+ OString m_aGroup;
// whether changes need to be saved
bool m_bModified;
// the corresponding info and job data
- PrinterInfo m_aInfo;
+ JobData m_aInfo;
};
std::unordered_map< OUString, Printer, OUStringHash > m_aPrinters;
- PrinterInfo m_aGlobalDefaults;
+ JobData m_aGlobalDefaults;
std::list< WatchFile > m_aWatchFiles;
- OUString m_aDefaultPrinter;
- OUString m_aSystemPrintCommand;
+ OUString m_aDefaultPrinter;
+ OUString m_aSystemPrintCommand;
std::list< SystemPrintQueue > m_aSystemPrintQueues;
@@ -113,7 +90,7 @@ protected:
Type m_eType;
bool m_bUseIncludeFeature;
bool m_bUseJobPatch;
- OUString m_aSystemDefaultPaper;
+ OUString m_aSystemDefaultPaper;
PrinterInfoManager( Type eType = Type::Default );
@@ -138,7 +115,7 @@ public:
void listPrinters( std::list< OUString >& rList ) const;
// gets info about a named printer
- const PrinterInfo& getPrinterInfo( const OUString& rPrinter ) const;
+ const JobData& getPrinterInfo( const OUString& rPrinter ) const;
// gets the name of the default printer
const OUString& getDefaultPrinter() const { return m_aDefaultPrinter; }
diff --git a/vcl/headless/svpprn.cxx b/vcl/headless/svpprn.cxx
index dfef1239dc0f..b158fc632103 100644
--- a/vcl/headless/svpprn.cxx
+++ b/vcl/headless/svpprn.cxx
@@ -37,7 +37,7 @@ using namespace psp;
* static helpers
*/
-static OUString getPdfDir( const PrinterInfo& rInfo )
+static OUString getPdfDir( const JobData& rInfo )
{
OUString aDir;
sal_Int32 nIndex = 0;
@@ -166,7 +166,7 @@ SalInfoPrinter* SvpSalInstance::CreateInfoPrinter( SalPrinterQueueInfo* pQueueIn
if( pJobSetup )
{
PrinterInfoManager& rManager( PrinterInfoManager::get() );
- PrinterInfo aInfo( rManager.getPrinterInfo( pQueueInfo->maPrinterName ) );
+ JobData aInfo( rManager.getPrinterInfo( pQueueInfo->maPrinterName ) );
pPrinter->m_aJobData = aInfo;
pPrinter->m_aPrinterGfx.Init( pPrinter->m_aJobData );
@@ -216,7 +216,7 @@ void SvpSalInstance::GetPrinterQueueInfo( ImplPrnQueueList* pList )
for( ::std::list< OUString >::iterator it = aPrinters.begin(); it != aPrinters.end(); ++it )
{
- const PrinterInfo& rInfo( rManager.getPrinterInfo( *it ) );
+ const JobData& rInfo( rManager.getPrinterInfo( *it ) );
// Neuen Eintrag anlegen
SalPrinterQueueInfo* pInfo = new SalPrinterQueueInfo;
pInfo->maPrinterName = *it;
diff --git a/vcl/null/printerinfomanager.cxx b/vcl/null/printerinfomanager.cxx
index a5cd3b438cf2..39571144c47d 100644
--- a/vcl/null/printerinfomanager.cxx
+++ b/vcl/null/printerinfomanager.cxx
@@ -80,9 +80,9 @@ void PrinterInfoManager::listPrinters( ::std::list< OUString >& rList ) const
rList.clear();
}
-const PrinterInfo& PrinterInfoManager::getPrinterInfo( const OUString& /* rPrinter */ ) const
+const JobData& PrinterInfoManager::getPrinterInfo( const OUString& /* rPrinter */ ) const
{
- static PrinterInfo aEmptyInfo;
+ static JobData aEmptyInfo;
(void) this;
diff --git a/vcl/unx/generic/print/common_gfx.cxx b/vcl/unx/generic/print/common_gfx.cxx
index 1d9a1ca9b659..d9801a155207 100644
--- a/vcl/unx/generic/print/common_gfx.cxx
+++ b/vcl/unx/generic/print/common_gfx.cxx
@@ -63,7 +63,7 @@ PrinterGfx::Init (PrinterJob &rPrinterJob)
mnDpi = rPrinterJob.GetResolution();
rPrinterJob.GetScale (mfScaleX, mfScaleY);
- const PrinterInfo& rInfo( PrinterInfoManager::get().getPrinterInfo( rPrinterJob.GetPrinterName() ) );
+ const JobData& rInfo( PrinterInfoManager::get().getPrinterInfo( rPrinterJob.GetPrinterName() ) );
mbUploadPS42Fonts = rInfo.m_pParser && rInfo.m_pParser->isType42Capable();
}
@@ -79,7 +79,7 @@ PrinterGfx::Init (const JobData& rData)
mnDpi = nRes;
mfScaleX = (double)72.0 / (double)mnDpi;
mfScaleY = (double)72.0 / (double)mnDpi;
- const PrinterInfo& rInfo( PrinterInfoManager::get().getPrinterInfo( rData.m_aPrinterName ) );
+ const JobData& rInfo( PrinterInfoManager::get().getPrinterInfo( rData.m_aPrinterName ) );
mbUploadPS42Fonts = rInfo.m_pParser && rInfo.m_pParser->isType42Capable();
}
diff --git a/vcl/unx/generic/print/genprnpsp.cxx b/vcl/unx/generic/print/genprnpsp.cxx
index 43948c8da01e..c0d6f0a35823 100644
--- a/vcl/unx/generic/print/genprnpsp.cxx
+++ b/vcl/unx/generic/print/genprnpsp.cxx
@@ -66,7 +66,7 @@ using namespace com::sun::star;
/*
* static helpers
*/
-static OUString getPdfDir( const PrinterInfo& rInfo )
+static OUString getPdfDir( const JobData& rInfo )
{
OUString aDir;
sal_Int32 nIndex = 0;
@@ -371,7 +371,7 @@ void SalGenericInstance::configurePspInfoPrinter(PspSalInfoPrinter *pPrinter,
if( pJobSetup )
{
PrinterInfoManager& rManager( PrinterInfoManager::get() );
- PrinterInfo aInfo( rManager.getPrinterInfo( pQueueInfo->maPrinterName ) );
+ JobData aInfo( rManager.getPrinterInfo( pQueueInfo->maPrinterName ) );
pPrinter->m_aJobData = aInfo;
pPrinter->m_aPrinterGfx.Init( pPrinter->m_aJobData );
@@ -431,7 +431,7 @@ void SalGenericInstance::GetPrinterQueueInfo( ImplPrnQueueList* pList )
for( ::std::list< OUString >::iterator it = aPrinters.begin(); it != aPrinters.end(); ++it )
{
- const PrinterInfo& rInfo( rManager.getPrinterInfo( *it ) );
+ const JobData& rInfo( rManager.getPrinterInfo( *it ) );
// Neuen Eintrag anlegen
SalPrinterQueueInfo* pInfo = new SalPrinterQueueInfo;
pInfo->maPrinterName = *it;
@@ -547,7 +547,7 @@ bool PspSalInfoPrinter::Setup( SalFrame* pFrame, ImplJobSetup* pJobSetup )
PrinterInfoManager& rManager = PrinterInfoManager::get();
- PrinterInfo aInfo( rManager.getPrinterInfo( pJobSetup->GetPrinterName() ) );
+ JobData aInfo( rManager.getPrinterInfo( pJobSetup->GetPrinterName() ) );
if ( pJobSetup->GetDriverData() )
{
SetData( JobSetFlags::ALL, pJobSetup );
@@ -892,7 +892,7 @@ bool PspSalPrinter::StartJob(
int nMode = 0;
// check whether this printer is configured as fax
sal_Int32 nIndex = 0;
- const PrinterInfo& rInfo( PrinterInfoManager::get().getPrinterInfo( m_aJobData.m_aPrinterName ) );
+ const JobData& rInfo( PrinterInfoManager::get().getPrinterInfo( m_aJobData.m_aPrinterName ) );
while( nIndex != -1 )
{
OUString aToken( rInfo.m_aFeatures.getToken( 0, ',', nIndex ) );
@@ -930,7 +930,7 @@ bool PspSalPrinter::EndJob()
if( bSuccess && m_bPdf )
{
- const PrinterInfo& rInfo( PrinterInfoManager::get().getPrinterInfo( m_aJobData.m_aPrinterName ) );
+ const JobData& rInfo( PrinterInfoManager::get().getPrinterInfo( m_aJobData.m_aPrinterName ) );
bSuccess = createPdf( m_aFileName, m_aTmpFile, rInfo.m_aCommand );
}
}
diff --git a/vcl/unx/generic/print/prtsetup.cxx b/vcl/unx/generic/print/prtsetup.cxx
index 02684af1e765..0462187c0c65 100644
--- a/vcl/unx/generic/print/prtsetup.cxx
+++ b/vcl/unx/generic/print/prtsetup.cxx
@@ -71,7 +71,7 @@ void RTSDialog::insertAllPPDValues( ListBox& rBox, const PPDParser* pParser, con
* RTSDialog
*/
-RTSDialog::RTSDialog(const PrinterInfo& rJobData, vcl::Window* pParent)
+RTSDialog::RTSDialog(const JobData& rJobData, vcl::Window* pParent)
: TabDialog(pParent, "PrinterPropertiesDialog", "vcl/ui/printerpropertiesdialog.ui")
, m_aJobData(rJobData)
, m_pPaperPage(nullptr)
@@ -511,7 +511,7 @@ void RTSDevicePage::FillValueBox( const PPDKey* pKey )
}
}
-int SetupPrinterDriver(::psp::PrinterInfo& rJobData)
+int SetupPrinterDriver(::psp::JobData& rJobData)
{
int nRet = 0;
ScopedVclPtrInstance< RTSDialog > aDialog( rJobData, nullptr );
diff --git a/vcl/unx/generic/print/prtsetup.hxx b/vcl/unx/generic/print/prtsetup.hxx
index fa22a4417ab3..d68f77f2b1d5 100644
--- a/vcl/unx/generic/print/prtsetup.hxx
+++ b/vcl/unx/generic/print/prtsetup.hxx
@@ -42,7 +42,7 @@ class RTSDialog : public TabDialog
friend class RTSPaperPage;
friend class RTSDevicePage;
- ::psp::PrinterInfo m_aJobData;
+ ::psp::JobData m_aJobData;
// controls
VclPtr<TabControl> m_pTabControl;
@@ -64,11 +64,11 @@ class RTSDialog : public TabDialog
// helper functions
void insertAllPPDValues( ListBox&, const psp::PPDParser*, const psp::PPDKey* );
public:
- RTSDialog(const ::psp::PrinterInfo& rJobData, vcl::Window* pParent);
+ RTSDialog(const ::psp::JobData& rJobData, vcl::Window* pParent);
virtual ~RTSDialog() override;
virtual void dispose() override;
- const ::psp::PrinterInfo& getSetup() const { return m_aJobData; }
+ const ::psp::JobData& getSetup() const { return m_aJobData; }
void SetDataModified( bool bModified ) { mbDataModified = bModified; }
bool GetDataModified() const { return mbDataModified; }
@@ -128,7 +128,7 @@ public:
sal_uLong getColorDevice();
};
-int SetupPrinterDriver(::psp::PrinterInfo& rJobData);
+int SetupPrinterDriver(::psp::JobData& rJobData);
#endif // _PAD_PRTSETUP_HXX
diff --git a/vcl/unx/generic/printer/cupsmgr.cxx b/vcl/unx/generic/printer/cupsmgr.cxx
index 30445b5bb676..9df3d3a7ee43 100644
--- a/vcl/unx/generic/printer/cupsmgr.cxx
+++ b/vcl/unx/generic/printer/cupsmgr.cxx
@@ -331,7 +331,7 @@ void CUPSManager::initialize()
OUStringBuffer aBuf( 256 );
aBuf.append( "CUPS:" );
aBuf.append( aPrinterName );
- // note: the parser that goes with the PrinterInfo
+ // note: the parser that goes with the JobData
// is created implicitly by the JobData::operator=()
// when it detects the NULL ptr m_pParser.
// if we wanted to fill in the parser here this
@@ -459,7 +459,7 @@ const PPDParser* CUPSManager::createCUPSParser( const OUString& rPrinter )
SAL_INFO("vcl.unx.print",
" \"" << pDest->options[k].name <<
"\" = \"" << pDest->options[k].value << "\"");
- PrinterInfo& rInfo = m_aPrinters[ aPrinter ].m_aInfo;
+ JobData& rInfo = m_aPrinters[ aPrinter ].m_aInfo;
// remember the default context for later use
PPDContext& rContext = m_aDefaultContexts[ aPrinter ];
@@ -498,7 +498,7 @@ const PPDParser* CUPSManager::createCUPSParser( const OUString& rPrinter )
// get the default PPD
pNewParser = PPDParser::getParser( "SGENPRT" );
- PrinterInfo& rInfo = m_aPrinters[ aPrinter ].m_aInfo;
+ JobData& rInfo = m_aPrinters[ aPrinter ].m_aInfo;
rInfo.m_pParser = pNewParser;
rInfo.m_aContext.setParser( pNewParser );
@@ -797,7 +797,7 @@ bool CUPSManager::writePrinterConfig()
{
bDestModified = true;
cups_dest_t* pDest = static_cast<cups_dest_t*>(m_pDests) + nit->second;
- PrinterInfo& rInfo = prt->second.m_aInfo;
+ JobData& rInfo = prt->second.m_aInfo;
// create new option list
int nNewOptions = 0;
diff --git a/vcl/unx/generic/printer/jobdata.cxx b/vcl/unx/generic/printer/jobdata.cxx
index b9359429fd8a..920e430f6376 100644
--- a/vcl/unx/generic/printer/jobdata.cxx
+++ b/vcl/unx/generic/printer/jobdata.cxx
@@ -269,7 +269,7 @@ bool JobData::constructFromStreamBuffer( const void* pData, sal_uInt32 bytes, Jo
if( bPrinter )
{
PrinterInfoManager& rManager = PrinterInfoManager::get();
- const PrinterInfo& rInfo = rManager.getPrinterInfo( rJobData.m_aPrinterName );
+ const JobData& rInfo = rManager.getPrinterInfo( rJobData.m_aPrinterName );
rJobData.m_pParser = PPDParser::getParser( rInfo.m_aDriverName );
if( rJobData.m_pParser )
{
diff --git a/vcl/unx/generic/printer/printerinfomanager.cxx b/vcl/unx/generic/printer/printerinfomanager.cxx
index e69323eea817..158f90af4033 100644
--- a/vcl/unx/generic/printer/printerinfomanager.cxx
+++ b/vcl/unx/generic/printer/printerinfomanager.cxx
@@ -186,7 +186,7 @@ void PrinterInfoManager::initialize()
// have to iterate over all possible files
// there should be only one global setup section in all
// available config files
- m_aGlobalDefaults = PrinterInfo();
+ m_aGlobalDefaults = JobData();
// need a parser for the PPDContext. generic printer should do.
m_aGlobalDefaults.m_pParser = PPDParser::getParser( "SGENPRT" );
@@ -483,13 +483,13 @@ void PrinterInfoManager::initialize()
// add a default printer for every available print queue
// merge paper default printer, all else from global defaults
- PrinterInfo aMergeInfo( m_aGlobalDefaults );
+ JobData aMergeInfo( m_aGlobalDefaults );
aMergeInfo.m_aDriverName = "SGENPRT";
aMergeInfo.m_aFeatures = "autoqueue";
if( !m_aDefaultPrinter.isEmpty() )
{
- PrinterInfo aDefaultInfo( getPrinterInfo( m_aDefaultPrinter ) );
+ JobData aDefaultInfo( getPrinterInfo( m_aDefaultPrinter ) );
const PPDKey* pDefKey = aDefaultInfo.m_pParser->getKey( OUString( "PageSize" ) );
const PPDKey* pMergeKey = aMergeInfo.m_pParser->getKey( OUString( "PageSize" ) );
@@ -541,9 +541,9 @@ void PrinterInfoManager::listPrinters( ::std::list< OUString >& rList ) const
rList.push_back( it->first );
}
-const PrinterInfo& PrinterInfoManager::getPrinterInfo( const OUString& rPrinter ) const
+const JobData& PrinterInfoManager::getPrinterInfo( const OUString& rPrinter ) const
{
- static PrinterInfo aEmptyInfo;
+ static JobData aEmptyInfo;
std::unordered_map< OUString, Printer, OUStringHash >::const_iterator it = m_aPrinters.find( rPrinter );
SAL_WARN_IF( it == m_aPrinters.end(), "vcl", "Do not ask for info about nonexistent printers" );
@@ -822,7 +822,7 @@ bool PrinterInfoManager::setDefaultPrinter( const OUString& rPrinterName )
bool PrinterInfoManager::checkFeatureToken( const OUString& rPrinterName, const char* pToken ) const
{
- const PrinterInfo& rPrinterInfo( getPrinterInfo( rPrinterName ) );
+ const JobData& rPrinterInfo( getPrinterInfo( rPrinterName ) );
sal_Int32 nIndex = 0;
while( nIndex != -1 )
{
@@ -837,7 +837,7 @@ bool PrinterInfoManager::checkFeatureToken( const OUString& rPrinterName, const
FILE* PrinterInfoManager::startSpool( const OUString& rPrintername, bool bQuickCommand )
{
- const PrinterInfo& rPrinterInfo = getPrinterInfo (rPrintername);
+ const JobData& rPrinterInfo = getPrinterInfo (rPrintername);
const OUString& rCommand = (bQuickCommand && !rPrinterInfo.m_aQuickCommand.isEmpty() ) ?
rPrinterInfo.m_aQuickCommand : rPrinterInfo.m_aCommand;
OString aShellCommand = OUStringToOString (rCommand, RTL_TEXTENCODING_ISO_8859_1);