public static Node CreateNodesFromIgnoredFolder(string ignoredPath)
{
if (ignoredPath.StartsWith("/"))
ignoredPath = ignoredPath.Substring(1, ignoredPath.Length - 1);
string[] parts = ignoredPath.Split('/');
if (parts.Length == 0)
throw new ArgumentException("The ignoredPath contains no folder: " + ignoredPath);
Node[] nodes = new Node[parts.Length];
for ( int i = 0; i < nodes.Length; i++ )
{
Folder f = new Folder()
{
Name = parts[i],
LocationType = Node.NodeLocationType.NONE,
Status = LoadingStatus.DONE
};
nodes[i] = f;
}
for (int i = 0; i < nodes.Length; i++)
{
if (i > 0)
nodes[i].Parent = nodes[i - 1];
if (i < nodes.Length - 1)
nodes[i].Children.Add(nodes[i + 1]);
if (i == nodes.Length - 1)
{
nodes[i].Selected = false;
nodes[i].Path = "/" + ignoredPath;
}
}
return nodes[0];
}