From 34ee0ba5b78a380af303bfb3ae1299e84bb96e4f Mon Sep 17 00:00:00 2001 From: Loporrit <141286461+loporrit@users.noreply.github.com> Date: Sun, 9 Feb 2025 16:30:30 +0000 Subject: [PATCH] Add stable NotificationType type (dalamud api10) Co-authored-by: Stanley Dimant --- .../Interop/Ipc/IpcCallerGlamourer.cs | 2 +- .../Interop/Ipc/IpcCallerPenumbra.cs | 1 - .../Models/NotificationLocation.cs | 7 +++++++ MareSynchronos/PlayerData/Pairs/PairManager.cs | 2 +- .../Services/CommandManagerService.cs | 3 +-- MareSynchronos/Services/Mediator/Messages.cs | 2 +- MareSynchronos/Services/NotificationService.cs | 18 +++++++++++------- .../PluginWarningNotificationService.cs | 4 ++-- .../ApiController.Functions.Callbacks.cs | 4 ++-- MareSynchronos/WebAPI/SignalR/ApiController.cs | 4 ++-- MareSynchronos/WebAPI/SignalR/TokenProvider.cs | 4 ++-- .../WebAPI/SignalR/Utils/ForeverRetryPolicy.cs | 2 +- 12 files changed, 31 insertions(+), 22 deletions(-) diff --git a/MareSynchronos/Interop/Ipc/IpcCallerGlamourer.cs b/MareSynchronos/Interop/Ipc/IpcCallerGlamourer.cs index 848e7f1..e22b7bf 100644 --- a/MareSynchronos/Interop/Ipc/IpcCallerGlamourer.cs +++ b/MareSynchronos/Interop/Ipc/IpcCallerGlamourer.cs @@ -1,8 +1,8 @@ using Dalamud.Game.ClientState.Objects.Types; -using Dalamud.Interface.ImGuiNotification; using Dalamud.Plugin; using Glamourer.Api.Helpers; using Glamourer.Api.IpcSubscribers; +using MareSynchronos.MareConfiguration.Models; using MareSynchronos.PlayerData.Handlers; using MareSynchronos.Services; using MareSynchronos.Services.Mediator; diff --git a/MareSynchronos/Interop/Ipc/IpcCallerPenumbra.cs b/MareSynchronos/Interop/Ipc/IpcCallerPenumbra.cs index 763e0bd..4dcda07 100644 --- a/MareSynchronos/Interop/Ipc/IpcCallerPenumbra.cs +++ b/MareSynchronos/Interop/Ipc/IpcCallerPenumbra.cs @@ -1,4 +1,3 @@ -using Dalamud.Interface.ImGuiNotification; using Dalamud.Plugin; using MareSynchronos.MareConfiguration.Models; using MareSynchronos.PlayerData.Handlers; diff --git a/MareSynchronos/MareConfiguration/Models/NotificationLocation.cs b/MareSynchronos/MareConfiguration/Models/NotificationLocation.cs index 36d1d61..51cd2d1 100644 --- a/MareSynchronos/MareConfiguration/Models/NotificationLocation.cs +++ b/MareSynchronos/MareConfiguration/Models/NotificationLocation.cs @@ -6,4 +6,11 @@ public enum NotificationLocation Chat, Toast, Both +} + +public enum NotificationType +{ + Info, + Warning, + Error } \ No newline at end of file diff --git a/MareSynchronos/PlayerData/Pairs/PairManager.cs b/MareSynchronos/PlayerData/Pairs/PairManager.cs index 1818d7a..e30af46 100644 --- a/MareSynchronos/PlayerData/Pairs/PairManager.cs +++ b/MareSynchronos/PlayerData/Pairs/PairManager.cs @@ -1,5 +1,4 @@ using Dalamud.Game.Gui.ContextMenu; -using Dalamud.Interface.ImGuiNotification; using Dalamud.Plugin.Services; using MareSynchronos.API.Data; using MareSynchronos.API.Data.Comparer; @@ -7,6 +6,7 @@ using MareSynchronos.API.Data.Extensions; using MareSynchronos.API.Dto.Group; using MareSynchronos.API.Dto.User; using MareSynchronos.MareConfiguration; +using MareSynchronos.MareConfiguration.Models; using MareSynchronos.PlayerData.Factories; using MareSynchronos.Services.Events; using MareSynchronos.Services.Mediator; diff --git a/MareSynchronos/Services/CommandManagerService.cs b/MareSynchronos/Services/CommandManagerService.cs index 7c8dc65..788d829 100644 --- a/MareSynchronos/Services/CommandManagerService.cs +++ b/MareSynchronos/Services/CommandManagerService.cs @@ -1,9 +1,8 @@ using Dalamud.Game.Command; -using Dalamud.Game.Text.SeStringHandling.Payloads; -using Dalamud.Interface.ImGuiNotification; using Dalamud.Plugin.Services; using MareSynchronos.FileCache; using MareSynchronos.MareConfiguration; +using MareSynchronos.MareConfiguration.Models; using MareSynchronos.Services.Mediator; using MareSynchronos.Services.ServerConfiguration; using MareSynchronos.UI; diff --git a/MareSynchronos/Services/Mediator/Messages.cs b/MareSynchronos/Services/Mediator/Messages.cs index c1d2b2d..86458c5 100644 --- a/MareSynchronos/Services/Mediator/Messages.cs +++ b/MareSynchronos/Services/Mediator/Messages.cs @@ -1,8 +1,8 @@ using Dalamud.Game.ClientState.Objects.Types; -using Dalamud.Interface.ImGuiNotification; using MareSynchronos.API.Data; using MareSynchronos.API.Dto; using MareSynchronos.API.Dto.Group; +using MareSynchronos.MareConfiguration.Models; using MareSynchronos.PlayerData.Handlers; using MareSynchronos.PlayerData.Pairs; using MareSynchronos.Services.Events; diff --git a/MareSynchronos/Services/NotificationService.cs b/MareSynchronos/Services/NotificationService.cs index e2d9c9b..f50664d 100644 --- a/MareSynchronos/Services/NotificationService.cs +++ b/MareSynchronos/Services/NotificationService.cs @@ -1,11 +1,11 @@ using Dalamud.Game.Text.SeStringHandling; -using Dalamud.Interface; using Dalamud.Interface.ImGuiNotification; using Dalamud.Plugin.Services; using MareSynchronos.MareConfiguration; using MareSynchronos.MareConfiguration.Models; using MareSynchronos.Services.Mediator; using Microsoft.Extensions.Logging; +using NotificationType = MareSynchronos.MareConfiguration.Models.NotificationType; namespace MareSynchronos.Services; @@ -47,8 +47,6 @@ public class NotificationService : DisposableMediatorSubscriberBase switch (msg.Type) { case NotificationType.Info: - case NotificationType.Success: - case NotificationType.None: PrintInfoChat(msg.Message); break; @@ -69,8 +67,6 @@ public class NotificationService : DisposableMediatorSubscriberBase switch (msg.Type) { case NotificationType.Info: - case NotificationType.Success: - case NotificationType.None: ShowNotificationLocationBased(msg, _configurationService.Current.InfoNotification); break; @@ -108,11 +104,19 @@ public class NotificationService : DisposableMediatorSubscriberBase private void ShowToast(NotificationMessage msg) { - _notificationManager.AddNotification(new Dalamud.Interface.ImGuiNotification.Notification() + Dalamud.Interface.ImGuiNotification.NotificationType dalamudType = msg.Type switch + { + NotificationType.Error => Dalamud.Interface.ImGuiNotification.NotificationType.Error, + NotificationType.Warning => Dalamud.Interface.ImGuiNotification.NotificationType.Warning, + NotificationType.Info => Dalamud.Interface.ImGuiNotification.NotificationType.Info, + _ => Dalamud.Interface.ImGuiNotification.NotificationType.Info + }; + + _notificationManager.AddNotification(new Notification() { Content = msg.Message ?? string.Empty, Title = msg.Title, - Type = msg.Type, + Type = dalamudType, Minimized = false, InitialDuration = msg.TimeShownOnScreen ?? TimeSpan.FromSeconds(3) }); diff --git a/MareSynchronos/Services/PluginWarningNotificationService.cs b/MareSynchronos/Services/PluginWarningNotificationService.cs index 2193b7c..2458763 100644 --- a/MareSynchronos/Services/PluginWarningNotificationService.cs +++ b/MareSynchronos/Services/PluginWarningNotificationService.cs @@ -1,8 +1,8 @@ -using Dalamud.Interface.ImGuiNotification; -using MareSynchronos.API.Data; +using MareSynchronos.API.Data; using MareSynchronos.API.Data.Comparer; using MareSynchronos.Interop.Ipc; using MareSynchronos.MareConfiguration; +using MareSynchronos.MareConfiguration.Models; using MareSynchronos.Services.Mediator; using System.Collections.Concurrent; diff --git a/MareSynchronos/WebAPI/SignalR/ApiController.Functions.Callbacks.cs b/MareSynchronos/WebAPI/SignalR/ApiController.Functions.Callbacks.cs index 2f2d883..b3f2cd0 100644 --- a/MareSynchronos/WebAPI/SignalR/ApiController.Functions.Callbacks.cs +++ b/MareSynchronos/WebAPI/SignalR/ApiController.Functions.Callbacks.cs @@ -1,9 +1,9 @@ -using Dalamud.Interface.ImGuiNotification; -using MareSynchronos.API.Data.Enum; +using MareSynchronos.API.Data.Enum; using MareSynchronos.API.Dto; using MareSynchronos.API.Dto.Chat; using MareSynchronos.API.Dto.Group; using MareSynchronos.API.Dto.User; +using MareSynchronos.MareConfiguration.Models; using MareSynchronos.Services.Mediator; using Microsoft.AspNetCore.SignalR.Client; using Microsoft.Extensions.Logging; diff --git a/MareSynchronos/WebAPI/SignalR/ApiController.cs b/MareSynchronos/WebAPI/SignalR/ApiController.cs index 09cb742..829fbac 100644 --- a/MareSynchronos/WebAPI/SignalR/ApiController.cs +++ b/MareSynchronos/WebAPI/SignalR/ApiController.cs @@ -1,10 +1,10 @@ -using Dalamud.Interface.ImGuiNotification; -using Dalamud.Utility; +using Dalamud.Utility; using MareSynchronos.API.Data; using MareSynchronos.API.Data.Extensions; using MareSynchronos.API.Dto; using MareSynchronos.API.Dto.User; using MareSynchronos.API.SignalR; +using MareSynchronos.MareConfiguration.Models; using MareSynchronos.PlayerData.Pairs; using MareSynchronos.Services; using MareSynchronos.Services.Mediator; diff --git a/MareSynchronos/WebAPI/SignalR/TokenProvider.cs b/MareSynchronos/WebAPI/SignalR/TokenProvider.cs index 9a29367..1c8701f 100644 --- a/MareSynchronos/WebAPI/SignalR/TokenProvider.cs +++ b/MareSynchronos/WebAPI/SignalR/TokenProvider.cs @@ -1,5 +1,5 @@ -using Dalamud.Interface.ImGuiNotification; -using MareSynchronos.API.Routes; +using MareSynchronos.API.Routes; +using MareSynchronos.MareConfiguration.Models; using MareSynchronos.Services; using MareSynchronos.Services.Mediator; using MareSynchronos.Services.ServerConfiguration; diff --git a/MareSynchronos/WebAPI/SignalR/Utils/ForeverRetryPolicy.cs b/MareSynchronos/WebAPI/SignalR/Utils/ForeverRetryPolicy.cs index 7dc62e1..835b048 100644 --- a/MareSynchronos/WebAPI/SignalR/Utils/ForeverRetryPolicy.cs +++ b/MareSynchronos/WebAPI/SignalR/Utils/ForeverRetryPolicy.cs @@ -1,4 +1,4 @@ -using Dalamud.Interface.ImGuiNotification; +using MareSynchronos.MareConfiguration.Models; using MareSynchronos.Services.Mediator; using Microsoft.AspNetCore.SignalR.Client;