Exemplo n.º 1
0
    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;
    }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        public void Register(IFilesPanelViewModel activeFilesPanelViewModel, IFilesPanelViewModel inactiveFilesPanelViewModel)
        {
            (ActiveFilesPanelViewModel, InactiveFilesPanelViewModel) = (activeFilesPanelViewModel, inactiveFilesPanelViewModel);

            SubscribeToEvents(ActiveFilesPanelViewModel);
            SubscribeToEvents(InactiveFilesPanelViewModel);

            UpdateCurrentDirectory();

            ActiveFilesPanelViewModel.Activate();
            InactiveFilesPanelViewModel.Deactivate();
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
 private void SubscribeToEvents(IFilesPanelViewModel filesPanelViewModel)
 {
     filesPanelViewModel.Activated += FilesPanelViewModelOnActivatedEvent;
     filesPanelViewModel.CurrentDirectoryChanged += FilesPanelViewModelOnCurrentDirectoryChanged;
 }
Exemplo n.º 6
0
 private void SubscribeToEvents(IFilesPanelViewModel filesPanelViewModel) =>
 filesPanelViewModel.ActivatedEvent += FilesPanelViewModelOnActivatedEvent;
Exemplo n.º 7
0
 private static bool CheckIfDirectoryWasOpened(IFilesPanelViewModel viewModel, string directoryPath) =>
 viewModel.CurrentDirectory == directoryPath;
Exemplo n.º 8
0
 private void OpenTab(IFilesPanelViewModel panel) => panel.TabsListViewModel.CreateNewTab(FullPath);