cache result of IsWine

This commit is contained in:
rootdarkarchon
2024-03-15 13:02:16 +01:00
parent 6c9826e6a4
commit e942a1913b
4 changed files with 19 additions and 9 deletions

View File

@@ -20,6 +20,7 @@ public class IntroUi : WindowMediatorSubscriberBase
private readonly CacheMonitor _cacheMonitor;
private readonly Dictionary<string, string> _languages = new(StringComparer.Ordinal) { { "English", "en" }, { "Deutsch", "de" }, { "Français", "fr" } };
private readonly ServerConfigurationManager _serverConfigurationManager;
private readonly DalamudUtilService _dalamudUtilService;
private readonly UiSharedService _uiShared;
private int _currentLanguage;
private bool _readFirstPage;
@@ -31,13 +32,13 @@ public class IntroUi : WindowMediatorSubscriberBase
public IntroUi(ILogger<IntroUi> logger, UiSharedService uiShared, MareConfigService configService,
CacheMonitor fileCacheManager, ServerConfigurationManager serverConfigurationManager, MareMediator mareMediator,
PerformanceCollectorService performanceCollectorService) : base(logger, mareMediator, "Mare Synchronos Setup", performanceCollectorService)
PerformanceCollectorService performanceCollectorService, DalamudUtilService dalamudUtilService) : base(logger, mareMediator, "Mare Synchronos Setup", performanceCollectorService)
{
_uiShared = uiShared;
_configService = configService;
_cacheMonitor = fileCacheManager;
_serverConfigurationManager = serverConfigurationManager;
_dalamudUtilService = dalamudUtilService;
IsOpen = false;
ShowCloseButton = false;
RespectCloseHotkey = false;
@@ -53,7 +54,7 @@ public class IntroUi : WindowMediatorSubscriberBase
Mediator.Subscribe<SwitchToMainUiMessage>(this, (_) => IsOpen = false);
Mediator.Subscribe<SwitchToIntroUiMessage>(this, (_) =>
{
_configService.Current.UseCompactor = !Util.IsWine();
_configService.Current.UseCompactor = !dalamudUtilService.IsWine;
IsOpen = true;
});
}
@@ -176,7 +177,7 @@ public class IntroUi : WindowMediatorSubscriberBase
{
_uiShared.DrawFileScanState();
}
if (!Util.IsWine())
if (!_dalamudUtilService.IsWine)
{
var useFileCompactor = _configService.Current.UseCompactor;
if (ImGui.Checkbox("Use File Compactor", ref useFileCompactor))

View File

@@ -33,6 +33,7 @@ public class SettingsUi : WindowMediatorSubscriberBase
private readonly ApiController _apiController;
private readonly IpcManager _ipcManager;
private readonly CacheMonitor _cacheMonitor;
private readonly DalamudUtilService _dalamudUtilService;
private readonly MareConfigService _configService;
private readonly ConcurrentDictionary<GameObjectHandler, Dictionary<string, FileDownloadStatus>> _currentDownloads = new();
private readonly FileCompactor _fileCompactor;
@@ -68,7 +69,8 @@ public class SettingsUi : WindowMediatorSubscriberBase
FileTransferOrchestrator fileTransferOrchestrator,
FileCacheManager fileCacheManager,
FileCompactor fileCompactor, ApiController apiController,
IpcManager ipcManager, CacheMonitor cacheMonitor) : base(logger, mediator, "Mare Synchronos Settings", performanceCollector)
IpcManager ipcManager, CacheMonitor cacheMonitor,
DalamudUtilService dalamudUtilService) : base(logger, mediator, "Mare Synchronos Settings", performanceCollector)
{
_configService = configService;
_mareCharaFileManager = mareCharaFileManager;
@@ -81,6 +83,7 @@ public class SettingsUi : WindowMediatorSubscriberBase
_apiController = apiController;
_ipcManager = ipcManager;
_cacheMonitor = cacheMonitor;
_dalamudUtilService = dalamudUtilService;
_fileCompactor = fileCompactor;
_uiShared = uiShared;
AllowClickthrough = false;
@@ -543,7 +546,7 @@ public class SettingsUi : WindowMediatorSubscriberBase
ImGui.TextUnformatted($"Currently utilized local storage: Calculating...");
ImGui.TextUnformatted($"Remaining space free on drive: {UiSharedService.ByteToString(_cacheMonitor.FileCacheDriveFree)}");
bool useFileCompactor = _configService.Current.UseCompactor;
bool isLinux = Util.IsWine();
bool isLinux = _dalamudUtilService.IsWine;
if (!useFileCompactor && !isLinux)
{
UiSharedService.ColorTextWrapped("Hint: To free up space when using Mare consider enabling the File Compactor", ImGuiColors.DalamudYellow);