fix(myqbz): detail row ⋯ menu was unclickable — open-item TouchArea sat on top
The DetailRow had a full-row `row-ta` TouchArea (clicked -> open the item/album) declared AFTER the cell layout. In Slint a later-declared element paints ON TOP, so row-ta was frontmost over the whole row and captured every click -- including the ⋯ button -- so the menu never opened and the row just opened the album. Moved row-ta to be declared BEFORE the cell HorizontalLayout, so it sits behind the per-cell TouchAreas (checkbox / play / title / subtitle / ⋯) and only catches the empty gaps. The ⋯ menu (and the play overlay / title) now receive their clicks. cc
This commit is contained in:
1 file changed
+16
-12
@@ -200,6 +200,22 @@ component DetailRow inherits Rectangle {
|
||||
background: #ffffff0a;
|
||||
}
|
||||
|
||||
// Row click (open the item) — declared BEFORE the cell layout so it sits
|
||||
// BEHIND the per-cell TouchAreas (checkbox / play / title / subtitle / ⋯).
|
||||
// In Slint a later-declared element paints ON TOP, so the cell TouchAreas
|
||||
// below capture their own clicks and row-ta only catches the gaps. (It used
|
||||
// to be declared LAST — frontmost — which ate every click incl. the ⋯ button,
|
||||
// so the menu never opened and the whole row just opened the album.)
|
||||
row-ta := TouchArea {
|
||||
clicked => {
|
||||
if (root.select-mode) {
|
||||
MyQbzDetailActions.toggle-item-select(root.item.position);
|
||||
} else {
|
||||
MyQbzDetailActions.open-item(root.item.source, root.item.item-type, root.item.source-item-id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HorizontalLayout {
|
||||
padding-left: 12px;
|
||||
padding-right: 12px;
|
||||
@@ -468,18 +484,6 @@ component DetailRow inherits Rectangle {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Row click (outside the interactive cells) — open the item.
|
||||
row-ta := TouchArea {
|
||||
// Sits below the cell TouchAreas (title/subtitle/play/menu/checkbox).
|
||||
clicked => {
|
||||
if (root.select-mode) {
|
||||
MyQbzDetailActions.toggle-item-select(root.item.position);
|
||||
} else {
|
||||
MyQbzDetailActions.open-item(root.item.source, root.item.item-type, root.item.source-item-id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// --- One GRID card (spec 12 §7) -----------------------------------------
|
||||
|
||||
Reference in new issue
Block a user