feat: most-popular search as default Top Results tab

Add /most-popular/get endpoint support (discovered via Burp):
- Returns mixed artists/albums/tracks ordered by popularity for a query
- New 'Top Results' tab shown first/default in the search panel
- Badge column: A (artist, blue), H (hi-res album, gold), A (album, gray), T (track, green)
- Full context menu support on all item types in the new tab
- Both most-popular and regular search fire on submit in parallel

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
joren
2026-03-30 20:28:13 +02:00
parent 70810bd4b1
commit 200ef39d04
7 changed files with 216 additions and 10 deletions

View File

@@ -51,6 +51,11 @@ void QobuzBackend::search(const QString &query, quint32 offset, quint32 limit)
qobuz_backend_search(m_backend, query.toUtf8().constData(), offset, limit);
}
void QobuzBackend::mostPopularSearch(const QString &query, quint32 limit)
{
qobuz_backend_most_popular_search(m_backend, query.toUtf8().constData(), limit);
}
void QobuzBackend::getAlbum(const QString &albumId)
{
qobuz_backend_get_album(m_backend, albumId.toUtf8().constData());
@@ -241,6 +246,9 @@ void QobuzBackend::onEvent(int eventType, const QString &json)
case EV_SEARCH_OK:
emit searchResult(obj);
break;
case 26: // EV_MOST_POPULAR_OK
emit mostPopularResult(obj);
break;
case EV_SEARCH_ERR:
emit error(obj["error"].toString());
break;