private void SaveClicked(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(m_currentPreset) || PresetListBox.SelectedIndex < 0) { return; } // If preset was renamed, then check name uniqueness if (PresetName.Text != m_currentPreset) { if (Presets.Exists(x => x.Name == PresetName.Text)) { MessageBox.Show( $"Preset '{PresetName.Text}' already exists. Choose another name.", "Preset Name", MessageBoxButton.OK, MessageBoxImage.Error); return; } } var preset = Presets.Find(x => x.Name == m_currentPreset); int presetPosition = PresetListBox.Items.IndexOf(m_currentPreset); preset.Name = PresetName.Text; preset.GroupPat = GroupPatsTextBox.Text; preset.FoldPercentage = FoldPercentTextBox.Text; preset.FoldPat = FoldRegExTextBox.Text; preset.Comment = CommentTextBox.Text; PresetListBox.UnselectAll(); PresetListBox.Items[presetPosition] = preset.Name; PresetListBox.SelectedItem = preset.Name; }
private void DeleteClicked(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(m_currentPreset) || PresetListBox.SelectedIndex < 0) { return; } Presets.RemoveAll(x => x.Name == m_currentPreset); PresetListBox.Items.Remove(m_currentPreset); if (Presets.Count > 0) { PresetListBox.SelectedItem = Presets[0].Name; } else { PresetListBox.UnselectAll(); } }