use more SwPosition::Assign
part of the process of hiding the internals of SwPosition
Change-Id: I1157df373fd1462dc44b3828ec4de667fcdc02bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140672
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
diff --git a/sw/source/core/edit/eddel.cxx b/sw/source/core/edit/eddel.cxx
index d4fce54..36a09af 100644
--- a/sw/source/core/edit/eddel.cxx
+++ b/sw/source/core/edit/eddel.cxx
@@ -71,7 +71,7 @@ void SwEditShell::DeleteSel(SwPaM& rPam, bool const isArtificialSelection, bool
else
{
// then go to the end of the selection
aDelPam.GetPoint()->nNode = rEndNd;
aDelPam.GetPoint()->Assign(rEndNd);
aDelPam.Move( fnMoveBackward, GoInContent );
}
// skip protected boxes
@@ -102,15 +102,14 @@ void SwEditShell::DeleteSel(SwPaM& rPam, bool const isArtificialSelection, bool
while (SwTableNode const* pTableNode =
pNewPam->Start()->GetNode().StartOfSectionNode()->FindTableNode())
{
pNewPam->Start()->nNode = *pTableNode;
pNewPam->Start()->Assign(*pTableNode);
}
// tdf#133990 ensure section is included in SwUndoDelete
while (SwSectionNode const* pSectionNode =
pNewPam->Start()->GetNode().StartOfSectionNode()->FindSectionNode())
{
pNewPam->Start()->nNode = *pSectionNode;
pNewPam->Start()->Assign(*pSectionNode);
}
pNewPam->Start()->nContent.Assign(nullptr, 0);
pPam = &*pNewPam;
}
// delete everything
diff --git a/sw/source/core/edit/edfcol.cxx b/sw/source/core/edit/edfcol.cxx
index d4f1c84..02efb6b 100644
--- a/sw/source/core/edit/edfcol.cxx
+++ b/sw/source/core/edit/edfcol.cxx
@@ -2223,8 +2223,8 @@ void SwEditShell::SetTextFormatColl(SwTextFormatColl *pFormat,
SwPaM aPaM(*rPaM.Start(), *rPaM.End());
if (SwTextNode* pEndTextNode = aPaM.End()->GetNode().GetTextNode())
{
aPaM.Start()->nContent = 0;
aPaM.End()->nContent = pEndTextNode->GetText().getLength();
aPaM.Start()->SetContent(0);
aPaM.End()->SetContent(pEndTextNode->GetText().getLength());
}
GetDoc()->RstTextAttrs(aPaM, /*bInclRefToxMark=*/false, /*bExactRange=*/true, GetLayout());
diff --git a/sw/source/core/edit/edfld.cxx b/sw/source/core/edit/edfld.cxx
index 19a8a69..79d9aed 100644
--- a/sw/source/core/edit/edfld.cxx
+++ b/sw/source/core/edit/edfld.cxx
@@ -251,13 +251,13 @@ void SwEditShell::UpdateOneField(SwField &rField)
// Search for SwTextField ...
while( bOkay
&& pCurStt->nContent != pCurEnd->nContent
&& pCurStt->GetContentIndex() != pCurEnd->GetContentIndex()
&& (sw::FindAttrImpl(aPam, aFieldHint, fnMoveForward, aCurPam, true, GetLayout())
|| sw::FindAttrImpl(aPam, aAnnotationFieldHint, fnMoveForward, aCurPam, false, GetLayout())
|| sw::FindAttrImpl(aPam, aInputFieldHint, fnMoveForward, aCurPam, false, GetLayout())))
{
// if only one PaM has more than one field ...
if( aPam.Start()->nContent != pCurStt->nContent )
if( aPam.Start()->GetContentIndex() != pCurStt->GetContentIndex() )
bOkay = false;
pTextField = GetTextFieldAtPos(pCurStt, ::sw::GetTextAttrMode::Default);
@@ -275,7 +275,7 @@ void SwEditShell::UpdateOneField(SwField &rField)
pMsgHint, false);
}
// The search area is reduced by the found area:
++pCurStt->nContent;
pCurStt->AdjustContent(+1);
}
}
diff --git a/sw/source/core/edit/edglbldc.cxx b/sw/source/core/edit/edglbldc.cxx
index c538a97..e777237 100644
--- a/sw/source/core/edit/edglbldc.cxx
+++ b/sw/source/core/edit/edglbldc.cxx
@@ -142,18 +142,16 @@ void SwEditShell::InsertGlobalDocContent( const SwGlblDocContent& rInsPos,
ClearMark();
SwPosition& rPos = *pCursor->GetPoint();
rPos.nNode = rInsPos.GetDocPos();
rPos.Assign( rInsPos.GetDocPos() );
bool bEndUndo = false;
SwDoc* pMyDoc = GetDoc();
SwTextNode *const pTextNd = rPos.GetNode().GetTextNode();
if( pTextNd )
rPos.nContent.Assign( pTextNd, 0 );
else
if( !pTextNd )
{
bEndUndo = true;
pMyDoc->GetIDocumentUndoRedo().StartUndo( SwUndoId::START, nullptr );
--rPos.nNode;
rPos.Adjust(SwNodeOffset(-1));
pMyDoc->getIDocumentContentOperations().AppendTextNode( rPos );
pCursor->SetMark();
}
@@ -181,19 +179,17 @@ bool SwEditShell::InsertGlobalDocContent( const SwGlblDocContent& rInsPos,
ClearMark();
SwPosition& rPos = *pCursor->GetPoint();
rPos.nNode = rInsPos.GetDocPos();
rPos.Assign(rInsPos.GetDocPos());
bool bEndUndo = false;
SwDoc* pMyDoc = GetDoc();
SwTextNode* pTextNd = rPos.GetNode().GetTextNode();
if (pTextNd && pTextNd->GetText().getLength() && rPos.GetNodeIndex() + 1 !=
if (!pTextNd || !pTextNd->GetText().getLength() || rPos.GetNodeIndex() + 1 ==
pMyDoc->GetNodes().GetEndOfContent().GetIndex() )
rPos.nContent.Assign( pTextNd, 0 );
else
{
bEndUndo = true;
pMyDoc->GetIDocumentUndoRedo().StartUndo( SwUndoId::START, nullptr );
--rPos.nNode;
rPos.Adjust(SwNodeOffset(-1));
pMyDoc->getIDocumentContentOperations().AppendTextNode( rPos );
}
@@ -221,8 +217,7 @@ bool SwEditShell::InsertGlobalDocContent( const SwGlblDocContent& rInsPos )
ClearMark();
SwPosition& rPos = *pCursor->GetPoint();
rPos.nNode = rInsPos.GetDocPos() - 1;
rPos.nContent.Assign( nullptr, 0 );
rPos.Assign(rInsPos.GetDocPos() - 1);
SwDoc* pMyDoc = GetDoc();
pMyDoc->getIDocumentContentOperations().AppendTextNode( rPos );
@@ -252,8 +247,7 @@ void SwEditShell::DeleteGlobalDocContent( const SwGlblDocContents& rArr ,
if( 1 == rArr.size() )
{
// we need at least one node!
rPos.nNode = nDelIdx - 1;
rPos.nContent.Assign( nullptr, 0 );
rPos.Assign(nDelIdx - 1);
pMyDoc->getIDocumentContentOperations().AppendTextNode( rPos );
++nDelIdx;
@@ -263,13 +257,12 @@ void SwEditShell::DeleteGlobalDocContent( const SwGlblDocContents& rArr ,
{
case GLBLDOC_UNKNOWN:
{
rPos.nNode = nDelIdx;
rPos.Assign(nDelIdx);
pCursor->SetMark();
if( ++nDelPos < rArr.size() )
rPos.nNode = rArr[ nDelPos ]->GetDocPos();
rPos.Assign(rArr[ nDelPos ]->GetDocPos(), -1);
else
rPos.nNode = pMyDoc->GetNodes().GetEndOfContent();
--rPos.nNode;
rPos.Assign(pMyDoc->GetNodes().GetEndOfContent(), -1);
if( !pMyDoc->getIDocumentContentOperations().DelFullPara( *pCursor ) )
Delete(false);
}