mirror of https://github.com/buggins/dlangui.git
better Home key behavior in editors: dlangide/issue#148
This commit is contained in:
parent
7948509a6d
commit
e2bc56d976
|
@ -1335,8 +1335,18 @@ class EditWidgetBase : ScrollWidgetBase, EditableContentListener, MenuItemAction
|
||||||
return true;
|
return true;
|
||||||
case LineBegin:
|
case LineBegin:
|
||||||
case SelectLineBegin:
|
case SelectLineBegin:
|
||||||
|
auto space = _content.getLineWhiteSpace(_caretPos.line);
|
||||||
if (_caretPos.pos > 0) {
|
if (_caretPos.pos > 0) {
|
||||||
_caretPos.pos = 0;
|
if (_caretPos.pos > space.firstNonSpaceIndex && space.firstNonSpaceIndex > 0)
|
||||||
|
_caretPos.pos = space.firstNonSpaceIndex;
|
||||||
|
else
|
||||||
|
_caretPos.pos = 0;
|
||||||
|
ensureCaretVisible();
|
||||||
|
updateSelectionAfterCursorMovement(oldCaretPos, (a.id & 1) != 0);
|
||||||
|
} else {
|
||||||
|
// caret pos is 0
|
||||||
|
if (space.firstNonSpaceIndex > 0)
|
||||||
|
_caretPos.pos = space.firstNonSpaceIndex;
|
||||||
ensureCaretVisible();
|
ensureCaretVisible();
|
||||||
updateSelectionAfterCursorMovement(oldCaretPos, (a.id & 1) != 0);
|
updateSelectionAfterCursorMovement(oldCaretPos, (a.id & 1) != 0);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue