fix(qbz-qt): local context menus, collapsing search fields, toolbar density
Four things the owner hit in Local Library. The context menu did nothing there — local rows and cards now mount the shared menu the rest of the app uses, with the action set Slint gives local and Plex items. Anything with no seam in this port (add-to-playlist, add-to-mixtape, the tag editor, local favourites) is hidden or visibly disabled rather than a row that silently does nothing. The per-view search fields did not open and collapse the way the header's does. That behaviour moved into the shared QbzLineEdit, so the Local toolbar, the queue and the tree rail all get it from one place instead of four copies. The queue's field also escaped its 300px column; it is width-bound now. Filter, sorting and grouping become icon-only buttons with an explanatory tooltip, which is what the owner asked for and what the crowding called for. Found on the way, and affecting Qobuz cards too: the album card's ⋯ menu had no "Play later" at all, and its "Add to queue" row dispatched play-later — the row lied about what it did. Both fixed, with Slint's icon set for the three. cc
This commit is contained in:
15 files changed
+784
-219
No files matched your search
@@ -216,7 +216,8 @@ Rectangle {
|
||||
var m = [
|
||||
{ "label": QbzSession.tr("Open album", QbzSession.trRev), "icon": "library-big", "action": "open" },
|
||||
{ "label": QbzSession.tr("Play", QbzSession.trRev), "icon": "play-fill", "action": "play" },
|
||||
{ "label": QbzSession.tr("Play next", QbzSession.trRev), "icon": "list-plus", "action": "next" },
|
||||
{ "label": QbzSession.tr("Play next", QbzSession.trRev), "icon": "list-start", "action": "next" },
|
||||
{ "label": QbzSession.tr("Play later", QbzSession.trRev), "icon": "list-plus", "action": "later" },
|
||||
{ "label": QbzSession.tr("Add to queue", QbzSession.trRev), "icon": "list-end", "action": "queue" },
|
||||
]
|
||||
if (!root.localMode) {
|
||||
@@ -264,13 +265,15 @@ Rectangle {
|
||||
if (a === "open") root.openRequested()
|
||||
else if (a === "play") root.playRequested()
|
||||
else if (a === "next") root.enqueueRequested("next")
|
||||
else if (a === "queue") root.enqueueRequested("later")
|
||||
else if (a === "later") root.enqueueRequested("later")
|
||||
else if (a === "queue") root.enqueueRequested("queue")
|
||||
return
|
||||
}
|
||||
if (a === "open") QbzAlbum.openAlbum(root.albumId)
|
||||
else if (a === "play") QbzPlayer.playAlbum(root.albumId)
|
||||
else if (a === "next") QbzPlayer.enqueueAlbum(root.albumId, "next")
|
||||
else if (a === "queue") QbzPlayer.enqueueAlbum(root.albumId, "later")
|
||||
else if (a === "later") QbzPlayer.enqueueAlbum(root.albumId, "later")
|
||||
else if (a === "queue") QbzPlayer.enqueueAlbum(root.albumId, "queue")
|
||||
else if (a === "favorite") root.toggleFavorite()
|
||||
// "block" (no blacklist store): inert —
|
||||
// POC-NOTE.
|
||||
|
||||
Reference in new issue
Block a user