From 9baea9b82c539eae693b11416aeb74db434b86ee Mon Sep 17 00:00:00 2001 From: Robert Honz Date: Wed, 12 Nov 2025 15:05:20 +0100 Subject: feat(gui): ✨ enhance user media handling with folder support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Updated `user_media_lists` to return a dictionary containing both `playlists` and `mixes`, including `Folder` objects. * Modified `on_populate_tree_lists` to handle `Folder` items and display their contents. * Introduced new methods for loading and displaying folder contents in the user interface. --- tidal_dl_ng/helper/gui.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'tidal_dl_ng/helper/gui.py') diff --git a/tidal_dl_ng/helper/gui.py b/tidal_dl_ng/helper/gui.py index d680b19..35a517f 100644 --- a/tidal_dl_ng/helper/gui.py +++ b/tidal_dl_ng/helper/gui.py @@ -5,6 +5,7 @@ from PySide6 import QtCore, QtGui, QtWidgets from tidalapi import Album, Mix, Playlist, Track, UserPlaylist, Video from tidalapi.artist import Artist from tidalapi.media import Quality +from tidalapi.playlist import Folder from tidal_dl_ng.constants import QualityVideo @@ -33,8 +34,8 @@ def get_results_media_item( return result -def get_user_list_media_item(item: QtWidgets.QTreeWidgetItem) -> Mix | Playlist | UserPlaylist: - result: Mix | Playlist | UserPlaylist = get_table_data(item, 1) +def get_user_list_media_item(item: QtWidgets.QTreeWidgetItem) -> Mix | Playlist | UserPlaylist | Folder | str: + result: Mix | Playlist | UserPlaylist | Folder | str = get_table_data(item, 1) return result @@ -73,7 +74,9 @@ def get_queue_download_quality_video( def set_table_data( - item: QtWidgets.QTreeWidgetItem, data: Track | Video | Album | Artist | Mix | Playlist | UserPlaylist, column: int + item: QtWidgets.QTreeWidgetItem, + data: Track | Video | Album | Artist | Mix | Playlist | UserPlaylist | Folder | str, + column: int, ): item.setData(column, QtCore.Qt.ItemDataRole.UserRole, data) @@ -83,7 +86,8 @@ def set_results_media(item: QtWidgets.QTreeWidgetItem, media: Track | Video | Al def set_user_list_media( - item: QtWidgets.QTreeWidgetItem, media: Track | Video | Album | Artist | Mix | Playlist | UserPlaylist + item: QtWidgets.QTreeWidgetItem, + media: Track | Video | Album | Artist | Mix | Playlist | UserPlaylist | Folder | str, ): set_table_data(item, media, 1) -- cgit v1.3.1