fix(qt): polish purchases queue and search loading
cx
This commit is contained in:
28 files changed
+715
-143
No files matched your search
@@ -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
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in new issue
Block a user