Fix not being able to update option descriptions to empty.

This commit is contained in:
Ottermandias 2023-06-12 13:27:17 +02:00
parent 5a9f1385a2
commit 712dcf5782

View file

@ -195,7 +195,7 @@ public class ModPanelEditTab : ITab
var reducedSize = new Vector2(UiHelpers.InputTextMinusButton3, 0); var reducedSize = new Vector2(UiHelpers.InputTextMinusButton3, 0);
if (ImGui.Button("Edit Description", reducedSize)) if (ImGui.Button("Edit Description", reducedSize))
_delayedActions.Enqueue(() => DescriptionEdit.OpenPopup(_filenames, _mod, Input.Description)); _delayedActions.Enqueue(() => DescriptionEdit.OpenPopup(_mod, Input.Description));
ImGui.SameLine(); ImGui.SameLine();
var fileExists = File.Exists(_filenames.ModMetaPath(_mod)); var fileExists = File.Exists(_filenames.ModMetaPath(_mod));
@ -306,14 +306,13 @@ public class ModPanelEditTab : ITab
{ {
private const string PopupName = "Edit Description"; private const string PopupName = "Edit Description";
private static string _newDescription = string.Empty; private static string _newDescription = string.Empty;
private static string _oldDescription = string.Empty;
private static int _newDescriptionIdx = -1; private static int _newDescriptionIdx = -1;
private static int _newDescriptionOptionIdx = -1; private static int _newDescriptionOptionIdx = -1;
private static Mod? _mod; private static Mod? _mod;
private static FilenameService? _fileNames;
public static void OpenPopup(FilenameService filenames, Mod mod, int groupIdx, int optionIdx = -1) public static void OpenPopup(Mod mod, int groupIdx, int optionIdx = -1)
{ {
_fileNames = filenames;
_newDescriptionIdx = groupIdx; _newDescriptionIdx = groupIdx;
_newDescriptionOptionIdx = optionIdx; _newDescriptionOptionIdx = optionIdx;
_newDescription = groupIdx < 0 _newDescription = groupIdx < 0
@ -321,6 +320,7 @@ public class ModPanelEditTab : ITab
: optionIdx < 0 : optionIdx < 0
? mod.Groups[groupIdx].Description ? mod.Groups[groupIdx].Description
: mod.Groups[groupIdx][optionIdx].Description; : mod.Groups[groupIdx][optionIdx].Description;
_oldDescription = _newDescription;
_mod = mod; _mod = mod;
ImGui.OpenPopup(PopupName); ImGui.OpenPopup(PopupName);
@ -347,11 +347,7 @@ public class ModPanelEditTab : ITab
+ ImGui.GetStyle().ItemSpacing.X; + ImGui.GetStyle().ItemSpacing.X;
ImGui.SetCursorPosX((800 * UiHelpers.Scale - width) / 2); ImGui.SetCursorPosX((800 * UiHelpers.Scale - width) / 2);
var oldDescription = _newDescriptionIdx == Input.Description var tooltip = _newDescription != _oldDescription ? string.Empty : "No changes made yet.";
? _mod.Description
: _mod.Groups[_newDescriptionIdx].Description;
var tooltip = _newDescription != oldDescription ? string.Empty : "No changes made yet.";
if (ImGuiUtil.DrawDisabledButton("Save", buttonSize, tooltip, tooltip.Length > 0)) if (ImGuiUtil.DrawDisabledButton("Save", buttonSize, tooltip, tooltip.Length > 0))
{ {
@ -429,7 +425,7 @@ public class ModPanelEditTab : ITab
if (ImGuiUtil.DrawDisabledButton(FontAwesomeIcon.Edit.ToIconString(), UiHelpers.IconButtonSize, if (ImGuiUtil.DrawDisabledButton(FontAwesomeIcon.Edit.ToIconString(), UiHelpers.IconButtonSize,
"Edit group description.", false, true)) "Edit group description.", false, true))
_delayedActions.Enqueue(() => DescriptionEdit.OpenPopup(_filenames, _mod, groupIdx)); _delayedActions.Enqueue(() => DescriptionEdit.OpenPopup(_mod, groupIdx));
ImGui.SameLine(); ImGui.SameLine();
var fileName = _filenames.OptionGroupFile(_mod, groupIdx); var fileName = _filenames.OptionGroupFile(_mod, groupIdx);
@ -523,7 +519,7 @@ public class ModPanelEditTab : ITab
ImGui.TableNextColumn(); ImGui.TableNextColumn();
if (ImGuiUtil.DrawDisabledButton(FontAwesomeIcon.Edit.ToIconString(), UiHelpers.IconButtonSize, "Edit option description.", if (ImGuiUtil.DrawDisabledButton(FontAwesomeIcon.Edit.ToIconString(), UiHelpers.IconButtonSize, "Edit option description.",
false, true)) false, true))
panel._delayedActions.Enqueue(() => DescriptionEdit.OpenPopup(panel._filenames, panel._mod, groupIdx, optionIdx)); panel._delayedActions.Enqueue(() => DescriptionEdit.OpenPopup(panel._mod, groupIdx, optionIdx));
ImGui.TableNextColumn(); ImGui.TableNextColumn();
if (ImGuiUtil.DrawDisabledButton(FontAwesomeIcon.Trash.ToIconString(), UiHelpers.IconButtonSize, if (ImGuiUtil.DrawDisabledButton(FontAwesomeIcon.Trash.ToIconString(), UiHelpers.IconButtonSize,