sd/source/ui/view/DocumentRenderer.cxx |   20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

New commits:
commit 3a6b9e3bc1a2854783811f1cfa86db6592685930
Author:     Tor Lillqvist <t...@collabora.com>
AuthorDate: Wed Nov 10 14:34:39 2021 +0200
Commit:     Justin Luth <jl...@mail.com>
CommitDate: Wed Nov 24 10:36:05 2021 +0100

    tdf#145354: Revert "tdf#91362: Use document paper size for printing slides"
    
    Reverting it has been suggested a couple of times over the years, for
    instance in
    https://bugs.documentfoundation.org/show_bug.cgi?id=91362#c23 and in
    https://bugs.documentfoundation.org/show_bug.cgi?id=145354#c41 .
    
    The paper size for a presentation document is typically just made-up
    dimensions with no connection to any actual paper size. (Or
    transparency size.) What matters is the aspect ratio.
    
    This reverts commit 57991f885e60d04e93bf5004d4fdceee7d29f3d8
    
    Change-Id: I5099039f5fdb836694f2b100fb28093584e8294b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124989
    Tested-by: Justin Luth <jl...@mail.com>
    Reviewed-by: Justin Luth <jl...@mail.com>
    Reviewed-by: Vasily Melenchuk <vasily.melenc...@cib.de>

diff --git a/sd/source/ui/view/DocumentRenderer.cxx 
b/sd/source/ui/view/DocumentRenderer.cxx
index b7153faf2f1b..c61eccb3419a 100644
--- a/sd/source/ui/view/DocumentRenderer.cxx
+++ b/sd/source/ui/view/DocumentRenderer.cxx
@@ -155,7 +155,7 @@ namespace {
             return nQuality;
         }
 
-        bool IsPaperSize() const
+        bool IsPageSize() const
         {
             return GetBoolValue("PageOptions", sal_Int32(1));
         }
@@ -175,10 +175,10 @@ namespace {
             return GetBoolValue("PrintProspect", false);
         }
 
-        bool IsPrinterPreferred() const
+        bool IsPrinterPreferred(DocumentType eDocType) const
         {
-            return IsTilePage() || IsPaperSize() || IsBooklet() ||
-                IsNotes() || IsHandout() || IsOutline();
+            bool bIsDraw = eDocType == DocumentType::Draw;
+            return IsTilePage() || IsPageSize() || IsBooklet() || (!bIsDraw && 
!IsNotes());
         }
 
         bool IsPrintExcluded() const
@@ -1351,7 +1351,7 @@ private:
 
         // Draw and Notes should usually abide by their specified paper size
         Size aPaperSize;
-        if (!mpOptions->IsPrinterPreferred())
+        if (!mpOptions->IsPrinterPreferred(pDocument->GetDocumentType()))
         {
             aPaperSize.setWidth(rInfo.maPageSize.Width());
             aPaperSize.setHeight(rInfo.maPageSize.Height());
@@ -1364,7 +1364,7 @@ private:
 
         maPrintSize = awt::Size(aPaperSize.Width(), aPaperSize.Height());
 
-        if (mpOptions->IsPrinterPreferred())
+        if (mpOptions->IsPrinterPreferred(pDocument->GetDocumentType()))
         {
             if( (rInfo.meOrientation == Orientation::Landscape &&
                   (aPaperSize.Width() < aPaperSize.Height()))
@@ -1425,7 +1425,7 @@ private:
             aInfo.msTimeDate += GetSdrGlobalData().GetLocaleData()->getTime( 
::tools::Time( ::tools::Time::SYSTEM ), false );
 
         // Draw and Notes should usually use specified paper size when printing
-        if (!mpOptions->IsPrinterPreferred())
+        if 
(!mpOptions->IsPrinterPreferred(mrBase.GetDocShell()->GetDocumentType()))
         {
             aInfo.maPrintSize = mrBase.GetDocument()->GetSdPage(0, 
PageKind::Standard)->GetSize();
             maPrintSize = awt::Size(aInfo.maPrintSize.Width(),
@@ -1747,7 +1747,7 @@ private:
         OSL_ASSERT(pDocument != nullptr);
         SdPage& rHandoutPage (*pDocument->GetSdPage(0, PageKind::Handout));
 
-        const bool bScalePage (mpOptions->IsPaperSize());
+        const bool bScalePage (mpOptions->IsPageSize());
 
         sal_uInt16 nPaperBin;
         if ( ! mpOptions->IsPaperBin())
@@ -1907,7 +1907,7 @@ private:
             // is it possible that the page size changed?
             const Size aPageSize = pPage->GetSize();
 
-            if (mpOptions->IsPrinterPreferred())
+            if (mpOptions->IsPageSize())
             {
                 const double fHorz 
(static_cast<double>(rInfo.maPrintSize.Width())  / aPageSize.Width());
                 const double fVert 
(static_cast<double>(rInfo.maPrintSize.Height()) / aPageSize.Height());
@@ -2136,7 +2136,7 @@ private:
         //    (without the unprintable borders).
         // 3. Split the page into parts of the size of the
         // printable area.
-        const bool bScalePage (mpOptions->IsPaperSize());
+        const bool bScalePage (mpOptions->IsPageSize());
         const bool bCutPage (mpOptions->IsCutPage());
         MapMode aMap (rInfo.maMap);
         if ( (bScalePage || bCutPage) && CheckForFrontBackPages( nPageIndex ) )

Reply via email to