diff options
author | nyamatongwe <devnull@localhost> | 2013-01-03 09:24:59 +1100 |
---|---|---|
committer | nyamatongwe <devnull@localhost> | 2013-01-03 09:24:59 +1100 |
commit | 989e2ab9b1f020d4fb8cdaeea9de36bc755eaab7 (patch) | |
tree | f73fe1492ac4b7eaae01ffc9af97c67914b1cc5a | |
parent | 984ffd40338704db4ef1ce5333e0ed1ec9cd5a71 (diff) | |
download | scintilla-mirror-989e2ab9b1f020d4fb8cdaeea9de36bc755eaab7.tar.gz |
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.
-rw-r--r-- | src/Editor.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
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)); |