Blob Blame History Raw
From 2c37487470c7ea76d493eb0554cf2f9458ed5075 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Tue, 23 Sep 2014 10:20:06 +0100
Subject: [PATCH] n-up printing done by vcl, brochures by draw/impress

Change-Id: If38365d949ad91d50138798a0a386f9543eb4f22
---
 sd/source/ui/view/DocumentRenderer.cxx | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/sd/source/ui/view/DocumentRenderer.cxx b/sd/source/ui/view/DocumentRenderer.cxx
index 723aa02e..1a903f7 100644
--- a/sd/source/ui/view/DocumentRenderer.cxx
+++ b/sd/source/ui/view/DocumentRenderer.cxx
@@ -1362,7 +1362,7 @@ private:
         SdDrawDocument* pDocument = mrBase.GetMainViewShell()->GetDoc();
         bool bIsDraw = pDocument->GetDocumentType() == DOCUMENT_TYPE_DRAW;
         rInfo.meOrientation = ORIENTATION_PORTRAIT;
-        bool bDoDodgyHeightWidthFit = !bIsDraw && !mpOptions->IsNotes();
+        bool bDoDodgyHeightWidthFit = mpOptions->IsBooklet() || (!bIsDraw && !mpOptions->IsNotes());
 
         if( ! mpOptions->IsBooklet())
         {
@@ -1371,7 +1371,8 @@ private:
         else if (rInfo.maPageSize.Width() < rInfo.maPageSize.Height())
             rInfo.meOrientation = ORIENTATION_LANDSCAPE;
 
-        // Draw and Notes should abide by their specified paper size
+        // Draw and Notes should abide by their specified paper size, except
+        // for booklets
         Size aPaperSize;
         if (!bDoDodgyHeightWidthFit)
         {
@@ -1448,8 +1449,8 @@ private:
             if (mpOptions->IsTime())
                 aInfo.msTimeDate += GetSdrGlobalData().GetLocaleData()->getTime( Time( Time::SYSTEM ), false, false );
 
-            // Draw should use specified paper size when printing
-            if (mrBase.GetDocShell()->GetDocumentType() == DOCUMENT_TYPE_DRAW)
+            // Draw should use specified paper size when printing, except for booklets
+            if (!mpOptions->IsBooklet() && mrBase.GetDocShell()->GetDocumentType() == DOCUMENT_TYPE_DRAW)
             {
                 aInfo.maPrintSize = mrBase.GetDocument()->GetSdPage(0, PK_STANDARD)->GetSize();
                 maPrintSize = awt::Size(aInfo.maPrintSize.Width(),
-- 
1.9.3