private void repoProviderControl_ScmRepositorySelectionControlEvent(object sender, ScmRepositorySelectionControlEventArgs e) { bool isComplete = Uri != null; IsPageComplete = isComplete; WizardMessage msg = null; if (!isComplete) { string wMsgStr = e.Message; if (string.IsNullOrEmpty(wMsgStr) && e.Exception != null) { wMsgStr = e.Exception.Message; } if (!string.IsNullOrEmpty(wMsgStr)) { msg = new WizardMessage(wMsgStr, WizardMessage.MessageType.Error); } } if (Message != msg) // for null { Message = msg; Wizard.UpdateMessage(); } }
/// <summary> /// Sets the merge sources for the mergeFromComboBox. /// </summary> private void SetMergeSources(ICollection <Uri> mergeSources) { if (InvokeRequired) { SetMergeSourcesCallBack c = new SetMergeSourcesCallBack(SetMergeSources); BeginInvoke(c, new object[] { mergeSources }); return; } bool containsAtLeastOne = false; foreach (Uri u in mergeSources) { containsAtLeastOne = true; suggestedSources.Add(u.ToString()); } if (containsAtLeastOne) { UIUtils.ResizeDropDownForLongestEntry(mergeFromComboBox); } else if (MergeType == MergeWizard.MergeType.ManuallyRemove) { Message = new WizardMessage(MergeStrings.NoRevisionsToUnblock, WizardMessage.MessageType.Error); mergeFromComboBox.DropDownStyle = ComboBoxStyle.DropDownList; } ((Wizard)ParentForm).EnablePageAndButtons(true); }
private void logToolControl1_BatchFinished(object sender, BatchFinishedEventArgs e) { if (e.TotalCount == 0) { Message = new WizardMessage(MergeStrings.NoLogItems, WizardMessage.MessageType.Error); } else { Message = new WizardMessage("", WizardMessage.MessageType.None); } }
public override void OnFinish(System.ComponentModel.CancelEventArgs e) { WizardMessage newMsg = null; this.resultUri = null; EnablePageAndButtons(false); ScmUserNamePasswordEventArgs credentialsArgs = null; try { Uri uri = this.providerSelectionPage.Uri; if (uri == null && this.repositorySelectionPages != null) { ScmRepositoryProvider repoProvider = this.providerSelectionPage.SelectedRepositoryProvider; if (repoProvider != null) { RepositorySelectionPage repoSelectionPage; if (this.repositorySelectionPages.TryGetValue(repoProvider.Id, out repoSelectionPage)) { uri = repoSelectionPage.Uri; if (uri != null) { credentialsArgs = new ScmUserNamePasswordEventArgs(uri.AbsoluteUri); repoSelectionPage.FillUsernamePassword(credentialsArgs); if (credentialsArgs.Cancel) { credentialsArgs = null; } } } } } bool cancel = false; if (uri == null) { cancel = true; } else { Exception exc = null; if (credentialsArgs != null) { try { ProgressRunnerArgs runnerArgs = new ProgressRunnerArgs(); runnerArgs.CreateLog = false; // Make sure username and password is saved for future use ProgressRunnerResult result = Context.GetService <IProgressRunner>().RunModal("Checking repository", runnerArgs, delegate(object sender, ProgressWorkerArgs ee) { EnsureCredentials(credentialsArgs); }); cancel = !(result.Succeeded || result.Exception == null); exc = result.Exception; } catch (Exception runnere) { cancel = true; exc = runnere.InnerException == null ? runnere : runnere.InnerException; } } // TODO (BA) Should we validate here? /* * try * { * ProgressRunnerArgs runnerArgs = new ProgressRunnerArgs(); * runnerArgs.CreateLog = false; * // Check the validity of the specified repository location using IProgressRunner * ProgressRunnerResult result = Context.GetService<IProgressRunner>().RunModal("Checking URI", * runnerArgs, * delegate(object sender, ProgressWorkerArgs ee) * { CheckResult(uri); }); * cancel = !(result.Succeeded || result.Exception == null); * exc = result.Exception; * } * catch (Exception runnere) * { * cancel = true; * exc = runnere.InnerException == null ? runnere : runnere.InnerException; * } */ if (cancel && exc != null) { newMsg = new WizardMessage(exc.Message, WizardMessage.MessageType.Error); } } this.resultUri = cancel ? null : uri; DialogResult = cancel ? System.Windows.Forms.DialogResult.None : System.Windows.Forms.DialogResult.OK; if (CurrentPage.Message != newMsg) { CurrentPage.Message = newMsg; UpdateMessage(); } e.Cancel = cancel; } finally { EnablePageAndButtons(true); } }