feat(qt): dim the unsung part of the immersive karaoke line

LyricsLineRow gains inactiveColor (default theme.textSecondary, so the
desktop lyrics panel is unchanged) and LyricsLinesView forwards it. The
immersive lyric surfaces pass 35% white: their active overlay is solid
white and the theme's textSecondary base was barely dimmer, so the timed
karaoke fill read as static text.

cc
This commit is contained in:
vicrodh committed 2026-08-31 15:03:00 -06:00
1 parent ea02cc2383
commit 68eeb10173
4 files changed
+16 -2

No files matched your search

+6 -1
View File
@@ -54,6 +54,11 @@ Column {
property bool uppercase: false
property string fontFamily: ""
property color activeColor: theme.accent
// The UNSUNG part of the active karaoke line. The default follows the
// theme; immersive hosts override it with a decisively dimmer white —
// theme.textSecondary is near-white there, so the timed fill was barely
// distinguishable from the sung overlay (2026-08-31 visual cleanup).
property color inactiveColor: theme.textSecondary
// Lite fill: light the active line whole, no per-frame clip sweep.
property bool liteFill: false
property bool showTranslation: false
@@ -216,7 +221,7 @@ Column {
id: segBase
text: seg.modelData.text
wrapMode: Text.NoWrap
color: theme.textSecondary
color: row.inactiveColor
font.family: row.effFamily
font.pixelSize: row.sizeActive
font.weight: theme.weightBold
@@ -51,6 +51,8 @@ Item {
// 0 System · 1 LINE Seed JP · 2 Montserrat · 3 Noto Sans · 4 Source Sans 3
property int fontIndex: 0
property color activeColor: theme.accent
// Unsung part of the active karaoke line (see LyricsLineRow.qml).
property color inactiveColor: theme.textSecondary
property bool liteFill: false
// Seek request from a line click (the host decides whether to honour it).
@@ -194,6 +196,7 @@ Item {
uppercase: view.uppercase
fontFamily: view.fontFamily
activeColor: view.activeColor
inactiveColor: view.inactiveColor
liteFill: view.liteFill
showTranslation: view.showTranslation
}