private void generateManifestToolStripMenuItem_Click(object sender, EventArgs e) { if (!displayedManifestWarning) { DialogResult result = MessageBox.Show(this, Resources.GenerateManifestWarning, "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result != DialogResult.Yes) { return; } displayedManifestWarning = true; } foreach (ListViewItem item in modListView.SelectedItems) { var modPath = Path.Combine("mods", (string)item.Tag); var manifestPath = Path.Combine(modPath, "mod.manifest"); List <ModManifest> manifest; List <ModManifestDiff> diff; using (var progress = new ManifestDialog(modPath, $"Generating manifest: {(string)item.Tag}", true)) { progress.SetTask("Generating file index..."); if (progress.ShowDialog(this) == DialogResult.Cancel) { continue; } diff = progress.Diff; } if (diff == null) { continue; } if (diff.Count(x => x.State != ModManifestState.Unchanged) <= 0) { continue; } using (var dialog = new ManifestDiffDialog(diff)) { if (dialog.ShowDialog(this) == DialogResult.Cancel) { continue; } manifest = dialog.MakeNewManifest(); } ModManifest.ToFile(manifest, manifestPath); } }
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); }