more bugs fixed in keyboard text selection
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18956 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -2844,15 +2844,14 @@ BTextView::HandleArrowKey(uint32 inArrowKey)
|
|||||||
if (shiftDown) {
|
if (shiftDown) {
|
||||||
fClickOffset = PreviousInitialByte(fClickOffset);
|
fClickOffset = PreviousInitialByte(fClickOffset);
|
||||||
if (fClickOffset != currentOffset) {
|
if (fClickOffset != currentOffset) {
|
||||||
if (fClickOffset >= fSelStart) {
|
if (fClickOffset >= fSelStart)
|
||||||
selStart = fSelStart;
|
|
||||||
selEnd = fClickOffset;
|
selEnd = fClickOffset;
|
||||||
} else {
|
else
|
||||||
selStart = fClickOffset;
|
selStart = fClickOffset;
|
||||||
selEnd = fSelEnd;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else
|
} else if (fSelStart != fSelEnd)
|
||||||
|
fClickOffset = fSelStart;
|
||||||
|
else
|
||||||
fClickOffset = PreviousInitialByte(fSelStart);
|
fClickOffset = PreviousInitialByte(fSelStart);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@@ -2861,15 +2860,14 @@ BTextView::HandleArrowKey(uint32 inArrowKey)
|
|||||||
if (shiftDown) {
|
if (shiftDown) {
|
||||||
fClickOffset = NextInitialByte(fClickOffset);
|
fClickOffset = NextInitialByte(fClickOffset);
|
||||||
if (fClickOffset != currentOffset) {
|
if (fClickOffset != currentOffset) {
|
||||||
if (fClickOffset <= fSelEnd) {
|
if (fClickOffset <= fSelEnd)
|
||||||
selStart = fClickOffset;
|
selStart = fClickOffset;
|
||||||
selEnd = fSelEnd;
|
else
|
||||||
} else {
|
|
||||||
selStart = fSelStart;
|
|
||||||
selEnd = fClickOffset;
|
selEnd = fClickOffset;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else
|
} else if (fSelStart != fSelEnd)
|
||||||
|
fClickOffset = fSelEnd;
|
||||||
|
else
|
||||||
fClickOffset = NextInitialByte(fSelEnd);
|
fClickOffset = NextInitialByte(fSelEnd);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -2880,7 +2878,7 @@ BTextView::HandleArrowKey(uint32 inArrowKey)
|
|||||||
point.y -= height;
|
point.y -= height;
|
||||||
fClickOffset = OffsetAt(point);
|
fClickOffset = OffsetAt(point);
|
||||||
if (shiftDown) {
|
if (shiftDown) {
|
||||||
if (fClickOffset > fSelStart)
|
if (fClickOffset >= fSelStart)
|
||||||
selEnd = fClickOffset;
|
selEnd = fClickOffset;
|
||||||
else
|
else
|
||||||
selStart = fClickOffset;
|
selStart = fClickOffset;
|
||||||
@@ -2895,7 +2893,7 @@ BTextView::HandleArrowKey(uint32 inArrowKey)
|
|||||||
point.y += height;
|
point.y += height;
|
||||||
fClickOffset = OffsetAt(point);
|
fClickOffset = OffsetAt(point);
|
||||||
if (shiftDown) {
|
if (shiftDown) {
|
||||||
if (fClickOffset < fSelEnd)
|
if (fClickOffset <= fSelEnd)
|
||||||
selStart = fClickOffset;
|
selStart = fClickOffset;
|
||||||
else
|
else
|
||||||
selEnd = fClickOffset;
|
selEnd = fClickOffset;
|
||||||
|
|||||||
Reference in New Issue
Block a user