fix(qt): correct playback commands and library browsing

Handle explicit MPRIS Play/Pause without toggling paused playback, remove the 10,000-favorite cutoff, and sort albums by original release dates. Isolate Library filters by tab, include purchased release dates, and support server-ranked artist popularity with safe pagination.

Validated with 766 Qt tests, QML checks, release-sort regressions, and a release build. Refs #750, #751.

cx
This commit is contained in:
vicrodh committed 2026-09-08 18:27:51 -06:00
1 parent 09d640138c
commit 0b6b111c74
30 files changed
+1176 -315

No files matched your search

@@ -555,6 +555,8 @@ Item {
{ "value": "off", "label": QbzSession.tr("Group: Off", QbzSession.trRev) },
{ "value": "alpha", "label": QbzSession.tr("Group: A-Z", QbzSession.trRev) },
{ "value": "artist", "label": QbzSession.tr("Group: Artist", QbzSession.trRev) },
{ "value": "year", "label": QbzSession.tr("Group: Year", QbzSession.trRev) },
{ "value": "decade", "label": QbzSession.tr("Group: Decade", QbzSession.trRev) },
]
onPicked: function (v) { root.view.setPref("albumsGroup", v) }
}
@@ -591,6 +593,8 @@ Item {
root.view.albumsSort === "title-asc" ? QbzSession.tr("Title A-Z", QbzSession.trRev)
: root.view.albumsSort === "title-desc" ? QbzSession.tr("Title Z-A", QbzSession.trRev)
: root.view.albumsSort === "artist-asc" ? QbzSession.tr("Artist A-Z", QbzSession.trRev)
: root.view.albumsSort === "newest" ? QbzSession.tr("Newest", QbzSession.trRev)
: root.view.albumsSort === "oldest" ? QbzSession.tr("Oldest", QbzSession.trRev)
: QbzSession.tr("Default", QbzSession.trRev))
color: theme.textSecondary
font.pixelSize: 12
@@ -610,6 +614,8 @@ Item {
Repeater {
model: [
{ "value": "default", "label": QbzSession.tr("Default", QbzSession.trRev) },
{ "value": "newest", "label": QbzSession.tr("Newest", QbzSession.trRev) },
{ "value": "oldest", "label": QbzSession.tr("Oldest", QbzSession.trRev) },
{ "value": "title-asc", "label": QbzSession.tr("Title A-Z", QbzSession.trRev) },
{ "value": "title-desc", "label": QbzSession.tr("Title Z-A", QbzSession.trRev) },
{ "value": "artist-asc", "label": QbzSession.tr("Artist A-Z", QbzSession.trRev) },