mirror of
https://github.com/claunia/cuetools.net.git
synced 2025-12-16 18:14:25 +00:00
Some refactoring in CUETools
This commit is contained in:
31
CUETools/TreeNodes/FileSystemTreeNodeLocalDBFolder.cs
Normal file
31
CUETools/TreeNodes/FileSystemTreeNodeLocalDBFolder.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Windows.Forms;
|
||||
using CUEControls;
|
||||
using CUETools.Processor;
|
||||
|
||||
namespace JDP
|
||||
{
|
||||
public abstract class FileSystemTreeNodeLocalDBFolder : FileSystemTreeNode
|
||||
{
|
||||
public List<CUEToolsLocalDBEntry> Group { get; protected set; }
|
||||
|
||||
public FileSystemTreeNodeLocalDBFolder(IIconManager icon_mgr)
|
||||
: base(icon_mgr, true)
|
||||
{
|
||||
}
|
||||
|
||||
public void Purge(List<CUEToolsLocalDBEntry> entries)
|
||||
{
|
||||
foreach (TreeNode child in this.Nodes)
|
||||
{
|
||||
if (child is FileSystemTreeNodeLocalDBFolder)
|
||||
(child as FileSystemTreeNodeLocalDBFolder).Purge(entries);
|
||||
if ((child is FileSystemTreeNodeLocalDBEntry && entries.Contains((child as FileSystemTreeNodeLocalDBEntry).Item))
|
||||
|| (child is FileSystemTreeNodeLocalDBGroup && (child as FileSystemTreeNodeLocalDBGroup).Group.Count == 0))
|
||||
child.Remove();
|
||||
}
|
||||
|
||||
this.Group.RemoveAll(item => entries.Contains(item));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user