Testing-feedback fixes: tab order, label wording, parametric editing, recording default

* Connectivity tab order: Add peer by IP now sits right after Rename peer (before the Discovered
   list), grouped with the connected-peer actions, per Ed's requested order. Dropped the second
   section header (only the lock toggle was under it).
 * Audio I/O labels: "Set volume for all received audio" → "Master volume for received audio" (the
   code never got this rename, only the manual had). Device lists now say "audio": "...for received
   audio" and "WASAPI/ASIO audio inputs/outputs to send". Labels + AccessibleNames updated together.
 * Add EQ band dialog: the spin/edit boxes now select-all on focus, so a typed value REPLACES what's
   there instead of being inserted next to it and reverting (typing 2.5 over 4.0 now works).
 * Parametric bands list: Left/Right arrow nudge the selected band's gain by half a dB, live —
   up/down still move between bands. NVDA re-reads the band's new dB.
 * Recording settings: source list reordered to Both (top, now the default) / Received / Sent;
   display order decoupled from the RecordingSource enum. Default RecordingSettings.Source = Both.
 * Preferences: Colour theme is now first in the General tab order.

Manual updated. Build clean; --selftest passes; deployed to both test folders. Held for next release.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Ednunp
2026-07-08 11:36:02 +01:00
co-authored by Claude Opus 4.8
parent 90a1ab3257
commit e35f2f318a
14 changed files with 339 additions and 101 deletions
+13 -2
View File
@@ -68,8 +68,19 @@ internal sealed class EqCurveControl : Panel
pts[x] = new PointF(x, y);
}
using var curvePen = new Pen(dark ? Color.FromArgb(90, 200, 255) : Color.FromArgb(0, 120, 200), 2f);
if (w >= 2) g.DrawLines(curvePen, pts);
Color curveColor = dark ? Color.FromArgb(90, 200, 255) : Color.FromArgb(0, 120, 200);
if (w >= 2)
{
// Soft translucent fill between the curve and the 0 dB line, then the line on top.
var fill = new PointF[pts.Length + 2];
Array.Copy(pts, fill, pts.Length);
fill[^2] = new PointF(w - 1, midY);
fill[^1] = new PointF(0, midY);
using (var fillBrush = new SolidBrush(Color.FromArgb(38, curveColor)))
g.FillPolygon(fillBrush, fill);
using var curvePen = new Pen(curveColor, 2f);
g.DrawLines(curvePen, pts);
}
}
/// <summary>Approximate combined EQ response in dB at one frequency. Cosmetic only — analytic bell /