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. + } +}