diff --git a/ChatTwo/Resources/HellionStrings.Designer.cs b/ChatTwo/Resources/HellionStrings.Designer.cs
index c416026..25e8be5 100644
--- a/ChatTwo/Resources/HellionStrings.Designer.cs
+++ b/ChatTwo/Resources/HellionStrings.Designer.cs
@@ -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));
}
diff --git a/ChatTwo/Resources/HellionStrings.de.resx b/ChatTwo/Resources/HellionStrings.de.resx
index 396bf54..848c0d7 100644
--- a/ChatTwo/Resources/HellionStrings.de.resx
+++ b/ChatTwo/Resources/HellionStrings.de.resx
@@ -446,4 +446,21 @@
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.
+
+
+
+ Allgemein
+
+
+ Aussehen
+
+
+ Fenster
+
+
+ Chat
+
+
+ Über
+
diff --git a/ChatTwo/Resources/HellionStrings.resx b/ChatTwo/Resources/HellionStrings.resx
index 918dd1d..dca59cb 100644
--- a/ChatTwo/Resources/HellionStrings.resx
+++ b/ChatTwo/Resources/HellionStrings.resx
@@ -446,4 +446,21 @@
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.
+
+
+
+ General
+
+
+ Appearance
+
+
+ Window
+
+
+ Chat
+
+
+ Information
+
diff --git a/ChatTwo/Ui/Settings.cs b/ChatTwo/Ui/Settings.cs
index b35e545..619e958 100755
--- a/ChatTwo/Ui/Settings.cs
+++ b/ChatTwo/Ui/Settings.cs
@@ -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;
diff --git a/ChatTwo/Ui/SettingsTabs/Appearance.cs b/ChatTwo/Ui/SettingsTabs/Appearance.cs
new file mode 100644
index 0000000..5e1beda
--- /dev/null
+++ b/ChatTwo/Ui/SettingsTabs/Appearance.cs
@@ -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.
+ }
+}
diff --git a/ChatTwo/Ui/SettingsTabs/Chat.cs b/ChatTwo/Ui/SettingsTabs/Chat.cs
new file mode 100644
index 0000000..775953b
--- /dev/null
+++ b/ChatTwo/Ui/SettingsTabs/Chat.cs
@@ -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.
+ }
+}
diff --git a/ChatTwo/Ui/SettingsTabs/General.cs b/ChatTwo/Ui/SettingsTabs/General.cs
new file mode 100644
index 0000000..e1415bb
--- /dev/null
+++ b/ChatTwo/Ui/SettingsTabs/General.cs
@@ -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.
+ }
+}
diff --git a/ChatTwo/Ui/SettingsTabs/Information.cs b/ChatTwo/Ui/SettingsTabs/Information.cs
new file mode 100644
index 0000000..9d02960
--- /dev/null
+++ b/ChatTwo/Ui/SettingsTabs/Information.cs
@@ -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.
+ }
+}
diff --git a/ChatTwo/Ui/SettingsTabs/Window.cs b/ChatTwo/Ui/SettingsTabs/Window.cs
new file mode 100644
index 0000000..9876fc0
--- /dev/null
+++ b/ChatTwo/Ui/SettingsTabs/Window.cs
@@ -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.
+ }
+}