|
|
@@ -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
|