private void Ok_Executed(object sender, RoutedEventArgs e) { if (NameTextBox.IsNullOrWhiteSpace()) { StatusBand.Warning(LocalizationHelper.Get("S.FfmpegPreset.Warning.Name")); return; } if (ParametersTextBox.IsNullOrWhiteSpace()) { StatusBand.Warning(LocalizationHelper.Get("S.FfmpegPreset.Warning.Parameter")); return; } //Get all presets, so we can persist later. var list = UserSettings.All.FfmpegPresets.Cast <FfmpegPreset>().ToList(); if (!IsEditing && list.Any(a => a.ActualName == NameTextBox.Trim() && a.Extension == Extension)) { StatusBand.Warning(LocalizationHelper.Get("S.FfmpegPreset.Warning.SameName")); return; } if (IsEditing) { list.Remove(CurrentPreset); } list.Add(new FfmpegPreset { Extension = CurrentPreset?.Extension ?? Extension, ActualName = NameTextBox.Text.Trim(), Parameters = ParametersTextBox.Text }); foreach (var preset in list) { if (preset.Extension != (CurrentPreset?.Extension ?? Extension)) { continue; } preset.LastSelected = preset.Name == NameTextBox.Text.Trim(); } //Persist the changes to the settings. UserSettings.All.FfmpegPresets = new ArrayList(list.ToArray()); DialogResult = true; }
private void Window_Loaded(object sender, RoutedEventArgs e) { ExtensionTextBlock.Text = CurrentPreset?.Extension ?? Extension; NameTextBox.Text = CurrentPreset?.Name ?? ""; ParametersTextBox.Text = CurrentPreset?.Parameters ?? ""; if (IsEditing) { ParametersTextBox.Focus(); IconBorder.Background = TryFindResource("Vector.Pen") as Brush; ModeTextBlock.Text = LocalizationHelper.Get("S.Edit"); } else { NameTextBox.Focus(); } }