public FolderListupPageViewModel( BookmarkManager bookmarkManager, ImageCollectionManager imageCollectionManager, SourceStorageItemsRepository sourceStorageItemsRepository, PathReferenceCountManager PathReferenceCountManager, SecondaryTileManager secondaryTileManager, FolderLastIntractItemManager folderLastIntractItemManager, FolderListingSettings folderListingSettings, OpenPageCommand openPageCommand, OpenFolderItemCommand openFolderItemCommand, OpenImageViewerCommand openImageViewerCommand, OpenFolderListupCommand openFolderListupCommand, OpenWithExplorerCommand openWithExplorerCommand, SecondaryTileAddCommand secondaryTileAddCommand, SecondaryTileRemoveCommand secondaryTileRemoveCommand ) { _bookmarkManager = bookmarkManager; _imageCollectionManager = imageCollectionManager; _sourceStorageItemsRepository = sourceStorageItemsRepository; _PathReferenceCountManager = PathReferenceCountManager; SecondaryTileManager = secondaryTileManager; _folderLastIntractItemManager = folderLastIntractItemManager; _folderListingSettings = folderListingSettings; OpenPageCommand = openPageCommand; OpenFolderItemCommand = openFolderItemCommand; OpenImageViewerCommand = openImageViewerCommand; OpenFolderListupCommand = openFolderListupCommand; OpenWithExplorerCommand = openWithExplorerCommand; SecondaryTileAddCommand = secondaryTileAddCommand; SecondaryTileRemoveCommand = secondaryTileRemoveCommand; FolderItems = new ObservableCollection <StorageItemViewModel>(); ArchiveFileItems = new ObservableCollection <StorageItemViewModel>(); EBookFileItems = new ObservableCollection <StorageItemViewModel>(); ImageFileItems = new ObservableCollection <StorageItemViewModel>(); FileItemsView = new AdvancedCollectionView(ImageFileItems); SelectedFileSortType = new ReactivePropertySlim <FileSortType>(FileSortType.TitleAscending); FileDisplayMode = _folderListingSettings.ToReactivePropertyAsSynchronized(x => x.FileDisplayMode); FolderLastIntractItem = new ReactivePropertySlim <StorageItemViewModel>(); ImageLastIntractItem = new ReactivePropertySlim <int>(); /* * _currentQueryOptions = Observable.CombineLatest( * SelectedFolderViewFirstSort, * (queryType, sort) => (queryType, sort) * ) * .Select(_ => * { * var options = new QueryOptions(); * options.FolderDepth = FolderDepth.Shallow; * options.SetPropertyPrefetch(Windows.Storage.FileProperties.PropertyPrefetchOptions.ImageProperties, Enumerable.Empty<string>()); * return options; * }) * .ToReadOnlyReactivePropertySlim(); */ }
public ApplicationDataUpdateWhenPathReferenceCountChanged( IEventAggregator eventAggregator, RecentlyAccessManager recentlyAccessManager, BookmarkManager bookmarkManager, StorageItemSearchManager storageItemSearchManager, FolderContainerTypeManager folderContainerTypeManager, ThumbnailManager thumbnailManager, SecondaryTileManager secondaryTileManager, FolderLastIntractItemManager folderLastIntractItemManager ) { _eventAggregator = eventAggregator; _recentlyAccessManager = recentlyAccessManager; _bookmarkManager = bookmarkManager; _storageItemSearchManager = storageItemSearchManager; _folderContainerTypeManager = folderContainerTypeManager; _thumbnailManager = thumbnailManager; _folderLastIntractItemManager = folderLastIntractItemManager; _eventAggregator.GetEvent <PathReferenceCountManager.PathReferenceAddedEvent>() .Subscribe(args => { } , keepSubscriberReferenceAlive: true ) .AddTo(_disposables); _eventAggregator.GetEvent <PathReferenceCountManager.PathReferenceRemovedEvent>() .Subscribe(async args => { _recentlyAccessManager.Delete(args.Path); _bookmarkManager.RemoveBookmark(args.Path); _storageItemSearchManager.Remove(args.Path); _folderContainerTypeManager.Delete(args.Path); _folderLastIntractItemManager.Remove(args.Path); await _thumbnailManager.DeleteFromPath(args.Path); await secondaryTileManager.RemoveSecondaryTile(args.Path); } , keepSubscriberReferenceAlive: true ) .AddTo(_disposables); }