[Libreoffice-commits] core.git: Branch 'feature/cib_contract138c' - 2 commits - configure.ac include/vcl vcl/osx vcl/source vcl/unx
Samuel Mehrbrodt (via logerrit)
logerrit at kemper.freedesktop.org
Mon Jul 13 08:06:50 UTC 2020
configure.ac | 2 -
include/vcl/print.hxx | 3 -
vcl/osx/salprn.cxx | 2 -
vcl/source/gdi/print.cxx | 58 +++---------------------------------
vcl/source/gdi/print3.cxx | 14 +++-----
vcl/unx/generic/print/genprnpsp.cxx | 2 -
6 files changed, 15 insertions(+), 66 deletions(-)
New commits:
commit 301db091bf31cae7dbead8cb8b458796aa553508
Author: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
AuthorDate: Mon Jul 13 10:05:54 2020 +0200
Commit: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
CommitDate: Mon Jul 13 10:05:54 2020 +0200
Release 6.2.9.9
Change-Id: I4bbf353a38c74cf23e366da125b57a78b7b3ce62
diff --git a/configure.ac b/configure.ac
index 5a73c8ad68ae..bc90cea801a8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@ dnl in order to create a configure script.
# several non-alphanumeric characters, those are split off and used only for the
# ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no idea.
-AC_INIT([LibreOffice],[6.2.9.8],[],[],[http://documentfoundation.org/])
+AC_INIT([LibreOffice],[6.2.9.9],[],[],[http://documentfoundation.org/])
AC_PREREQ([2.59])
commit 1864add19d0703bb9e4588961ee1cb3a1aa6e15c
Author: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
AuthorDate: Thu Jul 9 08:32:38 2020 +0200
Commit: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
CommitDate: Mon Jul 13 07:58:03 2020 +0200
tdf#134646 Remove "nearest paper matching" feature
This was introduced with da62b0feb684b34ab191fb0f03ed5432c14cba97 to find
the best paper size for user defined page sizes.
However, this leads to problems with Impress: Slides have screen sizes which
have no relation to paper sizes. For the slide site "Screen (16:9)" the
page size "Executive" is the nearest matching size.
However, this paper is (though supported by printers), very uncommon.
We do not want the nearest matching paper size the printer supports, but
rather we want to fit the slide on the printer default paper.
Note that finding a matching print paper still works (and it even has some
fuzzy matching), so some sort of "nearest paper matching" still exists,
(but with sane limits).
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98396
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
(cherry picked from commit 3cfc390ecd7c7e9095c77383c460c522437bdabe)
Change-Id: Ie60023d64b251954aa50e8bbdd36f6a290b9f278
diff --git a/include/vcl/print.hxx b/include/vcl/print.hxx
index 631c38a5ab42..cfb981bef073 100644
--- a/include/vcl/print.hxx
+++ b/include/vcl/print.hxx
@@ -210,7 +210,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 & );
@@ -310,7 +310,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 08f696345aa2..1cbb72e9baad 100644
--- a/vcl/osx/salprn.cxx
+++ b/vcl/osx/salprn.cxx
@@ -447,7 +447,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 3e9ce5d64b9c..38a985807dfe 100644
--- a/vcl/source/gdi/print.cxx
+++ b/vcl/source/gdi/print.cxx
@@ -1220,16 +1220,13 @@ void Printer::SetPrinterSettingsPreferred( bool bPaperSizeFromSetup)
}
// Map user paper format to a available printer paper formats
-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
@@ -1243,8 +1240,7 @@ void Printer::ImplFindPaperFormatForUserSize( JobSetup& aJobSetup, bool bMatchNe
ImplGetPaperFormat( rPaperInfo.getWidth(),
rPaperInfo.getHeight() ));
rData.SetOrientation( Orientation::Portrait );
- bFound = true;
- break;
+ return;
}
}
@@ -1269,49 +1265,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 )
@@ -1341,7 +1298,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 );
@@ -1354,11 +1311,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;
@@ -1397,7 +1349,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 ab7cef6d6d75..dbcd3d5b581a 100644
--- a/vcl/source/gdi/print3.cxx
+++ b/vcl/source/gdi/print3.cxx
@@ -203,8 +203,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();
};
@@ -856,7 +854,7 @@ void PrinterController::setupPrinter( weld::Window* i_pParent )
{
//restore to whatever it was before we entered this method
if (aPaperSize != aNewPaperSize)
- xPrinter->SetPaperSizeUser(aPaperSize, !mpImplData->isFixedPageSize());
+ xPrinter->SetPaperSizeUser(aPaperSize);
}
xPrinter->Pop();
}
@@ -909,7 +907,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
@@ -938,7 +936,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();
}
@@ -1085,7 +1083,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
@@ -1195,7 +1193,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 );
}
@@ -1291,7 +1289,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 376da8fcf51f..350128ef3372 100644
--- a/vcl/unx/generic/print/genprnpsp.cxx
+++ b/vcl/unx/generic/print/genprnpsp.cxx
@@ -1059,7 +1059,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
More information about the Libreoffice-commits
mailing list