feat: add ExtraChat channel filtering

This commit is contained in:
Anna
2022-08-27 13:26:21 -04:00
parent 03ac04a690
commit cfa57ae11a
6 changed files with 1400 additions and 2067 deletions
+24 -1
View File
@@ -7,13 +7,15 @@ using ImGuiNET;
namespace ChatTwo.Ui.SettingsTabs;
internal sealed class Tabs : ISettingsTab {
private Plugin Plugin { get; }
private Configuration Mutable { get; }
public string Name => Language.Options_Tabs_Tab + "###tabs-tabs";
private int _toOpen = -2;
internal Tabs(Configuration mutable) {
internal Tabs(Plugin plugin, Configuration mutable) {
this.Plugin = plugin;
this.Mutable = mutable;
}
@@ -158,6 +160,27 @@ internal sealed class Tabs : ISettingsTab {
ImGui.TreePop();
}
if (this.Plugin.ExtraChat.ChannelNames.Count > 0 && ImGui.TreeNodeEx(Language.Options_Tabs_ExtraChatChannels)) {
ImGui.Checkbox(Language.Options_Tabs_ExtraChatAll, ref tab.ExtraChatAll);
ImGui.Separator();
foreach (var (id, name) in this.Plugin.ExtraChat.ChannelNames) {
var enabled = tab.ExtraChatChannels.Contains(id);
if (!ImGui.Checkbox($"{name}##ec-{id}", ref enabled)) {
continue;
}
if (enabled) {
tab.ExtraChatChannels.Add(id);
} else {
tab.ExtraChatChannels.Remove(id);
}
}
ImGui.TreePop();
}
ImGui.TreePop();
ImGui.PopID();