fix(slint): center search placeholders, fix queue menu trigger

Search placeholders rode at the top of the input because the text
had no height to center within — they now span the box like the
TextInput. The queue row context-menu trigger is always visible with
a proper 32px hit area (matching the album track rows) instead of a
hover-only 24px dot cluster, so a near-miss no longer falls through
to the row and skips the queue.

cc
This commit is contained in:
vicrodh committed 2026-05-19 04:13:12 -06:00
1 parent 3134b83d72
commit fe815318db
2 files changed
+15 -11

No files matched your search

@@ -587,6 +587,10 @@ export component AlbumPageView inherits Rectangle {
Text {
visible: track-search.text == "";
text: @tr("Search tracks...");
// Span the box so the placeholder
// centers like the TextInput text.
width: 100%;
height: 100%;
color: Theme.text-muted;
font-size: 13px;
vertical-alignment: center;
+11 -11
View File
@@ -188,32 +188,30 @@ component QueueRow inherits Rectangle {
}
}
// Duration (hidden on hover when the row is removable, so the
// remove control can take its place).
// Duration.
VerticalLayout {
alignment: center;
Text {
text: root.item.duration;
color: Theme.text-muted;
font-size: 11px;
visible: !(root.removable && ta.has-hover);
}
}
// Context-menu trigger — only on UP NEXT rows, shown on hover.
// Context-menu trigger — UP NEXT rows. Always visible, with a
// proper 32px hit area (matching the album track rows) so a
// near-miss never falls through to the row and skips the queue.
if root.removable: VerticalLayout {
alignment: center;
width: 24px;
visible: ta.has-hover;
menu-btn := Rectangle {
width: 24px;
height: 24px;
width: 32px;
height: 32px;
border-radius: Radius.sm;
background: mta.has-hover ? Theme.surface-hover : transparent;
background: mta.has-hover ? Theme.surface-elevated : transparent;
QbzIcon {
source: @image-url("../assets/icons/ellipsis.svg");
width: 15px;
height: 15px;
width: 16px;
height: 16px;
x: (parent.width - self.width) / 2;
y: (parent.height - self.height) / 2;
tint: mta.has-hover ? Theme.text-primary : Theme.text-muted;
@@ -690,6 +688,8 @@ export component QueueSidebar inherits Rectangle {
Text {
visible: search-input.text == "";
text: @tr("Search queue");
width: 100%;
height: 100%;
color: Theme.text-muted;
font-size: 12px;
vertical-alignment: center;