/// <param name="items">The items.</param> /// <exception cref="System.ArgumentNullException">items</exception> public virtual void RemoveRange(IList items) { if (items == null) { throw new ArgumentNullException(nameof(items)); } using (BusyStack.GetToken()) _items.RemoveRange(items.Cast <TViewModel>()); }
/// <param name="items">The items.</param> /// <exception cref="System.ArgumentNullException">items</exception> public virtual void AddRange(IEnumerable <TViewModel> items) { if (items == null) { throw new ArgumentNullException(nameof(items)); } using (BusyStack.GetToken()) _items.AddRange(items); }
/// <summary> /// Adds the specified item. /// </summary> /// <param name="item">The item.</param> /// <exception cref="System.ArgumentNullException">item</exception> public virtual void Add(TViewModel item) { if (item == null) { throw new ArgumentNullException(nameof(item)); } using (BusyStack.GetToken()) _items.Add(item); }
/// <summary> /// Initializes a new instance of the <see cref="MapleDrive"/> class. /// </summary> /// <param name="info">The information.</param> /// <param name="depth">The depth.</param> /// <autogeneratedoc /> public MapleDrive(DriveInfo info, IDepth depth, IMessenger messenger, ILoggingService loggingService) : base(info.Name, info.Name, depth, null, messenger, loggingService) { using (BusyStack.GetToken()) { if (!Depth.IsMaxReached) { Refresh(); } } }
public MapleDirectory(DirectoryInfo info, IDepth depth, IFileSystemDirectory parent, IMessenger messenger, ILoggingService loggingService) : base(info.Name, info.FullName, depth, parent, messenger, loggingService) { using (BusyStack.GetToken()) { if (!Depth.IsMaxReached) { Refresh(); } } }
public override void Refresh() { using (BusyStack.GetToken()) { Children.Clear(); Children.AddRange(FileSystemExtensions.GetChildren(this, Depth, Messenger, _loggingService)); HasContainers = Children.Any(p => p is MapleFileSystemContainerBase); OnFilterChanged(string.Empty); } }
public MapleFile(FileInfo info, IDepth depth, IFileSystemDirectory parent, IMessenger messenger) : base(info.Name, info.FullName, depth, parent, messenger) { using (BusyStack.GetToken()) { if (!Depth.IsMaxReached) { Refresh(); IsExpanded = true; } } }
public override void OnFilterChanged(string filter) { using (BusyStack.GetToken()) { Filter = filter; Children.ForEach(p => p.LoadMetaData()); Children.ForEach(p => p.Filter = filter); using (DefaultCollectionView.DeferRefresh()) DefaultCollectionView.Filter = SearchFilter; } }
/// <summary> /// Removes the range. /// </summary> /// <param name="items">The items.</param> public override void RemoveRange(IEnumerable <TViewModel> items) { if (items == null) { throw new ArgumentNullException(nameof(items), $"{nameof(items)} {Resources.IsRequired}"); } using (BusyStack.GetToken()) { items.ForEach(p => p.Model.IsDeleted = true); base.RemoveRange(items); } }
/// <summary> /// Removes the range. /// </summary> /// <param name="items">The items.</param> /// <exception cref="System.ArgumentNullException">items</exception> public override void RemoveRange(IList items) { if (items == null) { throw new ArgumentNullException(nameof(items), $"{nameof(items)} {Resources.IsRequired}"); } using (BusyStack.GetToken()) { foreach (var item in items) { Remove(item as TViewModel); } } }
/// <summary> /// Removes the specified item. /// </summary> /// <param name="item">The item.</param> public override void Remove(TViewModel viewModel) { if (viewModel == null) { throw new ArgumentNullException(nameof(viewModel), $"{nameof(viewModel)} {Resources.IsRequired}"); } using (BusyStack.GetToken()) { while (Items.Contains(viewModel)) { viewModel.Model.IsDeleted = true; base.Remove(viewModel); } } }
public FileSystemViewModel(IMessenger messenger, ILoggingService loggingService) : base(messenger) { using (BusyStack.GetToken()) { DisplayListView = false; Drives = new RangeObservableCollection <MapleDrive>(); SelectedItems = new RangeObservableCollection <IFileSystemInfo>(); var drives = DriveInfo.GetDrives() .Where(p => p.IsReady && p.DriveType != DriveType.CDRom && p.DriveType != DriveType.Unknown) .Select(p => new MapleDrive(p, new FileSystemDepth(0), Messenger, loggingService)) .ToList(); Drives.AddRange(drives); SelectCommand = new RelayCommand <object>(SetSelectedItem, CanSetSelectedItem); } }
public FileSystemViewModel(IMessenger messenger) : this() { _messenger = messenger ?? throw new ArgumentNullException(nameof(messenger), $"{nameof(messenger)} {Resources.IsRequired}"); using (_busyStack.GetToken()) { DisplayListView = false; Drives = new RangeObservableCollection <MapleDrive>(); SelectedItems = new RangeObservableCollection <IFileSystemInfo>(); SelectedDetailItems = new RangeObservableCollection <IFileSystemInfo>(); var drives = DriveInfo.GetDrives() .Where(p => p.IsReady && p.DriveType != DriveType.CDRom && p.DriveType != DriveType.Unknown) .Select(p => new MapleDrive(p, new FileSystemDepth(0))) .ToList(); Drives.AddRange(drives); } }
/// <summary> /// Initializes a new instance of the <see cref="FileSystemViewModel"/> class. /// </summary> /// <autogeneratedoc /> public FileSystemViewModel() { _busyStack = new BusyStack(); _busyStack.OnChanged += (hasItems) => IsBusy = hasItems; SelectCommand = new RelayCommand <IFileSystemInfo>(SetSelectedItem, CanSetSelectedItem); using (_busyStack.GetToken()) { DisplayListView = false; Drives = new RangeObservableCollection <MapleDrive>(); SelectedItems = new RangeObservableCollection <IFileSystemInfo>(); SelectedDetailItems = new RangeObservableCollection <IFileSystemInfo>(); var drives = DriveInfo.GetDrives() .Where(p => p.IsReady && p.DriveType != DriveType.CDRom && p.DriveType != DriveType.Unknown) .Select(p => new MapleDrive(p, new FileSystemDepth(0))) .ToList(); Drives.AddRange(drives); } }
protected MapleFileSystemContainerBase(string name, string fullName, IDepth depth, IFileSystemDirectory parent, IMessenger messenger, ILoggingService loggingService) : base(name, fullName, depth, parent, messenger) { using (BusyStack.GetToken()) { IsContainer = true; Children = new RangeObservableCollection <IFileSystemInfo>(); NoFilesCollectionView = CollectionViewSource.GetDefaultView(Children); DefaultCollectionView = CollectionViewSource.GetDefaultView(Children); using (NoFilesCollectionView.DeferRefresh()) NoFilesCollectionView.Filter = NoFilesFilter; using (DefaultCollectionView.DeferRefresh()) DefaultCollectionView.Filter = SearchFilter; _loggingService = loggingService ?? throw new ArgumentNullException(nameof(loggingService), $"{nameof(loggingService)} {Resources.IsRequired}"); } }
/// <summary> /// Removes the specified item. /// </summary> /// <param name="item">The item.</param> public virtual void Remove(TViewModel item) { using (BusyStack.GetToken()) _items.Remove(item); }