refactor: resync with qbqt baseline and restore genre browser
Some checks failed
Build for Windows / build-windows (push) Has been cancelled

This commit is contained in:
joren
2026-03-30 22:36:39 +02:00
parent 200ef39d04
commit 3346b424b3
26 changed files with 8533 additions and 446 deletions

View File

@@ -20,6 +20,7 @@ enum NodeType {
NodeFavAlbums,
NodeFavArtists,
NodePlaylist,
NodeBrowseGenres,
};
Library::Library(QobuzBackend *backend, QWidget *parent)
@@ -71,6 +72,13 @@ void Library::buildStaticNodes()
// Playlists
m_playlistsNode = new QTreeWidgetItem(this, QStringList{tr("Playlists")});
m_playlistsNode->setExpanded(true);
// Browse
m_browseNode = new QTreeWidgetItem(this, QStringList{tr("Browse")});
m_browseNode->setExpanded(true);
auto *genresItem = new QTreeWidgetItem(m_browseNode, QStringList{tr("Genres")});
genresItem->setData(0, TypeRole, NodeBrowseGenres);
}
void Library::refresh()
@@ -167,6 +175,7 @@ void Library::onItemClicked(QTreeWidgetItem *item, int)
case NodeFavTracks: emit favTracksRequested(); break;
case NodeFavAlbums: emit favAlbumsRequested(); break;
case NodeFavArtists: emit favArtistsRequested(); break;
case NodeBrowseGenres: emit browseGenresRequested(); break;
case NodePlaylist: {
const qint64 id = item->data(0, IdRole).toLongLong();
const QString name = item->data(0, NameRole).toString();

View File

@@ -26,6 +26,7 @@ namespace List
void favTracksRequested();
void favAlbumsRequested();
void favArtistsRequested();
void browseGenresRequested();
void playlistRequested(qint64 playlistId, const QString &name);
/// Emitted after playlists are loaded so others can cache the list.
void userPlaylistsChanged(const QVector<QPair<qint64, QString>> &playlists);
@@ -43,6 +44,7 @@ namespace List
QTreeWidgetItem *m_myLibNode = nullptr;
QTreeWidgetItem *m_playlistsNode = nullptr;
QTreeWidgetItem *m_browseNode = nullptr;
qint64 m_openPlaylistId = 0;
void buildStaticNodes();