Preferences: four accessible tabs (General / Audio cues / Startup behaviour / Update settings)

The Preferences dialog is now a QuietTabControl with four tabs (same accessible tab approach as
the main window; Ctrl+Tab / arrows switch tabs):

- General: profiles-folder browse, accept-remote-volume, UPnP, enable logs / write logs now.
- Audio cues: the redesigned cue UI (plain cue list + "(none)" sound option) + keyboard clicks.
- Startup behaviour: Start minimised / Start with Windows / Start with a specific profile -
  moved here from the standalone Options-menu dialog, wiring and persistence unchanged (AppConfig
  + the Windows auto-start registry entry).
- Update settings: startup-check, frequency, check-now, silent-install, show-what's-new.

Removed the Options-menu "Startup behaviour" item and deleted the now-unused
StartupBehaviourDialog.cs (and dropped it from the self-test's accessibility audit). The audit
still passes on the tabbed dialog with no mnemonic clashes (Alt-letters are isolated per tab).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Ednunp
2026-06-13 06:39:57 +01:00
co-authored by Claude Opus 4.8
parent 0bd3ef0018
commit 75e7432fcb
4 changed files with 197 additions and 355 deletions
+2 -12
View File
@@ -1604,17 +1604,8 @@ public sealed class MainForm : Form
};
keyboardItem.Click += (_, _) => hotkeyController.ShowKeyboardShortcutsDialog(this);
var startupBehaviourItem = new ToolStripMenuItem("S&tartup behaviour...")
{
AccessibleName = "Startup behaviour",
};
startupBehaviourItem.Click += (_, _) =>
{
using var dialog = new StartupBehaviourDialog(profileStore);
dialog.ShowDialog(this);
// Startup-behaviour state persists through AppConfig / registry directly. No
// profile-dirty flag involved here — none of these settings live on Profile.
};
// Startup behaviour moved into the Preferences dialog (its own tab) on 2026-06-13; the
// Options-menu item and the standalone StartupBehaviourDialog are retired.
var prefsItem = new ToolStripMenuItem("&Preferences...")
{
@@ -1648,7 +1639,6 @@ public sealed class MainForm : Form
{
recordingSettingsItem,
keyboardItem,
startupBehaviourItem,
profilePasswordsItem,
};
if (realtekToggle is not null) optionItems.Add(realtekToggle);