fix(nosignal): square the OSD (volume/brightness) to match the design

The volume/brightness OSD popped out as a rounded caelestia blob in the dynamic
surface colour. Square it + match the design glass:
- osd/Content: draw a flat square Theme.panelBg + 1px border background.
- ContentWindow: osdBg blob deformAmount 0 + radius 0 + opacity 0 (hidden;
  the OSD now owns its background).
- FilledSlider: track + handle radius -> 0 (Tokens.rounding.full ignored
  rounding.scale, so it stayed round).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
28allday 2026-06-14 11:54:35 +01:00
parent 16de3f16fe
commit dcce2440f6
3 changed files with 14 additions and 3 deletions

View file

@ -16,7 +16,7 @@ Slider {
background: StyledRect { background: StyledRect {
color: Colours.layer(Colours.palette.m3surfaceContainer, 2) color: Colours.layer(Colours.palette.m3surfaceContainer, 2)
radius: Tokens.rounding.full radius: 0
StyledRect { StyledRect {
anchors.left: parent.left anchors.left: parent.left
@ -51,7 +51,7 @@ Slider {
anchors.fill: parent anchors.fill: parent
color: Colours.palette.m3inverseSurface color: Colours.palette.m3inverseSurface
radius: Tokens.rounding.full radius: 0
MouseArea { MouseArea {
id: handleInteraction id: handleInteraction

View file

@ -198,7 +198,9 @@ StyledWindow {
id: osdBg id: osdBg
panel: panels.osdWrapper panel: panels.osdWrapper
deformAmount: 0.25 deformAmount: 0 // NoSignal: square OSD (no organic blob deformation)
radius: 0
opacity: 0 // NoSignal: OSD draws its own flat square glass bg (osd/Content)
x: panels.osdWrapper.x + panels.osd.x + root.borderThickness x: panels.osdWrapper.x + panels.osd.x + root.borderThickness
implicitWidth: panels.osd.width implicitWidth: panels.osd.width
} }

View file

@ -24,6 +24,15 @@ Item {
implicitWidth: layout.implicitWidth + Tokens.padding.large + layout.anchors.horizontalCenterOffset * 2 implicitWidth: layout.implicitWidth + Tokens.padding.large + layout.anchors.horizontalCenterOffset * 2
implicitHeight: layout.implicitHeight + Tokens.padding.large * 2 implicitHeight: layout.implicitHeight + Tokens.padding.large * 2
// NoSignal: flat square glass background matching the design popouts
Rectangle {
anchors.fill: parent
color: Theme.panelBg
radius: 0
border.width: 1
border.color: Theme.panelBorder
}
ColumnLayout { ColumnLayout {
id: layout id: layout