private void btnAddPlayer_Click(object sender, RoutedEventArgs e) { List <MediaType> list = new List <MediaType>(); // Provide a list of media types that haven't been used. This is to filter out the selection available to the end user. // Don't display media types for players that we already have. // // This also makes this scalable, we shouldn't have to adjust this code for new media types. Boolean found; foreach (MediaType item in Enum.GetValues(typeof(MediaType))) { // See if an external player has been configured for this media type. found = false; foreach (ConfigData.ExternalPlayer player in lstExternalPlayers.Items) { if (player.MediaType == item) { found = true; break; } } // If a player hasn't been configured then make it an available option to be added if (!found) { list.Add(item); } } var form = new SelectMediaTypeForm(list); form.Owner = this; form.WindowStartupLocation = WindowStartupLocation.CenterOwner; if (form.ShowDialog() == true) { ConfigData.ExternalPlayer player = new ConfigData.ExternalPlayer(); player.MediaType = (MediaType)form.cbMediaType.SelectedItem; player.Args = "\"{0}\""; // Assign a default parameter config.ExternalPlayers.Add(player); lstExternalPlayers.Items.Add(player); lstExternalPlayers.SelectedItem = player; SaveConfig(); } }
private void btnAddPlayer_Click(object sender, RoutedEventArgs e) { List<MediaType> list = new List<MediaType>(); // Provide a list of media types that haven't been used. This is to filter out the selection available to the end user. // Don't display media types for players that we already have. // // This also makes this scalable, we shouldn't have to adjust this code for new media types. Boolean found; foreach (MediaType item in Enum.GetValues(typeof(MediaType))) { // See if an external player has been configured for this media type. found = false; foreach (ConfigData.ExternalPlayer player in lstExternalPlayers.Items) if (player.MediaType == item) { found = true; break; } // If a player hasn't been configured then make it an available option to be added if (!found) list.Add(item); } var form = new SelectMediaTypeForm(list); form.Owner = this; form.WindowStartupLocation = WindowStartupLocation.CenterOwner; if (form.ShowDialog() == true) { ConfigData.ExternalPlayer player = new ConfigData.ExternalPlayer(); player.MediaType = (MediaType)form.cbMediaType.SelectedItem; player.Args = "\"{0}\""; // Assign a default parameter config.ExternalPlayers.Add(player); lstExternalPlayers.Items.Add(player); lstExternalPlayers.SelectedItem = player; SaveConfig(); } }