From b179dd1a5ea67d16ba904396e0dd943bd9acb626 Mon Sep 17 00:00:00 2001 From: Broque Thomas Date: Sun, 27 Jul 2025 01:04:57 -0700 Subject: [PATCH] better --- .spotify_cache | 2 +- logs/app.log | 108 +++++++++++++++++++ ui/pages/__pycache__/artists.cpython-312.pyc | Bin 191396 -> 192013 bytes ui/pages/artists.py | 18 ++-- 4 files changed, 120 insertions(+), 8 deletions(-) diff --git a/.spotify_cache b/.spotify_cache index e7a978e4..78ab4dba 100644 --- a/.spotify_cache +++ b/.spotify_cache @@ -1 +1 @@ -{"access_token": "BQDEDc9LBDOArzg0i6tgJUx2C1sqKxOd8LM85DBFEQeIPK7heQvKoUxRZ-yWeDHO00adHYpnWkB0oCIDPcGq6GcvcF2w4L28X_j3Z6lPfmhuQXWnNBkw5kJHsaBC0rRNefT6pcpM-xDBl3CsVueFgWUA5Xz3Xp_ejf-8B3B09gDkVO5ZdA2aSNdRTo9nP81ZOw0wAqD3pUdqsxAP2RB17-D9ZOKGdE_okBZkZkgSiYQXiUfcguOGwyfsHXjgeQ6P", "token_type": "Bearer", "expires_in": 3600, "scope": "user-library-read user-read-private playlist-read-private playlist-read-collaborative user-read-email", "expires_at": 1753603251, "refresh_token": "AQDmfQkPCGObfJeTUIbW1hAAwhSqkuHRA3Qh2dqVYMRh0eCkFMQgPNJDDzF8y-BiaVbj80zePkK_XSfYH1aJutMtNbnsqRKWuxP31BTrMc7pdUdbE7Fma4oH8wpDUKdG3MM"} \ No newline at end of file +{"access_token": "BQAsGgobM0kzHvY6dRMVDbnD1Hhz6Drv8DQONHalSxnNDqgoaDGvOtRH-yg7PZuVRyvjzu-oueUyWPHCEhRNqqmIzCzDMx3BUJiASfP42YheS76-ttkgRvofNXcYDBoty1UlyjrQCUNJfYiuWnWSGrvJjK2IkexeC4GxsfRJrDG2a7yi0PsiEenwKTNkEsOYlkak9qvD3F4H3TdGIE-FGtiCBNm6OFxQYAgZbmCNd3-How-6kc8UCYZR38ItCr2d", "token_type": "Bearer", "expires_in": 3600, "scope": "user-library-read user-read-private playlist-read-private playlist-read-collaborative user-read-email", "expires_at": 1753606991, "refresh_token": "AQDmfQkPCGObfJeTUIbW1hAAwhSqkuHRA3Qh2dqVYMRh0eCkFMQgPNJDDzF8y-BiaVbj80zePkK_XSfYH1aJutMtNbnsqRKWuxP31BTrMc7pdUdbE7Fma4oH8wpDUKdG3MM"} \ No newline at end of file diff --git a/logs/app.log b/logs/app.log index a2a7b10a..1cced665 100644 --- a/logs/app.log +++ b/logs/app.log @@ -115638,3 +115638,111 @@ 2025-07-27 00:59:10 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='ugly is beautiful shorter thicker uglier deluxe', artist='oliver tree' 2025-07-27 00:59:10 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='ugly is beautiful shorter thicker uglier deluxe', artist='' 2025-07-27 00:59:10 - newmusic.plex_client - DEBUG - search_albums:526 - Found 2 albums matching query: album='Ugly is Beautiful', artist='oliver tree' +2025-07-27 01:00:04 - newmusic.main - INFO - change_page:181 - Changed to page: dashboard +2025-07-27 01:00:08 - newmusic.main - INFO - change_page:181 - Changed to page: sync +2025-07-27 01:00:13 - newmusic.main - INFO - change_page:181 - Changed to page: artists +2025-07-27 01:00:13 - newmusic.main - INFO - change_page:181 - Changed to page: downloads +2025-07-27 01:00:32 - newmusic.main - INFO - change_page:181 - Changed to page: dashboard +2025-07-27 01:00:33 - newmusic.main - INFO - change_page:181 - Changed to page: sync +2025-07-27 01:00:38 - newmusic.main - INFO - change_page:181 - Changed to page: downloads +2025-07-27 01:00:48 - newmusic.soulseek_client - DEBUG - download:645 - Attempting to download: @@pckmp\Music\Kendrick Lamar\2024 - GNX\04 - Kendrick Lamar - GNX - man at the garden.flac from somethin_or_other (size: 46085868) +2025-07-27 01:00:48 - newmusic.soulseek_client - DEBUG - download:658 - Using web interface API format: [{'filename': '@@pckmp\\Music\\Kendrick Lamar\\2024 - GNX\\04 - Kendrick Lamar - GNX - man at the garden.flac', 'size': 46085868, 'path': 'E:/Broque Projects/newMusic/downloads'}] +2025-07-27 01:00:48 - newmusic.soulseek_client - DEBUG - download:662 - Trying web interface endpoint: transfers/downloads/somethin_or_other +2025-07-27 01:00:48 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making POST request to: http://localhost:5030/api/v0/transfers/downloads/somethin_or_other +2025-07-27 01:00:48 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-27 01:00:48 - newmusic.soulseek_client - DEBUG - _make_request:245 - JSON payload: [{'filename': '@@pckmp\\Music\\Kendrick Lamar\\2024 - GNX\\04 - Kendrick Lamar - GNX - man at the garden.flac', 'size': 46085868, 'path': 'E:/Broque Projects/newMusic/downloads'}] +2025-07-27 01:00:49 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 201 +2025-07-27 01:00:49 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: ... +2025-07-27 01:00:49 - newmusic.soulseek_client - INFO - download:667 - [SUCCESS] Started download: @@pckmp\Music\Kendrick Lamar\2024 - GNX\04 - Kendrick Lamar - GNX - man at the garden.flac from somethin_or_other +2025-07-27 01:00:49 - newmusic.soulseek_client - DEBUG - download:677 - No ID in response, using filename as fallback: {} +2025-07-27 01:00:49 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making GET request to: http://localhost:5030/api/v0/transfers/downloads +2025-07-27 01:00:49 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-27 01:00:49 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-27 01:00:49 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: [{"username":"somethin_or_other","directories":[{"directory":"@@pckmp\\Music\\Kendrick Lamar\\2024 - GNX","fileCount":1,"files":[{"id":"5560abf4-6fd4-42b0-8b6f-5654943988cd","username":"somethin_or_other","direction":"Download","filename":"@@pckmp\\Music\\Kendrick Lamar\\2024 - GNX\\04 - Kendrick Lamar - GNX - man at the garden.flac","size":46085868,"startOffset":0,"state":"InProgress","stateDescription":"InProgress","requestedAt":"2025-07-27T08:00:49.2761414","enqueuedAt":"2025-07-27T08:00:49.4... +2025-07-27 01:00:51 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making GET request to: http://localhost:5030/api/v0/transfers/downloads +2025-07-27 01:00:51 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-27 01:00:51 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-27 01:00:51 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: [{"username":"somethin_or_other","directories":[{"directory":"@@pckmp\\Music\\Kendrick Lamar\\2024 - GNX","fileCount":1,"files":[{"id":"5560abf4-6fd4-42b0-8b6f-5654943988cd","username":"somethin_or_other","direction":"Download","filename":"@@pckmp\\Music\\Kendrick Lamar\\2024 - GNX\\04 - Kendrick Lamar - GNX - man at the garden.flac","size":46085868,"startOffset":0,"state":"InProgress","stateDescription":"InProgress","requestedAt":"2025-07-27T08:00:49.2761414","enqueuedAt":"2025-07-27T08:00:49.4... +2025-07-27 01:00:53 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making GET request to: http://localhost:5030/api/v0/transfers/downloads +2025-07-27 01:00:53 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-27 01:00:54 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-27 01:00:54 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: [{"username":"somethin_or_other","directories":[{"directory":"@@pckmp\\Music\\Kendrick Lamar\\2024 - GNX","fileCount":1,"files":[{"id":"5560abf4-6fd4-42b0-8b6f-5654943988cd","username":"somethin_or_other","direction":"Download","filename":"@@pckmp\\Music\\Kendrick Lamar\\2024 - GNX\\04 - Kendrick Lamar - GNX - man at the garden.flac","size":46085868,"startOffset":0,"state":"InProgress","stateDescription":"InProgress","requestedAt":"2025-07-27T08:00:49.2761414","enqueuedAt":"2025-07-27T08:00:49.4... +2025-07-27 01:00:56 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making GET request to: http://localhost:5030/api/v0/transfers/downloads +2025-07-27 01:00:56 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-27 01:00:56 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-27 01:00:56 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: [{"username":"somethin_or_other","directories":[{"directory":"@@pckmp\\Music\\Kendrick Lamar\\2024 - GNX","fileCount":1,"files":[{"id":"5560abf4-6fd4-42b0-8b6f-5654943988cd","username":"somethin_or_other","direction":"Download","filename":"@@pckmp\\Music\\Kendrick Lamar\\2024 - GNX\\04 - Kendrick Lamar - GNX - man at the garden.flac","size":46085868,"startOffset":0,"state":"Completed, Succeeded","stateDescription":"Completed, Succeeded","requestedAt":"2025-07-27T08:00:49.2761414","enqueuedAt":"2... +2025-07-27 01:01:55 - newmusic.main - INFO - change_page:181 - Changed to page: artists +2025-07-27 01:04:21 - newmusic.main - INFO - closeEvent:194 - Closing application... +2025-07-27 01:04:21 - newmusic.main - INFO - closeEvent:199 - Cleaning up Downloads page threads... +2025-07-27 01:04:21 - newmusic.main - INFO - closeEvent:204 - Stopping status monitoring thread... +2025-07-27 01:04:23 - newmusic.main - INFO - closeEvent:209 - Closing Soulseek client... +2025-07-27 01:04:23 - newmusic.main - INFO - closeEvent:215 - Application closed successfully +2025-07-27 01:04:26 - newmusic - INFO - setup_logging:57 - Logging initialized with level: DEBUG +2025-07-27 01:04:26 - newmusic.main - INFO - main:229 - Starting NewMusic application +2025-07-27 01:04:26 - newmusic.spotify_client - INFO - _setup_client:179 - Spotify client initialized (user info will be fetched when needed) +2025-07-27 01:04:26 - newmusic.soulseek_client - INFO - _setup_client:220 - Soulseek client configured with slskd at http://localhost:5030 +2025-07-27 01:04:26 - newmusic.spotify_client - INFO - _setup_client:179 - Spotify client initialized (user info will be fetched when needed) +2025-07-27 01:04:27 - newmusic.spotify_client - INFO - _setup_client:179 - Spotify client initialized (user info will be fetched when needed) +2025-07-27 01:04:27 - newmusic.soulseek_client - INFO - _setup_client:220 - Soulseek client configured with slskd at http://localhost:5030 +2025-07-27 01:04:27 - newmusic.main - INFO - change_page:181 - Changed to page: dashboard +2025-07-27 01:04:27 - newmusic.main - INFO - setup_media_player_connections:153 - Media player connections established between sidebar and downloads page +2025-07-27 01:04:27 - newmusic.main - INFO - setup_settings_connections:158 - Settings change connections established +2025-07-27 01:04:27 - newmusic.plex_client - INFO - _find_music_library:127 - Found music library: Music +2025-07-27 01:04:27 - newmusic.plex_client - INFO - _setup_client:113 - Successfully connected to Plex server: PLEX-MACHINE +2025-07-27 01:04:28 - newmusic.main - INFO - change_page:181 - Changed to page: artists +2025-07-27 01:04:48 - newmusic.spotify_client - INFO - get_artist_albums:452 - Retrieved 30 albums for artist 06HL4z0CvFAxyc27GXpf02 +2025-07-27 01:04:49 - newmusic.plex_client - INFO - _find_music_library:127 - Found music library: Music +2025-07-27 01:04:49 - newmusic.plex_client - INFO - _setup_client:113 - Successfully connected to Plex server: PLEX-MACHINE +2025-07-27 01:04:49 - newmusic.plex_client - DEBUG - search_albums:526 - Found 1 albums matching query: album='THE TORTURED POETS DEPARTMENT: THE ANTHOLOGY', artist='taylor swift' +2025-07-27 01:04:49 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='the tortured poets department the anthology', artist='taylor swift' +2025-07-27 01:04:49 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='the tortured poets department the anthology', artist='' +2025-07-27 01:04:49 - newmusic.plex_client - DEBUG - search_albums:526 - Found 2 albums matching query: album='THE TORTURED POETS DEPARTMENT', artist='taylor swift' +2025-07-27 01:04:49 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='1989 (Taylor's Version) [Deluxe]', artist='taylor swift' +2025-07-27 01:04:49 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='1989 (Taylor's Version) [Deluxe]', artist='' +2025-07-27 01:04:49 - newmusic.plex_client - DEBUG - search_albums:526 - Found 5 albums matching query: album='1989', artist='taylor swift' +2025-07-27 01:04:50 - newmusic.plex_client - DEBUG - search_albums:526 - Found 2 albums matching query: album='1989 (Taylor's Version)', artist='taylor swift' +2025-07-27 01:04:50 - newmusic.plex_client - DEBUG - search_albums:526 - Found 5 albums matching query: album='1989', artist='taylor swift' +2025-07-27 01:04:50 - newmusic.plex_client - DEBUG - search_albums:526 - Found 1 albums matching query: album='Speak Now (Taylor's Version)', artist='taylor swift' +2025-07-27 01:04:50 - newmusic.plex_client - DEBUG - search_albums:526 - Found 5 albums matching query: album='speak now', artist='taylor swift' +2025-07-27 01:04:50 - newmusic.plex_client - DEBUG - search_albums:526 - Found 1 albums matching query: album='Midnights (The Til Dawn Edition)', artist='taylor swift' +2025-07-27 01:04:50 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='midnights the til dawn edition', artist='taylor swift' +2025-07-27 01:04:50 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='midnights the til dawn edition', artist='' +2025-07-27 01:04:50 - newmusic.plex_client - DEBUG - search_albums:526 - Found 1 albums matching query: album='Midnights (3am Edition)', artist='taylor swift' +2025-07-27 01:04:51 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='midnights 3am edition', artist='taylor swift' +2025-07-27 01:04:51 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='midnights 3am edition', artist='' +2025-07-27 01:04:51 - newmusic.plex_client - DEBUG - search_albums:526 - Found 3 albums matching query: album='Midnights', artist='taylor swift' +2025-07-27 01:04:51 - newmusic.plex_client - DEBUG - search_albums:526 - Found 1 albums matching query: album='Red (Taylor's Version)', artist='taylor swift' +2025-07-27 01:04:51 - newmusic.plex_client - DEBUG - search_albums:526 - Found 5 albums matching query: album='red', artist='taylor swift' +2025-07-27 01:04:51 - newmusic.plex_client - DEBUG - search_albums:526 - Found 3 albums matching query: album='Fearless (Taylor's Version)', artist='taylor swift' +2025-07-27 01:04:52 - newmusic.plex_client - DEBUG - search_albums:526 - Found 5 albums matching query: album='fearless', artist='taylor swift' +2025-07-27 01:04:52 - newmusic.plex_client - DEBUG - search_albums:526 - Found 1 albums matching query: album='evermore (deluxe version)', artist='taylor swift' +2025-07-27 01:04:52 - newmusic.plex_client - DEBUG - search_albums:526 - Found 2 albums matching query: album='evermore', artist='taylor swift' +2025-07-27 01:04:52 - newmusic.plex_client - DEBUG - search_albums:526 - Found 2 albums matching query: album='evermore', artist='taylor swift' +2025-07-27 01:04:52 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='folklore: the long pond studio sessions (from the Disney+ special) [deluxe edition]', artist='taylor swift' +2025-07-27 01:04:52 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='folklore: the long pond studio sessions (from the Disney+ special) [deluxe edition]', artist='' +2025-07-27 01:04:52 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='folklore the long pond studio sessions from the disney special deluxe edition', artist='taylor swift' +2025-07-27 01:04:52 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='folklore the long pond studio sessions from the disney special deluxe edition', artist='' +2025-07-27 01:04:52 - newmusic.plex_client - DEBUG - search_albums:526 - Found 1 albums matching query: album='folklore (deluxe version)', artist='taylor swift' +2025-07-27 01:04:52 - newmusic.plex_client - DEBUG - search_albums:526 - Found 5 albums matching query: album='folklore', artist='taylor swift' +2025-07-27 01:04:53 - newmusic.plex_client - DEBUG - search_albums:526 - Found 5 albums matching query: album='folklore', artist='taylor swift' +2025-07-27 01:04:53 - newmusic.plex_client - DEBUG - search_albums:526 - Found 2 albums matching query: album='Lover', artist='taylor swift' +2025-07-27 01:04:53 - newmusic.plex_client - DEBUG - search_albums:526 - Found 1 albums matching query: album='Taylor Swift Karaoke: reputation', artist='taylor swift' +2025-07-27 01:04:53 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='taylor swift karaoke reputation', artist='taylor swift' +2025-07-27 01:04:53 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='taylor swift karaoke reputation', artist='' +2025-07-27 01:04:53 - newmusic.plex_client - DEBUG - search_albums:526 - Found 4 albums matching query: album='reputation', artist='taylor swift' +2025-07-27 01:04:53 - newmusic.plex_client - DEBUG - search_albums:526 - Found 1 albums matching query: album='reputation Stadium Tour Surprise Song Playlist', artist='taylor swift' +2025-07-27 01:04:53 - newmusic.plex_client - DEBUG - search_albums:526 - Found 1 albums matching query: album='1989 (Deluxe Edition)', artist='taylor swift' +2025-07-27 01:04:54 - newmusic.plex_client - DEBUG - search_albums:526 - Found 5 albums matching query: album='1989', artist='taylor swift' +2025-07-27 01:04:54 - newmusic.plex_client - DEBUG - search_albums:526 - Found 5 albums matching query: album='1989', artist='taylor swift' +2025-07-27 01:04:54 - newmusic.plex_client - DEBUG - search_albums:526 - Found 1 albums matching query: album='Red (Deluxe Edition)', artist='taylor swift' +2025-07-27 01:04:54 - newmusic.plex_client - DEBUG - search_albums:526 - Found 5 albums matching query: album='red', artist='taylor swift' +2025-07-27 01:04:55 - newmusic.plex_client - DEBUG - search_albums:526 - Found 5 albums matching query: album='Red', artist='taylor swift' +2025-07-27 01:04:55 - newmusic.plex_client - DEBUG - search_albums:526 - Found 1 albums matching query: album='Speak Now World Tour Live', artist='taylor swift' +2025-07-27 01:04:55 - newmusic.plex_client - DEBUG - search_albums:526 - Found 1 albums matching query: album='Speak Now (Deluxe Edition)', artist='taylor swift' +2025-07-27 01:04:55 - newmusic.plex_client - DEBUG - search_albums:526 - Found 5 albums matching query: album='speak now', artist='taylor swift' +2025-07-27 01:04:56 - newmusic.plex_client - DEBUG - search_albums:526 - Found 5 albums matching query: album='Speak Now', artist='taylor swift' +2025-07-27 01:04:56 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='Fearless Platinum Edition', artist='taylor swift' +2025-07-27 01:04:56 - newmusic.plex_client - DEBUG - search_albums:526 - Found 0 albums matching query: album='Fearless Platinum Edition', artist='' +2025-07-27 01:04:56 - newmusic.plex_client - DEBUG - search_albums:526 - Found 5 albums matching query: album='Fearless', artist='taylor swift' +2025-07-27 01:04:56 - newmusic.plex_client - DEBUG - search_albums:526 - Found 1 albums matching query: album='Live From Clear Channel Stripped 2008', artist='taylor swift' +2025-07-27 01:04:56 - newmusic.plex_client - DEBUG - search_albums:526 - Found 5 albums matching query: album='Taylor Swift', artist='taylor swift' diff --git a/ui/pages/__pycache__/artists.cpython-312.pyc b/ui/pages/__pycache__/artists.cpython-312.pyc index 1160a18a7bd7e827af1d1ae47d0a8db84f08617f..a319d189356d9c64a2abc4f6ca1c03bb6ad177ce 100644 GIT binary patch delta 6859 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 delta 6602 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 DJDHpJ diff --git a/ui/pages/artists.py b/ui/pages/artists.py index 93a46bcb..375ae87f 100644 --- a/ui/pages/artists.py +++ b/ui/pages/artists.py @@ -2410,23 +2410,27 @@ class ArtistsPage(QWidget): # Scrollable artist results self.artist_scroll = QScrollArea() self.artist_scroll.setWidgetResizable(True) - self.artist_scroll.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAsNeeded) - self.artist_scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff) - self.artist_scroll.setMaximumHeight(400) + self.artist_scroll.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff) + self.artist_scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAsNeeded) + self.artist_scroll.setFixedHeight(320) # Fixed height to accommodate artist cards self.artist_scroll.setStyleSheet(""" QScrollArea { border: none; background: transparent; } - QScrollBar:vertical { + QScrollBar:horizontal { background: rgba(80, 80, 80, 0.3); - width: 8px; + height: 8px; border-radius: 4px; } - QScrollBar::handle:vertical { + QScrollBar::handle:horizontal { background: rgba(29, 185, 84, 0.8); border-radius: 4px; - min-height: 20px; + min-width: 20px; + } + QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { + border: none; + background: none; } """)