void OnDeviceManagerTaskCompleted(GarminDeviceManager manager, GarminDeviceManager.BasicTask task, bool succeeded, String errorText) { if (!succeeded) { if (task.Type == GarminDeviceManager.BasicTask.TaskTypes.Initialize) { MessageBox.Show(GarminFitnessView.GetLocalizedString("DeviceCommunicationErrorText"), GarminFitnessView.GetLocalizedString("ErrorText"), MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (!String.IsNullOrEmpty(errorText)) { MessageBox.Show(errorText, GarminFitnessView.GetLocalizedString("ErrorText"), MessageBoxButtons.OK, MessageBoxIcon.Error); } manager.CancelAllTasks(); } else { if (task.Type == GarminDeviceManager.BasicTask.TaskTypes.SetOperatingDevice) { if (GarminDeviceManager.Instance.OperatingDevice == null || !GarminDeviceManager.Instance.OperatingDevice.SupportsReadProfile) { IExtendedWizardPage nextPage = Wizard.GetPageByType(typeof(SetupWizardEditProfile)); MessageBox.Show(String.Format(GarminFitnessView.GetLocalizedString("NoDeviceSupportText"), GarminDeviceManager.Instance.OperatingDevice.DisplayName, GarminFitnessView.GetLocalizedString("ImportProfileText")) + "\n" + GarminFitnessView.GetLocalizedString("ManualProfileConfigurationText"), GarminFitnessView.GetLocalizedString("ErrorText"), MessageBoxButtons.OK, MessageBoxIcon.Warning); Wizard.ShowPage(nextPage); } } else if (task.Type == GarminDeviceManager.BasicTask.TaskTypes.ImportProfile) { Wizard.GoNext(); } } if (manager.AreAllTasksFinished) { Wizard.Enabled = true; Wizard.Cursor = Cursors.Default; manager.TaskCompleted -= new GarminDeviceManager.TaskCompletedEventHandler(OnDeviceManagerTaskCompleted); if (!succeeded) { IExtendedWizardPage nextPage = Wizard.GetPageByType(typeof(SetupWizardEditProfile)); Wizard.ShowPage(nextPage); } } }