private void OnInputTypeCategoryUnchecked(object sender, RoutedEventArgs e) { if (this.selectedPreset == null) { return; } CheckBox checkBox = sender as System.Windows.Controls.CheckBox; string categoryName = checkBox.Content as string; InputExtensionCategory category = System.Array.Find(this.inputCategories, match => match.Name == categoryName); if (category == null) { return; } foreach (string inputExtension in category.InputExtensionNames) { this.selectedPreset.RemoveInputType(inputExtension); } }
private void InitializeCompatibleInputExtensions() { RegistryKey registryKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\FileConverter"); if (registryKey == null) { MessageBox.Show("Can't retrieve the list of compatible input extensions. (code 0x09)", "Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } string registryValue = registryKey.GetValue("CompatibleInputExtensions") as string; if (registryValue == null) { MessageBox.Show("Can't retrieve the list of compatible input extensions. (code 0x0A)", "Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } string[] compatibleInputExtensions = registryValue.Split(';'); List <InputExtensionCategory> categories = new List <InputExtensionCategory>(); for (int index = 0; index < compatibleInputExtensions.Length; index++) { string compatibleInputExtension = compatibleInputExtensions[index]; string extensionCategory = Helpers.GetExtensionCategory(compatibleInputExtension); InputExtensionCategory category = categories.Find(match => match.Name == extensionCategory); if (category == null) { category = new InputExtensionCategory(extensionCategory); categories.Add(category); } category.AddExtension(compatibleInputExtension); } this.inputCategories = categories.ToArray(); this.OnPropertyChanged(nameof(this.InputCategories)); }