private void ButtonExportCategories_Click(object sender, EventArgs e) { if (listViewCategories.Items.Count == 0) { return; } using (var exportForm = new SubStationAlphaStylesCategoriesImportExport(_assaCategories, true)) { exportForm.ShowDialog(this); } }
private void ButtonImportCategories_Click(object sender, EventArgs e) { openFileDialogImport.Title = LanguageSettings.Current.SubStationAlphaStylesCategoriesManager.ImportCategoriesTitle; openFileDialogImport.Filter = LanguageSettings.Current.SubStationAlphaStylesCategoriesManager.Categories + TemplateFilterExtension; if (openFileDialogImport.ShowDialog(this) == DialogResult.OK) { try { var importCategories = ImportCategoriesFile(openFileDialogImport.FileName); if (importCategories.Count == 0) { MessageBox.Show(LanguageSettings.Current.MultipleReplace.NothingToImport); return; } using (var inputForm = new SubStationAlphaStylesCategoriesImportExport(importCategories, false)) { if (inputForm.ShowDialog(this) == DialogResult.OK) { var oldCategorySelectedIndex = listViewCategories.SelectedIndices.Count == 0 ? -1 : listViewCategories.SelectedIndices[0]; foreach (var importCategory in importCategories.Where(Category => inputForm.ChosenCategories.Contains(Category.Name))) { int insertIndex = listViewCategories.Items.Count; var importedName = importCategory.Name; var overridingDefault = false; if (_assaCategories.Exists(category => category.Name == importedName)) { var result = MessageBox.Show(string.Format(LanguageSettings.Current.SubStationAlphaStyles.OverwriteX, importedName), string.Empty, MessageBoxButtons.YesNoCancel); if (result == DialogResult.Yes) { var overriddenCategory = _assaCategories.Single(category => category.Name == importedName); overridingDefault = overriddenCategory.IsDefault; _assaCategories.Remove(overriddenCategory); insertIndex = listViewCategories.FindItemWithText(importedName, false, 0, false).Index; listViewCategories.Items.RemoveAt(insertIndex); } else if (result == DialogResult.No) { importedName = FixDuplicateName(importedName, _assaCategories); importCategory.Name = importedName; } else { return; } } importCategory.IsDefault = overridingDefault; _assaCategories.Insert(insertIndex, importCategory); var lvi = GetCategoryListViewItem(importCategory); listViewCategories.Items.Insert(insertIndex, lvi); } UpdateSelectedIndices(oldCategorySelectedIndex); } } } catch (Exception exception) { MessageBox.Show(exception.Message); return; } } }