summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Honz <exislow+github@gmail.com>2024-03-29 13:10:22 +0100
committerRobert Honz <exislow+github@gmail.com>2024-03-29 13:10:22 +0100
commit7e185bc0a2b80e228c83b8306fb96a362403c947 (patch)
tree313ba7cb0cdf7dddbf1b17e0d88873f8bb08ee20
parent05925938530076445838209243b2265dce73b822 (diff)
downloadtidal-dl-ng-7e185bc0a2b80e228c83b8306fb96a362403c947.tar.gz
✨ Cover will be shown for lists.
-rw-r--r--tidal_dl_ng/gui.py19
1 files changed, 16 insertions, 3 deletions
diff --git a/tidal_dl_ng/gui.py b/tidal_dl_ng/gui.py
index 0b98a0a..e7aba01 100644
--- a/tidal_dl_ng/gui.py
+++ b/tidal_dl_ng/gui.py
@@ -58,7 +58,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
threadpool: QtCore.QThreadPool
tray: QtWidgets.QSystemTrayIcon
spinner: QtWaitingSpinner
- cover_url_current: str
+ cover_url_current: str = ""
s_spinner_start: QtCore.Signal = QtCore.Signal(QtWidgets.QWidget)
s_spinner_stop: QtCore.Signal = QtCore.Signal()
pb_item: QtWidgets.QProgressBar
@@ -578,12 +578,25 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
# Only if clicked item is not a top level item.
if media_list:
self.list_items_show_result(media_list)
+ self.cover_show(media_list)
def on_result_item_clicked(self, item: QtWidgets.QTreeWidgetItem, column: int) -> None:
media: Track | Video | Album | Artist = get_results_media_item(item)
- cover_url: str = media.album.image()
- if self.cover_url_current != cover_url:
+ self.cover_show(media)
+
+ def cover_show(self, media: Album | Playlist | Track | Video | Album | Artist):
+ cover_url: str
+
+ try:
+ cover_url = media.album.image()
+ except:
+ try:
+ cover_url = media.image()
+ except:
+ logger_gui.info(f"No cover available (media ID: {media.id}).")
+
+ if cover_url and self.cover_url_current != cover_url:
self.cover_url_current = cover_url
data_cover: bytes = Metadata.cover_data(cover_url)
pixmap: QtGui.QPixmap = QtGui.QPixmap()