Browse Source

Fix undo not available for multiple key types

pull/3752/head
Deadpikle 6 years ago
parent
commit
9463e278a5
  1. 8
      src/Avalonia.Controls/TextBox.cs

8
src/Avalonia.Controls/TextBox.cs

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

Loading…
Cancel
Save