Improve tooltip of file redirections tab.

This commit is contained in:
Ottermandias 2024-08-28 18:29:12 +02:00
parent d713d5a112
commit 4970e57131
2 changed files with 18 additions and 12 deletions

@ -1 +1 @@
Subproject commit 276327f812e2f7e6aac7aee9e5ef0a560b065765
Subproject commit 9217ac56697bc8285ced483b1fd4734fd36ba64d

View file

@ -1,8 +1,10 @@
using System.Linq;
using Dalamud.Interface;
using ImGuiNET;
using OtterGui;
using OtterGui.Classes;
using OtterGui.Raii;
using OtterGui.Text;
using Penumbra.Mods.Editor;
using Penumbra.Mods.SubMods;
using Penumbra.String.Classes;
@ -144,22 +146,20 @@ public partial class ModEditWindow
private static string DrawFileTooltip(FileRegistry registry, ColorId color)
{
(string, int) GetMulti()
{
var groups = registry.SubModUsage.GroupBy(s => s.Item1).ToArray();
return (string.Join("\n", groups.Select(g => g.Key.GetName())), groups.Length);
}
var (text, groupCount) = color switch
{
ColorId.ConflictingMod => (string.Empty, 0),
ColorId.NewMod => (registry.SubModUsage[0].Item1.GetName(), 1),
ColorId.ConflictingMod => (null, 0),
ColorId.NewMod => ([registry.SubModUsage[0].Item1.GetName()], 1),
ColorId.InheritedMod => GetMulti(),
_ => (string.Empty, 0),
_ => (null, 0),
};
if (text.Length > 0 && ImGui.IsItemHovered())
ImGui.SetTooltip(text);
if (text != null && ImGui.IsItemHovered())
{
using var tt = ImUtf8.Tooltip();
using var c = ImRaii.DefaultColors();
ImUtf8.Text(string.Join('\n', text));
}
return (groupCount, registry.SubModUsage.Count) switch
@ -169,6 +169,12 @@ public partial class ModEditWindow
(1, > 1) => $"(used {registry.SubModUsage.Count} times in 1 group)",
_ => $"(used {registry.SubModUsage.Count} times over {groupCount} groups)",
};
(IEnumerable<string>, int) GetMulti()
{
var groups = registry.SubModUsage.GroupBy(s => s.Item1).ToArray();
return (groups.Select(g => g.Key.GetName()), groups.Length);
}
}
private void DrawSelectable(FileRegistry registry)