Explorar o código

Merge branch 'master' into textfield-position-cursor

BDisp %!s(int64=5) %!d(string=hai) anos
pai
achega
320d317de2
Modificáronse 3 ficheiros con 15 adicións e 16 borrados
  1. 5 8
      Terminal.Gui/Views/Menu.cs
  2. 5 3
      UICatalog/Program.cs
  3. 5 5
      UICatalog/Scenarios/Keys.cs

+ 5 - 8
Terminal.Gui/Views/Menu.cs

@@ -360,7 +360,7 @@ namespace Terminal.Gui {
 		public override bool ProcessHotKey (KeyEvent keyEvent)
 		public override bool ProcessHotKey (KeyEvent keyEvent)
 		{
 		{
 			// To ncurses simulate a AltMask key pressing Alt+Space because
 			// To ncurses simulate a AltMask key pressing Alt+Space because
-			// it can´t detect an alone special key down was pressed.
+			// it can�t detect an alone special key down was pressed.
 			if (keyEvent.IsAlt && keyEvent.Key == Key.AltMask) {
 			if (keyEvent.IsAlt && keyEvent.Key == Key.AltMask) {
 				OnKeyDown (keyEvent);
 				OnKeyDown (keyEvent);
 				return true;
 				return true;
@@ -562,6 +562,8 @@ namespace Terminal.Gui {
 		}
 		}
 
 
 		bool openedByAltKey;
 		bool openedByAltKey;
+
+		///<inheritdoc cref="OnKeyDown"/>
 		public override bool OnKeyDown (KeyEvent keyEvent)
 		public override bool OnKeyDown (KeyEvent keyEvent)
 		{
 		{
 			if (keyEvent.IsAlt) {
 			if (keyEvent.IsAlt) {
@@ -572,12 +574,7 @@ namespace Terminal.Gui {
 			return false;
 			return false;
 		}
 		}
 
 
-		/// <summary>
-		/// Track Alt key-up events. On Windows, when a user releases Alt (without another key), the menu gets focus but doesn't open.
-		/// We mimic that behavior here.
-		/// </summary>
-		/// <param name="keyEvent"></param>
-		/// <returns></returns>
+		///<inheritdoc cref="OnKeyUp"/>
 		public override bool OnKeyUp (KeyEvent keyEvent)
 		public override bool OnKeyUp (KeyEvent keyEvent)
 		{
 		{
 			if (keyEvent.IsAlt) {
 			if (keyEvent.IsAlt) {
@@ -999,7 +996,7 @@ namespace Terminal.Gui {
 			}
 			}
 
 
 			// To ncurses simulate a AltMask key pressing Alt+Space because
 			// To ncurses simulate a AltMask key pressing Alt+Space because
-			// it can´t detect an alone special key down was pressed.
+			// it can�t detect an alone special key down was pressed.
 			if (kb.IsAlt && kb.Key == Key.AltMask && openMenu == null) {
 			if (kb.IsAlt && kb.Key == Key.AltMask && openMenu == null) {
 				OnKeyDown (kb);
 				OnKeyDown (kb);
 				OnKeyUp (kb);
 				OnKeyUp (kb);

+ 5 - 3
UICatalog/Program.cs

@@ -148,7 +148,9 @@ namespace UICatalog {
 			}
 			}
 
 
 			_top = Application.Top;
 			_top = Application.Top;
-			_top.OnKeyUp += KeyUpHandler;
+
+			_top.KeyUp += KeyUpHandler;
+
 			_top.Add (_menu);
 			_top.Add (_menu);
 			_top.Add (_leftPane);
 			_top.Add (_leftPane);
 			_top.Add (_rightPane);
 			_top.Add (_rightPane);
@@ -235,7 +237,7 @@ namespace UICatalog {
 		/// to not be impacted. Same as for tabs.
 		/// to not be impacted. Same as for tabs.
 		/// </summary>
 		/// </summary>
 		/// <param name="ke"></param>
 		/// <param name="ke"></param>
-		private static void KeyUpHandler (KeyEvent ke)
+		private static void KeyUpHandler (object sender, View.KeyEventEventArgs a)
 		{
 		{
 			if (_runningScenario != null) {
 			if (_runningScenario != null) {
 				//switch (ke.Key) {
 				//switch (ke.Key) {
@@ -245,7 +247,7 @@ namespace UICatalog {
 				//case Key.Enter:
 				//case Key.Enter:
 				//	break;
 				//	break;
 				//}
 				//}
-			} else if (ke.Key == Key.Tab || ke.Key == Key.BackTab) {
+			} else if (a.KeyEvent.Key == Key.Tab || a.KeyEvent.Key == Key.BackTab) {
 				// BUGBUG: Work around Issue #434 by implementing our own TAB navigation
 				// BUGBUG: Work around Issue #434 by implementing our own TAB navigation
 				if (_top.MostFocused == _categoryListView)
 				if (_top.MostFocused == _categoryListView)
 					_top.SetFocus (_rightPane);
 					_top.SetFocus (_rightPane);

+ 5 - 5
UICatalog/Scenarios/Keys.cs

@@ -43,8 +43,8 @@ namespace UICatalog {
 			public override bool ProcessColdKey (KeyEvent keyEvent)
 			public override bool ProcessColdKey (KeyEvent keyEvent)
 			{
 			{
 				_processColdKeyList.Add (keyEvent.ToString ());
 				_processColdKeyList.Add (keyEvent.ToString ());
-				return base.ProcessHotKey (keyEvent);
 
 
+				return base.ProcessColdKey (keyEvent);
 			}
 			}
 		}
 		}
 
 
@@ -92,7 +92,7 @@ namespace UICatalog {
 			};
 			};
 			Win.Add (labelKeypress);
 			Win.Add (labelKeypress);
 
 
-			Win.OnKeyPress += (KeyEvent keyEvent) => labelKeypress.Text = keyEvent.ToString ();
+			Win.KeyPress += (sender, a) => labelKeypress.Text = a.KeyEvent.ToString ();
 
 
 			// Key stroke log:
 			// Key stroke log:
 			var keyLogLabel = new Label ("Key stroke log:") {
 			var keyLogLabel = new Label ("Key stroke log:") {
@@ -119,9 +119,9 @@ namespace UICatalog {
 				keyStrokeListView.MoveDown ();
 				keyStrokeListView.MoveDown ();
 			}
 			}
 
 
-			Win.OnKeyDown += (KeyEvent keyEvent) => KeyDownPressUp (keyEvent, "Down");
-			Win.OnKeyPress += (KeyEvent keyEvent) => KeyDownPressUp (keyEvent, "Press");
-			Win.OnKeyUp += (KeyEvent keyEvent) => KeyDownPressUp (keyEvent, "Up");
+			Win.KeyDown += (sender, a) => KeyDownPressUp (a.KeyEvent, "Down");
+			Win.KeyPress += (sender, a) => KeyDownPressUp (a.KeyEvent, "Press");
+			Win.KeyUp += (sender, a) => KeyDownPressUp (a.KeyEvent, "Up");
 
 
 			// ProcessKey log:
 			// ProcessKey log:
 			// BUGBUG: Label is not positioning right with Pos, so using TextField instead
 			// BUGBUG: Label is not positioning right with Pos, so using TextField instead