feat(settings-refactor): wire new 8-tab structure with stubs

This commit is contained in:
2026-05-02 16:26:22 +02:00
parent 9a38f7f094
commit 71ae95d79c
9 changed files with 175 additions and 11 deletions
+7
View File
@@ -196,4 +196,11 @@ internal class HellionStrings
// Hellion Chat — Settings UX Polish v10 wipe migration
internal static string SettingsRefactor_Migration_Title => Get(nameof(SettingsRefactor_Migration_Title));
internal static string SettingsRefactor_Migration_Content => Get(nameof(SettingsRefactor_Migration_Content));
// Hellion Chat — Settings UX Polish 8-tab structure
internal static string Settings_Tab_General => Get(nameof(Settings_Tab_General));
internal static string Settings_Tab_Appearance => Get(nameof(Settings_Tab_Appearance));
internal static string Settings_Tab_Window => Get(nameof(Settings_Tab_Window));
internal static string Settings_Tab_Chat => Get(nameof(Settings_Tab_Chat));
internal static string Settings_Tab_Information => Get(nameof(Settings_Tab_Information));
}
+17
View File
@@ -446,4 +446,21 @@
<data name="SettingsRefactor_Migration_Content" xml:space="preserve">
<value>Hellion Chat 0.5.0 hat die Settings in thematische Tabs umstrukturiert. Deine Chat-Datenbank und dein Nachrichtenverlauf bleiben unverändert. Settings wurden auf Defaults zurückgesetzt. Falls du das Privacy-Profil neu wählen willst, findest du den Reopen-Button im Datenschutz-Tab. Ein Backup der vorherigen Config liegt unter HellionChat.json.pre-v10-backup neben der aktiven Config-Datei.</value>
</data>
<!-- Hellion Chat — Settings UX Polish 8-Tab-Struktur -->
<data name="Settings_Tab_General" xml:space="preserve">
<value>Allgemein</value>
</data>
<data name="Settings_Tab_Appearance" xml:space="preserve">
<value>Aussehen</value>
</data>
<data name="Settings_Tab_Window" xml:space="preserve">
<value>Fenster</value>
</data>
<data name="Settings_Tab_Chat" xml:space="preserve">
<value>Chat</value>
</data>
<data name="Settings_Tab_Information" xml:space="preserve">
<value>Über</value>
</data>
</root>
+17
View File
@@ -446,4 +446,21 @@
<data name="SettingsRefactor_Migration_Content" xml:space="preserve">
<value>Hellion Chat 0.5.0 reorganised the settings into themed tabs. Your chat database and your message history stay untouched. Settings have been reset to defaults; if you want to pick a privacy profile again, the reopen button is in the Privacy tab. A backup of your previous config is at HellionChat.json.pre-v10-backup next to the live config file.</value>
</data>
<!-- Hellion Chat — Settings UX Polish 8-tab structure -->
<data name="Settings_Tab_General" xml:space="preserve">
<value>General</value>
</data>
<data name="Settings_Tab_Appearance" xml:space="preserve">
<value>Appearance</value>
</data>
<data name="Settings_Tab_Window" xml:space="preserve">
<value>Window</value>
</data>
<data name="Settings_Tab_Chat" xml:space="preserve">
<value>Chat</value>
</data>
<data name="Settings_Tab_Information" xml:space="preserve">
<value>Information</value>
</data>
</root>
+7 -11
View File
@@ -9,7 +9,7 @@ using Dalamud.Bindings.ImGui;
namespace ChatTwo.Ui;
public sealed class SettingsWindow : Window
public sealed class SettingsWindow : Dalamud.Interface.Windowing.Window
{
private readonly Plugin Plugin;
@@ -33,18 +33,14 @@ public sealed class SettingsWindow : Window
Tabs =
[
new Display(Mutable),
new ChatLog(Plugin, Mutable),
new Emote(Plugin, Mutable),
new Preview(Mutable),
new Fonts(Mutable),
new ChatColours(Plugin, Mutable),
new Tabs(Plugin, Mutable),
new General(Plugin, Mutable),
new Appearance(Plugin, Mutable),
new SettingsTabs.Window(Plugin, Mutable),
new Chat(Plugin, Mutable),
new SettingsTabs.Tabs(Plugin, Mutable),
new SettingsTabs.Privacy(Plugin, Mutable),
new Database(Plugin, Mutable),
new Miscellaneous(Mutable),
new Changelog(Mutable),
new About()
new Information(Mutable),
];
RespectCloseHotkey = false;
+27
View File
@@ -0,0 +1,27 @@
using ChatTwo.Resources;
using ChatTwo.Util;
using Dalamud.Interface.Style;
using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii;
using Dalamud.Bindings.ImGui;
namespace ChatTwo.Ui.SettingsTabs;
internal sealed class Appearance : ISettingsTab
{
private readonly Plugin Plugin;
private Configuration Mutable { get; }
public string Name => HellionStrings.Settings_Tab_Appearance + "###tabs-appearance";
internal Appearance(Plugin plugin, Configuration mutable)
{
Plugin = plugin;
Mutable = mutable;
}
public void Draw(bool changed)
{
// Settings ziehen in Plan-Task 4 ein.
}
}
+26
View File
@@ -0,0 +1,26 @@
using ChatTwo.Resources;
using ChatTwo.Util;
using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii;
using Dalamud.Bindings.ImGui;
namespace ChatTwo.Ui.SettingsTabs;
internal sealed class Chat : ISettingsTab
{
private readonly Plugin Plugin;
private Configuration Mutable { get; }
public string Name => HellionStrings.Settings_Tab_Chat + "###tabs-chat";
internal Chat(Plugin plugin, Configuration mutable)
{
Plugin = plugin;
Mutable = mutable;
}
public void Draw(bool changed)
{
// Settings ziehen in Plan-Task 6 ein.
}
}
+25
View File
@@ -0,0 +1,25 @@
using ChatTwo.Resources;
using ChatTwo.Util;
using Dalamud.Interface.Utility.Raii;
using Dalamud.Bindings.ImGui;
namespace ChatTwo.Ui.SettingsTabs;
internal sealed class General : ISettingsTab
{
private readonly Plugin Plugin;
private Configuration Mutable { get; }
public string Name => HellionStrings.Settings_Tab_General + "###tabs-general";
internal General(Plugin plugin, Configuration mutable)
{
Plugin = plugin;
Mutable = mutable;
}
public void Draw(bool changed)
{
// Settings ziehen in Plan-Task 3 ein.
}
}
+23
View File
@@ -0,0 +1,23 @@
using ChatTwo.Resources;
using ChatTwo.Util;
using Dalamud.Interface.Utility.Raii;
using Dalamud.Bindings.ImGui;
namespace ChatTwo.Ui.SettingsTabs;
internal sealed class Information : ISettingsTab
{
private readonly Configuration Mutable;
public string Name => HellionStrings.Settings_Tab_Information + "###tabs-information";
internal Information(Configuration mutable)
{
Mutable = mutable;
}
public void Draw(bool changed)
{
// About-Inhalt zieht in Plan-Task 10 ein.
}
}
+26
View File
@@ -0,0 +1,26 @@
using ChatTwo.Resources;
using ChatTwo.Util;
using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii;
using Dalamud.Bindings.ImGui;
namespace ChatTwo.Ui.SettingsTabs;
internal sealed class Window : ISettingsTab
{
private readonly Plugin Plugin;
private Configuration Mutable { get; }
public string Name => HellionStrings.Settings_Tab_Window + "###tabs-window";
internal Window(Plugin plugin, Configuration mutable)
{
Plugin = plugin;
Mutable = mutable;
}
public void Draw(bool changed)
{
// Settings ziehen in Plan-Task 5 ein.
}
}