private void SaveSettings_Click(object sender, RoutedEventArgs e) { var selectedRootpath = RootDirectoryPath.Text; if (string.IsNullOrEmpty(selectedRootpath)) { MessageBox.Show(this, "It is required to select a root directory.", "Error", MessageBoxButton.OK); return; } if (!Directory.Exists(selectedRootpath)) { var confirmResult = MessageBox.Show("Directory does not exist. Do you want to create it?", "Confirm", MessageBoxButton.YesNo); if (confirmResult != MessageBoxResult.Yes) { return; } Directory.CreateDirectory(selectedRootpath); } if (!AppScopeSettingsRepository.SetGlobalRootDirectory(selectedRootpath)) { MessageBox.Show("Could not save settings. Please ensure that you are running this Visual Studio instance as administrator.", "Error", MessageBoxButton.OK); return; } if (!RootHasTemplateManifests(selectedRootpath)) { var confirmResult = MessageBox.Show("Selected root does not contain templates.\n\nDo you want to install the default templates (recommended)?", "Confirm", MessageBoxButton.YesNo); if (confirmResult != MessageBoxResult.Yes) { return; } BuiltInTemplatesService.UnzipAll(selectedRootpath); } DialogResult = true; Close(); }
private string GetCurrentRootDirectory() { var rootDirectory = AppScopeSettingsRepository.GetGlobalRootDirectory(); if (!string.IsNullOrEmpty(rootDirectory)) { return(rootDirectory); } MessageBox.Show("Please select where you want your Helix module and solution templates stored.\n\nIf you already selected a location please restart Visual Studio as administrator.", "Welcome", MessageBoxButton.OK); return(AppScopeSettingsRepository.DefaultRootPath); }
private IHelixProjectTemplate GetHelixProjectTemplate(string solutionRootDirectory) { _manifestBrowseDialog = new ManifestDialog(); _manifestBrowseDialog.Initialize(AppScopeSettingsRepository.GetGlobalRootDirectory(), solutionRootDirectory, _replacementTokens, _isExclusive.HasValue && _isExclusive.Value); var dialogResult = _manifestBrowseDialog.ShowDialog(); if (dialogResult.HasValue && dialogResult.Value) { return(_manifestBrowseDialog.HelixProjectTemplate); } return(null); }
private void UnpackTemplates_Clicked(object sender, RoutedEventArgs e) { var rootDirectory = AppScopeSettingsRepository.GetGlobalRootDirectory(); if (string.IsNullOrEmpty(rootDirectory) || !Directory.Exists(rootDirectory)) { MessageBox.Show(this, "You need to set a valid root directory.", "Error", MessageBoxButton.OK); return; } UnpackBuiltInButton.IsEnabled = false; if (Directory.EnumerateDirectories(rootDirectory).Any()) { var overwriteConfirmResult = MessageBox.Show("This will overwrite changes made to built-in templates in this root folder.\nAre you sure you want to continue?\n\nNote: Always make your modifications changes in copies and never directly in the built-in example templates.", "Confirm", MessageBoxButton.YesNo); if (overwriteConfirmResult != MessageBoxResult.Yes) { UnpackBuiltInButton.IsEnabled = true; return; } BuiltInTemplatesService.DeleteExistingTemplates(rootDirectory); } BuiltInTemplatesService.UnzipAll(rootDirectory); MessageBox.Show("Built-in templates updated", "", MessageBoxButton.OK); UnpackBuiltInButton.IsEnabled = true; }