From 989e2ab9b1f020d4fb8cdaeea9de36bc755eaab7 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Thu, 3 Jan 2013 09:24:59 +1100 Subject: Fix behaviour of the left and right keys after SCI_SETSELECTIONMODE(SC_SEL_STREAM) where moving both left and right collapsed the selection instead of shrinking the selection by one character. --- src/Editor.cxx | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/Editor.cxx b/src/Editor.cxx index 34c195f3e..c35caf5b8 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -5169,6 +5169,8 @@ int Editor::KeyCommand(unsigned int iMessage) { SelectionPosition spCaret = sel.RangeMain().caret; spCaret.SetVirtualSpace(spCaret.VirtualSpace() - 1); MovePositionTo(spCaret); + } else if (sel.MoveExtends() && sel.selType == Selection::selStream) { + MovePositionTo(MovePositionSoVisible(SelectionPosition(sel.MainCaret() - 1), -1)); } else { MovePositionTo(MovePositionSoVisible( SelectionPosition((sel.LimitsForRectangularElseMain().start).Position() - 1), -1)); @@ -5204,6 +5206,8 @@ int Editor::KeyCommand(unsigned int iMessage) { SelectionPosition spCaret = sel.RangeMain().caret; spCaret.SetVirtualSpace(spCaret.VirtualSpace() + 1); MovePositionTo(spCaret); + } else if (sel.MoveExtends() && sel.selType == Selection::selStream) { + MovePositionTo(MovePositionSoVisible(SelectionPosition(sel.MainCaret() + 1), 1)); } else { MovePositionTo(MovePositionSoVisible( SelectionPosition((sel.LimitsForRectangularElseMain().end).Position() + 1), 1)); -- cgit v1.2.3