feat(popout): arm the auto-tell pop-out settings and add the pool self-test

This commit is contained in:
2026-06-16 01:29:59 +02:00
parent 6578c10b13
commit 49f5119b17
3 changed files with 127 additions and 11 deletions
@@ -1,5 +1,4 @@
using Dalamud.Bindings.ImGui;
using Dalamud.Interface.Utility.Raii;
namespace HellionChat.Ui.Components.Settings.Tabs;
@@ -45,12 +44,11 @@ internal sealed class ChannelsTab
() => Plugin.Config.AutoTellTabsShowGreetedToggle,
v => Plugin.Config.AutoTellTabsShowGreetedToggle = v
);
// Popout is a v1.8.0 teaser — render disabled, do NOT persist.
using (ImRaii.Disabled(true))
{
var openAsPopout = Plugin.Config.AutoTellTabsOpenAsPopout;
ImGui.Checkbox("Open as popout (lands in v1.8.0)", ref openAsPopout);
}
DrawToggle(
"Open as popout",
() => Plugin.Config.AutoTellTabsOpenAsPopout,
v => Plugin.Config.AutoTellTabsOpenAsPopout = v
);
}
if (ImGui.CollapsingHeader("Tell auto-open mode", ImGuiTreeNodeFlags.DefaultOpen))
@@ -75,7 +73,7 @@ internal sealed class ChannelsTab
private void DrawTellAutoOpenModeCombo()
{
var labels = new[] { "Off", "Sidebar", "Top tab", "Popout (lands in v1.8.0)" };
var labels = new[] { "Off", "Sidebar", "Top tab", "Popout" };
var values = Enum.GetValues<TellAutoOpenMode>();
var current = Plugin.Config.TellAutoOpenMode;
var selected = 0;
@@ -91,9 +89,7 @@ internal sealed class ChannelsTab
ImGui.SetNextItemWidth(220);
if (ImGui.Combo("Tell auto-open mode", ref selected, labels, labels.Length))
{
// Popout (index 3) is a v1.8.0 teaser — revert to previous value
// and skip SaveConfig.
if (selected >= 0 && selected < values.Length && selected != 3)
if (selected >= 0 && selected < values.Length)
{
Plugin.Config.TellAutoOpenMode = values[selected];
_plugin.SaveConfig();