Merge pull request #226 from Aireil/feat_print_updated_plugins

Add chat text when updating plugins
This commit is contained in:
goaaats 2020-12-22 14:01:43 +01:00 committed by GitHub
commit dec6e9454f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 12 deletions

View file

@ -224,19 +224,9 @@ namespace Dalamud.Game {
} else { } else {
var updatedPlugins = t.Result.UpdatedPlugins; var updatedPlugins = t.Result.UpdatedPlugins;
if (updatedPlugins.Count != 0) { if (updatedPlugins != null && updatedPlugins.Any()) {
if (this.dalamud.Configuration.AutoUpdatePlugins) { if (this.dalamud.Configuration.AutoUpdatePlugins) {
this.dalamud.Framework.Gui.Chat.Print(string.Format(Loc.Localize("DalamudPluginUpdateSuccessful", "Auto-update:"))); this.dalamud.PluginRepository.PrintUpdatedPlugins(updatedPlugins, Loc.Localize("DalamudPluginAutoUpdate", "Auto-update:"));
foreach (var plugin in updatedPlugins) {
if (plugin.WasUpdated) {
this.dalamud.Framework.Gui.Chat.Print(string.Format(Loc.Localize("DalamudPluginUpdateSuccessful", " 》 {0} updated to v{1}."), plugin.Name, plugin.Version));
} else {
this.dalamud.Framework.Gui.Chat.PrintChat(new XivChatEntry {
MessageBytes = Encoding.UTF8.GetBytes(string.Format(Loc.Localize("DalamudPluginUpdateFailed", " 》 {0} update to v{1} failed."), plugin.Name, plugin.Version)),
Type = XivChatType.Urgent
});
}
}
} else { } else {
this.dalamud.Framework.Gui.Chat.PrintChat(new XivChatEntry { this.dalamud.Framework.Gui.Chat.PrintChat(new XivChatEntry {
MessageBytes = new SeString(new List<Payload>() { MessageBytes = new SeString(new List<Payload>() {

View file

@ -202,6 +202,8 @@ namespace Dalamud.Plugin
this.errorModalDrawing = this.installStatus == PluginInstallStatus.Fail; this.errorModalDrawing = this.installStatus == PluginInstallStatus.Fail;
this.errorModalOnNextFrame = this.installStatus == PluginInstallStatus.Fail; this.errorModalOnNextFrame = this.installStatus == PluginInstallStatus.Fail;
this.dalamud.PluginRepository.PrintUpdatedPlugins(updatedPlugins, Loc.Localize("DalamudPluginUpdates", "Updates:"));
}); });
} }
} }

View file

@ -8,6 +8,8 @@ using System.Linq;
using System.Net; using System.Net;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using CheapLoc;
using Dalamud.Game.Chat;
using Newtonsoft.Json; using Newtonsoft.Json;
using Serilog; using Serilog;
@ -289,6 +291,22 @@ namespace Dalamud.Plugin
return (!hasError, updatedList); return (!hasError, updatedList);
} }
public void PrintUpdatedPlugins(List<PluginRepository.PluginUpdateStatus> updatedPlugins, string header) {
if (updatedPlugins != null && updatedPlugins.Any()) {
this.dalamud.Framework.Gui.Chat.Print(header);
foreach (var plugin in updatedPlugins) {
if (plugin.WasUpdated) {
this.dalamud.Framework.Gui.Chat.Print(string.Format(Loc.Localize("DalamudPluginUpdateSuccessful", " 》 {0} updated to v{1}."), plugin.Name, plugin.Version));
} else {
this.dalamud.Framework.Gui.Chat.PrintChat(new XivChatEntry {
MessageBytes = Encoding.UTF8.GetBytes(string.Format(Loc.Localize("DalamudPluginUpdateFailed", " 》 {0} update to v{1} failed."), plugin.Name, plugin.Version)),
Type = XivChatType.Urgent
});
}
}
}
}
public void CleanupPlugins() { public void CleanupPlugins() {
try { try {
var pluginsDirectory = new DirectoryInfo(this.pluginDirectory); var pluginsDirectory = new DirectoryInfo(this.pluginDirectory);