mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-14 04:34:19 +01:00
Introducing custom Sort Order for mods and collapsible folders inside the mod selector based on '/' in the sort order.
This commit is contained in:
parent
702e3b9305
commit
d52086b69c
7 changed files with 157 additions and 13 deletions
|
|
@ -30,6 +30,36 @@ namespace Penumbra.Mods
|
|||
return true;
|
||||
}
|
||||
|
||||
public static bool ChangeSortOrder( this ModManager manager, ModData mod, string newSortOrder )
|
||||
{
|
||||
newSortOrder = string.Join( "/", newSortOrder.Trim().Split( new[] { "/" }, StringSplitOptions.RemoveEmptyEntries ) );
|
||||
|
||||
if( mod.SortOrder == newSortOrder )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if( newSortOrder == string.Empty || newSortOrder == mod.Meta.Name )
|
||||
{
|
||||
mod.SortOrder = mod.Meta.Name;
|
||||
manager.Config.ModSortOrder.Remove( mod.BasePath.Name );
|
||||
}
|
||||
else
|
||||
{
|
||||
mod.SortOrder = newSortOrder;
|
||||
manager.Config.ModSortOrder[ mod.BasePath.Name ] = newSortOrder;
|
||||
}
|
||||
|
||||
manager.Config.Save();
|
||||
|
||||
foreach( var collection in manager.Collections.Collections.Values.Where( c => c.Cache != null ) )
|
||||
{
|
||||
collection.Cache!.SortMods();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static bool RenameModFolder( this ModManager manager, ModData mod, DirectoryInfo newDir, bool move = true )
|
||||
{
|
||||
if( move )
|
||||
|
|
@ -60,6 +90,13 @@ namespace Penumbra.Mods
|
|||
mod.MetaFile = ModData.MetaFileInfo( newDir );
|
||||
manager.UpdateMod( mod );
|
||||
|
||||
if( manager.Config.ModSortOrder.ContainsKey( oldBasePath.Name ) )
|
||||
{
|
||||
manager.Config.ModSortOrder[ newDir.Name ] = manager.Config.ModSortOrder[ oldBasePath.Name ];
|
||||
manager.Config.ModSortOrder.Remove( oldBasePath.Name );
|
||||
manager.Config.Save();
|
||||
}
|
||||
|
||||
foreach( var collection in manager.Collections.Collections.Values )
|
||||
{
|
||||
if( collection.Settings.TryGetValue( oldBasePath.Name, out var settings ) )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue