diff options
author | Cédric Bosdonnat <cedric.bosdonnat.ooo@free.fr> | 2012-03-22 14:27:43 +0100 |
---|---|---|
committer | Cédric Bosdonnat <cedric.bosdonnat.ooo@free.fr> | 2012-03-22 15:10:50 +0100 |
commit | 2a4e77a6f94d35919237b9db9de184e70943fc13 (patch) | |
tree | 2ec6251d31fa358fa8dfa960f83e8aaa9235233d /sw | |
parent | 1e18fdb2fa0812f91685d9580d48e4d2f8452a26 (diff) |
Revert "make text wrapping work in headers/footers too (fdo#39155)"
This reverts commit e2a8fb0427e6b33a0fd3873bb7e077a6e5da8ebb. This is a
feature, not a bug and would cause loads of documents to be badly
rendered.
Link to the spec that brough that feature:
http://www.openoffice.org/specs/writer/compatibility/adjust-text-wrapping.sxw
Conflicts:
sw/source/core/text/txtfly.cxx
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/core/text/txtfly.cxx | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/sw/source/core/text/txtfly.cxx b/sw/source/core/text/txtfly.cxx index ec6d09a3b8e6..dfe499619b4b 100644 --- a/sw/source/core/text/txtfly.cxx +++ b/sw/source/core/text/txtfly.cxx @@ -886,7 +886,14 @@ SwAnchoredObjList* SwTxtFly::InitAnchoredObjList() const SwSortedObjs *pSorted = pPage->GetSortedObjs(); const sal_uInt32 nCount = pSorted ? pSorted->Count() : 0; - const sal_Bool bWrapAllowed = !SwLayouter::FrmNotToWrap( *pCurrFrm->GetTxtNode()->getIDocumentLayoutAccess(), *pCurrFrm ); + // --> #108724# Page header/footer content doesn't have to wrap around + // floating screen objects + const bool bFooterHeader = 0 != pCurrFrm->FindFooterOrHeader(); + const IDocumentSettingAccess* pIDSA = pCurrFrm->GetTxtNode()->getIDocumentSettingAccess(); + // #i40155# - check, if frame is marked not to wrap + const sal_Bool bWrapAllowed = ( pIDSA->get(IDocumentSettingAccess::USE_FORMER_TEXT_WRAPPING) || + ( !pCurrFrm->IsInFtn() && !bFooterHeader ) ) && + !SwLayouter::FrmNotToWrap( *pCurrFrm->GetTxtNode()->getIDocumentLayoutAccess(), *pCurrFrm ); bOn = sal_False; @@ -898,7 +905,6 @@ SwAnchoredObjList* SwTxtFly::InitAnchoredObjList() // #i28701# - consider complete frame area for new // text wrapping SwRect aRect; - const IDocumentSettingAccess* pIDSA = pCurrFrm->GetTxtNode()->getIDocumentSettingAccess(); if ( pIDSA->get(IDocumentSettingAccess::USE_FORMER_TEXT_WRAPPING) ) { aRect = pCurrFrm->Prt(); @@ -914,7 +920,6 @@ SwAnchoredObjList* SwTxtFly::InitAnchoredObjList() const long nRight = (aRect.*fnRect->fnGetRight)() - 1; const long nLeft = (aRect.*fnRect->fnGetLeft)() + 1; const sal_Bool bR2L = pCurrFrm->IsRightToLeft(); - const bool bFooterHeader = ( pCurrFrm->FindFooterOrHeader() != NULL ); const IDocumentDrawModelAccess* pIDDMA = pCurrFrm->GetTxtNode()->getIDocumentDrawModelAccess(); |