-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUpdateAvailableForm.cs
More file actions
129 lines (110 loc) · 3.67 KB
/
Copy pathUpdateAvailableForm.cs
File metadata and controls
129 lines (110 loc) · 3.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
using System;
using System.Diagnostics;
using System.Drawing;
using System.Windows.Forms;
namespace c2flux
{
public sealed class UpdateAvailableForm : Form
{
private readonly string _downloadUrl;
private PictureBox pictureBoxInformation;
private Label labelMessage;
private Label labelReleaseNotes;
private AntdUI.Button buttonChangelog;
private AntdUI.Button buttonDownload;
private AntdUI.Button buttonLater;
public UpdateAvailableForm(
AppLayout layout,
GitHubUpdateResult updateResult)
{
_downloadUrl = updateResult?.DownloadUrl;
InitializeComponent(updateResult);
AntdThemeService.ConfigureUpdateAvailableForm(
this,
pictureBoxInformation,
labelMessage,
labelReleaseNotes,
buttonChangelog,
buttonDownload,
buttonLater,
layout);
}
private void InitializeComponent(
GitHubUpdateResult updateResult)
{
Text = AppConstants.ApplicationName;
pictureBoxInformation = new PictureBox
{
Name = "pictureBoxInformation",
Image = SystemIcons.Exclamation.ToBitmap()
};
labelMessage = new Label
{
Name = "labelMessage",
Text = LocalizationService.Format(
"About.UpdateAvailableMessage",
AppConstants.ApplicationName,
updateResult?.LatestVersion ?? string.Empty)
};
labelReleaseNotes = new Label
{
Name = "labelReleaseNotes",
Text = updateResult?.ReleaseNotes ?? string.Empty
};
buttonChangelog = new AntdUI.Button
{
Name = "buttonChangelog",
Text = LocalizationService.GetText(
"About.UpdateChangelog")
};
buttonDownload = new AntdUI.Button
{
Name = "buttonDownload",
Text = LocalizationService.GetText(
"About.UpdateDownload")
};
buttonLater = new AntdUI.Button
{
Name = "buttonLater",
Text = LocalizationService.GetText(
"About.UpdateLater"),
DialogResult = DialogResult.Cancel
};
buttonChangelog.Click += buttonChangelog_Click;
buttonDownload.Click += buttonDownload_Click;
Controls.Add(pictureBoxInformation);
Controls.Add(labelMessage);
Controls.Add(labelReleaseNotes);
Controls.Add(buttonChangelog);
Controls.Add(buttonDownload);
Controls.Add(buttonLater);
AcceptButton = buttonDownload;
CancelButton = buttonLater;
}
private void buttonChangelog_Click(
object sender,
EventArgs e)
{
if (string.IsNullOrWhiteSpace(_downloadUrl))
return;
Process.Start(new ProcessStartInfo
{
FileName = _downloadUrl,
UseShellExecute = true
});
}
private void buttonDownload_Click(
object sender,
EventArgs e)
{
if (string.IsNullOrWhiteSpace(_downloadUrl))
return;
Process.Start(new ProcessStartInfo
{
FileName = _downloadUrl,
UseShellExecute = true
});
Close();
}
}
}