public static ImageSource GetFolderIcon(FolderItem folderItem) { if (folderItem.Parent == null) { return(GetIconInternal(folderItem.GetPath(), ItemType.Folder)); } if (folderIcon == null) { folderIcon = GetIconInternal(folderItem.GetPath(), ItemType.Folder); } return(folderIcon); }
void CollectNestedItems(FolderItem parentItem, CancellationToken cancellationToken) { if (parentItem == null || parentItem.IsFile) { return; } if (cancellationToken.IsCancellationRequested) { return; } (parentItem as FolderItem).IsProcessing = true; var parentPath = parentItem.GetPath(); if (string.IsNullOrEmpty(parentPath)) { return; } parentItem.AddChildrenRange(ProcessContent(fileSystemProvider.GetDirectoryContent(parentPath), cancellationToken)); if (cancellationToken.IsCancellationRequested) { return; } parentItem.IsProcessing = false; if (!parentItem.HasChildren) { parentItem.UpdateIsValid(true); } OnFileSystemItemProcessed(parentItem); }
public void FolderPropertiesTest() { var folderItem = new FolderItem("1"); Assert.AreEqual(@"1", folderItem.DisplayName); Assert.AreEqual(@"1", folderItem.GetPath()); Assert.IsNull(folderItem.Parent); Assert.IsFalse(folderItem.HasChildren); Assert.IsFalse(folderItem.IsFile); Assert.AreEqual(0, folderItem.Size); }
public void DrivePropertiesTest() { var driveItem = new FolderItem(@"C:\"); Assert.AreEqual(@"C:\", driveItem.DisplayName); Assert.AreEqual(@"C:\", driveItem.GetPath()); Assert.IsNull(driveItem.Parent); Assert.IsFalse(driveItem.HasChildren); Assert.IsFalse(driveItem.IsFile); Assert.AreEqual(0, driveItem.Size); }