From 1daf2d728e95854ad648f93e6f17f8f58074d65c Mon Sep 17 00:00:00 2001 From: Neil Date: Fri, 9 Aug 2024 10:05:41 +1000 Subject: Simplify code that sets an empty selection at a position. --- gtk/ScintillaGTK.cxx | 3 +-- qt/ScintillaEditBase/ScintillaEditBase.cpp | 3 +-- src/Editor.cxx | 6 ++---- src/ScintillaBase.cxx | 3 +-- win32/ScintillaWin.cxx | 6 ++---- 5 files changed, 7 insertions(+), 14 deletions(-) diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx index 4838bd58a..b40b6547d 100755 --- a/gtk/ScintillaGTK.cxx +++ b/gtk/ScintillaGTK.cxx @@ -2379,8 +2379,7 @@ void ScintillaGTK::MoveImeCarets(Sci::Position pos) { // Move carets relatively by bytes for (size_t r=0; rsel.Count(); r++) { const Sci::Position positionInsert = sqt->sel.Range(r).Start().Position(); - sqt->sel.Range(r).caret.SetPosition(positionInsert + offset); - sqt->sel.Range(r).anchor.SetPosition(positionInsert + offset); + sqt->sel.Range(r) = SelectionRange(positionInsert + offset); } } diff --git a/src/Editor.cxx b/src/Editor.cxx index 588f22e4d..a185d7f08 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -2067,8 +2067,7 @@ void Editor::InsertCharacter(std::string_view sv, CharacterSource charSource) { positionInsert = RealizeVirtualSpace(positionInsert, currentSel->caret.VirtualSpace()); const Sci::Position lengthInserted = pdoc->InsertString(positionInsert, sv); if (lengthInserted > 0) { - currentSel->caret.SetPosition(positionInsert + lengthInserted); - currentSel->anchor.SetPosition(positionInsert + lengthInserted); + *currentSel = SelectionRange(positionInsert + lengthInserted); } currentSel->ClearVirtualSpace(); // If in wrap mode rewrap current line so EnsureCaretVisible has accurate information @@ -2173,8 +2172,7 @@ void Editor::InsertPaste(const char *text, Sci::Position len) { positionInsert = RealizeVirtualSpace(positionInsert, sel.Range(r).caret.VirtualSpace()); const Sci::Position lengthInserted = pdoc->InsertString(positionInsert, text, len); if (lengthInserted > 0) { - sel.Range(r).caret.SetPosition(positionInsert + lengthInserted); - sel.Range(r).anchor.SetPosition(positionInsert + lengthInserted); + sel.Range(r) = SelectionRange(positionInsert + lengthInserted); } sel.Range(r).ClearVirtualSpace(); } diff --git a/src/ScintillaBase.cxx b/src/ScintillaBase.cxx index 1b19802f9..15e29b819 100644 --- a/src/ScintillaBase.cxx +++ b/src/ScintillaBase.cxx @@ -232,8 +232,7 @@ void ScintillaBase::AutoCompleteInsert(Sci::Position startPos, Sci::Position rem } const Sci::Position lengthInserted = pdoc->InsertString(positionInsert, text); if (lengthInserted > 0) { - sel.Range(r).caret.SetPosition(positionInsert + lengthInserted); - sel.Range(r).anchor.SetPosition(positionInsert + lengthInserted); + sel.Range(r) = SelectionRange(positionInsert + lengthInserted); } sel.Range(r).ClearVirtualSpace(); } diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index 748560a10..c1b330e61 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -1113,8 +1113,7 @@ void ScintillaWin::MoveImeCarets(Sci::Position offset) noexcept { // Move carets relatively by bytes. for (size_t r=0; r