From 4a728fa3c68ba7b6b41ed86950b004dc6ea1c74b Mon Sep 17 00:00:00 2001 From: Repo <47093363+Titian3@users.noreply.github.com> Date: Fri, 28 Jun 2024 15:32:57 +1200 Subject: [PATCH] Fix Admin Object tab sorting and search - Part 2 (#28681) * admin Object tab sorting and searchable * Fix for showing disconnected players on player admin tab * Fix namespace and search bar location. * Change linq to loop. * No more Linq to sort * Fix item click vv menu * Added refresh button and refresh on opening tab. * Clear spaces. * Move tab magic numbers to enums * Get rid of old unused xaml * Fix code style issues and button event type. * Merge in baby jail * More style cleanup and move cast around. * Make the localization a little more easy to read, same loc var names. * Missed Loc for label * Fix class field order * Over zelous delete. * Small updates. * Min syntax issues fix --- .../Administration/UI/AdminMenuWindow.xaml.cs | 77 ++++++++++++------- .../UI/Tabs/ObjectsTab/ObjectsTab.xaml | 19 +++-- .../UI/Tabs/ObjectsTab/ObjectsTab.xaml.cs | 75 +++++++++--------- .../Systems/Admin/AdminUIController.cs | 2 +- .../administration/ui/tabs/object-tab.ftl | 1 + 5 files changed, 97 insertions(+), 77 deletions(-) diff --git a/Content.Client/Administration/UI/AdminMenuWindow.xaml.cs b/Content.Client/Administration/UI/AdminMenuWindow.xaml.cs index f3aa2572f2..d5c43e2a50 100644 --- a/Content.Client/Administration/UI/AdminMenuWindow.xaml.cs +++ b/Content.Client/Administration/UI/AdminMenuWindow.xaml.cs @@ -3,38 +3,57 @@ using Robust.Client.AutoGenerated; using Robust.Client.UserInterface.CustomControls; using Robust.Client.UserInterface.XAML; -namespace Content.Client.Administration.UI +namespace Content.Client.Administration.UI; + +[GenerateTypedNameReferences] +public sealed partial class AdminMenuWindow : DefaultWindow { - [GenerateTypedNameReferences] - public sealed partial class AdminMenuWindow : DefaultWindow + public event Action? OnDisposed; + + public AdminMenuWindow() { - public event Action? OnDisposed; + MinSize = new Vector2(650, 250); + Title = Loc.GetString("admin-menu-title"); + RobustXamlLoader.Load(this); + MasterTabContainer.SetTabTitle((int) TabIndex.Admin, Loc.GetString("admin-menu-admin-tab")); + MasterTabContainer.SetTabTitle((int) TabIndex.Adminbus, Loc.GetString("admin-menu-adminbus-tab")); + MasterTabContainer.SetTabTitle((int) TabIndex.Atmos, Loc.GetString("admin-menu-atmos-tab")); + MasterTabContainer.SetTabTitle((int) TabIndex.Round, Loc.GetString("admin-menu-round-tab")); + MasterTabContainer.SetTabTitle((int) TabIndex.Server, Loc.GetString("admin-menu-server-tab")); + MasterTabContainer.SetTabTitle((int) TabIndex.PanicBunker, Loc.GetString("admin-menu-panic-bunker-tab")); + /* + * TODO: Remove baby jail code once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future. + */ + MasterTabContainer.SetTabTitle((int) TabIndex.BabyJail, Loc.GetString("admin-menu-baby-jail-tab")); + MasterTabContainer.SetTabTitle((int) TabIndex.Players, Loc.GetString("admin-menu-players-tab")); + MasterTabContainer.SetTabTitle((int) TabIndex.Objects, Loc.GetString("admin-menu-objects-tab")); + MasterTabContainer.OnTabChanged += OnTabChanged; + } - public AdminMenuWindow() - { - MinSize = new Vector2(650, 250); - Title = Loc.GetString("admin-menu-title"); - RobustXamlLoader.Load(this); - MasterTabContainer.SetTabTitle(0, Loc.GetString("admin-menu-admin-tab")); - MasterTabContainer.SetTabTitle(1, Loc.GetString("admin-menu-adminbus-tab")); - MasterTabContainer.SetTabTitle(2, Loc.GetString("admin-menu-atmos-tab")); - MasterTabContainer.SetTabTitle(3, Loc.GetString("admin-menu-round-tab")); - MasterTabContainer.SetTabTitle(4, Loc.GetString("admin-menu-server-tab")); - MasterTabContainer.SetTabTitle(5, Loc.GetString("admin-menu-panic-bunker-tab")); - /* - * TODO: Remove baby jail code once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future. - */ - MasterTabContainer.SetTabTitle(6, Loc.GetString("admin-menu-baby-jail-tab")); - MasterTabContainer.SetTabTitle(7, Loc.GetString("admin-menu-players-tab")); - MasterTabContainer.SetTabTitle(8, Loc.GetString("admin-menu-objects-tab")); - } + private void OnTabChanged(int tabIndex) + { + var tabEnum = (TabIndex)tabIndex; + if (tabEnum == TabIndex.Objects) + ObjectsTabControl.RefreshObjectList(); + } - protected override void Dispose(bool disposing) - { - OnDisposed?.Invoke(); - base.Dispose(disposing); - OnDisposed = null; - } + protected override void Dispose(bool disposing) + { + OnDisposed?.Invoke(); + base.Dispose(disposing); + OnDisposed = null; + } + + private enum TabIndex + { + Admin = 0, + Adminbus, + Atmos, + Round, + Server, + PanicBunker, + BabyJail, + Players, + Objects, } } - diff --git a/Content.Client/Administration/UI/Tabs/ObjectsTab/ObjectsTab.xaml b/Content.Client/Administration/UI/Tabs/ObjectsTab/ObjectsTab.xaml index 821389150d..f4298bbc00 100644 --- a/Content.Client/Administration/UI/Tabs/ObjectsTab/ObjectsTab.xaml +++ b/Content.Client/Administration/UI/Tabs/ObjectsTab/ObjectsTab.xaml @@ -4,18 +4,17 @@ xmlns:co="clr-namespace:Content.Client.UserInterface.Controls"> -