public CurrentP4kFileSystemViewModel(ICurrentP4k currentP4k, ICurrentItem currentFile, IPinnedItems selectedItems, IExtractP4kContent extractP4KContent, ISearch search, ISearchOptions searchOptions, IUiDispatch uiDispatch, SearchOptionsViewModel searchOptionsViewModel, IEnumerable <IFileSubStructureProvider> subFileFactories = null) { _currentP4K = currentP4k; _currentFile = currentFile; _selectedItems = selectedItems; _extractP4KContent = extractP4KContent; _search = search; _searchOptions = searchOptions; _uiDispatch = uiDispatch; _subFileFactories = subFileFactories != null?subFileFactories.ToArray() : new IFileSubStructureProvider[0]; SearchOptionsViewModel = searchOptionsViewModel; Initialize(); _currentP4K.Changed += Initialize; }
public CurrentP4k(IOutputDirectory outputDirectory, IUiDispatch onUiThread) { _outputDirectory = outputDirectory; _onUiThread = onUiThread; Statistics = new P4kFileStatistics(new Dictionary <string, int>()); }
public SearchViewModel(ISearch searchIndex, IUiDispatch uiDispatch, SearchOptionsViewModel searchOptionsViewModel) { _searchIndex = searchIndex; _uiDispatch = uiDispatch; _searchIndex.Began += ShowSearchIndicator; _searchIndex.Finished += HideSearchIndicator; FindFilesBySearchTermsCommand = new RelayCommand(FindFilesBySearchTerms); ToggleDetailsVisibilityCommand = new RelayCommand(ToggleDetailsVisibility); SearchOptions = searchOptionsViewModel; }
public P4kFileSystemViewModel(IFileSystem fileSystem, ICurrentItem currentItem, IPinnedItems selectedItems, IExtractP4kContent extractP4KContent, ISearch search, ISearchOptions searchOptions, IUiDispatch uiDispatch, IEnumerable <IFileSubStructureProvider> subFileFactories) { _fileSystem = fileSystem; _currentItem = currentItem; _selectedItems = selectedItems; _extractP4KContent = extractP4KContent; _search = search; _searchOptions = searchOptions; _uiDispatch = uiDispatch; _subFileFactories = subFileFactories.ToArray(); RootItems = new ObservableCollection <TreeNodeViewModel>(); SetCurrentItemCommand = new RelayCommand <object>(SetCurrentItem); SetCurrentFileToNothingCommand = new RelayCommand(_currentItem.Clear); ToggleSelectionOfCurrentItemCommand = new RelayCommand(ToggleSelectionOfCurrentItem); ExtractCommand = new RelayCommand <object>(ExtractItem); ExpandCommand = new RelayCommand <object>(async p => { if (!(p is DirectoryTreeNodeViewModel directory)) { return; } await directory.LoadChildrenAsync(); }); CreateRootItems(); _search.Finished += FilterRootItems; _search.ResultsCleared += CreateRootItems; }
public DirectoryTreeNodeViewModel(IDirectory directory, ISearch search, ISearchOptions searchOptions, IUiDispatch uiDispatch, IEnumerable <IFileSubStructureProvider> subFileFactories) : base(directory.Name, directory.Path) { Model = directory; _search = search; _searchOptions = searchOptions; _uiDispatch = uiDispatch; _subFileFactories = subFileFactories; _search.Finished += FilterContent; _search.Finished += HighlightSearchTerm; _search.ResultsCleared += ResetName; _search.Began += ResetChildren; //if (!Model.IsEmpty) //{ // ResetChildren(); //} HighlightSearchTerm(); }