private void runCommands() { if (!tryGetSelectedCommands()) { return; } if (!confirmContinueWithUndoables(_selectedCommandConfigurations)) { return; } statusWindow.Clear(); ThreadStart starter = new ThreadStart(() => { FormMode = FormModeEnum.RunningCommands; CancelStatus = CancellationStatusEnum.None; _controller.Run(_selectedCommandConfigurations); }); starter += () => { writeSummary(); FormMode = FormModeEnum.Ready; CancelStatus = CancellationStatusEnum.None; }; var thread = new Thread(starter); thread.Start(); }
private void cancelButton_Click(object sender, EventArgs e) { if (MessageBox.Show($"Are you sure you want to cancel?{Environment.NewLine}Cancelling will undo the commands in this run.", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } _controller.Cancel(); CancelStatus = CancellationStatusEnum.Pending; }
private void didChangeCancelStatus(CancellationStatusEnum value) { switch (value) { case CancellationStatusEnum.Pending: setText(cancelButton, "Cancelling..."); setEnabled(cancelButton, false); break; case CancellationStatusEnum.None: case CancellationStatusEnum.Done: default: setText(cancelButton, "Cancel"); setEnabled(cancelButton, true); break; } _wasCommandCancelled = value == CancellationStatusEnum.Pending; }