diff --git a/Terminal.Gui/Views/Toplevel.cs b/Terminal.Gui/Views/Toplevel.cs index fb31efb73..4c23b215f 100644 --- a/Terminal.Gui/Views/Toplevel.cs +++ b/Terminal.Gui/Views/Toplevel.cs @@ -31,15 +31,10 @@ public partial class Toplevel : View Arrangement = ViewArrangement.Fixed; Width = Dim.Fill (); Height = Dim.Fill (); - ColorScheme = Colors.ColorSchemes ["TopLevel"]; - - //ConfigureKeyBindings (); - MouseClick += Toplevel_MouseClick; } - #region Keyboard & Mouse // TODO: IRunnable: Re-implement - Modal means IRunnable, ViewArrangement.Overlapped where modalView.Z > allOtherViews.Max (v = v.Z), and exclusive key/mouse input. @@ -65,114 +60,6 @@ public partial class Toplevel : View /// public bool Modal { get; set; } - // TODO: Overlapped: Figure out how these keybindings should work. - private void ConfigureKeyBindings () - { - // Things this view knows how to do - AddCommand ( - Command.QuitToplevel, // TODO: IRunnable: Rename to Command.Quit to make more generic. - () => - { - QuitToplevel (); - - return true; - } - ); - - /// TODO: Overlapped: Add Command.ShowHide - - AddCommand ( - Command.Suspend, // TODO: Move to Application - () => - { - Driver.Suspend (); - ; - - return true; - } - ); - - AddCommand ( - Command.NextView, // TODO: Figure out how to move this to the View that is at the root of the view hierarchy (currently Application.Top) - () => - { - MoveNextView (); - - return true; - } - ); - - AddCommand ( - Command.PreviousView,// TODO: Figure out how to move this to the View that is at the root of the view hierarchy (currently Application.Top) - () => - { - MovePreviousView (); - - return true; - } - ); - - AddCommand ( - Command.NextViewOrTop,// TODO: Figure out how to move this to the View that is at the root of the view hierarchy (currently Application.Top) - () => - { - MoveNextViewOrTop (); - - return true; - } - ); - - AddCommand ( - Command.PreviousViewOrTop,// TODO: Figure out how to move this to the View that is at the root of the view hierarchy (currently Application.Top) - () => - { - MovePreviousViewOrTop (); - - return true; - } - ); - - AddCommand ( - Command.Refresh, - () => - { - Application.Refresh (); // TODO: Move to Application - - return true; - } - ); - - // Default keybindings for this view - KeyBindings.Add (Application.QuitKey, Command.QuitToplevel); - - KeyBindings.Add (Key.CursorRight, Command.NextView); - KeyBindings.Add (Key.CursorDown, Command.NextView); - KeyBindings.Add (Key.CursorLeft, Command.PreviousView); - KeyBindings.Add (Key.CursorUp, Command.PreviousView); - - KeyBindings.Add (Key.Tab, Command.NextView); - KeyBindings.Add (Key.Tab.WithShift, Command.PreviousView); - KeyBindings.Add (Key.Tab.WithCtrl, Command.NextViewOrTop); - KeyBindings.Add (Key.Tab.WithShift.WithCtrl, Command.PreviousViewOrTop); - - // TODO: Refresh Key should be configurable - KeyBindings.Add (Key.F5, KeyBindingScope.Application, Command.Refresh); - KeyBindings.Add (Application.AlternateForwardKey, Command.NextViewOrTop); // Needed on Unix - KeyBindings.Add (Application.AlternateBackwardKey, Command.PreviousViewOrTop); // Needed on Unix - - if (Environment.OSVersion.Platform == PlatformID.Unix) - { - KeyBindings.Add (Key.Z.WithCtrl, Command.Suspend); - } - -#if UNIX_KEY_BINDINGS - KeyBindings.Add (Key.L.WithCtrl, Command.Refresh); // Unix - KeyBindings.Add (Key.F.WithCtrl, Command.NextView); // Unix - KeyBindings.Add (Key.I.WithCtrl, Command.NextView); // Unix - KeyBindings.Add (Key.B.WithCtrl, Command.PreviousView); // Unix -#endif - } - private void Toplevel_MouseClick (object sender, MouseEventEventArgs e) { e.Handled = InvokeCommand (Command.HotKey) == true; } // TODO: Deprecate - No need for this at View level; having at Application is sufficient. @@ -500,18 +387,6 @@ public partial class Toplevel : View Unloaded?.Invoke (this, EventArgs.Empty); } - private void QuitToplevel () - { - if (Application.OverlappedTop is { }) - { - RequestStop (this); - } - else - { - Application.RequestStop (); - } - } - #endregion #region Draw