From ff5e72e979d1620978b56e0bf009d3c5f68534de Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Sat, 30 Jul 2022 18:38:58 +0200 Subject: [PATCH] Add enable all for option groups --- .../Collections/ModCollection.Cache.Access.cs | 1 - Penumbra/UI/ConfigWindow.ModPanel.Settings.cs | 24 ++++++++++++++++++- Penumbra/UI/ConfigWindow.SettingsTab.cs | 1 - 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/Penumbra/Collections/ModCollection.Cache.Access.cs b/Penumbra/Collections/ModCollection.Cache.Access.cs index 3d7e2c9c..8c2bddd3 100644 --- a/Penumbra/Collections/ModCollection.Cache.Access.cs +++ b/Penumbra/Collections/ModCollection.Cache.Access.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Diagnostics; using System.Threading; using Dalamud.Logging; using OtterGui.Classes; diff --git a/Penumbra/UI/ConfigWindow.ModPanel.Settings.cs b/Penumbra/UI/ConfigWindow.ModPanel.Settings.cs index e76c145d..be6f5170 100644 --- a/Penumbra/UI/ConfigWindow.ModPanel.Settings.cs +++ b/Penumbra/UI/ConfigWindow.ModPanel.Settings.cs @@ -69,7 +69,7 @@ public partial class ConfigWindow DrawMultiGroup( _mod.Groups[ idx ], idx ); } - _window._penumbra.Api.InvokePostSettingsPanel(_mod.ModPath.Name); + _window._penumbra.Api.InvokePostSettingsPanel( _mod.ModPath.Name ); } @@ -210,6 +210,28 @@ public partial class ConfigWindow } Widget.EndFramedGroup(); + var label = $"##multi{groupIdx}"; + if( ImGui.IsItemClicked( ImGuiMouseButton.Right ) ) + { + ImGui.OpenPopup( $"##multi{groupIdx}" ); + } + + using var style = ImRaii.PushStyle( ImGuiStyleVar.PopupBorderSize, 1 ); + using var popup = ImRaii.Popup( label ); + if( popup ) + { + ImGui.TextUnformatted( group.Name ); + ImGui.Separator(); + if( ImGui.Selectable( "Enable All" ) ) + { + Penumbra.CollectionManager.Current.SetModSetting( _mod.Index, groupIdx, ( 1u << group.Count ) - 1u ); + } + + if( ImGui.Selectable( "Disable All" ) ) + { + Penumbra.CollectionManager.Current.SetModSetting( _mod.Index, groupIdx, 0 ); + } + } } } } \ No newline at end of file diff --git a/Penumbra/UI/ConfigWindow.SettingsTab.cs b/Penumbra/UI/ConfigWindow.SettingsTab.cs index bc0c9321..0735fbda 100644 --- a/Penumbra/UI/ConfigWindow.SettingsTab.cs +++ b/Penumbra/UI/ConfigWindow.SettingsTab.cs @@ -78,7 +78,6 @@ public partial class ConfigWindow { using var color = ImRaii.PushColor( ImGuiCol.Button, Colors.PressEnterWarningBg ); var w = new Vector2( width, 0 ); - var symbol = '\0'; var (text, valid) = CheckPath( newName, old ); return ( ImGui.Button( text, w ) || saved ) && valid;