feat: album/playlist header and playlist ownership filtering
- Add TrackContextHeader widget: shows album art (fetched via NAM), title, subtitle (artist/description), and metadata (year · tracks · duration) above the track list when an album or playlist is opened - Hide header for favorite tracks and search results - Store user ID in AppSettings on login - Only show "Delete playlist" for playlists the user owns - "Add to playlist" submenu only lists owned playlists - "Remove from this playlist" only appears when viewing an owned playlist Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -29,7 +29,8 @@ namespace List
|
||||
void setPlayingTrackId(qint64 id);
|
||||
|
||||
/// Set which playlist is currently displayed (0 = none).
|
||||
void setPlaylistContext(qint64 playlistId);
|
||||
/// isOwned controls whether "Remove from this playlist" is shown.
|
||||
void setPlaylistContext(qint64 playlistId, bool isOwned = false);
|
||||
qint64 playlistId() const { return m_playlistId; }
|
||||
/// Provide the user's playlist list for the "Add to playlist" submenu.
|
||||
void setUserPlaylists(const QVector<QPair<qint64, QString>> &playlists);
|
||||
@@ -44,6 +45,7 @@ namespace List
|
||||
QobuzBackend *m_backend = nullptr;
|
||||
PlayQueue *m_queue = nullptr;
|
||||
qint64 m_playlistId = 0;
|
||||
bool m_playlistIsOwned = false;
|
||||
QVector<QPair<qint64, QString>> m_userPlaylists;
|
||||
|
||||
void onDoubleClicked(const QModelIndex &index);
|
||||
|
||||
Reference in New Issue
Block a user