parent
f5f8afa0e8
commit
4dfd8bac3f
@ -1,88 +0,0 @@
|
|||||||
From 1c6bd2c40fd03ec735fd6dbec01520f10ee1d55a Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
|
||||||
Date: Fri, 4 Jul 2014 13:28:08 +0100
|
|
||||||
Subject: [PATCH] Resolves: fdo#80911 toggle original page orientation on paper
|
|
||||||
fallback
|
|
||||||
|
|
||||||
User defined page sizes which match rotated paper sizes available to the
|
|
||||||
printer don't work correctly when they are already in landscape mode. i.e. the
|
|
||||||
orientation should be toggled, not overwritten.
|
|
||||||
|
|
||||||
Change-Id: I30dca5f988ad72319410a03f47eccff277be8640
|
|
||||||
---
|
|
||||||
vcl/source/gdi/print.cxx | 18 ++++++++++++------
|
|
||||||
1 file changed, 12 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/vcl/source/gdi/print.cxx b/vcl/source/gdi/print.cxx
|
|
||||||
index 6c8bdc4..ded7ebc 100644
|
|
||||||
--- a/vcl/source/gdi/print.cxx
|
|
||||||
+++ b/vcl/source/gdi/print.cxx
|
|
||||||
@@ -1352,6 +1352,7 @@ void Printer::ImplFindPaperFormatForUserSize( JobSetup& aJobSetup, bool bMatchNe
|
|
||||||
int nLandscapeAngle = GetLandscapeAngle();
|
|
||||||
int nPaperCount = GetPaperInfoCount();
|
|
||||||
bool bFound = false;
|
|
||||||
+ bool bToggleOrient = false;
|
|
||||||
|
|
||||||
PaperInfo aInfo(pSetupData->mnPaperWidth, pSetupData->mnPaperHeight);
|
|
||||||
|
|
||||||
@@ -1364,7 +1365,6 @@ void Printer::ImplFindPaperFormatForUserSize( JobSetup& aJobSetup, bool bMatchNe
|
|
||||||
{
|
|
||||||
pSetupData->mePaperFormat = ImplGetPaperFormat( rPaperInfo.getWidth(),
|
|
||||||
rPaperInfo.getHeight() );
|
|
||||||
- pSetupData->meOrientation = ORIENTATION_PORTRAIT;
|
|
||||||
bFound = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
@@ -1388,8 +1388,8 @@ void Printer::ImplFindPaperFormatForUserSize( JobSetup& aJobSetup, bool bMatchNe
|
|
||||||
{
|
|
||||||
pSetupData->mePaperFormat = ImplGetPaperFormat( rPaperInfo.getWidth(),
|
|
||||||
rPaperInfo.getHeight() );
|
|
||||||
- pSetupData->meOrientation = ORIENTATION_LANDSCAPE;
|
|
||||||
bFound = true;
|
|
||||||
+ bToggleOrient = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1399,7 +1399,6 @@ void Printer::ImplFindPaperFormatForUserSize( JobSetup& aJobSetup, bool bMatchNe
|
|
||||||
{
|
|
||||||
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 );
|
|
||||||
@@ -1412,7 +1411,7 @@ void Printer::ImplFindPaperFormatForUserSize( JobSetup& aJobSetup, bool bMatchNe
|
|
||||||
{
|
|
||||||
nBestMatch = nMatch;
|
|
||||||
nBestIndex = i;
|
|
||||||
- eBestOrientation = ORIENTATION_PORTRAIT;
|
|
||||||
+ bToggleOrient = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// check landscape match
|
|
||||||
@@ -1423,13 +1422,20 @@ void Printer::ImplFindPaperFormatForUserSize( JobSetup& aJobSetup, bool bMatchNe
|
|
||||||
{
|
|
||||||
nBestMatch = nMatch;
|
|
||||||
nBestIndex = i;
|
|
||||||
- eBestOrientation = ORIENTATION_LANDSCAPE;
|
|
||||||
+ bToggleOrient = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const PaperInfo& rBestInfo = GetPaperInfo( nBestIndex );
|
|
||||||
pSetupData->mePaperFormat = ImplGetPaperFormat( rBestInfo.getWidth(),
|
|
||||||
rBestInfo.getHeight() );
|
|
||||||
- pSetupData->meOrientation = eBestOrientation;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (bToggleOrient)
|
|
||||||
+ {
|
|
||||||
+ if (pSetupData->meOrientation == ORIENTATION_PORTRAIT)
|
|
||||||
+ pSetupData->meOrientation = ORIENTATION_LANDSCAPE;
|
|
||||||
+ else
|
|
||||||
+ pSetupData->meOrientation = ORIENTATION_PORTRAIT;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
1.9.3
|
|
||||||
|
|
Loading…
Reference in new issue