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 {
var updatedPlugins = t.Result.UpdatedPlugins;
if (updatedPlugins.Count != 0) {
if (updatedPlugins != null && updatedPlugins.Any()) {
if (this.dalamud.Configuration.AutoUpdatePlugins) {
this.dalamud.Framework.Gui.Chat.Print(string.Format(Loc.Localize("DalamudPluginUpdateSuccessful", "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
});
}
}
this.dalamud.PluginRepository.PrintUpdatedPlugins(updatedPlugins, Loc.Localize("DalamudPluginAutoUpdate", "Auto-update:"));
} else {
this.dalamud.Framework.Gui.Chat.PrintChat(new XivChatEntry {
MessageBytes = new SeString(new List<Payload>() {

View file

@ -202,6 +202,8 @@ namespace Dalamud.Plugin
this.errorModalDrawing = 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.Text;
using System.Threading.Tasks;
using CheapLoc;
using Dalamud.Game.Chat;
using Newtonsoft.Json;
using Serilog;
@ -289,6 +291,22 @@ namespace Dalamud.Plugin
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() {
try {
var pluginsDirectory = new DirectoryInfo(this.pluginDirectory);