aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornyamatongwe <unknown>2013-01-03 09:24:59 +1100
committernyamatongwe <unknown>2013-01-03 09:24:59 +1100
commit586c8d4d4ed34d255a98ba3906f16b656dc78ae0 (patch)
tree835122ed770c7d801a30c3e408283f6ae6f78cbd
parent194964071cabae35ee7436cfd9865187166724d9 (diff)
downloadscintilla-mirror-586c8d4d4ed34d255a98ba3906f16b656dc78ae0.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));