diff options
Diffstat (limited to 'src/Editor.cxx')
-rw-r--r-- | src/Editor.cxx | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx index 678f2e927..a1099790c 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -608,6 +608,10 @@ void Editor::InvalidateSelection(SelectionRange newMain, bool invalidateWholeSel InvalidateRange(firstAffected, lastAffected); } +void Editor::InvalidateWholeSelection() { + InvalidateSelection(sel.RangeMain(), true); +} + void Editor::SetSelection(SelectionPosition currentPos_, SelectionPosition anchor_) { currentPos_ = ClampPositionIntoDocument(currentPos_); anchor_ = ClampPositionIntoDocument(anchor_); @@ -799,9 +803,9 @@ SelectionPosition Editor::MovePositionOutsideChar(SelectionPosition pos, int mov return pos; } -int Editor::MovePositionTo(SelectionPosition newPos, Selection::selTypes selt, bool ensureVisible) { - bool simpleCaret = (sel.Count() == 1) && sel.Empty(); - SelectionPosition spCaret = sel.Last(); +void Editor::MovePositionTo(SelectionPosition newPos, Selection::selTypes selt, bool ensureVisible) { + const bool simpleCaret = (sel.Count() == 1) && sel.Empty(); + const SelectionPosition spCaret = sel.Last(); int delta = newPos.Position() - sel.MainCaret(); newPos = ClampPositionIntoDocument(newPos); @@ -809,8 +813,7 @@ int Editor::MovePositionTo(SelectionPosition newPos, Selection::selTypes selt, b if (!multipleSelection && sel.IsRectangular() && (selt == Selection::selStream)) { // Can't turn into multiple selection so clear additional selections InvalidateSelection(SelectionRange(newPos), true); - SelectionRange rangeMain = sel.RangeMain(); - sel.SetSelection(rangeMain); + sel.DropAdditionalRanges(); } if (!sel.IsRectangular() && (selt == Selection::selRectangle)) { // Switching to rectangular @@ -829,7 +832,7 @@ int Editor::MovePositionTo(SelectionPosition newPos, Selection::selTypes selt, b } ShowCaretAtCurrentPosition(); - int currentLine = pdoc->LineFromPosition(newPos.Position()); + const int currentLine = pdoc->LineFromPosition(newPos.Position()); if (ensureVisible) { // In case in need of wrapping to ensure DisplayFromDoc works. if (currentLine >= wrapPending.start) @@ -848,11 +851,10 @@ int Editor::MovePositionTo(SelectionPosition newPos, Selection::selTypes selt, b if (marginView.highlightDelimiter.NeedsDrawing(currentLine)) { RedrawSelMargin(); } - return 0; } -int Editor::MovePositionTo(int newPos, Selection::selTypes selt, bool ensureVisible) { - return MovePositionTo(SelectionPosition(newPos), selt, ensureVisible); +void Editor::MovePositionTo(int newPos, Selection::selTypes selt, bool ensureVisible) { + MovePositionTo(SelectionPosition(newPos), selt, ensureVisible); } SelectionPosition Editor::MovePositionSoVisible(SelectionPosition pos, int moveDir) { @@ -1833,9 +1835,8 @@ void Editor::AddChar(char ch) { void Editor::FilterSelections() { if (!additionalSelectionTyping && (sel.Count() > 1)) { - SelectionRange rangeOnly = sel.RangeMain(); - InvalidateSelection(rangeOnly, true); - sel.SetSelection(rangeOnly); + InvalidateWholeSelection(); + sel.DropAdditionalRanges(); } } @@ -2952,8 +2953,8 @@ void Editor::CancelModes() { void Editor::NewLine() { // Remove non-main ranges - InvalidateSelection(sel.RangeMain(), true); - sel.SetSelection(sel.RangeMain()); + InvalidateWholeSelection(); + sel.DropAdditionalRanges(); sel.RangeMain().ClearVirtualSpace(); // Clear main range and insert line end @@ -3078,7 +3079,7 @@ int Editor::StartEndDisplayLine(int pos, bool start) { int Editor::KeyCommand(unsigned int iMessage) { switch (iMessage) { case SCI_LINEDOWN: - CursorUpOrDown(1); + CursorUpOrDown(1, Selection::noSel); break; case SCI_LINEDOWNEXTEND: CursorUpOrDown(1, Selection::selStream); @@ -3087,7 +3088,7 @@ int Editor::KeyCommand(unsigned int iMessage) { CursorUpOrDown(1, Selection::selRectangle); break; case SCI_PARADOWN: - ParaUpOrDown(1); + ParaUpOrDown(1, Selection::noSel); break; case SCI_PARADOWNEXTEND: ParaUpOrDown(1, Selection::selStream); @@ -3097,7 +3098,7 @@ int Editor::KeyCommand(unsigned int iMessage) { MoveCaretInsideView(false); break; case SCI_LINEUP: - CursorUpOrDown(-1); + CursorUpOrDown(-1, Selection::noSel); break; case SCI_LINEUPEXTEND: CursorUpOrDown(-1, Selection::selStream); @@ -3106,7 +3107,7 @@ int Editor::KeyCommand(unsigned int iMessage) { CursorUpOrDown(-1, Selection::selRectangle); break; case SCI_PARAUP: - ParaUpOrDown(-1); + ParaUpOrDown(-1, Selection::noSel); break; case SCI_PARAUPEXTEND: ParaUpOrDown(-1, Selection::selStream); @@ -3340,9 +3341,8 @@ int Editor::KeyCommand(unsigned int iMessage) { CancelModes(); if (sel.Count() > 1) { // Drop additional selections - const SelectionRange rangeOnly = sel.RangeMain(); - InvalidateSelection(rangeOnly, true); - sel.SetSelection(rangeOnly); + InvalidateWholeSelection(); + sel.DropAdditionalRanges(); } break; case SCI_DELETEBACK: @@ -3436,7 +3436,7 @@ int Editor::KeyCommand(unsigned int iMessage) { break; case SCI_DELWORDRIGHT: { UndoGroup ug(pdoc); - InvalidateSelection(sel.RangeMain(), true); + InvalidateWholeSelection(); sel.RangeMain().caret = SelectionPosition( InsertSpace(sel.RangeMain().caret.Position(), sel.RangeMain().caret.VirtualSpace())); sel.RangeMain().anchor = sel.RangeMain().caret; @@ -3446,7 +3446,7 @@ int Editor::KeyCommand(unsigned int iMessage) { break; case SCI_DELWORDRIGHTEND: { UndoGroup ug(pdoc); - InvalidateSelection(sel.RangeMain(), true); + InvalidateWholeSelection(); sel.RangeMain().caret = SelectionPosition( InsertSpace(sel.RangeMain().caret.Position(), sel.RangeMain().caret.VirtualSpace())); int endWord = pdoc->NextWordEnd(sel.MainCaret(), 1); @@ -4611,7 +4611,7 @@ void Editor::ButtonUp(Point pt, unsigned int curTime, bool ctrl) { if (sel.Count() > 1) { sel.RangeMain() = SelectionRange(newPos, sel.Range(sel.Count() - 1).anchor); - InvalidateSelection(sel.RangeMain(), true); + InvalidateWholeSelection(); } else { SetSelection(newPos, sel.RangeMain().anchor); } @@ -7203,7 +7203,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { sel.SetMoveExtends(!sel.MoveExtends() || (sel.selType != Selection::selStream)); sel.selType = Selection::selStream; } - InvalidateSelection(sel.RangeMain(), true); + InvalidateWholeSelection(); break; } case SCI_GETSELECTIONMODE: @@ -7695,7 +7695,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { case SCI_ROTATESELECTION: sel.RotateMain(); - InvalidateSelection(sel.RangeMain(), true); + InvalidateWholeSelection(); break; case SCI_SWAPMAINANCHORCARET: |