Annotation of cleanflash/CleanFlashUninstaller/UninstallForm.cs, revision 1.1.1.1

1.1       root        1: using CleanFlashCommon;
                      2: using System;
                      3: using System.Diagnostics;
                      4: using System.Threading.Tasks;
                      5: using System.Windows.Forms;
                      6: 
                      7: namespace CleanFlashUninstaller {
                      8:     public partial class UninstallForm : Form, IProgressForm {
                      9:         private static int UNINSTALL_TICKS = 9;
                     10: 
                     11:         public UninstallForm() {
                     12:             InitializeComponent();
                     13:         }
                     14: 
                     15:         private void HideAllPanels() {
                     16:             beforeInstallPanel.Visible = false;
                     17:             installPanel.Visible = false;
                     18:             completePanel.Visible = false;
                     19:             failurePanel.Visible = false;
                     20:         }
                     21: 
                     22:         private void OpenBeforeInstall() {
                     23:             HideAllPanels();
                     24:             beforeInstallPanel.Visible = true;
                     25:             prevButton.Enabled = true;
                     26:             nextButton.Text = "UNINSTALL";
                     27:         }
                     28: 
                     29:         private void OpenInstall() {
                     30:             HideAllPanels();
                     31:             installPanel.Visible = true;
                     32:             prevButton.Enabled = false;
                     33:             nextButton.Visible = false;
                     34:             BeginInstall();
                     35:         }
                     36: 
                     37:         private void OpenComplete() {
                     38:             HideAllPanels();
                     39:             completePanel.Visible = true;
                     40:             prevButton.Enabled = true;
                     41: 
                     42:             completeLabel.Links.Clear();
                     43:             completeLabel.Links.Add(new LinkLabel.Link(110, 28));
                     44:         }
                     45: 
                     46:         private void OpenFailure(Exception e) {
                     47:             HideAllPanels();
                     48:             failurePanel.Visible = true;
                     49:             prevButton.Enabled = true;
                     50:             nextButton.Text = "RETRY";
                     51:             nextButton.Visible = true;
                     52:             failureBox.Text = e.ToString();
                     53:         }
                     54: 
                     55:         private void BeginInstall() {
                     56:             progressBar.Value = 0;
                     57:             progressBar.Maximum = UNINSTALL_TICKS;
                     58: 
                     59:             new Task(new Action(() => {
                     60:                 IntPtr redirection = RedirectionManager.DisableRedirection();
                     61: 
                     62:                 try {
                     63:                     Uninstaller.Uninstall(this);
                     64:                     Complete();
                     65:                 } catch (Exception e) {
                     66:                     Failure(e);
                     67:                 } finally {
                     68:                     RedirectionManager.EnableRedirection(redirection);
                     69:                 }
                     70:             })).Start();
                     71:         }
                     72: 
                     73:         private void UninstallForm_Load(object sender, EventArgs e) {
                     74:             string version = UpdateChecker.GetFlashVersion();
                     75: 
                     76:             subtitleLabel.Text = string.Format("built from version {0} (China)", version);
                     77:             Text = string.Format("Clean Flash Player {0} Uninstaller", version);
                     78: 
                     79:             OpenBeforeInstall();
                     80:         }
                     81: 
                     82:         private void prevButton_Click(object sender, EventArgs e) {
                     83:             Application.Exit();
                     84:         }
                     85: 
                     86:         private void nextButton_Click(object sender, EventArgs e) {
                     87:             if (beforeInstallPanel.Visible || failurePanel.Visible) {
                     88:                 OpenInstall();
                     89:             }
                     90:         }
                     91: 
                     92:         public void UpdateProgressLabel(string text, bool tick) {
                     93:             Invoke(new Action(() => {
                     94:                 progressLabel.Text = text;
                     95: 
                     96:                 if (tick) {
                     97:                     progressBar.Value++;
                     98:                 }
                     99:             }));
                    100:         }
                    101: 
                    102:         public void TickProgress() {
                    103:             Invoke(new Action(() => {
                    104:                 progressBar.Value++;
                    105:             }));
                    106:         }
                    107: 
                    108:         public void Complete() {
                    109:             Invoke(new Action(OpenComplete));
                    110:         }
                    111: 
                    112:         public void Failure(Exception e) {
                    113:             Invoke(new Action(() => OpenFailure(e)));
                    114:         }
                    115: 
                    116:         private void completeLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
                    117:             if (e.Link.Start == 212) {
                    118:                 Process.Start("https://waterfox.net");
                    119:             } else {
                    120:                 Process.Start("https://cleanflash.github.io");
                    121:             }
                    122:         }
                    123: 
                    124:         private void copyErrorButton_Click(object sender, EventArgs e) {
                    125:             Clipboard.SetText(failureBox.Text);
                    126:             MessageBox.Show("Copied error message to clipboard!", "Clean Flash Installer", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    127:         }
                    128:     }
                    129: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.