editeng/source/outliner/overflowingtxt.cxx | 6 ++++++ include/editeng/overflowingtxt.hxx | 2 ++ include/svx/textchainflow.hxx | 2 ++ svx/source/svdraw/textchainflow.cxx | 10 ++++++++++ 4 files changed, 20 insertions(+)
New commits: commit 92a56f1fb97e3a095fa2702ba6970b056fef7bf6 Author: matteocam <matteo.campane...@gmail.com> Date: Mon Jul 13 12:01:16 2015 -0400 Add TextChainFlow info for merging paras Change-Id: Ieb1f951e083c11b9c18a9a15180e8aff7ef02db7 diff --git a/editeng/source/outliner/overflowingtxt.cxx b/editeng/source/outliner/overflowingtxt.cxx index 9b6da0a..45e8f51 100644 --- a/editeng/source/outliner/overflowingtxt.cxx +++ b/editeng/source/outliner/overflowingtxt.cxx @@ -144,6 +144,12 @@ OutlinerParaObject *OFlowChainedText::CreateNonOverflowingParaObject(Outliner *p return mpNonOverflowingTxt->ToParaObject(pOutliner); } +bool OFlowChainedText::IsLastParaInterrupted() const +{ + return mpNonOverflowingTxt->IsLastParaInterrupted(); +} + + // classes UFlowChainedText UFlowChainedText::UFlowChainedText(Outliner *pOutl) diff --git a/include/editeng/overflowingtxt.hxx b/include/editeng/overflowingtxt.hxx index 449ca5a..2f63cea 100644 --- a/include/editeng/overflowingtxt.hxx +++ b/include/editeng/overflowingtxt.hxx @@ -89,6 +89,8 @@ class EDITENG_DLLPUBLIC OFlowChainedText { ESelection GetInsertionPointSel() const; ESelection GetOverflowPointSel() const; + bool IsLastParaInterrupted() const; + protected: void impSetOutlinerToEmptyTxt(Outliner *); diff --git a/include/svx/textchainflow.hxx b/include/svx/textchainflow.hxx index f96ce59..8e8ad62 100644 --- a/include/svx/textchainflow.hxx +++ b/include/svx/textchainflow.hxx @@ -104,6 +104,8 @@ class TextChainFlow { OFlowChainedText *mpOverflChText; UFlowChainedText *mpUnderflChText; + bool mbMustMergeParaAmongLinks; + }; diff --git a/svx/source/svdraw/textchainflow.cxx b/svx/source/svdraw/textchainflow.cxx index 4c48266..50bddb5 100644 --- a/svx/source/svdraw/textchainflow.cxx +++ b/svx/source/svdraw/textchainflow.cxx @@ -40,6 +40,8 @@ TextChainFlow::TextChainFlow(SdrTextObj *pChainTarget) maCursorEvent = CursorChainingEvent::NULL_EVENT; mbPossiblyCursorOut = false; + + mbMustMergeParaAmongLinks = false; } @@ -100,6 +102,14 @@ void TextChainFlow::impCheckForFlowEvents(SdrOutliner *pFlowOutl, SdrOutliner *p // To check whether an overflow is underflow induced or not (useful in cursor checking) mbOFisUFinduced = bUnderflow; + // Save old state and update new + mbMustMergeParaAmongLinks = GetTextChain()->GetIsPartOfLastParaInNextLink(mpTargetLink); + + if (bOverflow) + GetTextChain()->SetIsPartOfLastParaInNextLink(mpTargetLink, mpOverflChText->IsLastParaInterrupted()); + else // Overflows determine merging or not. If no OF, just merge everything next time. + GetTextChain()->SetIsPartOfLastParaInNextLink(mpTargetLink, true); + } void TextChainFlow::impUpdateCursorInfo() _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits