Ejemplo n.º 1
0
        public DirectoryViewModel(DirectoryInfo directoryInfo, IDirectoryViewModel parent)
            : base(new NativeFileInfo(directoryInfo.FullName, true), parent)
        {
            _directoryInfo = directoryInfo;
            var directoryProvider = new SubDirectoriesProvider(_directoryInfo, this);

            Path        = Environment.ExpandEnvironmentVariables(_directoryInfo.FullName);
            DisplayName = _directoryInfo.Name;
            if (Parent != null)
            {
                VisualPath = Parent.VisualPath + "\\" + DisplayName;
            }
            Files                = new AsyncLoadCollection <ISystemObjectViewModel>(new FilesProvider(directoryInfo, this));
            SubDirectories       = new AsyncLoadCollection <IDirectoryViewModel>(directoryProvider);
            Children             = new UnionCollectionEx <IDirectoryViewModel, ISystemObjectViewModel, ISystemObjectViewModel>(SubDirectories, Files);
            LastModificationDate = _directoryInfo.LastWriteTime;
            try
            {
                UpdateHasItems();
            }
            catch (UnauthorizedAccessException ex)
            {
                NoAccess = true;
            }
        }
Ejemplo n.º 2
0
        public RootDirectoryViewModel() : base(new NativeDirectoryInfo(), null)
        {
            var nativeSubDirectoryProvider = new NativeSubDirectoryProvider((NativeDirectoryInfo)NativeSystemInfo, this);
            var nativeFilesProvider        = new NativeFilesProvider(null, this);

            DisplayName    = NativeSystemInfo.DisplayName;
            Path           = NativeSystemInfo.Path;
            HasItems       = true;
            VisualPath     = DisplayName;
            SubDirectories = new AsyncLoadCollection <IDirectoryViewModel>(nativeSubDirectoryProvider);
            Files          = new AsyncLoadCollection <ISystemObjectViewModel>(nativeFilesProvider);
            IsExpanded     = true;
            IsSelected     = true;
            Children       = new UnionCollectionEx <IDirectoryViewModel, ISystemObjectViewModel, ISystemObjectViewModel>(SubDirectories, Files);
        }
 public RootDirectoryViewModel()
     : base(new NativeDirectoryInfo(),null)
 {
     var nativeSubDirectoryProvider = new NativeSubDirectoryProvider((NativeDirectoryInfo)NativeSystemInfo, this);
     var nativeFilesProvider = new NativeFilesProvider(null,this);
     DisplayName = NativeSystemInfo.DisplayName;
     Path = NativeSystemInfo.Path;
     HasItems = true;
     VisualPath = DisplayName;
     SubDirectories = new AsyncLoadCollection<IDirectoryViewModel>(nativeSubDirectoryProvider);
     Files = new AsyncLoadCollection<ISystemObjectViewModel>(nativeFilesProvider);
     IsExpanded = true;
     IsSelected = true;
     Children = new UnionCollectionEx<IDirectoryViewModel, ISystemObjectViewModel, ISystemObjectViewModel>(SubDirectories, Files);
 }
 public RootDirectoryViewModel(NativeDirectoryInfo nativeDirectoryInfo, IDirectoryViewModel parent)
     : base(nativeDirectoryInfo, parent)
 {
     NativeSystemInfo = nativeDirectoryInfo;
     var directoryUnfo = new DirectoryInfo(nativeDirectoryInfo.Path);
     var subDirectoryProvider = new SubDirectoriesProvider(directoryUnfo, this);
     var filesProvider = new FilesProvider(directoryUnfo,this);
     DisplayName = nativeDirectoryInfo.DisplayName;
     Path = nativeDirectoryInfo.Path;
     VisualPath = Parent.VisualPath + "\\" + DisplayName;
     //is drive?
     DriveInfo driveInfo =  Drives.FirstOrDefault(info => PathHelper.NormalizePath(info.Name) == PathHelper.NormalizePath(Path));
     HasItems = driveInfo?.IsReady ?? directoryUnfo.EnumerateDirectories().Any();
     SubDirectories = new AsyncLoadCollection<IDirectoryViewModel>(subDirectoryProvider);
     SubDirectories.CollectionChanged += _subDirectories_CollectionChanged;
     Files = new AsyncLoadCollection<ISystemObjectViewModel>(filesProvider);
     Children = new UnionCollectionEx<IDirectoryViewModel, ISystemObjectViewModel, ISystemObjectViewModel>(SubDirectories, Files);
 }
Ejemplo n.º 5
0
        public RootDirectoryViewModel(NativeDirectoryInfo nativeDirectoryInfo, IDirectoryViewModel parent) : base(nativeDirectoryInfo, parent)
        {
            NativeSystemInfo = nativeDirectoryInfo;
            var directoryUnfo        = new DirectoryInfo(nativeDirectoryInfo.Path);
            var subDirectoryProvider = new SubDirectoriesProvider(directoryUnfo, this);
            var filesProvider        = new FilesProvider(directoryUnfo, this);

            DisplayName = nativeDirectoryInfo.DisplayName;
            Path        = nativeDirectoryInfo.Path;
            VisualPath  = Parent.VisualPath + "\\" + DisplayName;
            //is drive?
            DriveInfo driveInfo = Drives.FirstOrDefault(info => PathHelper.NormalizePath(info.Name) == PathHelper.NormalizePath(Path));

            HasItems       = driveInfo?.IsReady ?? directoryUnfo.EnumerateDirectories().Any();
            SubDirectories = new AsyncLoadCollection <IDirectoryViewModel>(subDirectoryProvider);
            SubDirectories.CollectionChanged += _subDirectories_CollectionChanged;
            Files    = new AsyncLoadCollection <ISystemObjectViewModel>(filesProvider);
            Children = new UnionCollectionEx <IDirectoryViewModel, ISystemObjectViewModel, ISystemObjectViewModel>(SubDirectories, Files);
        }
Ejemplo n.º 6
0
 public DirectoryViewModel(DirectoryInfo directoryInfo, IDirectoryViewModel parent)
     : base(new NativeFileInfo(directoryInfo.FullName,true), parent)
 {
     _directoryInfo = directoryInfo;
     var directoryProvider = new SubDirectoriesProvider(_directoryInfo, this);
     Path = Environment.ExpandEnvironmentVariables(_directoryInfo.FullName);
     DisplayName = _directoryInfo.Name;
     if (Parent != null)
         VisualPath = Parent.VisualPath + "\\" + DisplayName;
     Files = new AsyncLoadCollection<ISystemObjectViewModel>(new FilesProvider(directoryInfo,this));
     SubDirectories = new AsyncLoadCollection<IDirectoryViewModel>(directoryProvider);
     Children = new UnionCollectionEx<IDirectoryViewModel, ISystemObjectViewModel, ISystemObjectViewModel>(SubDirectories, Files);
     LastModificationDate = _directoryInfo.LastWriteTime;
     try
     {
         UpdateHasItems();
     }
     catch (UnauthorizedAccessException ex)
     {
         NoAccess = true;
     }
 }