diff --git a/ARDiscard/ARDiscard.csproj b/ARDiscard/ARDiscard.csproj index 466d1c3..34bad28 100644 --- a/ARDiscard/ARDiscard.csproj +++ b/ARDiscard/ARDiscard.csproj @@ -1,7 +1,7 @@ net7.0-windows - 3.0 + 3.1 11.0 enable true diff --git a/ARDiscard/AutoDiscardPlogon.cs b/ARDiscard/AutoDiscardPlogon.cs index d2dc015..f5b1c0c 100644 --- a/ARDiscard/AutoDiscardPlogon.cs +++ b/ARDiscard/AutoDiscardPlogon.cs @@ -83,7 +83,7 @@ public class AutoDiscardPlogon : IDalamudPlugin ECommonsMain.Init(_pluginInterface, this); _autoRetainerApi = new(); _taskManager = new(); - _contextMenuIntegration = new(_pluginInterface, _configuration, _configWindow); + _contextMenuIntegration = new(_pluginInterface, _chatGui, itemCache, _configuration, _configWindow); _clientState.Login += _discardWindow.Login; _clientState.Logout += _discardWindow.Logout; diff --git a/ARDiscard/ContextMenuIntegration.cs b/ARDiscard/ContextMenuIntegration.cs index 1fc861f..c3053fe 100644 --- a/ARDiscard/ContextMenuIntegration.cs +++ b/ARDiscard/ContextMenuIntegration.cs @@ -7,20 +7,26 @@ using Dalamud.ContextMenu; using Dalamud.Game.Text.SeStringHandling; using Dalamud.Game.Text.SeStringHandling.Payloads; using Dalamud.Plugin; +using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.UI.Agent; namespace ARDiscard; internal sealed class ContextMenuIntegration : IDisposable { + private readonly IChatGui _chatGui; + private readonly ItemCache _itemCache; private readonly Configuration _configuration; private readonly ConfigWindow _configWindow; private readonly InventoryContextMenuItem _addItem; private readonly InventoryContextMenuItem _removeItem; private readonly DalamudContextMenu _dalamudContextMenu; - public ContextMenuIntegration(DalamudPluginInterface pluginInterface, Configuration configuration, ConfigWindow configWindow) + public ContextMenuIntegration(DalamudPluginInterface pluginInterface, IChatGui chatGui, ItemCache itemCache, + Configuration configuration, ConfigWindow configWindow) { + _chatGui = chatGui; + _itemCache = itemCache; _configuration = configuration; _configWindow = configWindow; _addItem = new InventoryContextMenuItem( @@ -71,12 +77,24 @@ internal sealed class ContextMenuIntegration : IDisposable private void AddToDiscardList(InventoryContextMenuItemSelectedArgs args) { - _configWindow.AddToDiscardList(args.ItemId); + if (_configWindow.AddToDiscardList(args.ItemId)) + { + _chatGui.Print(new SeString(new UIForegroundPayload(52)) + .Append($"\ue05f ") + .Append(new UIForegroundPayload(0)) + .Append($"Added '{_itemCache.GetItemName(args.ItemId)}' to Auto Discard List.")); + } } private void RemoveFromDiscardList(InventoryContextMenuItemSelectedArgs args) { - _configWindow.RemoveFromDiscardList(args.ItemId); + if (_configWindow.RemoveFromDiscardList(args.ItemId)) + { + _chatGui.Print(new SeString(new UIForegroundPayload(52)) + .Append($"\ue05f ") + .Append(new UIForegroundPayload(0)) + .Append($"Removed '{_itemCache.GetItemName(args.ItemId)}' from Auto Discard List.")); + } } public void Dispose()