diff --git a/Craftimizer/Plugin.cs b/Craftimizer/Plugin.cs index 0ce76a6..3654a19 100644 --- a/Craftimizer/Plugin.cs +++ b/Craftimizer/Plugin.cs @@ -65,7 +65,7 @@ public sealed class Plugin : IDalamudPlugin ActionUtils.Initialize(); Service.PluginInterface.UiBuilder.Draw += WindowSystem.Draw; - Service.PluginInterface.UiBuilder.OpenConfigUi += OpenSettingsWindow; + Service.PluginInterface.UiBuilder.OpenConfigUi += OpenSettingsWindowForced; Service.PluginInterface.UiBuilder.OpenMainUi += OpenCraftingLog; } @@ -116,15 +116,18 @@ public sealed class Plugin : IDalamudPlugin SynthHelperWindow.QueueSuggestedActionExecution(); [Command(name: "/craftimizer", description: "Open the settings window.")] - public void OpenSettingsWindow() + private void OpenSettingsWindowForced() => + OpenSettingsWindow(true); + + public void OpenSettingsWindow(bool force = false) { - if (SettingsWindow.IsOpen ^= true) + if (SettingsWindow.IsOpen ^= !force || !SettingsWindow.IsOpen) SettingsWindow.BringToFront(); } public void OpenSettingsTab(string selectedTabLabel) { - OpenSettingsWindow(); + OpenSettingsWindow(true); SettingsWindow.SelectTab(selectedTabLabel); } diff --git a/Craftimizer/Windows/MacroEditor.cs b/Craftimizer/Windows/MacroEditor.cs index e828067..704581f 100644 --- a/Craftimizer/Windows/MacroEditor.cs +++ b/Craftimizer/Windows/MacroEditor.cs @@ -151,7 +151,7 @@ public sealed class MacroEditor : Window, IDisposable { Icon = FontAwesomeIcon.Cog, IconOffset = new(2.5f, 1), - Click = _ => Service.Plugin.OpenSettingsWindow(), + Click = _ => Service.Plugin.OpenSettingsTab("Macro Editor"), ShowTooltip = () => ImGuiUtils.Tooltip("Open Craftimizer Settings") } ]; diff --git a/Craftimizer/Windows/MacroList.cs b/Craftimizer/Windows/MacroList.cs index 225c9cd..9c67c1a 100644 --- a/Craftimizer/Windows/MacroList.cs +++ b/Craftimizer/Windows/MacroList.cs @@ -43,7 +43,7 @@ public sealed class MacroList : Window, IDisposable { Icon = FontAwesomeIcon.Cog, IconOffset = new(2.5f, 1), - Click = _ => Service.Plugin.OpenSettingsWindow(), + Click = _ => Service.Plugin.OpenSettingsTab("General"), ShowTooltip = () => ImGuiUtils.Tooltip("Open Craftimizer Settings") } ]; diff --git a/Craftimizer/Windows/RecipeNote.cs b/Craftimizer/Windows/RecipeNote.cs index 6622a34..d213c17 100644 --- a/Craftimizer/Windows/RecipeNote.cs +++ b/Craftimizer/Windows/RecipeNote.cs @@ -140,7 +140,7 @@ public sealed unsafe class RecipeNote : Window, IDisposable { Icon = FontAwesomeIcon.Cog, IconOffset = new(2.5f, 1), - Click = _ => Service.Plugin.OpenSettingsWindow(), + Click = _ => Service.Plugin.OpenSettingsTab("Crafting Log"), ShowTooltip = () => ImGuiUtils.Tooltip("Open Craftimizer Settings") } ]; diff --git a/Craftimizer/Windows/SynthHelper.cs b/Craftimizer/Windows/SynthHelper.cs index eafa6db..af261ae 100644 --- a/Craftimizer/Windows/SynthHelper.cs +++ b/Craftimizer/Windows/SynthHelper.cs @@ -97,7 +97,7 @@ public sealed unsafe class SynthHelper : Window, IDisposable { Icon = FontAwesomeIcon.Cog, IconOffset = new(2.5f, 1), - Click = _ => Service.Plugin.OpenSettingsWindow(), + Click = _ => Service.Plugin.OpenSettingsTab("Synthesis Helper"), ShowTooltip = () => ImGuiUtils.Tooltip("Open Craftimizer Settings") } ];