aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornyamatongwe <devnull@localhost>2013-01-03 09:24:59 +1100
committernyamatongwe <devnull@localhost>2013-01-03 09:24:59 +1100
commit989e2ab9b1f020d4fb8cdaeea9de36bc755eaab7 (patch)
treef73fe1492ac4b7eaae01ffc9af97c67914b1cc5a
parent984ffd40338704db4ef1ce5333e0ed1ec9cd5a71 (diff)
downloadscintilla-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.cxx4
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));