diff --git a/Dalamud/Interface/Internal/Windows/PluginInstaller/PluginInstallerWindow.cs b/Dalamud/Interface/Internal/Windows/PluginInstaller/PluginInstallerWindow.cs index 40753a20d..61f4bd1fc 100644 --- a/Dalamud/Interface/Internal/Windows/PluginInstaller/PluginInstallerWindow.cs +++ b/Dalamud/Interface/Internal/Windows/PluginInstaller/PluginInstallerWindow.cs @@ -98,6 +98,7 @@ internal class PluginInstallerWindow : Window, IDisposable private bool deletePluginConfigWarningModalDrawing = true; private bool deletePluginConfigWarningModalOnNextFrame = false; + private bool deletePluginConfigWarningModalExplainTesting = false; private string deletePluginConfigWarningModalPluginName = string.Empty; private TaskCompletionSource? deletePluginConfigWarningModalTaskCompletionSource; @@ -732,7 +733,7 @@ private void DrawHeader() } } } - + private void DrawFooter() { var configuration = Service.Get(); @@ -972,10 +973,11 @@ private void DrawTestingWarningModal() } } - private Task ShowDeletePluginConfigWarningModal(string pluginName) + private Task ShowDeletePluginConfigWarningModal(string pluginName, bool explainTesting = false) { this.deletePluginConfigWarningModalOnNextFrame = true; this.deletePluginConfigWarningModalPluginName = pluginName; + this.deletePluginConfigWarningModalExplainTesting = explainTesting; this.deletePluginConfigWarningModalTaskCompletionSource = new TaskCompletionSource(); return this.deletePluginConfigWarningModalTaskCompletionSource.Task; } @@ -986,6 +988,13 @@ private void DrawDeletePluginConfigWarningModal() if (ImGui.BeginPopupModal(modalTitle, ref this.deletePluginConfigWarningModalDrawing, ImGuiWindowFlags.AlwaysAutoResize | ImGuiWindowFlags.NoScrollbar)) { + if (this.deletePluginConfigWarningModalExplainTesting) + { + ImGui.PushStyleColor(ImGuiCol.Text, ImGuiColors.DalamudOrange); + ImGui.Text(Locs.DeletePluginConfigWarningModal_ExplainTesting()); + ImGui.PopStyleColor(); + } + ImGui.Text(Locs.DeletePluginConfigWarningModal_Body(this.deletePluginConfigWarningModalPluginName)); ImGui.Spacing(); @@ -2898,7 +2907,7 @@ private void DrawInstalledPluginContextMenu(LocalPlugin plugin, PluginTestingOpt if (ImGui.MenuItem(Locs.PluginContext_DeletePluginConfigReload)) { - this.ShowDeletePluginConfigWarningModal(plugin.Manifest.Name).ContinueWith(t => + this.ShowDeletePluginConfigWarningModal(plugin.Manifest.Name, optIn != null).ContinueWith(t => { var shouldDelete = t.Result; @@ -4263,7 +4272,9 @@ public static string Notifications_UpdatesInstalled(List upd public static string DeletePluginConfigWarningModal_Title => Loc.Localize("InstallerDeletePluginConfigWarning", "Warning###InstallerDeletePluginConfigWarning"); - public static string DeletePluginConfigWarningModal_Body(string pluginName) => Loc.Localize("InstallerDeletePluginConfigWarningBody", "Are you sure you want to delete all data and configuration for {0}?").Format(pluginName); + public static string DeletePluginConfigWarningModal_ExplainTesting() => Loc.Localize("InstallerDeletePluginConfigWarningExplainTesting", "Do not select this option if you are only trying to disable testing!"); + + public static string DeletePluginConfigWarningModal_Body(string pluginName) => Loc.Localize("InstallerDeletePluginConfigWarningBody", "Are you sure you want to delete all data and configuration for {0}?\nYou will lose all of your settings for this plugin.").Format(pluginName); public static string DeletePluginConfirmWarningModal_Yes => Loc.Localize("InstallerDeletePluginConfigWarningYes", "Yes");