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;
        }
Esempio n. 2
0
        public CurrentP4k(IOutputDirectory outputDirectory,
                          IUiDispatch onUiThread)
        {
            _outputDirectory = outputDirectory;
            _onUiThread      = onUiThread;

            Statistics = new P4kFileStatistics(new Dictionary <string, int>());
        }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
        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;
        }
Esempio n. 5
0
        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();
        }