@@ -33,13 +33,8 @@ public AccelGUI(
33
33
ToggleButton = ( CheckBox ) toggleButton ;
34
34
ScaleMenuItem = scaleMenuItem ;
35
35
Settings = settings ;
36
- Settings . Startup ( ) ;
37
- RefreshOnRead ( Settings . RawAccelSettings . AccelerationSettings ) ;
38
- AccelForm . DoResize ( ) ;
39
-
40
36
DefaultButtonFont = WriteButton . Font ;
41
37
SmallButtonFont = new Font ( WriteButton . Font . Name , WriteButton . Font . Size * Constants . SmallButtonSizeFactor ) ;
42
-
43
38
MouseWatcher = mouseWatcher ;
44
39
45
40
ScaleMenuItem . Click += new System . EventHandler ( OnScaleMenuItemClick ) ;
@@ -50,9 +45,30 @@ public AccelGUI(
50
45
ButtonTimerInterval = Convert . ToInt32 ( DriverInterop . WriteDelayMs ) ;
51
46
ButtonTimer = new Timer ( ) ;
52
47
ButtonTimer . Tick += new System . EventHandler ( OnButtonTimerTick ) ;
53
- SetupButtons ( ) ;
54
48
55
49
ChartRefresh = SetupChartTimer ( ) ;
50
+
51
+ bool settingsActive = Settings . Startup ( ) ;
52
+ SettingsNotDefault = ! Settings . RawAccelSettings . IsDefaultEquivalent ( ) ;
53
+
54
+ if ( settingsActive )
55
+ {
56
+ LastToggleChecked = SettingsNotDefault ;
57
+ ToggleButton . Enabled = LastToggleChecked ;
58
+ RefreshOnRead ( Settings . RawAccelSettings . AccelerationSettings ) ;
59
+ }
60
+ else
61
+ {
62
+ DriverSettings active = DriverInterop . GetActiveSettings ( ) ;
63
+ bool activeNotDefault = ! RawAccelSettings . IsDefaultEquivalent ( active ) ;
64
+
65
+ LastToggleChecked = activeNotDefault ;
66
+ ToggleButton . Enabled = SettingsNotDefault || activeNotDefault ;
67
+ RefreshOnRead ( active ) ;
68
+ }
69
+
70
+ SetupButtons ( ) ;
71
+ AccelForm . DoResize ( ) ;
56
72
}
57
73
58
74
#endregion Constructors
@@ -109,6 +125,10 @@ public void UpdateActiveSettingsFromFields()
109
125
{
110
126
var driverSettings = Settings . RawAccelSettings . AccelerationSettings ;
111
127
128
+ var newArgs = ApplyOptions . GetArgs ( ) ;
129
+ newArgs . x . speedCap = driverSettings . args . x . speedCap ;
130
+ newArgs . y . speedCap = driverSettings . args . y . speedCap ;
131
+
112
132
var settings = new DriverSettings
113
133
{
114
134
rotation = ApplyOptions . Rotation . Field . Data ,
@@ -119,15 +139,16 @@ public void UpdateActiveSettingsFromFields()
119
139
} ,
120
140
combineMagnitudes = ApplyOptions . IsWhole ,
121
141
modes = ApplyOptions . GetModes ( ) ,
122
- args = ApplyOptions . GetArgs ( ) ,
142
+ args = newArgs ,
123
143
minimumTime = driverSettings . minimumTime
124
144
} ;
125
145
126
- WriteButtonDelay ( ) ;
146
+ ButtonDelay ( WriteButton ) ;
127
147
SettingsErrors errors = Settings . TryUpdateActiveSettings ( settings ) ;
128
148
if ( errors . Empty ( ) )
129
149
{
130
- RefreshToggleStateFromNewSettings ( ) ;
150
+ SettingsNotDefault = ! Settings . RawAccelSettings . IsDefaultEquivalent ( ) ;
151
+ LastToggleChecked = SettingsNotDefault ;
131
152
RefreshOnRead ( Settings . RawAccelSettings . AccelerationSettings ) ;
132
153
}
133
154
else
@@ -176,34 +197,23 @@ private void SetupButtons()
176
197
ToggleButton . Size = WriteButton . Size ;
177
198
ToggleButton . Top = WriteButton . Top ;
178
199
179
- RefreshToggleStateFromNewSettings ( ) ;
180
- SetToggleButtonDefault ( ) ;
181
- SetWriteButtonDefault ( ) ;
200
+ SetButtonDefaults ( ) ;
182
201
}
183
202
184
- private void RefreshToggleStateFromNewSettings ( )
203
+ private void SetButtonDefaults ( )
185
204
{
186
- SettingsNotDefault = ! Settings . RawAccelSettings . IsDefaultEquivalent ( ) ;
187
- LastToggleChecked = SettingsNotDefault ;
188
- }
205
+ ToggleButton . Checked = LastToggleChecked ;
206
+
207
+ ToggleButton . Font = DefaultButtonFont ;
208
+ ToggleButton . Text = ToggleButton . Checked ? "Enabled" : "Disabled" ;
209
+ ToggleButton . Update ( ) ;
189
210
190
- private void SetWriteButtonDefault ( )
191
- {
192
211
WriteButton . Font = DefaultButtonFont ;
193
212
WriteButton . Text = Constants . WriteButtonDefaultText ;
194
213
WriteButton . Enabled = ToggleButton . Checked || ! ToggleButton . Enabled ;
195
214
WriteButton . Update ( ) ;
196
215
}
197
216
198
- private void SetToggleButtonDefault ( )
199
- {
200
- ToggleButton . Checked = LastToggleChecked ;
201
- ToggleButton . Enabled = SettingsNotDefault ;
202
- ToggleButton . Font = DefaultButtonFont ;
203
- ToggleButton . Text = ToggleButton . Checked ? "Enabled" : "Disabled" ;
204
- ToggleButton . Update ( ) ;
205
- }
206
-
207
217
private void OnScaleMenuItemClick ( object sender , EventArgs e )
208
218
{
209
219
UpdateGraph ( Settings . RawAccelSettings . AccelerationSettings ) ;
@@ -220,7 +230,8 @@ private void OnToggleButtonClick(object sender, EventArgs e)
220
230
Settings . RawAccelSettings . AccelerationSettings :
221
231
DriverInterop . DefaultSettings ;
222
232
223
- ToggleButtonDelay ( ) ;
233
+ LastToggleChecked = ToggleButton . Checked ;
234
+ ButtonDelay ( ToggleButton ) ;
224
235
225
236
SettingsManager . SendToDriver ( settings ) ;
226
237
Settings . ActiveAccel . UpdateFromSettings ( settings ) ;
@@ -230,8 +241,8 @@ private void OnToggleButtonClick(object sender, EventArgs e)
230
241
private void OnButtonTimerTick ( object sender , EventArgs e )
231
242
{
232
243
ButtonTimer . Stop ( ) ;
233
- SetToggleButtonDefault ( ) ;
234
- SetWriteButtonDefault ( ) ;
244
+ ToggleButton . Enabled = SettingsNotDefault ;
245
+ SetButtonDefaults ( ) ;
235
246
}
236
247
237
248
private void StartButtonTimer ( )
@@ -240,33 +251,17 @@ private void StartButtonTimer()
240
251
ButtonTimer . Start ( ) ;
241
252
}
242
253
243
- private void WriteButtonDelay ( )
254
+ private void ButtonDelay ( ButtonBase btn )
244
255
{
245
- WriteButton . Font = SmallButtonFont ;
246
- WriteButton . Text = $ "{ Constants . ButtonDelayText } : { ButtonTimerInterval } ms";
256
+ ToggleButton . Checked = false ;
257
+
258
+ ToggleButton . Enabled = false ;
247
259
WriteButton . Enabled = false ;
248
- WriteButton . Update ( ) ;
249
260
250
- if ( ToggleButton . Enabled )
251
- {
252
- LastToggleChecked = ToggleButton . Checked ;
253
- ToggleButton . Checked = false ;
254
- ToggleButton . Enabled = false ;
255
- ToggleButton . Update ( ) ;
256
- }
257
- StartButtonTimer ( ) ;
258
- }
261
+ btn . Font = SmallButtonFont ;
262
+ btn . Text = $ "{ Constants . ButtonDelayText } : { ButtonTimerInterval } ms";
259
263
260
- private void ToggleButtonDelay ( )
261
- {
262
- LastToggleChecked = ToggleButton . Checked ;
263
- ToggleButton . Checked = false ;
264
- ToggleButton . Enabled = false ;
265
- ToggleButton . Font = SmallButtonFont ;
266
- ToggleButton . Text = $ "{ Constants . ButtonDelayText } : { ButtonTimerInterval } ms";
267
264
ToggleButton . Update ( ) ;
268
-
269
- WriteButton . Enabled = false ;
270
265
WriteButton . Update ( ) ;
271
266
272
267
StartButtonTimer ( ) ;
0 commit comments