diff --git a/OtterGui b/OtterGui index 3679cb37..f401cea4 160000 --- a/OtterGui +++ b/OtterGui @@ -1 +1 @@ -Subproject commit 3679cb37d5cc04351c064b1372a6eac51c7375a8 +Subproject commit f401cea47e45d12e09d1668187e3bb2781af21dd diff --git a/Penumbra/Configuration.cs b/Penumbra/Configuration.cs index 2e39f4d3..4848d337 100644 --- a/Penumbra/Configuration.cs +++ b/Penumbra/Configuration.cs @@ -43,6 +43,7 @@ public partial class Configuration : IPluginConfiguration public bool ScaleModSelector { get; set; } = false; public float ModSelectorAbsoluteSize { get; set; } = Constants.DefaultAbsoluteSize; public int ModSelectorScaledSize { get; set; } = Constants.DefaultScaledSize; + public bool OpenFoldersByDefault { get; set; } = false; public bool ShowAdvanced { get; set; } diff --git a/Penumbra/UI/Classes/ModFileSystemSelector.cs b/Penumbra/UI/Classes/ModFileSystemSelector.cs index ff606509..20422f26 100644 --- a/Penumbra/UI/Classes/ModFileSystemSelector.cs +++ b/Penumbra/UI/Classes/ModFileSystemSelector.cs @@ -76,6 +76,9 @@ public sealed partial class ModFileSystemSelector : FileSystemSelector< Mod, Mod protected override uint FolderLineColor => ColorId.FolderLine.Value(); + protected override bool FoldersDefaultOpen + => Penumbra.Config.OpenFoldersByDefault; + protected override void DrawPopups() { _fileManager.Draw(); diff --git a/Penumbra/UI/ConfigWindow.SettingsTab.General.cs b/Penumbra/UI/ConfigWindow.SettingsTab.General.cs index 88c1fc8d..05527732 100644 --- a/Penumbra/UI/ConfigWindow.SettingsTab.General.cs +++ b/Penumbra/UI/ConfigWindow.SettingsTab.General.cs @@ -79,6 +79,12 @@ public partial class ConfigWindow DrawFolderSortType(); DrawAbsoluteSizeSelector(); DrawRelativeSizeSelector(); + Checkbox( "Open Folders by Default", "Whether to start with all folders collapsed or expanded in the mod selector.", + Penumbra.Config.OpenFoldersByDefault, v => + { + Penumbra.Config.OpenFoldersByDefault = v; + _window._selector.SetFilterDirty(); + } ); ImGui.Dummy( _window._defaultSpace ); DrawDefaultModImportPath(); DrawDefaultModAuthor();