public CameraSelectDialog() { InitializeComponent(); _availableCameras = CameraDescriptor.GetAll(); availableCameraComboBox.DisplayMember = "Name"; availableCameraComboBox.DataSource = _availableCameras; }
private CameraDescriptor GetDefaultCamera() { CameraDescriptor preferredCamera = null; if (Settings.DefaultCamera != null) { preferredCamera = CameraDescriptor.Find(Settings.DefaultCamera.Name, Settings.DefaultCamera.DevicePath); } return(preferredCamera ?? CameraDescriptor.GetAll().FirstOrDefault()); }
public OptionsDialog(Settings settings) { InitializeComponent(); _settings = settings; // Prepare a list of available cameras. // If the currently selected default camera is not available, it will be added to // the list with an "[unplugged?]" comment in front of it. This means the existing // default will be preserved if the options are edited with the camera unplugged. var availableCameras = CameraDescriptor.GetAll().Cast <ICameraDescriptor>().ToList(); var defaultCameraList = availableCameras.Select(c => new DefaultCameraListItem() { CameraDescriptor = c }).ToList(); var currentCameraSetting = _settings.DefaultCamera; ICameraDescriptor cameraToSelect = null; if (currentCameraSetting != null) { var existingCameraEntry = availableCameras.FirstOrDefault(c => c.Name == currentCameraSetting.Name && c.DevicePath == currentCameraSetting.DevicePath); if (existingCameraEntry != null) { cameraToSelect = existingCameraEntry; } else { defaultCameraList.Insert(0, new DefaultCameraListItem() { CameraDescriptor = currentCameraSetting, Comment = "unplugged?" }); cameraToSelect = currentCameraSetting; } } availableCamerasComboBox.DataSource = defaultCameraList; availableCamerasComboBox.DisplayMember = "Text"; availableCamerasComboBox.ValueMember = "CameraDescriptor"; if (cameraToSelect != null) { availableCamerasComboBox.SelectedValue = cameraToSelect; } visiblePropertiesListbox.DataSource = _cameraPropertyDescriptors; visiblePropertiesListbox.DisplayMember = "Name"; UpdateVisiblePropertiesCheckState(); }