From 3c717bf5ef5945c839f1fe7bf4c09a16ac00866b Mon Sep 17 00:00:00 2001 From: CakeAndBanana Date: Mon, 15 Sep 2025 05:41:23 +0200 Subject: [PATCH] Own-threshold warning now is clickable to open characteranalysis screen. --- LightlessSync/UI/CompactUI.cs | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/LightlessSync/UI/CompactUI.cs b/LightlessSync/UI/CompactUI.cs index e3913cb..440f9ce 100644 --- a/LightlessSync/UI/CompactUI.cs +++ b/LightlessSync/UI/CompactUI.cs @@ -8,7 +8,6 @@ using LightlessSync.API.Data.Extensions; using LightlessSync.API.Dto.Group; using LightlessSync.Interop.Ipc; using LightlessSync.LightlessConfiguration; -using LightlessSync.LightlessConfiguration.Configurations; using LightlessSync.PlayerData.Handlers; using LightlessSync.PlayerData.Pairs; using LightlessSync.Services; @@ -35,6 +34,7 @@ public class CompactUi : WindowMediatorSubscriberBase private readonly CharacterAnalyzer _characterAnalyzer; private readonly ApiController _apiController; private readonly LightlessConfigService _configService; + private readonly LightlessMediator _lightlessMediator; private readonly ConcurrentDictionary> _currentDownloads = new(); private readonly DrawEntityFactory _drawEntityFactory; private readonly FileUploadManager _fileTransferManager; @@ -57,7 +57,6 @@ public class CompactUi : WindowMediatorSubscriberBase private string _lastAddedUserComment = string.Empty; private Vector2 _lastPosition = Vector2.One; private Vector2 _lastSize = Vector2.One; - private int _secretKeyIdx = -1; private bool _showModalForUserAddition; private float _transferPartHeight; private bool _wasOpen; @@ -68,7 +67,7 @@ public class CompactUi : WindowMediatorSubscriberBase TagHandler tagHandler, DrawEntityFactory drawEntityFactory, SelectTagForPairUi selectTagForPairUi, SelectPairForTagUi selectPairForTagUi, RenamePairTagUi renameTagUi, SelectTagForSyncshellUi selectTagForSyncshellUi, SelectSyncshellForTagUi selectSyncshellForTagUi, RenameSyncshellTagUi renameSyncshellTagUi, - PerformanceCollectorService performanceCollectorService, IpcManager ipcManager, CharacterAnalyzer characterAnalyzer, PlayerPerformanceConfigService playerPerformanceConfig) + PerformanceCollectorService performanceCollectorService, IpcManager ipcManager, CharacterAnalyzer characterAnalyzer, PlayerPerformanceConfigService playerPerformanceConfig, LightlessMediator lightlessMediator) : base(logger, mediator, "###LightlessSyncMainUI", performanceCollectorService) { _uiSharedService = uiShared; @@ -124,7 +123,7 @@ public class CompactUi : WindowMediatorSubscriberBase } }; - _drawFolders = GetDrawFolders().ToList(); + _drawFolders = [.. GetDrawFolders()]; #if DEBUG string dev = "Dev Build"; @@ -152,6 +151,7 @@ public class CompactUi : WindowMediatorSubscriberBase }; _characterAnalyzer = characterAnalyzer; _playerPerformanceConfig = playerPerformanceConfig; + _lightlessMediator = lightlessMediator; } protected override void DrawInternal() @@ -430,7 +430,7 @@ public class CompactUi : WindowMediatorSubscriberBase ImGui.SetClipboardText(uidText); } - if (_cachedAnalysis != null) + if (_cachedAnalysis != null && _apiController.ServerState is ServerState.Connected) { var firstEntry = _cachedAnalysis.FirstOrDefault(); var valueDict = firstEntry.Value; @@ -460,6 +460,7 @@ public class CompactUi : WindowMediatorSubscriberBase { ImGui.SameLine(); _uiSharedService.IconText(FontAwesomeIcon.ExclamationTriangle, UIColors.Get("LightlessYellow")); + string warningMessage = ""; if (isOverTriHold) { @@ -474,6 +475,10 @@ public class CompactUi : WindowMediatorSubscriberBase $"{UiSharedService.ByteToString(actualVramUsage - (_playerPerformanceConfig.Current.VRAMSizeWarningThresholdMiB * 1024 * 1024))}."; } UiSharedService.AttachToolTip(warningMessage); + if (ImGui.IsItemClicked()) + { + _lightlessMediator.Publish(new UiToggleMessage(typeof(DataAnalysisUi))); + } } } } @@ -494,7 +499,7 @@ public class CompactUi : WindowMediatorSubscriberBase UiSharedService.AttachToolTip("Click to copy"); if (ImGui.IsItemClicked()) { - ImGui.SetClipboardText(_apiController.UID); + _lightlessMediator.Publish(new UiToggleMessage(typeof(DataAnalysisUi))); } } }