sw/source/core/unocore/unoredline.cxx | 24 ++++++++++++------------ xmloff/source/text/XMLRedlineExport.cxx | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-)
New commits: commit ef1380d84b36bf0f8d8bb5b77c2eabe4a0d04f61 Author: Rosemary Sebastian <[email protected]> Date: Fri Jun 17 19:32:04 2016 +0530 Get the start position of redline Change-Id: I3fd5674b47e33f769cbb22203ab92444a1bb8d47 diff --git a/sw/source/core/unocore/unoredline.cxx b/sw/source/core/unocore/unoredline.cxx index 0f8d115..37743a0 100644 --- a/sw/source/core/unocore/unoredline.cxx +++ b/sw/source/core/unocore/unoredline.cxx @@ -317,15 +317,13 @@ uno::Any SwXRedlinePortion::GetPropertyValue( const OUString& rPropertyName, co else aRet <<= OUString("text"); } - else if (rPropertyName == UNO_NAME_REDLINE_UNDO_START || rPropertyName == UNO_NAME_REDLINE_UNDO_END) + else if (rPropertyName == UNO_NAME_REDLINE_UNDO_START) { - sal_Int32 nStart, nEnd; - SwNodeIndex* pNodeIdx = rRedline.GetContentIdx(); - rRedline.CalcStartEnd(pNodeIdx->GetNode().GetIndex(), nStart, nEnd); - if(rPropertyName == UNO_NAME_REDLINE_UNDO_START) - aRet <<= nStart; - else - aRet <<= nEnd; + aRet <<= rRedline.GetPoint()->nContent.GetIndex() + 1; + } + else if (rPropertyName == UNO_NAME_REDLINE_UNDO_END) + { + aRet <<= rRedline.GetPoint()->nContent.GetNext()->GetIndex(); } return aRet; } @@ -361,6 +359,12 @@ uno::Sequence< beans::PropertyValue > SwXRedlinePortion::CreateRedlineProperties pRet[nPropIdx].Name = UNO_NAME_REDLINE_ELEMENT_TYPE; pRet[nPropIdx++].Value <<= OUString("paragraph"); + pRet[nPropIdx].Name = UNO_NAME_REDLINE_UNDO_START; + pRet[nPropIdx++].Value <<= rRedline.GetPoint()->nContent.GetIndex() + 1; + + pRet[nPropIdx].Name = UNO_NAME_REDLINE_UNDO_END; + pRet[nPropIdx++].Value <<= rRedline.GetMark()->nContent.GetIndex() + 1; + SwNodeIndex* pNodeIdx = rRedline.GetContentIdx(); if(pNodeIdx ) { @@ -369,10 +373,6 @@ uno::Sequence< beans::PropertyValue > SwXRedlinePortion::CreateRedlineProperties uno::Reference<text::XText> xRet = new SwXRedlineText(rRedline.GetDoc(), *pNodeIdx); pRet[nPropIdx].Name = UNO_NAME_REDLINE_TEXT; pRet[nPropIdx++].Value <<= xRet; - pRet[nPropIdx].Name = UNO_NAME_REDLINE_UNDO_START; - pRet[nPropIdx++].Value <<= pNodeIdx->GetNode().GetIndex(); - pRet[nPropIdx].Name = UNO_NAME_REDLINE_UNDO_END; - pRet[nPropIdx++].Value <<= pNodeIdx->GetNode().EndOfSectionIndex(); } else { OSL_FAIL("Empty section in redline portion! (end node immediately follows start node)"); diff --git a/xmloff/source/text/XMLRedlineExport.cxx b/xmloff/source/text/XMLRedlineExport.cxx index 1d085b8..8459764 100644 --- a/xmloff/source/text/XMLRedlineExport.cxx +++ b/xmloff/source/text/XMLRedlineExport.cxx @@ -337,7 +337,7 @@ void XMLRedlineExport::ExportChangedRegion( OUString sType; aAny >>= sType; - sal_Int16 nParagraphIdx = 2, nCharStart, nCharEnd; + sal_uInt32 nParagraphIdx = 2, nCharStart, nCharEnd; rPropSet->getPropertyValue("RedlineUndoStart") >>= nCharStart; rPropSet->getPropertyValue("RedlineUndoEnd") >>= nCharEnd; _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
