mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 18:27:23 +01:00
feat(PluginInstallerWindow): support Changelog manifest property
This commit is contained in:
parent
ef16e346c6
commit
53e38668bc
3 changed files with 34 additions and 0 deletions
|
|
@ -45,6 +45,9 @@ namespace Dalamud.Interface.Internal.Windows
|
||||||
|
|
||||||
private static readonly ModuleLog Log = new("PLUGINW");
|
private static readonly ModuleLog Log = new("PLUGINW");
|
||||||
|
|
||||||
|
private readonly Vector4 changelogBgColor = new(0.114f, 0.584f, 0.192f, 0.678f);
|
||||||
|
private readonly Vector4 changelogTextColor = new(0.812f, 1.000f, 0.816f, 1.000f);
|
||||||
|
|
||||||
private readonly TextureWrap defaultIcon;
|
private readonly TextureWrap defaultIcon;
|
||||||
private readonly TextureWrap troubleIcon;
|
private readonly TextureWrap troubleIcon;
|
||||||
private readonly TextureWrap updateIcon;
|
private readonly TextureWrap updateIcon;
|
||||||
|
|
@ -1226,6 +1229,7 @@ namespace Dalamud.Interface.Internal.Windows
|
||||||
}
|
}
|
||||||
|
|
||||||
// Freshly updated
|
// Freshly updated
|
||||||
|
var thisWasUpdated = false;
|
||||||
if (this.updatedPlugins != null && !plugin.IsDev)
|
if (this.updatedPlugins != null && !plugin.IsDev)
|
||||||
{
|
{
|
||||||
var update = this.updatedPlugins.FirstOrDefault(update => update.InternalName == plugin.Manifest.InternalName);
|
var update = this.updatedPlugins.FirstOrDefault(update => update.InternalName == plugin.Manifest.InternalName);
|
||||||
|
|
@ -1233,6 +1237,7 @@ namespace Dalamud.Interface.Internal.Windows
|
||||||
{
|
{
|
||||||
if (update.WasUpdated)
|
if (update.WasUpdated)
|
||||||
{
|
{
|
||||||
|
thisWasUpdated = true;
|
||||||
label += Locs.PluginTitleMod_Updated;
|
label += Locs.PluginTitleMod_Updated;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -1362,6 +1367,28 @@ namespace Dalamud.Interface.Internal.Windows
|
||||||
ImGui.Unindent();
|
ImGui.Unindent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (thisWasUpdated && !plugin.Manifest.Changelog.IsNullOrEmpty())
|
||||||
|
{
|
||||||
|
ImGuiHelpers.ScaledDummy(5);
|
||||||
|
|
||||||
|
ImGui.PushStyleColor(ImGuiCol.ChildBg, this.changelogBgColor);
|
||||||
|
ImGui.PushStyleColor(ImGuiCol.Text, this.changelogTextColor);
|
||||||
|
|
||||||
|
ImGui.PushStyleVar(ImGuiStyleVar.WindowPadding, new Vector2(7, 5));
|
||||||
|
|
||||||
|
if (ImGui.BeginChild("##changelog", new Vector2(-1, 100), true, ImGuiWindowFlags.NoNavFocus | ImGuiWindowFlags.NoNavInputs | ImGuiWindowFlags.AlwaysAutoResize))
|
||||||
|
{
|
||||||
|
ImGui.Text("Changelog:");
|
||||||
|
ImGuiHelpers.ScaledDummy(2);
|
||||||
|
ImGui.TextWrapped(plugin.Manifest.Changelog);
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui.EndChild();
|
||||||
|
|
||||||
|
ImGui.PopStyleVar();
|
||||||
|
ImGui.PopStyleColor(2);
|
||||||
|
}
|
||||||
|
|
||||||
ImGui.PopID();
|
ImGui.PopID();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,12 @@ namespace Dalamud.Plugin.Internal.Types
|
||||||
[JsonProperty]
|
[JsonProperty]
|
||||||
public string? Description { get; init; }
|
public string? Description { get; init; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets a changelog.
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty]
|
||||||
|
public string? Changelog { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets a list of tags defined on the plugin.
|
/// Gets a list of tags defined on the plugin.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ namespace Dalamud.Support
|
||||||
/// <param name="plugin">The plugin to send feedback about.</param>
|
/// <param name="plugin">The plugin to send feedback about.</param>
|
||||||
/// <param name="content">The content of the feedback.</param>
|
/// <param name="content">The content of the feedback.</param>
|
||||||
/// <param name="reporter">The reporter name.</param>
|
/// <param name="reporter">The reporter name.</param>
|
||||||
|
/// <param name="includeException">Whether or not the most recent exception to occur should be included in the report.</param>
|
||||||
/// <returns>A <see cref="Task"/> representing the asynchronous operation.</returns>
|
/// <returns>A <see cref="Task"/> representing the asynchronous operation.</returns>
|
||||||
public static async Task SendFeedback(PluginManifest plugin, string content, string reporter, bool includeException)
|
public static async Task SendFeedback(PluginManifest plugin, string content, string reporter, bool includeException)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue