public MainWindowViewModel( IFilesOperationsMediator filesOperationsMediator, IOperationsViewModel operationsViewModel, IFilesPanelViewModel leftFilesPanelViewModel, IFilesPanelViewModel rightFilesPanelViewModel, IMenuViewModel menuViewModel, IOperationsStateViewModel operationsStateViewModel, ITopOperationsViewModel topOperationsViewModel, IDrivesListViewModel drivesListViewModel, IFavouriteDirectoriesListViewModel favouriteDirectoriesListViewModel) { _filesOperationsMediator = filesOperationsMediator; OperationsViewModel = operationsViewModel; LeftFilesPanelViewModel = leftFilesPanelViewModel; RightFilesPanelViewModel = rightFilesPanelViewModel; MenuViewModel = menuViewModel; OperationsStateViewModel = operationsStateViewModel; TopOperationsViewModel = topOperationsViewModel; DrivesListViewModel = drivesListViewModel; FavouriteDirectoriesListViewModel = favouriteDirectoriesListViewModel; SearchCommand = ReactiveCommand.Create(Search); SwitchPanelCommand = ReactiveCommand.Create(SwitchPanel); FocusDirectorySelectorCommand = ReactiveCommand.Create(FocusDirectorySelector); filesOperationsMediator.Register(leftFilesPanelViewModel, rightFilesPanelViewModel); filesOperationsMediator.ActiveFilesPanelChanged += FilesOperationsMediatorOnActiveFilesPanelChanged; }
public MainWindowViewModel( IFilesOperationsMediator filesOperationsMediator, IOperationsViewModel operationsViewModel, IFilesPanelViewModel leftFilesPanelViewModel, IFilesPanelViewModel rightFilesPanelViewModel, IMenuViewModel menuViewModel, IOperationsStateViewModel operationsStateViewModel, ITopOperationsViewModel topOperationsViewModel, IDrivesListViewModel drivesListViewModel, IFavouriteDirectoriesListViewModel favouriteDirectoriesListViewModel) { _filesOperationsMediator = filesOperationsMediator; OperationsViewModel = operationsViewModel; LeftFilesPanelViewModel = leftFilesPanelViewModel; RightFilesPanelViewModel = rightFilesPanelViewModel; MenuViewModel = menuViewModel; OperationsStateViewModel = operationsStateViewModel; TopOperationsViewModel = topOperationsViewModel; DrivesListViewModel = drivesListViewModel; FavouriteDirectoriesListViewModel = favouriteDirectoriesListViewModel; CreateNewTabCommand = ReactiveCommand.Create(CreateNewTab); CloseCurrentTabCommand = ReactiveCommand.Create(CloseActiveTab); SearchCommand = ReactiveCommand.Create(Search); filesOperationsMediator.Register(leftFilesPanelViewModel, rightFilesPanelViewModel); }
public void Register(IFilesPanelViewModel activeFilesPanelViewModel, IFilesPanelViewModel inactiveFilesPanelViewModel) { (ActiveFilesPanelViewModel, InactiveFilesPanelViewModel) = (activeFilesPanelViewModel, inactiveFilesPanelViewModel); SubscribeToEvents(ActiveFilesPanelViewModel); SubscribeToEvents(InactiveFilesPanelViewModel); UpdateCurrentDirectory(); ActiveFilesPanelViewModel.Activate(); InactiveFilesPanelViewModel.Deactivate(); }
public MainWindowViewModel( IFilesOperationsMediator filesOperationsMediator, IOperationsViewModel operationsViewModel, IFilesPanelViewModel leftFilesPanelViewModel, IFilesPanelViewModel rightFilesPanelViewModel, IMenuViewModel menuViewModel) { _filesOperationsMediator = filesOperationsMediator; OperationsViewModel = operationsViewModel; LeftFilesPanelViewModel = leftFilesPanelViewModel; RightFilesPanelViewModel = rightFilesPanelViewModel; MenuViewModel = menuViewModel; CreateNewTabCommand = ReactiveCommand.Create(CreateNewTab); CloseCurrentTabCommand = ReactiveCommand.Create(CloseCurrentTab); // TODO: from settings filesOperationsMediator.Register(leftFilesPanelViewModel, rightFilesPanelViewModel); }
private void SubscribeToEvents(IFilesPanelViewModel filesPanelViewModel) { filesPanelViewModel.Activated += FilesPanelViewModelOnActivatedEvent; filesPanelViewModel.CurrentDirectoryChanged += FilesPanelViewModelOnCurrentDirectoryChanged; }
private void SubscribeToEvents(IFilesPanelViewModel filesPanelViewModel) => filesPanelViewModel.ActivatedEvent += FilesPanelViewModelOnActivatedEvent;
private static bool CheckIfDirectoryWasOpened(IFilesPanelViewModel viewModel, string directoryPath) => viewModel.CurrentDirectory == directoryPath;
private void OpenTab(IFilesPanelViewModel panel) => panel.TabsListViewModel.CreateNewTab(FullPath);