Example #1
0
        private static IFilesPanelViewModel CreateFilesPanelViewModel(
            IReadonlyDependencyResolver resolver,
            string panelKey)
        {
            var filesPanelStateService = new FilesPanelStateService(
                resolver.GetRequiredService <IUnitOfWorkFactory>(),
                panelKey
                );
            var tabsListViewModel = new TabsListViewModel(
                filesPanelStateService,
                resolver.GetRequiredService <IDirectoryService>(),
                resolver.GetRequiredService <ITabViewModelFactory>(),
                resolver.GetRequiredService <FilePanelConfiguration>()
                );
            var filesPanelViewModel = new FilesPanelViewModel(
                resolver.GetRequiredService <IFileService>(),
                resolver.GetRequiredService <IDirectoryService>(),
                resolver.GetRequiredService <INodesSelectionService>(),
                resolver.GetRequiredService <IFileSystemNodeViewModelFactory>(),
                resolver.GetRequiredService <IFileSystemWatchingService>(),
                resolver.GetRequiredService <IApplicationDispatcher>(),
                resolver.GetRequiredService <IFileSizeFormatter>(),
                resolver.GetRequiredService <IClipboardOperationsService>(),
                resolver.GetRequiredService <IFileSystemNodeViewModelComparerFactory>(),
                resolver.GetRequiredService <ISearchViewModel>(),
                tabsListViewModel
                );

            return(filesPanelViewModel);
        }
        public void Register(FilesPanelViewModel activeFilesPanelViewModel, FilesPanelViewModel inactiveFilesPanelViewModel)
        {
            (_activeViewModel, _inactiveViewModel) = (activeFilesPanelViewModel, inactiveFilesPanelViewModel);

            SubscribeToEvents(_activeViewModel);
            SubscribeToEvents(_inactiveViewModel);

            UpdateCurrentDirectory();
        }
Example #3
0
    private static IFilesPanelViewModel CreateFilesPanelViewModel(
        IReadonlyDependencyResolver resolver,
        string panelKey)
    {
        var observer = resolver.GetRequiredService <IFilePanelDirectoryObserver>();
        var directorySelectorViewModel = new DirectorySelectorViewModel(
            resolver.GetRequiredService <IFavouriteDirectoriesService>(),
            resolver.GetRequiredService <IDirectoryService>(),
            resolver.GetRequiredService <ISuggestionsService>(),
            observer,
            resolver.GetRequiredService <ISuggestedPathViewModelFactory>()
            );
        var filesPanelStateService = new FilesPanelStateService(
            resolver.GetRequiredService <IUnitOfWorkFactory>(),
            panelKey
            );
        var tabsListViewModel = new TabsListViewModel(
            filesPanelStateService,
            resolver.GetRequiredService <IDirectoryService>(),
            resolver.GetRequiredService <ITabViewModelFactory>(),
            resolver.GetRequiredService <IFilesOperationsMediator>(),
            resolver.GetRequiredService <IHomeDirectoryProvider>(),
            observer,
            resolver.GetRequiredService <TabsListConfiguration>()
            );
        var filesPanelViewModel = new FilesPanelViewModel(
            resolver.GetRequiredService <IFileService>(),
            resolver.GetRequiredService <IDirectoryService>(),
            resolver.GetRequiredService <INodesSelectionService>(),
            resolver.GetRequiredService <INodeService>(),
            resolver.GetRequiredService <IFileSystemNodeViewModelFactory>(),
            resolver.GetRequiredService <IFileSystemWatchingService>(),
            resolver.GetRequiredService <IApplicationDispatcher>(),
            resolver.GetRequiredService <IFileSizeFormatter>(),
            resolver.GetRequiredService <IFileSystemNodeViewModelComparerFactory>(),
            resolver.GetRequiredService <IRecursiveSearchService>(),
            observer,
            resolver.GetRequiredService <IPermissionsService>(),
            resolver.GetRequiredService <IDialogService>(),
            resolver.GetRequiredService <ISearchViewModel>(),
            tabsListViewModel,
            resolver.GetRequiredService <IOperationsViewModel>(),
            directorySelectorViewModel,
            resolver.GetRequiredService <IDragAndDropOperationsMediator>(),
            resolver.GetRequiredService <IClipboardOperationsViewModel>()
            );

        return(filesPanelViewModel);
    }
