✨ Display cover in info area.
This commit is contained in:
+11
-1
@@ -7,6 +7,7 @@ from requests.exceptions import HTTPError
|
||||
from tidal_dl_ng import version
|
||||
from tidal_dl_ng.dialog import DialogLogin, DialogPreferences, DialogVersion
|
||||
from tidal_dl_ng.helper.exceptions import MediaUnknown
|
||||
from tidal_dl_ng.helper.gui import get_results_media_item
|
||||
from tidal_dl_ng.helper.path import get_format_template
|
||||
from tidal_dl_ng.helper.tidal import (
|
||||
get_tidal_media_id,
|
||||
@@ -18,6 +19,7 @@ from tidal_dl_ng.helper.tidal import (
|
||||
search_results_all,
|
||||
user_media_lists,
|
||||
)
|
||||
from tidal_dl_ng.metadata import Metadata
|
||||
|
||||
try:
|
||||
import qdarktheme
|
||||
@@ -159,7 +161,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
self.statusbar.addPermanentWidget(pb)
|
||||
|
||||
def _init_info(self):
|
||||
self.l_pm_cover.setPixmap(QtGui.QPixmap("tidal_dl_ng/ui/placeholder_cover.jpg"))
|
||||
self.l_pm_cover.setPixmap(QtGui.QPixmap("tidal_dl_ng/ui/default_album_image.png"))
|
||||
|
||||
def on_progress_reset(self):
|
||||
self.pb_list.setValue(0)
|
||||
@@ -504,6 +506,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
|
||||
# Results
|
||||
self.tr_results.itemExpanded.connect(self.on_tr_results_expanded)
|
||||
self.tr_results.itemClicked.connect(self.on_result_item_clicked)
|
||||
|
||||
def on_logout(self):
|
||||
result: bool = self.tidal.logout()
|
||||
@@ -544,6 +547,13 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
if media_list:
|
||||
self.list_items_show_result(media_list)
|
||||
|
||||
def on_result_item_clicked(self, item: QtWidgets.QTreeWidgetItem, column: int) -> None:
|
||||
media: Track | Video | Album | Artist = get_results_media_item(item)
|
||||
data_cover: bytes = Metadata.cover_data(media.album.image())
|
||||
pixmap: QtGui.QPixmap = QtGui.QPixmap()
|
||||
pixmap.loadFromData(data_cover)
|
||||
self.l_pm_cover.setPixmap(pixmap)
|
||||
|
||||
def list_items_show_result(
|
||||
self,
|
||||
media_list: Album | Playlist | Mix | Artist | None = None,
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
from PySide6 import QtCore, QtWidgets
|
||||
from tidalapi import Album, Mix, Playlist, Track, UserPlaylist, Video
|
||||
from tidalapi.artist import Artist
|
||||
|
||||
|
||||
def get_table_data(
|
||||
item: QtWidgets.QTreeWidgetItem, column: int
|
||||
) -> Track | Video | Album | Artist | Mix | Playlist | UserPlaylist:
|
||||
result: Track | Video | Album | Artist = item.data(column, QtCore.Qt.ItemDataRole.UserRole)
|
||||
|
||||
return result
|
||||
|
||||
|
||||
def get_results_media_item(item: QtWidgets.QTreeWidgetItem) -> Track | Video | Album | Artist:
|
||||
result: Track | Video | Album | Artist = get_table_data(item, 1)
|
||||
|
||||
return result
|
||||
|
||||
|
||||
def get_user_list_media_item(item: QtWidgets.QTreeWidgetItem) -> Mix | Playlist | UserPlaylist:
|
||||
result: Mix | Playlist | UserPlaylist = get_table_data(item, 1)
|
||||
|
||||
return result
|
||||
|
||||
|
||||
def set_table_data(
|
||||
item: QtWidgets.QTreeWidgetItem, data: Track | Video | Album | Artist | Mix | Playlist | UserPlaylist, column: int
|
||||
):
|
||||
item.setData(column, QtCore.Qt.ItemDataRole.UserRole, data)
|
||||
|
||||
|
||||
def set_results_media(item: QtWidgets.QTreeWidgetItem, media: Track | Video | Album | Artist):
|
||||
set_table_data(item, media, 1)
|
||||
|
||||
|
||||
def set_user_list_media(item: QtWidgets.QTreeWidgetItem, media: Mix | Playlist | UserPlaylist):
|
||||
set_table_data(item, media, 1)
|
||||
Reference in New Issue
Block a user