From cd91effefb5f0c6d59cd1de618a723b4477f14ce Mon Sep 17 00:00:00 2001 From: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com> Date: Thu, 6 Feb 2025 07:14:55 -0800 Subject: [PATCH] HOTFIX: Fix lineedit focus (#34621) * Test entered tree fix * Use Opened override * Fix keyboard focus on window open for DialogWindow This affects Phone, Pray, Rename, and multiple other admin verbs. * Clean up --- Content.Client/Labels/UI/HandLabelerWindow.xaml.cs | 7 ++++++- .../UserInterface/Controls/DialogWindow.xaml.cs | 11 ++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Content.Client/Labels/UI/HandLabelerWindow.xaml.cs b/Content.Client/Labels/UI/HandLabelerWindow.xaml.cs index 7a0627b3e2..528e227f55 100644 --- a/Content.Client/Labels/UI/HandLabelerWindow.xaml.cs +++ b/Content.Client/Labels/UI/HandLabelerWindow.xaml.cs @@ -33,8 +33,13 @@ namespace Content.Client.Labels.UI _focused = false; LabelLineEdit.Text = _label; }; + } - // Give the editor keybard focus, since that's the only + protected override void Opened() + { + base.Opened(); + + // Give the editor keyboard focus, since that's the only // thing the user will want to be doing with this UI LabelLineEdit.GrabKeyboardFocus(); } diff --git a/Content.Client/UserInterface/Controls/DialogWindow.xaml.cs b/Content.Client/UserInterface/Controls/DialogWindow.xaml.cs index 733dbe3265..d831f60247 100644 --- a/Content.Client/UserInterface/Controls/DialogWindow.xaml.cs +++ b/Content.Client/UserInterface/Controls/DialogWindow.xaml.cs @@ -87,9 +87,6 @@ public sealed partial class DialogWindow : FancyWindow Prompts.AddChild(box); } - // Grab keyboard focus for the first dialog entry - _promptLines[0].Item2.GrabKeyboardFocus(); - OkButton.OnPressed += _ => Confirm(); CancelButton.OnPressed += _ => @@ -110,6 +107,14 @@ public sealed partial class DialogWindow : FancyWindow OpenCentered(); } + protected override void Opened() + { + base.Opened(); + + // Grab keyboard focus for the first dialog entry + _promptLines[0].Item2.GrabKeyboardFocus(); + } + private void Confirm() { var results = new Dictionary();