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);
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }