private bool loadDrives() { InfoWindow info = new InfoWindow(Localization.Strings.VirtualDriveSearching); info.Show(this); driveField.Items.Clear(); List <VirtualDrive> drives = new List <VirtualDrive>(); for (int i = 0; i < DT.CountDrv(VirtualDriveType.DT); i++) { drives.Add(new VirtualDrive(VirtualDriveType.DT, i)); } for (int i = 0; i < DT.CountDrv(VirtualDriveType.SCSI); i++) { drives.Add(new VirtualDrive(VirtualDriveType.SCSI, i)); } if (DT.Type == DTType.Pro) { for (int i = 0; i < DT.CountDrv(VirtualDriveType.IDE); i++) { drives.Add(new VirtualDrive(VirtualDriveType.IDE, i)); } } drives.Sort((x, y) => string.Compare(x.Letter.ToString(), y.Letter.ToString())); if (drives.Count < 1) { return(false); } foreach (VirtualDrive drive in drives) { driveField.Items.Add(drive); if (drive.Type == _options.VirtualDrive.Type && drive.Num == _options.VirtualDrive.Num) { driveField.SelectedIndex = driveField.Items.Count - 1; } } info.Close(); return(true); }
private bool saveOptions() { if (driveField.SelectedIndex < 0 || driveField.SelectedIndex >= driveField.Items.Count) { return(false); } VirtualDrive drive = (VirtualDrive)driveField.SelectedItem; if (drive.Num >= DT.CountDrv(drive.Type)) { return(false); } _options.VirtualDrive = drive; LogHelper.WriteLine(String.Format(Localization.Strings.VirtualDriveSelected, drive.ToString()), LogHelper.MessageType.INFO); return(true); }