From 996cef2ee4f72e14c1f03e080a6369dc4810f4e3 Mon Sep 17 00:00:00 2001 From: BDisp Date: Thu, 2 Jul 2020 12:21:08 +0100 Subject: [PATCH] Added End and Home keys to the ListView. --- Terminal.Gui/Views/ListView.cs | 38 ++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/Terminal.Gui/Views/ListView.cs b/Terminal.Gui/Views/ListView.cs index e6add2e6e..b32d0f4dd 100644 --- a/Terminal.Gui/Views/ListView.cs +++ b/Terminal.Gui/Views/ListView.cs @@ -346,6 +346,12 @@ namespace Terminal.Gui { OnOpenSelectedItem (); break; + case Key.End: + return MoveEnd (); + + case Key.Home: + return MoveHome (); + } return base.ProcessKey (kb); } @@ -459,6 +465,38 @@ namespace Terminal.Gui { return true; } + /// + /// Moves the selected item index to the last row. + /// + /// + public virtual bool MoveEnd () + { + if (selected != source.Count - 1) { + selected = source.Count - 1; + top = selected; + OnSelectedChanged (); + SetNeedsDisplay (); + } + + return true; + } + + /// + /// Moves the selected item index to the first row. + /// + /// + public virtual bool MoveHome () + { + if (selected != 0) { + selected = 0; + top = selected; + OnSelectedChanged (); + SetNeedsDisplay (); + } + + return true; + } + int lastSelectedItem = -1; ///