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 // Hellion Chat — Settings UX Polish v10 wipe migration
internal static string SettingsRefactor_Migration_Title => Get(nameof(SettingsRefactor_Migration_Title)); internal static string SettingsRefactor_Migration_Title => Get(nameof(SettingsRefactor_Migration_Title));
internal static string SettingsRefactor_Migration_Content => Get(nameof(SettingsRefactor_Migration_Content)); 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"> <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> <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> </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> </root>
+17
View File
@@ -446,4 +446,21 @@
<data name="SettingsRefactor_Migration_Content" xml:space="preserve"> <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> <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> </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> </root>
+7 -11
View File
@@ -9,7 +9,7 @@ using Dalamud.Bindings.ImGui;
namespace ChatTwo.Ui; namespace ChatTwo.Ui;
public sealed class SettingsWindow : Window public sealed class SettingsWindow : Dalamud.Interface.Windowing.Window
{ {
private readonly Plugin Plugin; private readonly Plugin Plugin;
@@ -33,18 +33,14 @@ public sealed class SettingsWindow : Window
Tabs = Tabs =
[ [
new Display(Mutable), new General(Plugin, Mutable),
new ChatLog(Plugin, Mutable), new Appearance(Plugin, Mutable),
new Emote(Plugin, Mutable), new SettingsTabs.Window(Plugin, Mutable),
new Preview(Mutable), new Chat(Plugin, Mutable),
new Fonts(Mutable), new SettingsTabs.Tabs(Plugin, Mutable),
new ChatColours(Plugin, Mutable),
new Tabs(Plugin, Mutable),
new SettingsTabs.Privacy(Plugin, Mutable), new SettingsTabs.Privacy(Plugin, Mutable),
new Database(Plugin, Mutable), new Database(Plugin, Mutable),
new Miscellaneous(Mutable), new Information(Mutable),
new Changelog(Mutable),
new About()
]; ];
RespectCloseHotkey = false; 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.
}
}