feat(qt): the player bar keeps the content pane's gutter on every mode, wider on macOS

Every now-playing bar (New / Classic / Large / Small) is inset by the same
8 px the content pane keeps to its frame — left, right and bottom — behind
a frame-tier backdrop, so the bar's ends line up with the pane's, nothing
in it touches the window edge, and the gutter reads as one continuous
frame with the sidebar rather than a band of raw background. The Large
cover dock lifts with the bar. On macOS the gutter is 16 px: Tahoe's
Liquid Glass windows round their corners far more than before (larger
still around a toolbar) and clip whatever sits inside the curve — the
cover at the bar's left end lost its corner — and Qt has no LayoutRegion
to nest content into the curve, so the margin is the fix.

cc
This commit is contained in:
vicrodh committed 2026-09-13 11:37:11 -06:00
1 parent 228a6f12f3
commit 7c71c6bf52
4 files changed
+45 -5

No files matched your search

+3 -2
View File
@@ -102,8 +102,9 @@ Rectangle {
// columns EQUAL so the centre column stays dead centre. The breakpoints
// are the SHARED theme token (QbzTheme.npbSideFrac) — the Small bar reads
// the same one, so the two bars cannot drift apart.
// `root.width` IS the window width: the bar is anchored left-to-right on
// the shell root, exactly like PlayerBar.slint reads its own root.
// `root.width` is the window width minus the two side gutters
// (AppShell `npbGutter`): the bar is anchored left-to-right on the shell
// root, exactly like PlayerBar.slint reads its own root.
property real sideFrac: theme.npbSideFrac(root.width)
property real colSide: isClassic ? 0.324 : sideFrac
property real colCentre: 1.0 - 2.0 * colSide