Kaydet (Commit) dba7aaff authored tarafından Xisco Fauli's avatar Xisco Fauli Kaydeden (comit) Noel Grandin

tdf#89329: use unique_ptr for pImpl in printer

Change-Id: I8adbac922b7a44ae99325a489f87762dd86397de
Reviewed-on: https://gerrit.libreoffice.org/25316Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarNoel Grandin <noelgrandin@gmail.com>
üst a1cfd9ff
......@@ -35,7 +35,7 @@ class SFX2_DLLPUBLIC SfxPrinter : public Printer
{
private:
SfxItemSet* pOptions;
SfxPrinter_Impl* pImpl;
std::unique_ptr< SfxPrinter_Impl > pImpl;
bool bKnown;
SAL_DLLPRIVATE void operator =(SfxPrinter &) = delete;
......
......@@ -102,25 +102,21 @@ SfxPrinter::SfxPrinter( SfxItemSet* pTheOptions ) :
This constructor creates a default printer.
*/
pOptions( pTheOptions ),
bKnown(true)
pImpl( new SfxPrinter_Impl ),
bKnown( true )
{
assert(pOptions);
pImpl = new SfxPrinter_Impl;
}
SfxPrinter::SfxPrinter( SfxItemSet* pTheOptions,
const JobSetup& rTheOrigJobSetup ) :
Printer ( rTheOrigJobSetup.GetPrinterName() ),
pOptions ( pTheOptions )
Printer( rTheOrigJobSetup.GetPrinterName() ),
pOptions( pTheOptions ),
pImpl( new SfxPrinter_Impl )
{
assert(pOptions);
pImpl = new SfxPrinter_Impl;
bKnown = GetName() == rTheOrigJobSetup.GetPrinterName();
if ( bKnown )
......@@ -130,29 +126,26 @@ SfxPrinter::SfxPrinter( SfxItemSet* pTheOptions,
SfxPrinter::SfxPrinter( SfxItemSet* pTheOptions,
const OUString& rPrinterName ) :
Printer ( rPrinterName ),
pOptions ( pTheOptions ),
bKnown ( GetName() == rPrinterName )
Printer( rPrinterName ),
pOptions( pTheOptions ),
pImpl( new SfxPrinter_Impl ),
bKnown( GetName() == rPrinterName )
{
assert(pOptions);
pImpl = new SfxPrinter_Impl;
}
SfxPrinter::SfxPrinter( const SfxPrinter& rPrinter ) :
Printer ( rPrinter.GetName() ),
Printer( rPrinter.GetName() ),
pOptions( rPrinter.GetOptions().Clone() ),
bKnown ( rPrinter.IsKnown() )
pImpl( new SfxPrinter_Impl ),
bKnown( rPrinter.IsKnown() )
{
assert(pOptions);
SetJobSetup( rPrinter.GetJobSetup() );
SetPrinterProps( &rPrinter );
SetMapMode( rPrinter.GetMapMode() );
pImpl = new SfxPrinter_Impl;
pImpl->mbAll = rPrinter.pImpl->mbAll;
pImpl->mbSelection = rPrinter.pImpl->mbSelection;
pImpl->mbFromTo = rPrinter.pImpl->mbFromTo;
......@@ -187,7 +180,7 @@ SfxPrinter::~SfxPrinter()
void SfxPrinter::dispose()
{
delete pOptions;
delete pImpl;
pImpl.reset();
Printer::dispose();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment