Fixed colors so it uses dalamud or lightless, added notifications system back
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
using Dalamud.Bindings.ImGui;
|
||||
using Dalamud.Interface.Colors;
|
||||
using LightlessSync.LightlessConfiguration;
|
||||
using LightlessSync.LightlessConfiguration.Models;
|
||||
using LightlessSync.PlayerData.Handlers;
|
||||
using LightlessSync.Services;
|
||||
using LightlessSync.Services.Mediator;
|
||||
@@ -103,6 +105,28 @@ public class DownloadUi : WindowMediatorSubscriberBase
|
||||
{
|
||||
if (_configService.Current.ShowTransferWindow)
|
||||
{
|
||||
var limiterSnapshot = _pairProcessingLimiter.GetSnapshot();
|
||||
|
||||
// Check if download notifications are enabled (not set to TextOverlay)
|
||||
var useNotifications = _configService.Current.UseLightlessNotifications
|
||||
? _configService.Current.LightlessDownloadNotification != NotificationLocation.TextOverlay
|
||||
: _configService.Current.UseNotificationsForDownloads;
|
||||
|
||||
if (useNotifications)
|
||||
{
|
||||
if (!_currentDownloads.IsEmpty)
|
||||
{
|
||||
UpdateDownloadNotificationIfChanged(limiterSnapshot);
|
||||
_notificationDismissed = false;
|
||||
}
|
||||
else if (!_notificationDismissed)
|
||||
{
|
||||
Mediator.Publish(new LightlessNotificationDismissMessage("pair_download_progress"));
|
||||
_notificationDismissed = true;
|
||||
_lastDownloadStateHash = 0;
|
||||
}
|
||||
}
|
||||
|
||||
DrawDownloadSummaryBox();
|
||||
|
||||
if (_configService.Current.ShowUploading)
|
||||
@@ -120,10 +144,7 @@ public class DownloadUi : WindowMediatorSubscriberBase
|
||||
var textSize = ImGui.CalcTextSize(uploadText);
|
||||
|
||||
var drawList = ImGui.GetBackgroundDrawList();
|
||||
UiSharedService.DrawOutlinedFont(
|
||||
drawList,
|
||||
uploadText,
|
||||
screenPos with { X = screenPos.X - textSize.X / 2f - 1, Y = screenPos.Y - textSize.Y / 2f - 1 },
|
||||
UiSharedService.DrawOutlinedFont(drawList, uploadText, screenPos with { X = screenPos.X - textSize.X / 2f - 1, Y = screenPos.Y - textSize.Y / 2f - 1 },
|
||||
UiSharedService.Color(255, 255, 0, transparency),
|
||||
UiSharedService.Color(0, 0, 0, transparency),
|
||||
2
|
||||
@@ -155,8 +176,8 @@ public class DownloadUi : WindowMediatorSubscriberBase
|
||||
_smoothed.Remove(transferKey);
|
||||
continue;
|
||||
}
|
||||
//Smoothing out the movement and fix jitter around the position.
|
||||
|
||||
//Smoothing out the movement and fix jitter around the position.
|
||||
Vector2 screenPos = _smoothed.TryGetValue(transferKey, out var lastPos)
|
||||
? (rawPos - lastPos).Length() < 4f ? lastPos : rawPos
|
||||
: rawPos;
|
||||
@@ -191,28 +212,20 @@ public class DownloadUi : WindowMediatorSubscriberBase
|
||||
//Shadow, background, border, bar background
|
||||
drawList.AddRectFilled(outerStart + shadowOffset, outerEnd + shadowOffset, UiSharedService.Color(0, 0, 0, transparency / 2), rounding + 2);
|
||||
drawList.AddRectFilled(outerStart, outerEnd, UiSharedService.Color(0, 0, 0, transparency), rounding + 2);
|
||||
drawList.AddRectFilled(borderStart, borderEnd, UiSharedService.Color(220, 220, 220, transparency), rounding);
|
||||
drawList.AddRectFilled(borderStart, borderEnd, UiSharedService.Color(ImGuiColors.DalamudGrey), rounding);
|
||||
drawList.AddRectFilled(dlBarStart, dlBarEnd, UiSharedService.Color(0, 0, 0, transparency), rounding);
|
||||
|
||||
var dlProgressPercent = transferredBytes / (double)totalBytes;
|
||||
var progressEndX = dlBarStart.X + (float)(dlProgressPercent * dlBarWidth);
|
||||
var progressEnd = new Vector2(progressEndX, dlBarEnd.Y);
|
||||
|
||||
drawList.AddRectFilled(
|
||||
dlBarStart,
|
||||
progressEnd,
|
||||
UiSharedService.Color(UIColors.Get("LightlessPurple")),
|
||||
rounding
|
||||
);
|
||||
drawList.AddRectFilled(dlBarStart, progressEnd, UiSharedService.Color(UIColors.Get("LightlessPurple")), rounding);
|
||||
|
||||
if (_configService.Current.TransferBarsShowText)
|
||||
{
|
||||
var downloadText = $"{UiSharedService.ByteToString(transferredBytes, addSuffix: false)}/{UiSharedService.ByteToString(totalBytes)}";
|
||||
UiSharedService.DrawOutlinedFont(
|
||||
drawList,
|
||||
downloadText,
|
||||
screenPos with { X = screenPos.X - textSize.X / 2f - 1, Y = screenPos.Y - textSize.Y / 2f - 1 },
|
||||
UiSharedService.Color(255, 255, 255, transparency),
|
||||
UiSharedService.DrawOutlinedFont(drawList, downloadText, screenPos with { X = screenPos.X - textSize.X / 2f - 1, Y = screenPos.Y - textSize.Y / 2f - 1 },
|
||||
UiSharedService.Color(ImGuiColors.DalamudGrey),
|
||||
UiSharedService.Color(0, 0, 0, transparency),
|
||||
1
|
||||
);
|
||||
@@ -234,11 +247,8 @@ public class DownloadUi : WindowMediatorSubscriberBase
|
||||
var textSize = ImGui.CalcTextSize(uploadText);
|
||||
|
||||
var drawList = ImGui.GetBackgroundDrawList();
|
||||
UiSharedService.DrawOutlinedFont(
|
||||
drawList,
|
||||
uploadText,
|
||||
screenPos with { X = screenPos.X - textSize.X / 2f - 1, Y = screenPos.Y - textSize.Y / 2f - 1 },
|
||||
UiSharedService.Color(255, 255, 0, transparency),
|
||||
UiSharedService.DrawOutlinedFont(drawList, uploadText, screenPos with { X = screenPos.X - textSize.X / 2f - 1, Y = screenPos.Y - textSize.Y / 2f - 1 },
|
||||
UiSharedService.Color(ImGuiColors.DalamudYellow),
|
||||
UiSharedService.Color(0, 0, 0, transparency),
|
||||
2
|
||||
);
|
||||
@@ -384,7 +394,7 @@ public class DownloadUi : WindowMediatorSubscriberBase
|
||||
var boxMax = origin + new Vector2(boxWidth, boxHeight);
|
||||
|
||||
drawList.AddRectFilled(boxMin, boxMax, UiSharedService.Color(0, 0, 0, transparency), 5f);
|
||||
drawList.AddRect(boxMin, boxMax, UiSharedService.Color(220, 220, 220, transparency), 5f);
|
||||
drawList.AddRect(boxMin, boxMax, UiSharedService.Color(ImGuiColors.DalamudGrey), 5f);
|
||||
|
||||
// Progress bar
|
||||
var cursor = boxMin + new Vector2(padding, padding);
|
||||
@@ -393,25 +403,20 @@ public class DownloadUi : WindowMediatorSubscriberBase
|
||||
|
||||
var progress = (float)transferredBytes / totalBytes;
|
||||
drawList.AddRectFilled(barMin, barMax, UiSharedService.Color(40, 40, 40, transparency), 3f);
|
||||
drawList.AddRectFilled(
|
||||
barMin,
|
||||
new Vector2(barMin.X + (barMax.X - barMin.X) * progress, barMax.Y),
|
||||
UiSharedService.Color(UIColors.Get("LightlessPurple")),
|
||||
3f
|
||||
);
|
||||
drawList.AddRectFilled(barMin, new Vector2(barMin.X + (barMax.X - barMin.X) * progress, barMax.Y), UiSharedService.Color(UIColors.Get("LightlessPurple")), 3f);
|
||||
|
||||
cursor.Y = barMax.Y + padding;
|
||||
|
||||
// Header
|
||||
UiSharedService.DrawOutlinedFont(drawList, headerText, cursor, UiSharedService.Color(255, 255, 255, transparency), UiSharedService.Color(0, 0, 0, transparency), 1);
|
||||
UiSharedService.DrawOutlinedFont(drawList, headerText, cursor, UiSharedService.Color(ImGuiColors.DalamudWhite), UiSharedService.Color(0, 0, 0, transparency), 1);
|
||||
cursor.Y += lineHeight + spacingY;
|
||||
|
||||
// Bytes
|
||||
UiSharedService.DrawOutlinedFont(drawList, bytesText, cursor, UiSharedService.Color(255, 255, 255, transparency), UiSharedService.Color(0, 0, 0, transparency), 1);
|
||||
UiSharedService.DrawOutlinedFont(drawList, bytesText, cursor, UiSharedService.Color(ImGuiColors.DalamudWhite), UiSharedService.Color(0, 0, 0, transparency), 1);
|
||||
cursor.Y += lineHeight + spacingY;
|
||||
|
||||
// Total speed WIP
|
||||
UiSharedService.DrawOutlinedFont(drawList, speedText, cursor, UiSharedService.Color(200, 255, 200, transparency), UiSharedService.Color(0, 0, 0, transparency), 1);
|
||||
UiSharedService.DrawOutlinedFont(drawList, speedText, cursor, UiSharedService.Color(UIColors.Get("LightlessPurple")), UiSharedService.Color(0, 0, 0, transparency), 1);
|
||||
cursor.Y += lineHeight * 1.4f;
|
||||
|
||||
// Per-player lines
|
||||
@@ -425,7 +430,7 @@ public class DownloadUi : WindowMediatorSubscriberBase
|
||||
$"({UiSharedService.ByteToString(p.TransferredBytes, addSuffix: false)}/{UiSharedService.ByteToString(p.TotalBytes)}) " +
|
||||
$"@ {playerSpeedText}";
|
||||
|
||||
UiSharedService.DrawOutlinedFont(drawList, line, cursor, UiSharedService.Color(255, 255, 255, transparency), UiSharedService.Color(0, 0, 0, transparency), 1);
|
||||
UiSharedService.DrawOutlinedFont(drawList, line, cursor, UiSharedService.Color(ImGuiColors.DalamudWhite), UiSharedService.Color(0, 0, 0, transparency), 1);
|
||||
|
||||
cursor.Y += lineHeight + spacingY;
|
||||
}
|
||||
@@ -435,7 +440,7 @@ public class DownloadUi : WindowMediatorSubscriberBase
|
||||
{
|
||||
if (_uiShared.EditTrackerPosition) return true;
|
||||
if (!_configService.Current.ShowTransferWindow && !_configService.Current.ShowTransferBars) return false;
|
||||
if (!_currentDownloads.Any() && !_fileTransferManager.IsUploading && !_uploadingPlayers.Any()) return false;
|
||||
if (_currentDownloads.IsEmpty && !_fileTransferManager.IsUploading && _uploadingPlayers.IsEmpty) return false;
|
||||
if (!IsOpen) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user