public MainViewModel(IServiceLocator serviceLocator, ITelemetryProvider telemetryProvider, ICommandProvider commands, IApplicationSettings settings, NuGetViewModel nugetViewModel) { _serviceLocator = serviceLocator; _telemetryProvider = telemetryProvider; _commands = commands; Settings = settings; _telemetryProvider.Initialize(_currentVersion.ToString(), settings); _telemetryProvider.LastErrorChanged += () => { OnPropertyChanged(nameof(LastError)); OnPropertyChanged(nameof(HasError)); }; NuGet = nugetViewModel; NuGetConfiguration = new NuGetConfiguration(NuGet.GlobalPackageFolder, NuGetPathVariableName); NewDocumentCommand = commands.Create(CreateNewDocument); CloseCurrentDocumentCommand = commands.CreateAsync(CloseCurrentDocument); ClearErrorCommand = commands.Create(() => _telemetryProvider.ClearLastError()); ReportProblemCommand = commands.Create(ReportProblem); EditUserDocumentPathCommand = commands.Create(EditUserDocumentPath); _editorFontSize = Settings.EditorFontSize; DocumentRoot = CreateDocumentRoot(); OpenDocuments = new ObservableCollection <OpenDocumentViewModel>(); OpenDocuments.CollectionChanged += (sender, args) => OnPropertyChanged(nameof(HasNoOpenDocuments)); }
public MainViewModel(IServiceLocator serviceLocator, ITelemetryProvider telemetryProvider, ICommandProvider commands, NuGetViewModel nugetViewModel) { _serviceLocator = serviceLocator; _telemetryProvider = telemetryProvider; _telemetryProvider.Initialize(_currentVersion.ToString()); _telemetryProvider.LastErrorChanged += () => OnPropertyChanged(nameof(LastError)); NuGet = nugetViewModel; NuGetConfiguration = new NuGetConfiguration(NuGet.GlobalPackageFolder, NuGetPathVariableName); RoslynHost = new RoslynHost(NuGetConfiguration, new[] { // TODO: xplat Assembly.Load("RoslynPad.Roslyn.Windows"), Assembly.Load("RoslynPad.Editor.Windows") }); NewDocumentCommand = commands.Create(CreateNewDocument); CloseCurrentDocumentCommand = commands.CreateAsync(CloseCurrentDocument); ClearErrorCommand = commands.Create(() => _telemetryProvider.ClearLastError()); ReportProblemCommand = commands.Create(ReportProblem); EditUserDocumentPathCommand = commands.Create(EditUserDocumentPath); _editorFontSize = Properties.Settings.Default.EditorFontSize; DocumentRoot = CreateDocumentRoot(); OpenDocuments = new ObservableCollection <OpenDocumentViewModel>(); OpenDocuments.CollectionChanged += (sender, args) => OnPropertyChanged(nameof(HasNoOpenDocuments)); }