feat: pagination, back/forward nav, context menu, artist fav, image fix
**Artist portrait**
- Fix CDN URL: images.portrait.{hash,format} →
https://static.qobuz.com/images/artists/covers/large/{hash}.{format}
**Section alignment**
- Qt::ToolButtonTextOnly on all section toggles so text is truly left-aligned
**Auth 401 race condition**
- qobuz_backend_set_token now uses blocking_lock() instead of spawning an
async task, guaranteeing the token is set before any subsequent API call
**Pagination (infinite scroll)**
- Release sections load 50 at a time (was 500)
- ArtistSection tracks has_more + loaded count; scrolling to the bottom
emits loadMoreRequested → ArtistView calls getArtistReleases(offset=N)
- AlbumListView gains addAlbums() for append; setReleases routes to
setAlbums (offset=0) or appendAlbums (offset>0)
**Back/Forward navigation**
- MainToolBar exposes Back/Forward QActions (go-previous/go-next icons)
- MainWindow keeps a NavPage vector + index; pushNav() on every album/artist
navigation; goBack/goForward re-navigate without pushing history
**Context menu on now-playing label**
- Right-click on track label in toolbar → "Go to Album" / "Go to Artist"
- MainToolBar stores current track; emits albumRequested/artistRequested
signals wired to MainWindow's existing handlers
**Artist favourites button**
- ♡ Favourite / ♥ Favourited toggle in artist header
- Calls new addFavArtist / removeFavArtist (Rust + Qt backend wiring)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
22
build-viz/CMakeFiles/rust_backend.dir/DependInfo.cmake
Normal file
22
build-viz/CMakeFiles/rust_backend.dir/DependInfo.cmake
Normal file
@@ -0,0 +1,22 @@
|
||||
|
||||
# Consider dependencies only in project.
|
||||
set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
|
||||
|
||||
# The set of languages for which implicit dependencies are needed:
|
||||
set(CMAKE_DEPENDS_LANGUAGES
|
||||
)
|
||||
|
||||
# The set of dependency files which are needed:
|
||||
set(CMAKE_DEPENDS_DEPENDENCY_FILES
|
||||
)
|
||||
|
||||
# Targets to which this target links which contain Fortran sources.
|
||||
set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
|
||||
)
|
||||
|
||||
# Targets to which this target links which contain Fortran sources.
|
||||
set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES
|
||||
)
|
||||
|
||||
# Fortran module output directory.
|
||||
set(CMAKE_Fortran_TARGET_MODULE_DIR "")
|
||||
91
build-viz/CMakeFiles/rust_backend.dir/build.make
Normal file
91
build-viz/CMakeFiles/rust_backend.dir/build.make
Normal file
@@ -0,0 +1,91 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 4.2
|
||||
|
||||
# Delete rule output on recipe failure.
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/joren/dev/qobuz-qt
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/joren/dev/qobuz-qt/build-viz
|
||||
|
||||
# Utility rule file for rust_backend.
|
||||
|
||||
# Include any custom commands dependencies for this target.
|
||||
include CMakeFiles/rust_backend.dir/compiler_depend.make
|
||||
|
||||
# Include the progress variables for this target.
|
||||
include CMakeFiles/rust_backend.dir/progress.make
|
||||
|
||||
CMakeFiles/rust_backend:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/joren/dev/qobuz-qt/build-viz/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building Rust backend (cargo debug)"
|
||||
cd /home/joren/dev/qobuz-qt && cargo build --manifest-path /home/joren/dev/qobuz-qt/Cargo.toml
|
||||
|
||||
CMakeFiles/rust_backend.dir/codegen:
|
||||
.PHONY : CMakeFiles/rust_backend.dir/codegen
|
||||
|
||||
rust_backend: CMakeFiles/rust_backend
|
||||
rust_backend: CMakeFiles/rust_backend.dir/build.make
|
||||
.PHONY : rust_backend
|
||||
|
||||
# Rule to build all files generated by this target.
|
||||
CMakeFiles/rust_backend.dir/build: rust_backend
|
||||
.PHONY : CMakeFiles/rust_backend.dir/build
|
||||
|
||||
CMakeFiles/rust_backend.dir/clean:
|
||||
$(CMAKE_COMMAND) -P CMakeFiles/rust_backend.dir/cmake_clean.cmake
|
||||
.PHONY : CMakeFiles/rust_backend.dir/clean
|
||||
|
||||
CMakeFiles/rust_backend.dir/depend:
|
||||
cd /home/joren/dev/qobuz-qt/build-viz && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/joren/dev/qobuz-qt /home/joren/dev/qobuz-qt /home/joren/dev/qobuz-qt/build-viz /home/joren/dev/qobuz-qt/build-viz /home/joren/dev/qobuz-qt/build-viz/CMakeFiles/rust_backend.dir/DependInfo.cmake "--color=$(COLOR)" rust_backend
|
||||
.PHONY : CMakeFiles/rust_backend.dir/depend
|
||||
|
||||
9
build-viz/CMakeFiles/rust_backend.dir/cmake_clean.cmake
Normal file
9
build-viz/CMakeFiles/rust_backend.dir/cmake_clean.cmake
Normal file
@@ -0,0 +1,9 @@
|
||||
file(REMOVE_RECURSE
|
||||
"/home/joren/dev/qobuz-qt/target/debug/libqobuz_backend.a"
|
||||
"CMakeFiles/rust_backend"
|
||||
)
|
||||
|
||||
# Per-language clean rules from dependency scanning.
|
||||
foreach(lang )
|
||||
include(CMakeFiles/rust_backend.dir/cmake_clean_${lang}.cmake OPTIONAL)
|
||||
endforeach()
|
||||
@@ -0,0 +1,2 @@
|
||||
# Empty custom commands generated dependencies file for rust_backend.
|
||||
# This may be replaced when dependencies are built.
|
||||
2
build-viz/CMakeFiles/rust_backend.dir/compiler_depend.ts
Normal file
2
build-viz/CMakeFiles/rust_backend.dir/compiler_depend.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Timestamp file for custom commands dependencies management for rust_backend.
|
||||
2
build-viz/CMakeFiles/rust_backend.dir/progress.make
Normal file
2
build-viz/CMakeFiles/rust_backend.dir/progress.make
Normal file
@@ -0,0 +1,2 @@
|
||||
CMAKE_PROGRESS_1 = 21
|
||||
|
||||
Reference in New Issue
Block a user