Winify – Diff between revs 43 and 44

Subversion Repositories:
Rev:
Only display areas with differencesIgnore whitespace
Rev 43 Rev 44
1 using System; 1 using System;
2 using System.Linq; 2 using System.Linq;
3 using System.Threading; 3 using System.Threading;
4 using System.Windows.Forms; 4 using System.Windows.Forms;
5 using Announcements; 5 using Announcements;
6 using Servers; 6 using Servers;
7 using Winify.Utilities; 7 using Winify.Utilities;
8   8  
9 namespace Winify.Settings 9 namespace Winify.Settings
10 { 10 {
11 public partial class SettingsForm : Form 11 public partial class SettingsForm : Form
12 { 12 {
13 #region Public Events & Delegates 13 #region Public Events & Delegates
14   14  
15 public event EventHandler<SettingsSavedEventArgs> Save; 15 public event EventHandler<SettingsSavedEventArgs> Save;
16   16  
17 #endregion 17 #endregion
18   18  
19 #region Private Delegates, Events, Enums, Properties, Indexers and Fields 19 #region Private Delegates, Events, Enums, Properties, Indexers and Fields
20   20  
21 private readonly BindingSource _announcementBindingSource; 21 private readonly BindingSource _announcementBindingSource;
22   22  
23 private readonly Announcements.Announcements _announcements; 23 private readonly Announcements.Announcements _announcements;
24   24  
25 private readonly BindingSource _serverBindingSource; 25 private readonly BindingSource _serverBindingSource;
26   26  
27 private readonly Servers.Servers _servers; 27 private readonly Servers.Servers _servers;
28   28  
29 private Announcement _announcement; 29 private Announcement _announcement;
30   30  
31 private Server _server; 31 private Server _server;
32 private readonly MainForm _mainForm; 32 private readonly MainForm _mainForm;
33 private readonly CancellationToken _cancellationToken; 33 private readonly CancellationToken _cancellationToken;
-   34 private readonly BindingSource _configurationBindingSource;
34   35  
35 #endregion 36 #endregion
36   37  
37 #region Constructors, Destructors and Finalizers 38 #region Constructors, Destructors and Finalizers
38   39  
39 public SettingsForm() 40 public SettingsForm()
40 { 41 {
41 InitializeComponent(); 42 InitializeComponent();
-   43  
-   44 Utilities.WindowState.FormTracker.Track(this);
42 } 45 }
43   46  
44 public SettingsForm(MainForm mainForm) : this() 47 public SettingsForm(MainForm mainForm) : this()
45 { 48 {
46 _mainForm = mainForm; 49 _mainForm = mainForm;
47 } 50 }
48   51  
49 public SettingsForm(MainForm mainForm, Servers.Servers servers, Announcements.Announcements announcements, 52 public SettingsForm(MainForm mainForm, Servers.Servers servers, Announcements.Announcements announcements,
50 CancellationToken cancellationToken) : this(mainForm) 53 CancellationToken cancellationToken) : this(mainForm)
51 { 54 {
52 _servers = servers; 55 _servers = servers;
53 _server = _servers.Server.FirstOrDefault() ?? new Server(); 56 _server = _servers.Server.FirstOrDefault() ?? new Server();
54 _cancellationToken = cancellationToken; 57 _cancellationToken = cancellationToken;
55   58  
56 _serverBindingSource = new BindingSource(); 59 _serverBindingSource = new BindingSource();
57 _serverBindingSource.DataSource = _server; 60 _serverBindingSource.DataSource = _server;
-   61 _configurationBindingSource = new BindingSource();
-   62 _configurationBindingSource.DataSource = _mainForm.Configuration;
-   63  
-   64 checkBox1.DataBindings.Add(new Binding("Checked", _configurationBindingSource,
-   65 nameof(_mainForm.Configuration.LaunchOnBoot), true, DataSourceUpdateMode.OnPropertyChanged));
-   66  
-   67 checkBox2.DataBindings.Add(new Binding("Checked", _configurationBindingSource,
-   68 nameof(_mainForm.Configuration.IgnoreSelfSignedCertificates), true, DataSourceUpdateMode.OnPropertyChanged));
58   69  
59 serverNameTextBox.DataBindings.Add(new Binding("Text", _serverBindingSource, nameof(_server.Name), true, 70 serverNameTextBox.DataBindings.Add(new Binding("Text", _serverBindingSource, nameof(_server.Name), true,
60 DataSourceUpdateMode.OnPropertyChanged)); 71 DataSourceUpdateMode.OnPropertyChanged));
61 serverUrlTextBox.DataBindings.Add(new Binding("Text", _serverBindingSource, nameof(_server.Url), true, 72 serverUrlTextBox.DataBindings.Add(new Binding("Text", _serverBindingSource, nameof(_server.Url), true,
62 DataSourceUpdateMode.OnPropertyChanged)); 73 DataSourceUpdateMode.OnPropertyChanged));
63 serverUsernameTextBox.DataBindings.Add(new Binding("Text", _serverBindingSource, nameof(_server.Username), 74 serverUsernameTextBox.DataBindings.Add(new Binding("Text", _serverBindingSource, nameof(_server.Username),
64 true, 75 true,
65 DataSourceUpdateMode.OnPropertyChanged)); 76 DataSourceUpdateMode.OnPropertyChanged));
66 serverPasswordTextBox.DataBindings.Add(new Binding("Text", _serverBindingSource, nameof(_server.Password), 77 serverPasswordTextBox.DataBindings.Add(new Binding("Text", _serverBindingSource, nameof(_server.Password),
67 true, 78 true,
68 DataSourceUpdateMode.OnPropertyChanged)); 79 DataSourceUpdateMode.OnPropertyChanged));
69   80  
70 listBox1.DataSource = _servers.Server; 81 listBox1.DataSource = _servers.Server;
71 listBox1.DisplayMember = "Name"; 82 listBox1.DisplayMember = "Name";
72 listBox1.DataBindings.Add(new Binding("Text", _servers.Server, "Name", true, 83 listBox1.DataBindings.Add(new Binding("Text", _servers.Server, "Name", true,
73 DataSourceUpdateMode.OnPropertyChanged)); 84 DataSourceUpdateMode.OnPropertyChanged));
74   85  
75 _announcements = announcements; 86 _announcements = announcements;
76 _announcement = _announcements.Announcement.FirstOrDefault() ?? new Announcement(); 87 _announcement = _announcements.Announcement.FirstOrDefault() ?? new Announcement();
77   88  
78 _announcementBindingSource = new BindingSource(); 89 _announcementBindingSource = new BindingSource();
79 _announcementBindingSource.DataSource = _announcement; 90 _announcementBindingSource.DataSource = _announcement;
80   91  
81 appIdTextBox.DataBindings.Add(new Binding("Text", _announcementBindingSource, nameof(_announcement.AppId), 92 appIdTextBox.DataBindings.Add(new Binding("Text", _announcementBindingSource, nameof(_announcement.AppId),
82 true, 93 true,
83 DataSourceUpdateMode.OnPropertyChanged)); 94 DataSourceUpdateMode.OnPropertyChanged));
84 lingerTimeTextBox.DataBindings.Add(new Binding("Text", _announcementBindingSource, 95 lingerTimeTextBox.DataBindings.Add(new Binding("Text", _announcementBindingSource,
85 nameof(_announcement.LingerTime), true, 96 nameof(_announcement.LingerTime), true,
86 DataSourceUpdateMode.OnPropertyChanged)); 97 DataSourceUpdateMode.OnPropertyChanged));
87   98  
88 listBox2.DataSource = _announcements.Announcement; 99 listBox2.DataSource = _announcements.Announcement;
89 listBox2.DisplayMember = "Id"; 100 listBox2.DisplayMember = "Id";
90 listBox2.DataBindings.Add(new Binding("Text", _announcements.Announcement, "Id", true, 101 listBox2.DataBindings.Add(new Binding("Text", _announcements.Announcement, "Id", true,
91 DataSourceUpdateMode.OnPropertyChanged)); 102 DataSourceUpdateMode.OnPropertyChanged));
92 } 103 }
93   104  
94 #endregion 105 #endregion
95   106  
96 #region Event Handlers 107 #region Event Handlers
97   108  
98 private void CheckBox1_CheckedChanged(object sender, EventArgs e) 109 private void CheckBox1_CheckedChanged(object sender, EventArgs e)
99 { 110 {
100 _mainForm.Configuration.LaunchOnBoot = ((CheckBox)sender).Checked; 111 _mainForm.Configuration.LaunchOnBoot = ((CheckBox)sender).Checked;
101   112  
102 _mainForm.ChangedConfigurationContinuation.Schedule(TimeSpan.FromSeconds(1), 113 _mainForm.ChangedConfigurationContinuation.Schedule(TimeSpan.FromSeconds(1),
103 async () => { await _mainForm.SaveConfiguration(); }, _cancellationToken); 114 async () => { await _mainForm.SaveConfiguration(); }, _cancellationToken);
104   115  
105 Miscellaneous.LaunchOnBootSet(_mainForm.Configuration.LaunchOnBoot); 116 Miscellaneous.LaunchOnBootSet(_mainForm.Configuration.LaunchOnBoot);
106 } 117 }
107   118  
108 private void Button1_Click(object sender, EventArgs e) 119 private void Button1_Click(object sender, EventArgs e)
109 { 120 {
110 var server = new Server(); 121 var server = new Server();
111 server.Name = serverNameTextBox.Text; 122 server.Name = serverNameTextBox.Text;
112 server.Url = serverUrlTextBox.Text; 123 server.Url = serverUrlTextBox.Text;
113 server.Username = serverUsernameTextBox.Text; 124 server.Username = serverUsernameTextBox.Text;
114 server.Password = serverPasswordTextBox.Text; 125 server.Password = serverPasswordTextBox.Text;
115   126  
116 _servers.Server.Add(server); 127 _servers.Server.Add(server);
117   128  
118 Save?.Invoke(this, new SettingsSavedEventArgs(_servers, _announcements)); 129 Save?.Invoke(this, new SettingsSavedEventArgs(_servers, _announcements));
119   130  
120 listBox1.SelectedItem = server; 131 listBox1.SelectedItem = server;
121 } 132 }
122   133  
123 private void Button2_Click(object sender, EventArgs e) 134 private void Button2_Click(object sender, EventArgs e)
124 { 135 {
125 if (listBox1.SelectedItem is Server server) 136 if (listBox1.SelectedItem is Server server) _servers.Server.Remove(server);
126 { -  
127 _servers.Server.Remove(server); -  
128 } -  
129 } 137 }
130   138  
131 private void ListBox1_SelectedIndexChanged(object sender, EventArgs e) 139 private void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
132 { 140 {
133 var listBox = (ListBox)sender; 141 var listBox = (ListBox)sender;
134   142  
135 if (listBox.SelectedItem is Server server) 143 if (listBox.SelectedItem is Server server)
136 { 144 {
137 _server = server; 145 _server = server;
138   146  
139 _serverBindingSource.DataSource = _server; 147 _serverBindingSource.DataSource = _server;
140 } 148 }
141 } 149 }
142   150  
143 private void Button3_Click(object sender, EventArgs e) 151 private void Button3_Click(object sender, EventArgs e)
144 { 152 {
145 if (listBox2.SelectedItem is Announcement announcement) 153 if (listBox2.SelectedItem is Announcement announcement) _announcements.Announcement.Remove(announcement);
146 { -  
147 _announcements.Announcement.Remove(announcement); -  
148 } -  
149 } 154 }
150   155  
151 private void Button4_Click(object sender, EventArgs e) 156 private void Button4_Click(object sender, EventArgs e)
152 { 157 {
153 var announcement = new Announcement(); 158 var announcement = new Announcement();
154 if (int.TryParse(appIdTextBox.Text, out var appId)) 159 if (int.TryParse(appIdTextBox.Text, out var appId)) announcement.AppId = appId;
155 { -  
156 announcement.AppId = appId; -  
157 } -  
158   160  
159 if (int.TryParse(lingerTimeTextBox.Text, out var lingerTime)) -  
160 { -  
161 announcement.LingerTime = lingerTime; -  
162 } 161 if (int.TryParse(lingerTimeTextBox.Text, out var lingerTime)) announcement.LingerTime = lingerTime;
163   162  
164 _announcements.Announcement.Add(announcement); 163 _announcements.Announcement.Add(announcement);
165   164  
166 Save?.Invoke(this, new SettingsSavedEventArgs(_servers, _announcements)); 165 Save?.Invoke(this, new SettingsSavedEventArgs(_servers, _announcements));
167   166  
168 listBox2.SelectedItem = announcement; 167 listBox2.SelectedItem = announcement;
169 } 168 }
170   169  
171 private void ListBox2_SelectedIndexChanged(object sender, EventArgs e) 170 private void ListBox2_SelectedIndexChanged(object sender, EventArgs e)
172 { 171 {
173 var listBox = (ListBox)sender; 172 var listBox = (ListBox)sender;
174   173  
175 if (listBox.SelectedItem is Announcement announcement) 174 if (listBox.SelectedItem is Announcement announcement)
176 { 175 {
177 _announcement = announcement; 176 _announcement = announcement;
178   177  
179 _announcementBindingSource.DataSource = _announcement; 178 _announcementBindingSource.DataSource = _announcement;
180 } 179 }
181 } 180 }
182   181  
183 private void Button6_Click(object sender, EventArgs e) 182 private void Button6_Click(object sender, EventArgs e)
184 { 183 {
185 Close(); 184 Close();
186 } 185 }
187   186  
188 private void Button5_Click(object sender, EventArgs e) 187 private void Button5_Click(object sender, EventArgs e)
189 { 188 {
190 Save?.Invoke(this, new SettingsSavedEventArgs(_servers, _announcements)); 189 Save?.Invoke(this, new SettingsSavedEventArgs(_servers, _announcements));
191   190  
192 Close(); 191 Close();
193 } 192 }
194   193  
195 private void SettingsForm_Load(object sender, EventArgs e) 194 private void SettingsForm_Load(object sender, EventArgs e)
196 { 195 {
197 checkBox1.Checked = _mainForm.Configuration.LaunchOnBoot; 196 checkBox1.Checked = _mainForm.Configuration.LaunchOnBoot;
198 } 197 }
199   198  
200 #endregion 199 #endregion
-   200  
-   201 private void CheckBox2_CheckedChanged(object sender, EventArgs e)
-   202 {
-   203 _mainForm.Configuration.IgnoreSelfSignedCertificates = ((CheckBox)sender).Checked;
-   204  
-   205 _mainForm.ChangedConfigurationContinuation.Schedule(TimeSpan.FromSeconds(1),
-   206 async () => { await _mainForm.SaveConfiguration(); }, _cancellationToken);
-   207 }
201 } 208 }
202 } 209 }
203   210  
204
Generated by GNU Enscript 1.6.5.90.
211
Generated by GNU Enscript 1.6.5.90.
205   212  
206   213  
207   214