@@ -219,7 +219,7 @@ public OptionsForm(UserSettings settings, UpdateManager updateManager, Telemetry
219
219
checkDataLogTrainSpeed . Checked = Settings . DataLogTrainSpeed ;
220
220
labelDataLogTSInterval . Enabled = checkDataLogTrainSpeed . Checked ;
221
221
numericDataLogTSInterval . Enabled = checkDataLogTrainSpeed . Checked ;
222
- checkListDataLogTSContents . Enabled = checkDataLogTrainSpeed . Checked ;
222
+ checkListDataLogTSContents . Enabled = checkDataLogTrainSpeed . Checked ;
223
223
numericDataLogTSInterval . Value = Settings . DataLogTSInterval ;
224
224
checkListDataLogTSContents . Items . AddRange ( new object [ ] {
225
225
catalog . GetString ( "Time" ) ,
@@ -240,48 +240,7 @@ public OptionsForm(UserSettings settings, UpdateManager updateManager, Telemetry
240
240
checkDataLogStationStops . Checked = Settings . DataLogStationStops ;
241
241
242
242
// System tab
243
- comboLanguage . Text = Settings . Language ;
244
-
245
- var updateChannelNames = new Dictionary < string , string > {
246
- { "stable" , catalog . GetString ( "Stable (recommended)" ) } ,
247
- { "testing" , catalog . GetString ( "Testing" ) } ,
248
- { "unstable" , catalog . GetString ( "Unstable" ) } ,
249
- { "" , catalog . GetString ( "None" ) } ,
250
- } ;
251
- var updateChannelDescriptions = new Dictionary < string , string > {
252
- { "stable" , catalog . GetString ( "Infrequent updates to official, hand-picked versions. Recommended for most users." ) } ,
253
- { "testing" , catalog . GetString ( "Weekly updates which may contain noticable defects. For project supporters." ) } ,
254
- { "unstable" , catalog . GetString ( "Daily updates which may contain serious defects. For developers only." ) } ,
255
- { "" , catalog . GetString ( "No updates." ) } ,
256
- } ;
257
- var spacing = labelUpdateMode . Margin . Size ;
258
- var indent = 180 ;
259
- var top = labelUpdateMode . Bottom + spacing . Height ;
260
- foreach ( var channel in UpdateManager . GetChannels ( ) )
261
- {
262
- var radio = new RadioButton ( )
263
- {
264
- Text = updateChannelNames [ channel . ToLowerInvariant ( ) ] ,
265
- Margin = labelUpdateMode . Margin ,
266
- Left = spacing . Width + 32 , // to leave room for HelpIcon
267
- Top = top ,
268
- Checked = updateManager . ChannelName . Equals ( channel , StringComparison . InvariantCultureIgnoreCase ) ,
269
- AutoSize = true ,
270
- Tag = channel ,
271
- } ;
272
- tabPageSystem . Controls . Add ( radio ) ;
273
- var label = new Label ( )
274
- {
275
- Text = updateChannelDescriptions [ channel . ToLowerInvariant ( ) ] ,
276
- Margin = labelUpdateMode . Margin ,
277
- Left = spacing . Width + indent ,
278
- Top = top + 2 , // Offset to align with radio button text
279
- Width = tabPageSystem . ClientSize . Width - indent - spacing . Width * 2 ,
280
- AutoSize = true ,
281
- } ;
282
- tabPageSystem . Controls . Add ( label ) ;
283
- top += label . Height + spacing . Height - 3 ; // -3 to close them up a bit
284
- }
243
+ DrawSystemTab ( updateManager ) ;
285
244
286
245
checkWindowed . Checked = ! Settings . FullScreen ;
287
246
comboWindowSize . Text = Settings . WindowSize ;
@@ -323,6 +282,53 @@ public OptionsForm(UserSettings settings, UpdateManager updateManager, Telemetry
323
282
numericActWeatherRandomizationLevel . Value = Settings . ActWeatherRandomizationLevel ;
324
283
}
325
284
285
+ private void DrawSystemTab ( UpdateManager updateManager )
286
+ {
287
+ comboLanguage . Text = Settings . Language ;
288
+
289
+ var updateChannelNames = new Dictionary < string , string > {
290
+ { "stable" , catalog . GetString ( "Stable (recommended)" ) } ,
291
+ { "testing" , catalog . GetString ( "Testing" ) } ,
292
+ { "unstable" , catalog . GetString ( "Unstable" ) } ,
293
+ { "" , catalog . GetString ( "None" ) } ,
294
+ } ;
295
+ var updateChannelDescriptions = new Dictionary < string , string > {
296
+ { "stable" , catalog . GetString ( "Infrequent updates to official, hand-picked versions. Recommended for most users." ) } ,
297
+ { "testing" , catalog . GetString ( "Weekly updates which may contain noticable defects. For project supporters." ) } ,
298
+ { "unstable" , catalog . GetString ( "Daily updates which may contain serious defects. For developers only." ) } ,
299
+ { "" , catalog . GetString ( "No updates." ) } ,
300
+ } ;
301
+ var spacing = labelUpdateMode . Margin . Size ;
302
+ var indent = 180 ;
303
+ var top = labelUpdateMode . Bottom + spacing . Height ;
304
+ // Positioning gives maximum spave for lengthy Russian text.
305
+ foreach ( var channel in UpdateManager . GetChannels ( ) )
306
+ {
307
+ var radio = new RadioButton ( )
308
+ {
309
+ Text = updateChannelNames [ channel . ToLowerInvariant ( ) ] ,
310
+ Margin = labelUpdateMode . Margin ,
311
+ Left = spacing . Width + 32 , // to leave room for HelpIcon
312
+ Top = top ,
313
+ Checked = updateManager . ChannelName . Equals ( channel , StringComparison . InvariantCultureIgnoreCase ) ,
314
+ AutoSize = true ,
315
+ Tag = channel ,
316
+ } ;
317
+ tabPageSystem . Controls . Add ( radio ) ;
318
+ var label = new Label ( )
319
+ {
320
+ Text = updateChannelDescriptions [ channel . ToLowerInvariant ( ) ] ,
321
+ Margin = labelUpdateMode . Margin ,
322
+ Left = spacing . Width + 30 , // to leave room for HelpIcon
323
+ Top = top + spacing . Height + 15 , // Offset to place below radio button
324
+ Width = tabPageSystem . ClientSize . Width - indent - spacing . Width * 2 ,
325
+ AutoSize = true ,
326
+ } ;
327
+ tabPageSystem . Controls . Add ( label ) ;
328
+ top += ( label . Height + spacing . Height ) * 2 - 5 ; // -3 to close them up a bit
329
+ }
330
+ }
331
+
326
332
static string ParseCategoryFrom ( string name )
327
333
{
328
334
var len = name . IndexOf ( ' ' ) ;
0 commit comments