Exemplo n.º 1
0
        public override void Refresh()
        {
            if (!IsExpanded)
            {
                return;
            }

            List <string> oldDrives = (from item in Children select(item as VolumeItem).Path).ToList();
            List <string> newDrives = (from item in VirtualDrive.GetDrives() select item).ToList();

            List <string> toAdd    = newDrives.Where(n => !oldDrives.Contains(n)).ToList();
            List <string> toRemove = oldDrives.Where(n => !newDrives.Contains(n)).ToList();

            foreach (var drive in toAdd)
            {
                Add(drive);
            }

            foreach (var drive in toRemove)
            {
                Remove(drive);
            }

            base.Refresh();
        }
Exemplo n.º 2
0
        public FileTreeModel()
        {
            IsExpanded = true;

            foreach (var drive in VirtualDrive.GetDrives())
            {
                AddNode(this, new VolumeItem(drive, this));
            }

            WorkerThreadPool.Instance.StartWork(new FileTreeRefreshThread(this, newAddedTreeNodes));
        }