mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-28 16:58:01 +01:00
removed unneeded key handling code from Toplevel
This commit is contained in:
@@ -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
|
||||
/// </summary>
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user