|
|
|
@ -602,6 +602,7 @@ namespace Avalonia.Controls |
|
|
|
break; |
|
|
|
|
|
|
|
case Key.Back: |
|
|
|
_undoRedoHelper.Snapshot(); |
|
|
|
if (hasWholeWordModifiers && SelectionStart == SelectionEnd) |
|
|
|
{ |
|
|
|
SetSelectionForControlBackspace(); |
|
|
|
@ -625,11 +626,13 @@ namespace Avalonia.Controls |
|
|
|
CaretIndex -= removedCharacters; |
|
|
|
SelectionStart = SelectionEnd = CaretIndex; |
|
|
|
} |
|
|
|
_undoRedoHelper.Snapshot(); |
|
|
|
|
|
|
|
handled = true; |
|
|
|
break; |
|
|
|
|
|
|
|
case Key.Delete: |
|
|
|
_undoRedoHelper.Snapshot(); |
|
|
|
if (hasWholeWordModifiers && SelectionStart == SelectionEnd) |
|
|
|
{ |
|
|
|
SetSelectionForControlDelete(); |
|
|
|
@ -651,6 +654,7 @@ namespace Avalonia.Controls |
|
|
|
SetTextInternal(text.Substring(0, caretIndex) + |
|
|
|
text.Substring(caretIndex + removedCharacters)); |
|
|
|
} |
|
|
|
_undoRedoHelper.Snapshot(); |
|
|
|
|
|
|
|
handled = true; |
|
|
|
break; |
|
|
|
@ -658,7 +662,9 @@ namespace Avalonia.Controls |
|
|
|
case Key.Enter: |
|
|
|
if (AcceptsReturn) |
|
|
|
{ |
|
|
|
_undoRedoHelper.Snapshot(); |
|
|
|
HandleTextInput(NewLine); |
|
|
|
_undoRedoHelper.Snapshot(); |
|
|
|
handled = true; |
|
|
|
} |
|
|
|
|
|
|
|
@ -667,7 +673,9 @@ namespace Avalonia.Controls |
|
|
|
case Key.Tab: |
|
|
|
if (AcceptsTab) |
|
|
|
{ |
|
|
|
_undoRedoHelper.Snapshot(); |
|
|
|
HandleTextInput("\t"); |
|
|
|
_undoRedoHelper.Snapshot(); |
|
|
|
handled = true; |
|
|
|
} |
|
|
|
else |
|
|
|
|