Ensure EUIs close themselves (#15860)
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using Content.Client.Eui;
|
||||
using Content.Shared.Administration;
|
||||
using Content.Shared.Eui;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
@@ -12,7 +13,7 @@ namespace Content.Client.Administration.UI
|
||||
public AdminAnnounceEui()
|
||||
{
|
||||
_window = new AdminAnnounceWindow();
|
||||
_window.OnClose += () => SendMessage(new AdminAnnounceEuiMsg.Close());
|
||||
_window.OnClose += () => SendMessage(new CloseEuiMessage());
|
||||
_window.AnnounceButton.OnPressed += AnnounceButtonOnOnPressed;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using Content.Client.Eui;
|
||||
using Content.Shared.Administration.BanList;
|
||||
using Content.Shared.Eui;
|
||||
using Content.Shared.Ghost.Roles;
|
||||
|
||||
namespace Content.Client.Administration.UI.BanList;
|
||||
|
||||
@@ -9,9 +10,21 @@ public sealed class BanListEui : BaseEui
|
||||
public BanListEui()
|
||||
{
|
||||
BanWindow = new BanListWindow();
|
||||
BanWindow.OnClose += OnClosed;
|
||||
BanControl = BanWindow.BanList;
|
||||
}
|
||||
|
||||
private void OnClosed()
|
||||
{
|
||||
SendMessage(new CloseEuiMessage());
|
||||
}
|
||||
|
||||
public override void Closed()
|
||||
{
|
||||
base.Closed();
|
||||
BanWindow.Close();
|
||||
}
|
||||
|
||||
private BanListWindow BanWindow { get; }
|
||||
|
||||
private BanListControl BanControl { get; }
|
||||
|
||||
@@ -19,6 +19,7 @@ public sealed class AdminLogsEui : BaseEui
|
||||
public AdminLogsEui()
|
||||
{
|
||||
LogsWindow = new AdminLogsWindow();
|
||||
LogsWindow.OnClose += OnCloseWindow;
|
||||
LogsControl = LogsWindow.Logs;
|
||||
|
||||
LogsControl.LogSearch.OnTextEntered += _ => RequestLogs();
|
||||
@@ -39,7 +40,13 @@ public sealed class AdminLogsEui : BaseEui
|
||||
|
||||
private void OnRequestClosed(WindowRequestClosedEventArgs args)
|
||||
{
|
||||
SendMessage(new Close());
|
||||
SendMessage(new CloseEuiMessage());
|
||||
}
|
||||
|
||||
private void OnCloseWindow()
|
||||
{
|
||||
if (ClydeWindow == null)
|
||||
SendMessage(new CloseEuiMessage());
|
||||
}
|
||||
|
||||
private void RequestLogs()
|
||||
@@ -74,10 +81,6 @@ public sealed class AdminLogsEui : BaseEui
|
||||
return;
|
||||
}
|
||||
|
||||
LogsControl.Orphan();
|
||||
LogsWindow.Dispose();
|
||||
LogsWindow = null;
|
||||
|
||||
var monitor = _clyde.EnumerateMonitors().First();
|
||||
|
||||
ClydeWindow = _clyde.CreateWindow(new WindowCreateParameters
|
||||
@@ -89,6 +92,10 @@ public sealed class AdminLogsEui : BaseEui
|
||||
Height = 400
|
||||
});
|
||||
|
||||
LogsControl.Orphan();
|
||||
LogsWindow.Dispose();
|
||||
LogsWindow = null;
|
||||
|
||||
ClydeWindow.RequestClosed += OnRequestClosed;
|
||||
ClydeWindow.DisposeOnClose = true;
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace Content.Client.Administration.UI.ManageSolutions
|
||||
public EditSolutionsEui()
|
||||
{
|
||||
_window = new EditSolutionsWindow();
|
||||
_window.OnClose += () => SendMessage(new EditSolutionsEuiMsg.Close());
|
||||
_window.OnClose += () => SendMessage(new CloseEuiMessage());
|
||||
}
|
||||
|
||||
public override void Opened()
|
||||
@@ -28,7 +28,6 @@ namespace Content.Client.Administration.UI.ManageSolutions
|
||||
public override void Closed()
|
||||
{
|
||||
base.Closed();
|
||||
_window.OnClose -= () => SendMessage(new EditSolutionsEuiMsg.Close());
|
||||
_window.Close();
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,18 @@ public sealed class AdminNotesEui : BaseEui
|
||||
NoteControl.OnNoteChanged += (id, text) => SendMessage(new EditNoteRequest(id, text));
|
||||
NoteControl.OnNewNoteEntered += text => SendMessage(new CreateNoteRequest(text));
|
||||
NoteControl.OnNoteDeleted += id => SendMessage(new DeleteNoteRequest(id));
|
||||
NoteWindow.OnClose += OnClosed;
|
||||
}
|
||||
|
||||
private void OnClosed()
|
||||
{
|
||||
SendMessage(new CloseEuiMessage());
|
||||
}
|
||||
|
||||
public override void Closed()
|
||||
{
|
||||
base.Closed();
|
||||
NoteWindow.Close();
|
||||
}
|
||||
|
||||
private AdminNotesWindow NoteWindow { get; }
|
||||
|
||||
@@ -45,6 +45,7 @@ namespace Content.Client.Administration.UI
|
||||
{
|
||||
base.Closed();
|
||||
|
||||
SendMessage(new CloseEuiMessage());
|
||||
CloseEverything();
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,12 @@ namespace Content.Client.Administration.UI.SetOutfit
|
||||
public SetOutfitEui()
|
||||
{
|
||||
_window = new SetOutfitMenu();
|
||||
_window.OnClose += OnClosed;
|
||||
}
|
||||
|
||||
private void OnClosed()
|
||||
{
|
||||
SendMessage(new CloseEuiMessage());
|
||||
}
|
||||
|
||||
public override void Opened()
|
||||
|
||||
@@ -38,7 +38,7 @@ public sealed class SpawnExplosionEui : BaseEui
|
||||
|
||||
public void SendClosedMessage()
|
||||
{
|
||||
SendMessage(new SpawnExplosionEuiMsg.Close());
|
||||
SendMessage(new CloseEuiMessage());
|
||||
}
|
||||
|
||||
public void ClearOverlay()
|
||||
|
||||
Reference in New Issue
Block a user