From 7520d8a2c8c87e43491a1de7fa977b34f1e7df6b Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Thu, 27 Feb 2025 13:47:16 +0000 Subject: [PATCH] add button to print logprobe logs (#32255) * add EntityName at the bottom of LogProbe * pass User into CartridgeMessageEvent * add button to print logprobe logs --------- Co-authored-by: deltanedas <@deltanedas:kde.org> --- .../CartridgeLoader/Cartridges/LogProbeUi.cs | 14 +++- .../Cartridges/LogProbeUiFragment.xaml | 5 ++ .../Cartridges/LogProbeUiFragment.xaml.cs | 15 +++- .../CartridgeLoader/CartridgeLoaderSystem.cs | 1 + .../Cartridges/LogProbeCartridgeComponent.cs | 34 ++++++++- .../Cartridges/LogProbeCartridgeSystem.cs | 73 +++++++++++++++++-- .../CartridgeLoader/CartridgeUiMessage.cs | 2 + .../Cartridges/LogProbePrintMessage.cs | 6 ++ .../Cartridges/LogProbeUiState.cs | 8 +- .../en-US/cartridge-loader/cartridges.ftl | 4 + .../Objects/Devices/forensic_scanner.yml | 10 +++ 11 files changed, 155 insertions(+), 17 deletions(-) create mode 100644 Content.Shared/CartridgeLoader/Cartridges/LogProbePrintMessage.cs diff --git a/Content.Client/CartridgeLoader/Cartridges/LogProbeUi.cs b/Content.Client/CartridgeLoader/Cartridges/LogProbeUi.cs index d28d3228c9..12b678d5d4 100644 --- a/Content.Client/CartridgeLoader/Cartridges/LogProbeUi.cs +++ b/Content.Client/CartridgeLoader/Cartridges/LogProbeUi.cs @@ -1,4 +1,5 @@ using Content.Client.UserInterface.Fragments; +using Content.Shared.CartridgeLoader; using Content.Shared.CartridgeLoader.Cartridges; using Robust.Client.UserInterface; @@ -13,16 +14,23 @@ public sealed partial class LogProbeUi : UIFragment return _fragment!; } - public override void Setup(BoundUserInterface userInterface, EntityUid? fragmentOwner) + public override void Setup(BoundUserInterface ui, EntityUid? fragmentOwner) { _fragment = new LogProbeUiFragment(); + + _fragment.OnPrintPressed += () => + { + var ev = new LogProbePrintMessage(); + var message = new CartridgeUiMessage(ev); + ui.SendMessage(message); + }; } public override void UpdateState(BoundUserInterfaceState state) { - if (state is not LogProbeUiState logProbeUiState) + if (state is not LogProbeUiState cast) return; - _fragment?.UpdateState(logProbeUiState.PulledLogs); + _fragment?.UpdateState(cast.EntityName, cast.PulledLogs); } } diff --git a/Content.Client/CartridgeLoader/Cartridges/LogProbeUiFragment.xaml b/Content.Client/CartridgeLoader/Cartridges/LogProbeUiFragment.xaml index d12fb55cdc..cdbaf7d6ee 100644 --- a/Content.Client/CartridgeLoader/Cartridges/LogProbeUiFragment.xaml +++ b/Content.Client/CartridgeLoader/Cartridges/LogProbeUiFragment.xaml @@ -18,4 +18,9 @@ + +