Remove key handling from ContainerWidget

It has no business handling key input. This was used only for opening the ingame chat and replacing it with a `LogicKeyListener` was trivial.
This commit is contained in:
Ivaylo Draganov
2024-09-30 16:59:14 +03:00
committed by Gustas
parent a69ea79d83
commit 771b9ddfda
4 changed files with 6 additions and 4 deletions

View File

@@ -632,8 +632,6 @@ namespace OpenRA.Widgets
public override string GetCursor(int2 pos) { return null; }
public override Widget Clone() { return new ContainerWidget(this); }
public Func<KeyInput, bool> OnKeyPress = _ => false;
public override bool HandleKeyPress(KeyInput e) { return OnKeyPress(e); }
public override bool HandleMouseInput(MouseInput mi)
{

View File

@@ -209,7 +209,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
var chatClose = chatChrome.Get<ButtonWidget>("CHAT_CLOSE");
chatClose.OnClick += CloseChat;
chatPanel.OnKeyPress = e =>
var openChatKeyListener = chatPanel.Get<LogicKeyListenerWidget>("OPEN_CHAT_KEY_LISTENER");
openChatKeyListener.AddHandler(e =>
{
if (e.Event == KeyInputEvent.Up)
return false;
@@ -223,7 +225,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
}
return false;
};
});
}
chatScrollPanel = chatChrome.Get<ScrollPanelWidget>("CHAT_SCROLLPANEL");

View File

@@ -11,6 +11,7 @@ Container@CHAT_PANEL:
System: SYSTEM_LINE_TEMPLATE
Mission: CHAT_LINE_TEMPLATE
Children:
LogicKeyListener@OPEN_CHAT_KEY_LISTENER:
Container@CHAT_OVERLAY:
Width: PARENT_RIGHT - 24
Height: PARENT_BOTTOM - 30

View File

@@ -11,6 +11,7 @@ Container@CHAT_PANEL:
System: SYSTEM_LINE_TEMPLATE
Mission: CHAT_LINE_TEMPLATE
Children:
LogicKeyListener@OPEN_CHAT_KEY_LISTENER:
Container@CHAT_OVERLAY:
Width: PARENT_RIGHT - 24
Height: PARENT_BOTTOM - 30