From 136cd0a2925a6eb58355448cc0e33e23d66e457a Mon Sep 17 00:00:00 2001 From: r3sus <49620111+r3sus@users.noreply.github.com> Date: Thu, 9 Mar 2023 20:59:48 +0300 Subject: [PATCH] un: disallow closing in progress; unfocus 'back' button --- .../UninstallForm.Designer.cs | 2 ++ CleanFlashUninstaller/UninstallForm.cs | 31 +++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/CleanFlashUninstaller/UninstallForm.Designer.cs b/CleanFlashUninstaller/UninstallForm.Designer.cs index cebc39b..5f645cf 100644 --- a/CleanFlashUninstaller/UninstallForm.Designer.cs +++ b/CleanFlashUninstaller/UninstallForm.Designer.cs @@ -41,6 +41,7 @@ namespace CleanFlashUninstaller { this.completeLabel = new System.Windows.Forms.LinkLabel(); this.failurePanel = new System.Windows.Forms.Panel(); this.copyErrorButton = new CleanFlashCommon.GradientButton(); + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.InstallForm_FormClosing); this.failureBox = new System.Windows.Forms.TextBox(); this.failureText = new System.Windows.Forms.Label(); this.nextButton = new CleanFlashCommon.GradientButton(); @@ -242,6 +243,7 @@ namespace CleanFlashUninstaller { // // prevButton // + prevButton.TabStop = false; this.prevButton.BackColor = System.Drawing.Color.Black; this.prevButton.Color1 = System.Drawing.Color.FromArgb(((int)(((byte)(118)))), ((int)(((byte)(118)))), ((int)(((byte)(118))))); this.prevButton.Color2 = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(81)))), ((int)(((byte)(81))))); diff --git a/CleanFlashUninstaller/UninstallForm.cs b/CleanFlashUninstaller/UninstallForm.cs index c3c5db5..99ef991 100644 --- a/CleanFlashUninstaller/UninstallForm.cs +++ b/CleanFlashUninstaller/UninstallForm.cs @@ -121,5 +121,36 @@ namespace CleanFlashUninstaller { Clipboard.SetText(failureBox.Text); MessageBox.Show("Copied error message to clipboard!", "Clean Flash Installer", MessageBoxButtons.OK, MessageBoxIcon.Information); } + + // note: copy pasted from installer; todo: single F for both + private void InstallForm_FormClosing(object sender, FormClosingEventArgs e) + { + bool v1 = true; + // if installing + // note: msgbox not pauses the process + if (installPanel.Visible) + { + if (v1) + { + // hardlock, only force quit process + // follows current design since Back button is disabled + MessageBox.Show("Please, wait until process end", "Clean Flash Installer", MessageBoxButtons.OK, MessageBoxIcon.Warning); + e.Cancel = true; + } + else + // soft alternative, expert mode, todo: better warning of consequences + if (MessageBox.Show("Are you sure you want to interrupt the process ?", "Clean Flash Installer", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) + { + e.Cancel = true; + } + else + { + // use cases ? + // uninstall, currently not implemented + } + + //todo: same for uninstaller: share same F + } + } } }