diff --git a/src/RemSound.App/RecordingSettingsDialog.cs b/src/RemSound.App/RecordingSettingsDialog.cs index f2692ec..af14ad9 100644 --- a/src/RemSound.App/RecordingSettingsDialog.cs +++ b/src/RemSound.App/RecordingSettingsDialog.cs @@ -306,6 +306,14 @@ internal sealed class RecordingSettingsDialog : Form // sits between attributes and channels in tab order so the Alt+L mnemonic and Tab // both land there when it's visible; when hidden it's still in tab order but // skipped because Visible=false controls aren't focusable. + // The two toggles (top of the dialog) come first in tab order, then the option columns, then + // the buttons. The CONTAINERS are ordered too — without this the grid's controls (sourceList) + // sat first and grabbed initial focus, landing the user partway down, past the checkboxes. + optionsRow.TabIndex = 0; + grid.TabIndex = 1; + buttonRow.TabIndex = 2; + splitTracksBox.TabIndex = 0; + bypassShapingBox.TabIndex = 1; sourceList.TabIndex = 0; formatList.TabIndex = 1; attributesList.TabIndex = 2; @@ -315,6 +323,13 @@ internal sealed class RecordingSettingsDialog : Form cancelButton.TabIndex = 6; } + protected override void OnShown(EventArgs e) + { + base.OnShown(e); + // Land on the first checkbox at the top, not partway down on the option columns. + splitTracksBox.Focus(); + } + /// Show or hide the FLAC compression column based on the current file-format /// selection. Driven from the formatList change handler and once at dialog open. /// When hidden, the column's ColumnStyle width is set to 0% and the other four columns