|
|
|
@ -15,7 +15,6 @@ using Avalonia.Layout; |
|
|
|
using Avalonia.Utilities; |
|
|
|
using Avalonia.Controls.Metadata; |
|
|
|
using Avalonia.Media.TextFormatting; |
|
|
|
using Avalonia.Media.TextFormatting.Unicode; |
|
|
|
using Avalonia.Automation.Peers; |
|
|
|
using Avalonia.Threading; |
|
|
|
|
|
|
|
@ -1214,6 +1213,34 @@ namespace Avalonia.Controls |
|
|
|
selection = true; |
|
|
|
handled = true; |
|
|
|
} |
|
|
|
else if (Match(keymap.PageLeft)) |
|
|
|
{ |
|
|
|
MovePageLeft(); |
|
|
|
movement = true; |
|
|
|
selection = false; |
|
|
|
handled = true; |
|
|
|
} |
|
|
|
else if (Match(keymap.PageRight)) |
|
|
|
{ |
|
|
|
MovePageRight(); |
|
|
|
movement = true; |
|
|
|
selection = false; |
|
|
|
handled = true; |
|
|
|
} |
|
|
|
else if (Match(keymap.PageUp)) |
|
|
|
{ |
|
|
|
MovePageUp(); |
|
|
|
movement = true; |
|
|
|
selection = false; |
|
|
|
handled = true; |
|
|
|
} |
|
|
|
else if (Match(keymap.PageDown)) |
|
|
|
{ |
|
|
|
MovePageDown(); |
|
|
|
movement = true; |
|
|
|
selection = false; |
|
|
|
handled = true; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
bool hasWholeWordModifiers = modifiers.HasAllFlags(keymap.WholeWordTextActionModifiers); |
|
|
|
@ -1404,8 +1431,6 @@ namespace Avalonia.Controls |
|
|
|
{ |
|
|
|
var point = e.GetPosition(_presenter); |
|
|
|
|
|
|
|
var oldIndex = CaretIndex; |
|
|
|
|
|
|
|
_presenter.MoveCaretToPoint(point); |
|
|
|
|
|
|
|
var caretIndex = _presenter.CaretIndex; |
|
|
|
@ -1738,6 +1763,25 @@ namespace Avalonia.Controls |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void MovePageRight() |
|
|
|
{ |
|
|
|
_scrollViewer?.PageRight(); |
|
|
|
} |
|
|
|
|
|
|
|
private void MovePageLeft() |
|
|
|
{ |
|
|
|
_scrollViewer?.PageLeft(); |
|
|
|
} |
|
|
|
private void MovePageUp() |
|
|
|
{ |
|
|
|
_scrollViewer?.PageUp(); |
|
|
|
} |
|
|
|
|
|
|
|
private void MovePageDown() |
|
|
|
{ |
|
|
|
_scrollViewer?.PageDown(); |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Select all text in the TextBox
|
|
|
|
/// </summary>
|
|
|
|
|