internal MainWindowViewModel(
            ModelMetadata modelMetadata,
            ILatestVersionService latestVersionService,
            IMainWindowService mainWindowService,
            ModelViewModel modelViewModel,
            OpenModelViewModel openModelViewModel,
            IOpenModelService openModelService,
            IRecentModelsService recentModelsService,
            IModelMetadataService modelMetadataService,
            IStartInstanceService startInstanceService,
            IModelViewService modelViewService,
            IProgressService progress)
        {
            this.modelMetadata = modelMetadata;

            this.mainWindowService    = mainWindowService;
            this.openModelService     = openModelService;
            this.recentModelsService  = recentModelsService;
            this.modelMetadataService = modelMetadataService;
            this.startInstanceService = startInstanceService;
            this.modelViewService     = modelViewService;
            this.progress             = progress;

            ModelViewModel     = modelViewModel;
            OpenModelViewModel = openModelViewModel;

            modelMetadata.OnChange += (s, e) => Notify(nameof(MainTitle));
            latestVersionService.OnNewVersionAvailable += (s, e) => IsNewVersionVisible = true;
            latestVersionService.StartCheckForLatestVersion();
            SearchItems = new ObservableCollection <SearchEntry>();
            ClearSelectionItems();
        }
Example #2
0
        internal MainWindowViewModel(
            WorkingFolder workingFolder,
            WindowOwner owner,
            IRepositoryCommands repositoryCommands,
            IRemoteService remoteService,
            ICommitsService commitsService,
            ILatestVersionService latestVersionService,
            IStartInstanceService startInstanceService,
            IRecentReposService recentReposService,
            IGitInfoService gitInfoService,
            IMessage message,
            IMainWindowService mainWindowService,
            MainWindowIpcService mainWindowIpcService,
            RepositoryViewModel repositoryViewModel)
        {
            this.workingFolder        = workingFolder;
            this.owner                = owner;
            this.repositoryCommands   = repositoryCommands;
            this.remoteService        = remoteService;
            this.commitsService       = commitsService;
            this.startInstanceService = startInstanceService;
            this.recentReposService   = recentReposService;
            this.gitInfoService       = gitInfoService;
            this.message              = message;
            this.mainWindowService    = mainWindowService;
            this.mainWindowIpcService = mainWindowIpcService;

            RepositoryViewModel = repositoryViewModel;

            workingFolder.OnChange += (s, e) => Notify(nameof(WorkingFolder));
            latestVersionService.OnNewVersionAvailable += (s, e) => IsNewVersionVisible = true;
            latestVersionService.StartCheckForLatestVersion();
            IsRepoView = true;
        }
Example #3
0
 internal App(
     ICommandLine commandLine,
     IThemeService themeService,
     IInstaller installer,
     Lazy <MainWindow> mainWindow,
     IModelMetadataService modelMetadataService,
     IExistingInstanceService existingInstanceService,
     ILatestVersionService latestVersionService)
 {
     this.commandLine             = commandLine;
     this.themeService            = themeService;
     this.installer               = installer;
     this.mainWindow              = mainWindow;
     this.modelMetadataService    = modelMetadataService;
     this.existingInstanceService = existingInstanceService;
     this.latestVersionService    = latestVersionService;
 }