diff --git a/Dalamud/Interface/Internal/Windows/PluginImageCache.cs b/Dalamud/Interface/Internal/Windows/PluginImageCache.cs index d0ff74137..c00bb12b4 100644 --- a/Dalamud/Interface/Internal/Windows/PluginImageCache.cs +++ b/Dalamud/Interface/Internal/Windows/PluginImageCache.cs @@ -63,6 +63,7 @@ namespace Dalamud.Interface.Internal.Windows this.UpdateIcon = interfaceManager.LoadImage(Path.Combine(dalamud.AssetDirectory.FullName, "UIRes", "updateIcon.png"))!; this.InstalledIcon = interfaceManager.LoadImage(Path.Combine(dalamud.AssetDirectory.FullName, "UIRes", "installedIcon.png"))!; this.ThirdIcon = interfaceManager.LoadImage(Path.Combine(dalamud.AssetDirectory.FullName, "UIRes", "thirdIcon.png"))!; + this.ThirdInstalledIcon = interfaceManager.LoadImage(Path.Combine(dalamud.AssetDirectory.FullName, "UIRes", "thirdInstalledIcon.png"))!; this.downloadThread = new Thread(this.DownloadTask); this.downloadThread.Start(); @@ -93,6 +94,11 @@ namespace Dalamud.Interface.Internal.Windows /// public TextureWrap ThirdIcon { get; } + /// + /// Gets the installed third party plugin icon overlay. + /// + public TextureWrap ThirdInstalledIcon { get; } + /// public void Dispose() { @@ -101,6 +107,7 @@ namespace Dalamud.Interface.Internal.Windows this.UpdateIcon?.Dispose(); this.InstalledIcon?.Dispose(); this.ThirdIcon?.Dispose(); + this.ThirdInstalledIcon?.Dispose(); this.downloadToken?.Cancel(); diff --git a/Dalamud/Interface/Internal/Windows/PluginInstallerWindow.cs b/Dalamud/Interface/Internal/Windows/PluginInstallerWindow.cs index b5e9417ef..62364de7b 100644 --- a/Dalamud/Interface/Internal/Windows/PluginInstallerWindow.cs +++ b/Dalamud/Interface/Internal/Windows/PluginInstallerWindow.cs @@ -1062,6 +1062,8 @@ namespace Dalamud.Interface.Internal.Windows ImGui.Image(iconTex.ImGuiHandle, iconSize); ImGui.SameLine(); + var isLoaded = plugin is { IsLoaded: true }; + if (updateAvailable) { ImGui.SetCursorPos(cursorBeforeImage); @@ -1074,13 +1076,19 @@ namespace Dalamud.Interface.Internal.Windows ImGui.Image(this.imageCache.TroubleIcon.ImGuiHandle, iconSize); ImGui.SameLine(); } + else if (isLoaded && isThirdParty) + { + ImGui.SetCursorPos(cursorBeforeImage); + ImGui.Image(this.imageCache.ThirdInstalledIcon.ImGuiHandle, iconSize); + ImGui.SameLine(); + } else if (isThirdParty) { ImGui.SetCursorPos(cursorBeforeImage); ImGui.Image(this.imageCache.ThirdIcon.ImGuiHandle, iconSize); ImGui.SameLine(); } - else if (plugin is { IsLoaded: true }) + else if (isLoaded) { ImGui.SetCursorPos(cursorBeforeImage); ImGui.Image(this.imageCache.InstalledIcon.ImGuiHandle, iconSize);