diff options
author | Justin Luth <justin.luth@collabora.com> | 2020-03-04 16:31:14 +0300 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2020-03-12 09:10:23 +0100 |
commit | b271cc46851c61ddef20dc869bf339c857f76b18 (patch) | |
tree | e25706e19270e49cd1881e0ac5706340e4efebf9 /sw/source/core/inc/rowfrm.hxx | |
parent | 845c7a3bd93f25e6138cff61fa91e346746174d2 (diff) |
tdf#123116 sw layout: allow rows larger than page to split anyway
Even if the row is set to not allow splitting across pages,
ignore that setting if the row is too big to fit on a single page.
Don't worry too much about compatibility, because there is no
sensible reason why anyone would have hidden content like this
intentionally.
An oversized row has always moved to start a new page. While that may
not strictly be necessary anymore, to approximate a bit of backward
compatibility, continue to do that. MS Word will do the same...
Word, prior to 2013, always tries to keep the whole row on
one page. In 2013 (compatibleMode == 15), native documents
will be treated like this patch. So, although this patch
throws away senseless compatibility with existing documents,
it is interoperable with anything authored by Word >= 2013.
Word 2013/2016 also opens .odt files this way.
HOWEVER, LO authored .docx files do not set compatibleMode=15,
so Word will treat them the old way - hiding all the content
on a single page.
Change-Id: I306e22230ed6fe21f6b66700ffd7615678859f5d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90005
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth@sil.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'sw/source/core/inc/rowfrm.hxx')
-rw-r--r-- | sw/source/core/inc/rowfrm.hxx | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sw/source/core/inc/rowfrm.hxx b/sw/source/core/inc/rowfrm.hxx index 3786d00f8347..e131730c20e6 100644 --- a/sw/source/core/inc/rowfrm.hxx +++ b/sw/source/core/inc/rowfrm.hxx @@ -43,6 +43,7 @@ class SwRowFrame: public SwLayoutFrame bool m_bIsRepeatedHeadline; bool m_bIsRowSpanLine; + bool m_bForceRowSplitAllowed; bool m_bIsInSplit; virtual void DestroyImpl() override; @@ -90,6 +91,8 @@ public: // --> split table rows bool IsRowSplitAllowed() const; + bool IsForceRowSplitAllowed() const { return m_bForceRowSplitAllowed; } + void SetForceRowSplitAllowed( bool bNew) { m_bForceRowSplitAllowed = bNew; }; bool IsFollowFlowRow() const { return m_bIsFollowFlowRow; } void SetFollowFlowRow( bool bNew ) { m_bIsFollowFlowRow = bNew; } // <-- split table rows |