fix(qt): polish purchases queue and search loading

cx
This commit is contained in:
vicrodh committed 2026-09-05 14:39:07 -06:00
1 parent 9cbe58c7d8
commit 93ba7584b0
28 files changed
+715 -143

No files matched your search

+24
View File
@@ -38,6 +38,9 @@ Item {
/// Width clamp (Slint: the VerticalLayout's max-width at the call site).
property int maxWidth: 150
/// AppShell's shared topmost tooltip. The Small/Large desktop bars pass it
/// through so the bubble is outside every clipped player-bar subtree.
property Item tooltipHost: null
// Manual tier label: hires→HI-RES, mp3→MP3, lossless→LOSSLESS, else→CD.
readonly property string tierLabel: QbzPlayer.npQualityTier === "hires" ? "HI-RES"
@@ -132,20 +135,41 @@ Item {
spacing: 5
Text {
id: backendLed
text: QbzPlayer.npOutputBackendLabel
font.pixelSize: 7
font.weight: Font.Bold
color: QbzPlayer.npOutputBackendActive ? "#5b8def" : theme.textMuted
elide: Text.ElideRight
anchors.verticalCenter: parent.verticalCenter
MouseArea {
anchors.fill: parent
hoverEnabled: true
onContainsMouseChanged: {
if (root.tooltipHost)
root.tooltipHost.hover(containsMouse, backendLed,
"npb-backend", QbzPlayer.npOutputBackendTooltip)
}
}
}
Text {
id: modeLed
text: QbzPlayer.npOutputModeLabel
font.pixelSize: 7
font.weight: Font.Bold
color: QbzPlayer.npOutputModeActive ? "#3fae6a" : theme.textMuted
elide: Text.ElideRight
anchors.verticalCenter: parent.verticalCenter
MouseArea {
anchors.fill: parent
hoverEnabled: true
onContainsMouseChanged: {
if (root.tooltipHost)
root.tooltipHost.hover(containsMouse, modeLed,
"npb-output-mode",
QbzSession.tr("Output mode", QbzSession.trRev))
}
}
}
}
@@ -463,6 +463,7 @@ Rectangle {
AudioStamp {
visible: QbzPlayer.npHasTrack
anchors.verticalCenter: parent.verticalCenter
tooltipHost: root.tooltip
maxWidth: (QbzPlayer.npIsRemote && QbzPlayer.npCastTarget !== "")
? 280 : 150
}
+3
View File
@@ -448,6 +448,7 @@ Rectangle {
anchors.verticalCenter: parent.verticalCenter
showArt: !root.largeActive
showBadges: !root.largeActive
tooltip: root.tooltip
onTrackInfoRequested: root.openTrackInfo()
}
// Classic: transport cluster hugging the left edge (plain
@@ -512,6 +513,7 @@ Rectangle {
AudioStamp {
visible: root.largeActive && QbzPlayer.npHasTrack
maxWidth: 140
tooltipHost: root.tooltip
anchors.verticalCenter: parent.verticalCenter
}
Item { visible: root.largeActive; width: 12; height: 1 }
@@ -687,6 +689,7 @@ Rectangle {
x: controlsLayout.classicTransportRight
+ (availableWidth - width) / 2
anchors.verticalCenter: parent.verticalCenter
tooltip: root.tooltip
onTrackInfoRequested: root.openTrackInfo()
}
}
+3
View File
@@ -45,6 +45,8 @@ Rectangle {
// Small bar: title+meta as a TIGHT centred group instead of the
// full-height, space-distributed column.
property bool textCenter: false
/// AppShell's shared topmost tooltip, forwarded to the in-card stamp.
property Item tooltip: null
// Furniture is admitted by intrinsic fit, not by a window breakpoint.
// When a host becomes genuinely narrow, metadata keeps the runway and the
@@ -383,6 +385,7 @@ Rectangle {
SongCardStamp {
id: stamp
tooltipHost: root.tooltip
visible: root.showBadges && root.stampFits && QbzPlayer.npHasTrack
anchors.right: parent.right
// Classic (glass) insets the stamp by pad + stamp-right-margin
+11 -2
View File
@@ -33,6 +33,10 @@ Column {
spacing: 4
width: 128
// AppShell's single topmost QbzTooltip. Desktop NPB modes pass it through
// SongCard so long device labels are measured by the shared bubble and
// cannot be clipped by the player bar.
property Item tooltipHost: null
// SongCard.slint's show-delivered / quality-cause-line /
// quality-stamp-tooltip, verbatim.
@@ -165,12 +169,17 @@ Column {
id: ledHover
anchors.fill: parent
hoverEnabled: true
onContainsMouseChanged: {
if (root.tooltipHost && led.tooltip !== "")
root.tooltipHost.hover(containsMouse, led,
"npb-led-" + led.label, led.tooltip)
}
}
// Bubble geometry: see Tip below — same numbers, read off
// shell/TooltipOverlay.slint.
ToolTip {
id: ledTip
visible: ledHover.containsMouse && led.tooltip !== ""
visible: !root.tooltipHost && ledHover.containsMouse && led.tooltip !== ""
text: led.tooltip
delay: 0
timeout: -1
@@ -328,7 +337,7 @@ Column {
label: QbzPlayer.npOutputBackendLabel
on: QbzPlayer.npOutputBackendActive
litColor: "#5b8def"
tooltip: QbzSession.tr("Audio backend", QbzSession.trRev)
tooltip: QbzPlayer.npOutputBackendTooltip
anchors.verticalCenter: parent.verticalCenter
}
DotLed {