From bbfa76945a5a1f724d5475611469b7b312dcdbe5 Mon Sep 17 00:00:00 2001 From: Ednunp <29843396+Ednunp@users.noreply.github.com> Date: Tue, 7 Jul 2026 20:20:31 +0100 Subject: [PATCH] Recording settings: open focused on the first checkbox, not the option columns The dialog set sourceList.TabIndex=0, so it grabbed initial focus and the user landed partway down, past the two new toggles. Put the toggles first in tab order (and ordered the containers, so the top row precedes the grid), and force focus to the split-tracks checkbox on show. Held for next release. Co-Authored-By: Claude Opus 4.8 --- src/RemSound.App/RecordingSettingsDialog.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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