@@ -219,7 +219,7 @@ public OptionsForm(UserSettings settings, UpdateManager updateManager, Telemetry
219219 checkDataLogTrainSpeed . Checked = Settings . DataLogTrainSpeed ;
220220 labelDataLogTSInterval . Enabled = checkDataLogTrainSpeed . Checked ;
221221 numericDataLogTSInterval . Enabled = checkDataLogTrainSpeed . Checked ;
222- checkListDataLogTSContents . Enabled = checkDataLogTrainSpeed . Checked ;
222+ checkListDataLogTSContents . Enabled = checkDataLogTrainSpeed . Checked ;
223223 numericDataLogTSInterval . Value = Settings . DataLogTSInterval ;
224224 checkListDataLogTSContents . Items . AddRange ( new object [ ] {
225225 catalog . GetString ( "Time" ) ,
@@ -240,48 +240,7 @@ public OptionsForm(UserSettings settings, UpdateManager updateManager, Telemetry
240240 checkDataLogStationStops . Checked = Settings . DataLogStationStops ;
241241
242242 // 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 ) ;
285244
286245 checkWindowed . Checked = ! Settings . FullScreen ;
287246 comboWindowSize . Text = Settings . WindowSize ;
@@ -323,6 +282,53 @@ public OptionsForm(UserSettings settings, UpdateManager updateManager, Telemetry
323282 numericActWeatherRandomizationLevel . Value = Settings . ActWeatherRandomizationLevel ;
324283 }
325284
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+
326332 static string ParseCategoryFrom ( string name )
327333 {
328334 var len = name . IndexOf ( ' ' ) ;
0 commit comments