Example #4
0
        public MainWindowViewModel(
            IFilesOperationsMediator filesOperationsMediator,
            OperationsViewModel operationsViewModel,
            FilesPanelViewModel leftFilesPanelViewModel,
            FilesPanelViewModel rightFilesPanelViewModel,
            MenuViewModel menuViewModel)
        {
            OperationsViewModel      = operationsViewModel;
            LeftFilesPanelViewModel  = leftFilesPanelViewModel;
            RightFilesPanelViewModel = rightFilesPanelViewModel;
            MenuViewModel            = menuViewModel;

            // TODO: from settings
            filesOperationsMediator.Register(leftFilesPanelViewModel, rightFilesPanelViewModel);
        }
Example #5
0
        private static FilesPanelViewModel CreateFilesPanelViewModel(
            IReadonlyDependencyResolver resolver,
            string panelKey)
        {
            var filesPanelStateService = new FilesPanelStateService(
                resolver.GetService <IUnitOfWorkFactory>(),
                panelKey
                );
            var filesPanelViewModel = new FilesPanelViewModel(
                resolver.GetService <IFileService>(),
                resolver.GetService <IDirectoryService>(),
                resolver.GetService <IFilesSelectionService>(),
                resolver.GetService <IFileViewModelFactory>(),
                resolver.GetService <IFileSystemWatchingService>(),
                resolver.GetService <IApplicationDispatcher>(),
                filesPanelStateService,
                resolver.GetService <ITabViewModelFactory>()
                );

            return(filesPanelViewModel);
        }
Example #6
0
    public void TestProperties()
    {
        var searchViewModel               = _autoMocker.GetMock <ISearchViewModel>().Object;
        var tabsListViewModel             = _autoMocker.GetMock <ITabsListViewModel>().Object;
        var operationsViewModel           = _autoMocker.GetMock <IOperationsViewModel>().Object;
        var directorySelectorViewModel    = _autoMocker.GetMock <IDirectorySelectorViewModel>().Object;
        var dragAndDropOperationsMediator = _autoMocker.GetMock <IDragAndDropOperationsMediator>().Object;
        var clipboardOperationsViewModel  = _autoMocker.GetMock <IClipboardOperationsViewModel>().Object;

        var viewModel = new FilesPanelViewModel(
            _autoMocker.GetMock <IFileService>().Object,
            _autoMocker.GetMock <IDirectoryService>().Object,
            _autoMocker.GetMock <INodesSelectionService>().Object,
            _autoMocker.GetMock <INodeService>().Object,
            _autoMocker.GetMock <IFileSystemNodeViewModelFactory>().Object,
            _autoMocker.GetMock <IFileSystemWatchingService>().Object,
            _autoMocker.GetMock <IApplicationDispatcher>().Object,
            _autoMocker.GetMock <IFileSizeFormatter>().Object,
            _autoMocker.GetMock <IFileSystemNodeViewModelComparerFactory>().Object,
            _autoMocker.GetMock <IRecursiveSearchService>().Object,
            _autoMocker.GetMock <IFilePanelDirectoryObserver>().Object,
            _autoMocker.GetMock <IPermissionsService>().Object,
            _autoMocker.GetMock <IDialogService>().Object,
            searchViewModel,
            tabsListViewModel,
            operationsViewModel,
            directorySelectorViewModel,
            dragAndDropOperationsMediator,
            clipboardOperationsViewModel
            );

        Assert.Equal(searchViewModel, viewModel.SearchViewModel);
        Assert.Equal(tabsListViewModel, viewModel.TabsListViewModel);
        Assert.Equal(operationsViewModel, viewModel.OperationsViewModel);
        Assert.Equal(directorySelectorViewModel, viewModel.DirectorySelectorViewModel);
        Assert.Equal(dragAndDropOperationsMediator, viewModel.DragAndDropOperationsMediator);
        Assert.Equal(clipboardOperationsViewModel, viewModel.ClipboardOperationsViewModel);
    }
 private void SubscribeToEvents(FilesPanelViewModel filesPanelViewModel)
 {
     filesPanelViewModel.ActivatedEvent += FilesPanelViewModelOnActivatedEvent;
 }