summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/vcl/print.hxx3
-rw-r--r--vcl/osx/salprn.cxx2
-rw-r--r--vcl/source/gdi/print.cxx58
-rw-r--r--vcl/source/gdi/print3.cxx16
-rw-r--r--vcl/unx/generic/print/genprnpsp.cxx2
5 files changed, 15 insertions, 66 deletions
diff --git a/include/vcl/print.hxx b/include/vcl/print.hxx
index e0e63be2a108..eed2722f824f 100644
--- a/include/vcl/print.hxx
+++ b/include/vcl/print.hxx
@@ -176,7 +176,7 @@ private:
ImplGetQueueInfo( const OUString& rPrinterName, const OUString* pDriver );
VCL_DLLPRIVATE void ImplUpdatePageData();
VCL_DLLPRIVATE void ImplUpdateFontList();
- VCL_DLLPRIVATE void ImplFindPaperFormatForUserSize( JobSetup&, bool bMatchNearest );
+ VCL_DLLPRIVATE void ImplFindPaperFormatForUserSize( JobSetup& );
VCL_DLLPRIVATE bool StartJob( const OUString& rJobName, std::shared_ptr<vcl::PrinterController> const & );
@@ -293,7 +293,6 @@ public:
sal_uInt16 GetPaperBin() const;
void SetPaper( Paper ePaper );
bool SetPaperSizeUser( const Size& rSize );
- bool SetPaperSizeUser( const Size& rSize, bool bMatchNearest );
Paper GetPaper() const;
static OUString GetPaperName( Paper ePaper );
diff --git a/vcl/osx/salprn.cxx b/vcl/osx/salprn.cxx
index bb35f74a5343..c0d05fde9fb5 100644
--- a/vcl/osx/salprn.cxx
+++ b/vcl/osx/salprn.cxx
@@ -448,7 +448,7 @@ bool AquaSalInfoPrinter::StartJob( const OUString* i_pFileName,
// platform independent paper matching algorithm
VclPtr<Printer> pPrinter( i_rController.getPrinter() );
pPrinter->SetMapMode( MapMode( MapUnit::Map100thMM ) );
- pPrinter->SetPaperSizeUser( aCurSize, true );
+ pPrinter->SetPaperSizeUser( aCurSize );
// create view
NSView* pPrintView = [[AquaPrintView alloc] initWithController: &i_rController withInfoPrinter: this];
diff --git a/vcl/source/gdi/print.cxx b/vcl/source/gdi/print.cxx
index 6668d215d29b..6bdf36bc1d4d 100644
--- a/vcl/source/gdi/print.cxx
+++ b/vcl/source/gdi/print.cxx
@@ -1225,16 +1225,13 @@ void Printer::SetPrinterSettingsPreferred( bool bPaperSizeFromSetup)
}
// Map user paper format to an available printer paper format
-void Printer::ImplFindPaperFormatForUserSize( JobSetup& aJobSetup, bool bMatchNearest )
+void Printer::ImplFindPaperFormatForUserSize( JobSetup& aJobSetup )
{
ImplJobSetup& rData = aJobSetup.ImplGetData();
// The angle that a landscape page will be turned counterclockwise wrt to portrait.
int nLandscapeAngle = mpInfoPrinter ? mpInfoPrinter->GetLandscapeAngle( &maJobSetup.ImplGetConstData() ) : 900;
-
int nPaperCount = GetPaperInfoCount();
- bool bFound = false;
-
PaperInfo aInfo(rData.GetPaperWidth(), rData.GetPaperHeight());
// Compare all paper formats and get the appropriate one
@@ -1248,8 +1245,7 @@ void Printer::ImplFindPaperFormatForUserSize( JobSetup& aJobSetup, bool bMatchNe
ImplGetPaperFormat( rPaperInfo.getWidth(),
rPaperInfo.getHeight() ));
rData.SetOrientation( Orientation::Portrait );
- bFound = true;
- break;
+ return;
}
}
@@ -1274,49 +1270,10 @@ void Printer::ImplFindPaperFormatForUserSize( JobSetup& aJobSetup, bool bMatchNe
ImplGetPaperFormat( rPaperInfo.getWidth(),
rPaperInfo.getHeight() ));
rData.SetOrientation( Orientation::Landscape );
- bFound = true;
- break;
+ return;
}
}
}
-
- if( ! bFound && bMatchNearest )
- {
- sal_Int64 nBestMatch = SAL_MAX_INT64;
- int nBestIndex = 0;
- Orientation eBestOrientation = Orientation::Portrait;
- for( int i = 0; i < nPaperCount; i++ )
- {
- const PaperInfo& rPaperInfo = GetPaperInfo( i );
-
- // check portrait match
- sal_Int64 nDX = rData.GetPaperWidth() - rPaperInfo.getWidth();
- sal_Int64 nDY = rData.GetPaperHeight() - rPaperInfo.getHeight();
- sal_Int64 nMatch = nDX*nDX + nDY*nDY;
- if( nMatch < nBestMatch )
- {
- nBestMatch = nMatch;
- nBestIndex = i;
- eBestOrientation = Orientation::Portrait;
- }
-
- // check landscape match
- nDX = rData.GetPaperWidth() - rPaperInfo.getHeight();
- nDY = rData.GetPaperHeight() - rPaperInfo.getWidth();
- nMatch = nDX*nDX + nDY*nDY;
- if( nMatch < nBestMatch )
- {
- nBestMatch = nMatch;
- nBestIndex = i;
- eBestOrientation = Orientation::Landscape;
- }
- }
- const PaperInfo& rBestInfo = GetPaperInfo( nBestIndex );
- rData.SetPaperFormat(
- ImplGetPaperFormat( rBestInfo.getWidth(),
- rBestInfo.getHeight() ));
- rData.SetOrientation(eBestOrientation);
- }
}
void Printer::SetPaper( Paper ePaper )
@@ -1346,7 +1303,7 @@ void Printer::SetPaper( Paper ePaper )
ReleaseGraphics();
if ( ePaper == PAPER_USER )
- ImplFindPaperFormatForUserSize( aJobSetup, false );
+ ImplFindPaperFormatForUserSize( aJobSetup );
if ( mpInfoPrinter->SetData( JobSetFlags::PAPERSIZE | JobSetFlags::ORIENTATION, &rData ))
{
ImplUpdateJobSetupPaper( aJobSetup );
@@ -1360,11 +1317,6 @@ void Printer::SetPaper( Paper ePaper )
bool Printer::SetPaperSizeUser( const Size& rSize )
{
- return SetPaperSizeUser( rSize, false );
-}
-
-bool Printer::SetPaperSizeUser( const Size& rSize, bool bMatchNearest )
-{
if ( mbInPrintPage )
return false;
@@ -1402,7 +1354,7 @@ bool Printer::SetPaperSizeUser( const Size& rSize, bool bMatchNearest )
}
ReleaseGraphics();
- ImplFindPaperFormatForUserSize( aJobSetup, bMatchNearest );
+ ImplFindPaperFormatForUserSize( aJobSetup );
// Changing the paper size can also change the orientation!
if ( mpInfoPrinter->SetData( JobSetFlags::PAPERSIZE | JobSetFlags::ORIENTATION, &rData ))
diff --git a/vcl/source/gdi/print3.cxx b/vcl/source/gdi/print3.cxx
index cb326ae9d31a..cbf486713330 100644
--- a/vcl/source/gdi/print3.cxx
+++ b/vcl/source/gdi/print3.cxx
@@ -218,8 +218,6 @@ public:
return maMultiPage.aPaperSize;
return i_rPageSize;
}
- bool isFixedPageSize() const
- { return mbPapersizeFromSetup; }
PrinterController::PageSize modifyJobSetup( const css::uno::Sequence< css::beans::PropertyValue >& i_rProps );
void resetPaperToLastConfigured();
};
@@ -812,7 +810,7 @@ void PrinterController::setPrinter( const VclPtr<Printer>& i_rPrinter )
if ( bSavedSizeOrientation )
{
- mpImplData->mxPrinter->SetPaperSizeUser(aPaperSize, !mpImplData->isFixedPageSize());
+ mpImplData->mxPrinter->SetPaperSizeUser(aPaperSize);
mpImplData->mxPrinter->SetOrientation(eOrientation);
}
@@ -892,7 +890,7 @@ void PrinterController::setupPrinter( weld::Window* i_pParent )
//restore to whatever it was before we entered this method
xPrinter->SetOrientation( eOrientation );
if (aPaperSize != aNewPaperSize)
- xPrinter->SetPaperSizeUser(aPaperSize, !mpImplData->isFixedPageSize());
+ xPrinter->SetPaperSizeUser(aPaperSize);
}
xPrinter->Pop();
}
@@ -945,7 +943,7 @@ PrinterController::PageSize vcl::ImplPrinterControllerData::modifyJobSetup( cons
Size aRealPaperSize( getRealPaperSize( aPageSize.aSize, true/*bNoNUP*/ ) );
if( aRealPaperSize != aCurSize )
- mxPrinter->SetPaperSizeUser( aRealPaperSize, ! isFixedPageSize() );
+ mxPrinter->SetPaperSizeUser( aRealPaperSize );
}
// paper bin set from properties in print dialog overrides
@@ -974,7 +972,7 @@ void vcl::ImplPrinterControllerData::resetPaperToLastConfigured()
mxPrinter->SetMapMode(MapMode(MapUnit::Map100thMM));
Size aCurSize(mxPrinter->GetPaperSize());
if (aCurSize != maDefaultPageSize)
- mxPrinter->SetPaperSizeUser(maDefaultPageSize, !isFixedPageSize());
+ mxPrinter->SetPaperSizeUser(maDefaultPageSize);
mxPrinter->Pop();
}
@@ -1121,7 +1119,7 @@ PrinterController::PageSize PrinterController::getFilteredPageFile( int i_nFilte
}
Size aPaperSize = mpImplData->getRealPaperSize( aPageSize.aSize, true );
mpImplData->mxPrinter->SetMapMode( MapMode( MapUnit::Map100thMM ) );
- mpImplData->mxPrinter->SetPaperSizeUser( aPaperSize, ! mpImplData->isFixedPageSize() );
+ mpImplData->mxPrinter->SetPaperSizeUser( aPaperSize );
if( aPaperSize != aPageSize.aSize )
{
// user overridden page size, center Metafile
@@ -1231,7 +1229,7 @@ PrinterController::PageSize PrinterController::getFilteredPageFile( int i_nFilte
// subsequent getPageFile calls have changed the paper, reset it to current value
mpImplData->mxPrinter->SetMapMode( MapMode( MapUnit::Map100thMM ) );
- mpImplData->mxPrinter->SetPaperSizeUser( aPaperSize, ! mpImplData->isFixedPageSize() );
+ mpImplData->mxPrinter->SetPaperSizeUser( aPaperSize );
return PrinterController::PageSize( aPaperSize, true );
}
@@ -1327,7 +1325,7 @@ void PrinterController::printFilteredPage( int i_nPage )
// in N-Up printing set the correct page size
mpImplData->mxPrinter->SetMapMode(MapMode(MapUnit::Map100thMM));
// aPageSize was filtered through mpImplData->getRealPaperSize already by getFilteredPageFile()
- mpImplData->mxPrinter->SetPaperSizeUser( aPageSize.aSize, ! mpImplData->isFixedPageSize() );
+ mpImplData->mxPrinter->SetPaperSizeUser( aPageSize.aSize );
if( mpImplData->mnFixedPaperBin != -1 &&
mpImplData->mxPrinter->GetPaperBin() != mpImplData->mnFixedPaperBin )
{
diff --git a/vcl/unx/generic/print/genprnpsp.cxx b/vcl/unx/generic/print/genprnpsp.cxx
index 788a196209fd..5cfb5dcb7e11 100644
--- a/vcl/unx/generic/print/genprnpsp.cxx
+++ b/vcl/unx/generic/print/genprnpsp.cxx
@@ -1032,7 +1032,7 @@ bool PspSalPrinter::StartJob( const OUString* i_pFileName, const OUString& i_rJo
else
{
xPrinter->SetMapMode( MapMode( MapUnit::Map100thMM ) );
- xPrinter->SetPaperSizeUser( aPageSize.aSize, true );
+ xPrinter->SetPaperSizeUser( aPageSize.aSize );
PDFNewJobParameters aNewParm(xPrinter->GetPaperSize(), xPrinter->GetPaperBin());
// create PDF writer on demand