mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-15 05:04:15 +01:00
Change folder handling and introduce drag & drop for folders
This commit is contained in:
parent
ec99887387
commit
2532e73f9d
21 changed files with 1690 additions and 651 deletions
|
|
@ -22,42 +22,31 @@ namespace Penumbra.Mods
|
|||
|
||||
mod.Meta.Name = newName;
|
||||
mod.SaveMeta();
|
||||
foreach( var collection in manager.Collections.Collections.Values.Where( c => c.Cache != null ) )
|
||||
{
|
||||
collection.Cache!.SortMods();
|
||||
}
|
||||
|
||||
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 )
|
||||
if( string.Equals(mod.SortOrder.FullPath, newSortOrder, StringComparison.InvariantCultureIgnoreCase ) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
var modName = mod.Meta.Name.Replace( '/', '\\' );
|
||||
if( newSortOrder == string.Empty || newSortOrder == modName )
|
||||
var inRoot = new SortOrder( manager.StructuredMods, mod.Meta.Name );
|
||||
if( newSortOrder == string.Empty || newSortOrder == inRoot.SortOrderName )
|
||||
{
|
||||
mod.SortOrder = modName;
|
||||
mod.SortOrder = inRoot;
|
||||
manager.Config.ModSortOrder.Remove( mod.BasePath.Name );
|
||||
}
|
||||
else
|
||||
{
|
||||
mod.SortOrder = newSortOrder;
|
||||
manager.Config.ModSortOrder[ mod.BasePath.Name ] = newSortOrder;
|
||||
mod.Move( newSortOrder );
|
||||
manager.Config.ModSortOrder[ mod.BasePath.Name ] = mod.SortOrder.FullPath;
|
||||
}
|
||||
|
||||
manager.Config.Save();
|
||||
|
||||
foreach( var collection in manager.Collections.Collections.Values.Where( c => c.Cache != null ) )
|
||||
{
|
||||
collection.Cache!.SortMods();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue