From 7df41edc0166feef022fe0217824ca445341ddc6 Mon Sep 17 00:00:00 2001 From: Robert Honz Date: Mon, 1 Apr 2024 12:16:06 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Can=20remove=20all=20queue=20items?= =?UTF-8?q?=20and=20finished=20queue=20items.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tidal_dl_ng/constants.py | 21 +- tidal_dl_ng/gui.py | 55 ++- tidal_dl_ng/helper/gui.py | 14 + tidal_dl_ng/ui/main.py | 766 +++++++++++++++++++------------------- tidal_dl_ng/ui/main.ui | 60 +-- 5 files changed, 490 insertions(+), 426 deletions(-) diff --git a/tidal_dl_ng/constants.py b/tidal_dl_ng/constants.py index e1780e3..84bb4a0 100644 --- a/tidal_dl_ng/constants.py +++ b/tidal_dl_ng/constants.py @@ -44,16 +44,23 @@ class CoverDimensions(Enum): class TidalLists(Enum): - PLAYLISTS: str = "Playlists" - FAVORITES: str = "Favorites" - MIXES: str = "Mixes" + Playlists: str = "Playlists" + Favorites: str = "Favorites" + Mixes: str = "Mixes" class AudioExtensions(Enum): - FLAC = ".flac" - M4A = ".m4a" - MP4 = ".mp4" + FLAC: str = ".flac" + M4A: str = ".m4a" + MP4: str = ".mp4" class VideoExtensions(Enum): - TS = ".ts" + TS: str = ".ts" + + +class QueueDownloadStatus(Enum): + Waiting: str = "⏳️" + Downloading: str = "▶️" + Finished: str = "✅" + Failed: str = "❌" diff --git a/tidal_dl_ng/gui.py b/tidal_dl_ng/gui.py index e7aba01..1aca058 100644 --- a/tidal_dl_ng/gui.py +++ b/tidal_dl_ng/gui.py @@ -9,6 +9,7 @@ from tidal_dl_ng.dialog import DialogLogin, DialogPreferences, DialogVersion from tidal_dl_ng.helper.gui import ( get_results_media_item, get_user_list_media_item, + set_queue_download_media, set_results_media, set_user_list_media, ) @@ -40,7 +41,7 @@ from tidalapi.artist import Artist from tidalapi.session import SearchTypes from tidal_dl_ng.config import Settings, Tidal -from tidal_dl_ng.constants import QualityVideo, TidalLists +from tidal_dl_ng.constants import QualityVideo, QueueDownloadStatus, TidalLists from tidal_dl_ng.download import Download from tidal_dl_ng.logger import XStream, logger_gui from tidal_dl_ng.model.gui_data import ProgressBars, ResultItem, StatusbarMessage @@ -91,7 +92,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): self._init_tree_results(self.tr_results) self._init_tree_lists(self.tr_lists_user) - self._init_table_queue(self.ta_queue_dl) + self._init_table_queue(self.tr_queue_download) self._init_info() self._init_progressbar() self._populate_quality(self.cb_quality_audio, Quality) @@ -218,13 +219,13 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): def on_populate_tree_lists(self, user_lists: [Playlist | UserPlaylist | Mix]): twi_playlists: QtWidgets.QTreeWidgetItem = self.tr_lists_user.findItems( - TidalLists.PLAYLISTS.value, QtCore.Qt.MatchExactly, 0 + TidalLists.Playlists.value, QtCore.Qt.MatchExactly, 0 )[0] twi_mixes: QtWidgets.QTreeWidgetItem = self.tr_lists_user.findItems( - TidalLists.FAVORITES.value, QtCore.Qt.MatchExactly, 0 + TidalLists.Favorites.value, QtCore.Qt.MatchExactly, 0 )[0] twi_favorites: QtWidgets.QTreeWidgetItem = self.tr_lists_user.findItems( - TidalLists.MIXES.value, QtCore.Qt.MatchExactly, 0 + TidalLists.Mixes.value, QtCore.Qt.MatchExactly, 0 )[0] # Remove all children if present @@ -504,6 +505,9 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): def _init_signals(self): self.pb_download.clicked.connect(lambda: self.thread_it(self.on_download_results)) self.pb_download_list.clicked.connect(lambda: self.thread_it(self.on_download_list_media)) + self.pb_reload_user_lists.clicked.connect(lambda: self.thread_it(self.tidal_user_lists)) + self.pb_clear_all.clicked.connect(self.on_clear_all) + self.pb_clear_finished.clicked.connect(self.on_clear_finished) self.l_search.returnPressed.connect( lambda: self.search_populate_results(self.l_search.text(), self.cb_search_type.currentData()) ) @@ -524,7 +528,6 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): self.s_statusbar_message.connect(self.on_statusbar_message) self.s_tr_results_add_top_level_item.connect(self.on_tr_results_add_top_level_item) self.s_settings_save.connect(self.on_settings_save) - self.pb_reload_user_lists.clicked.connect(lambda: self.thread_it(self.tidal_user_lists)) self.s_pb_reload_status.connect(self.button_reload_status) self.s_update_check.connect(lambda: self.thread_it(self.on_update_check)) self.s_update_show.connect(self.on_version) @@ -585,6 +588,11 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): self.cover_show(media) + def on_download_item_clicked(self, item: QtWidgets.QTreeWidgetItem, column: int) -> None: + media: Track | Video | Album | Artist = get_results_media_item(item) + + self.cover_show(media) + def cover_show(self, media: Album | Playlist | Track | Video | Album | Artist): cover_url: str @@ -626,8 +634,25 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): # Execute self.threadpool.start(worker) - def on_download_results(self): - items: [QtWidgets.QTreeWidgetItem] = self.tr_results.selectedItems() + def on_clear_all(self): + self.on_clear_queue_download( + f"[{QueueDownloadStatus.Waiting.value}{QueueDownloadStatus.Finished.value}{QueueDownloadStatus.Failed.value}]" + ) + + def on_clear_finished(self): + self.on_clear_queue_download(f"[{QueueDownloadStatus.Finished.value}]") + + def on_clear_queue_download(self, regex: str): + items: [QtWidgets.QTreeWidgetItem | None] = self.tr_queue_download.findItems( + regex, QtCore.Qt.MatchFlag.MatchRegularExpression, column=0 + ) + + for item in items: + self.tr_queue_download.takeTopLevelItem(self.tr_queue_download.indexOfTopLevelItem(item)) + + # TODO: Must happen in main thread. Do not thread this. + def on_download_results(self) -> None: + items: [QtWidgets.QTreeWidgetItem | None] = self.tr_results.selectedItems() if len(items) == 0: logger_gui.error("Please select a row first.") @@ -636,13 +661,13 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): media: Track | Album | Playlist | Video | Artist = get_results_media_item(item) # Populate child - child: QtWidgets.QTableWidgetItem = QtWidgets.QTableWidgetItem() - child.setText(0, "1") - set_results_media(child, media) - child.setText(2, media.artist) - child.setText(3, "tbd") - child.setText(4, "") - self.ta_queue_dl.addChild(child) + child: QtWidgets.QTreeWidgetItem = QtWidgets.QTreeWidgetItem() + child.setText(0, QueueDownloadStatus.Waiting.value) + set_queue_download_media(child, media) + child.setText(2, media.artist.name) + child.setText(3, type(media).__name__) + child.setText(4, "") + self.tr_queue_download.addTopLevelItem(child) def on_download_results1(self): self.pb_download.setEnabled(False) diff --git a/tidal_dl_ng/helper/gui.py b/tidal_dl_ng/helper/gui.py index 604772e..888f004 100644 --- a/tidal_dl_ng/helper/gui.py +++ b/tidal_dl_ng/helper/gui.py @@ -23,6 +23,14 @@ def get_user_list_media_item(item: QtWidgets.QTreeWidgetItem) -> Mix | Playlist return result +def get_queue_download_media( + item: QtWidgets.QTreeWidgetItem, +) -> Mix | Playlist | UserPlaylist | Track | Video | Album | Artist: + result: Mix | Playlist | UserPlaylist | Track | Video | Album | Artist = get_table_data(item, 1) + + return result + + def set_table_data( item: QtWidgets.QTreeWidgetItem, data: Track | Video | Album | Artist | Mix | Playlist | UserPlaylist, column: int ): @@ -35,3 +43,9 @@ def set_results_media(item: QtWidgets.QTreeWidgetItem, media: Track | Video | Al def set_user_list_media(item: QtWidgets.QTreeWidgetItem, media: Mix | Playlist | UserPlaylist): set_table_data(item, media, 1) + + +def set_queue_download_media( + item: QtWidgets.QTreeWidgetItem, media: Mix | Playlist | UserPlaylist | Track | Video | Album | Artist +): + set_table_data(item, media, 1) diff --git a/tidal_dl_ng/ui/main.py b/tidal_dl_ng/ui/main.py index f346b8d..c6c1d38 100644 --- a/tidal_dl_ng/ui/main.py +++ b/tidal_dl_ng/ui/main.py @@ -1,116 +1,108 @@ +# -*- coding: utf-8 -*- + ################################################################################ ## Form generated from reading UI file 'main.ui' ## -## Created by: Qt User Interface Compiler version 6.6.1 +## Created by: Qt User Interface Compiler version 6.6.2 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ -from PySide6.QtCore import QCoreApplication, QLocale, QMetaObject, QRect, QSize, Qt -from PySide6.QtGui import QAction, QFont, QPixmap -from PySide6.QtWidgets import ( - QAbstractItemView, - QComboBox, - QFrame, - QHBoxLayout, - QLabel, - QLineEdit, - QMenu, - QMenuBar, - QPlainTextEdit, - QPushButton, - QSizePolicy, - QStatusBar, - QTableWidget, - QTableWidgetItem, - QTreeWidget, - QTreeWidgetItem, - QVBoxLayout, - QWidget, -) +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QAction, QBrush, QColor, QConicalGradient, + QCursor, QFont, QFontDatabase, QGradient, + QIcon, QImage, QKeySequence, QLinearGradient, + QPainter, QPalette, QPixmap, QRadialGradient, + QTransform) +from PySide6.QtWidgets import (QAbstractItemView, QApplication, QComboBox, QFrame, + QHBoxLayout, QHeaderView, QLabel, QLineEdit, + QMainWindow, QMenu, QMenuBar, QPlainTextEdit, + QPushButton, QSizePolicy, QStatusBar, QTreeWidget, + QTreeWidgetItem, QVBoxLayout, QWidget) - -class Ui_MainWindow: +class Ui_MainWindow(object): def setupUi(self, MainWindow): if not MainWindow.objectName(): - MainWindow.setObjectName("MainWindow") + MainWindow.setObjectName(u"MainWindow") MainWindow.resize(1200, 800) self.a_preferences = QAction(MainWindow) - self.a_preferences.setObjectName("a_preferences") + self.a_preferences.setObjectName(u"a_preferences") self.a_preferences.setEnabled(True) - self.a_preferences.setText("Preferences...") - self.a_preferences.setIconText("Preferences...") - # if QT_CONFIG(tooltip) - self.a_preferences.setToolTip("Preferences...") - # endif // QT_CONFIG(tooltip) - # if QT_CONFIG(statustip) - self.a_preferences.setStatusTip("") - # endif // QT_CONFIG(statustip) - # if QT_CONFIG(whatsthis) - self.a_preferences.setWhatsThis("") - # endif // QT_CONFIG(whatsthis) + self.a_preferences.setText(u"Preferences...") + self.a_preferences.setIconText(u"Preferences...") +#if QT_CONFIG(tooltip) + self.a_preferences.setToolTip(u"Preferences...") +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(statustip) + self.a_preferences.setStatusTip(u"") +#endif // QT_CONFIG(statustip) +#if QT_CONFIG(whatsthis) + self.a_preferences.setWhatsThis(u"") +#endif // QT_CONFIG(whatsthis) self.a_version = QAction(MainWindow) - self.a_version.setObjectName("a_version") + self.a_version.setObjectName(u"a_version") self.a_exit = QAction(MainWindow) - self.a_exit.setObjectName("a_exit") + self.a_exit.setObjectName(u"a_exit") self.a_logout = QAction(MainWindow) - self.a_logout.setObjectName("a_logout") + self.a_logout.setObjectName(u"a_logout") self.a_updates_check = QAction(MainWindow) - self.a_updates_check.setObjectName("a_updates_check") + self.a_updates_check.setObjectName(u"a_updates_check") self.w_central = QWidget(MainWindow) - self.w_central.setObjectName("w_central") + self.w_central.setObjectName(u"w_central") self.w_central.setEnabled(True) - sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) + sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Expanding) sizePolicy.setHorizontalStretch(100) sizePolicy.setVerticalStretch(100) sizePolicy.setHeightForWidth(self.w_central.sizePolicy().hasHeightForWidth()) self.w_central.setSizePolicy(sizePolicy) - # if QT_CONFIG(tooltip) - self.w_central.setToolTip("") - # endif // QT_CONFIG(tooltip) - # if QT_CONFIG(statustip) - self.w_central.setStatusTip("") - # endif // QT_CONFIG(statustip) - # if QT_CONFIG(whatsthis) - self.w_central.setWhatsThis("") - # endif // QT_CONFIG(whatsthis) - # if QT_CONFIG(accessibility) - self.w_central.setAccessibleName("") - # endif // QT_CONFIG(accessibility) - # if QT_CONFIG(accessibility) - self.w_central.setAccessibleDescription("") - # endif // QT_CONFIG(accessibility) +#if QT_CONFIG(tooltip) + self.w_central.setToolTip(u"") +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(statustip) + self.w_central.setStatusTip(u"") +#endif // QT_CONFIG(statustip) +#if QT_CONFIG(whatsthis) + self.w_central.setWhatsThis(u"") +#endif // QT_CONFIG(whatsthis) +#if QT_CONFIG(accessibility) + self.w_central.setAccessibleName(u"") +#endif // QT_CONFIG(accessibility) +#if QT_CONFIG(accessibility) + self.w_central.setAccessibleDescription(u"") +#endif // QT_CONFIG(accessibility) self.horizontalLayout = QHBoxLayout(self.w_central) - self.horizontalLayout.setObjectName("horizontalLayout") + self.horizontalLayout.setObjectName(u"horizontalLayout") self.lv_list_user = QVBoxLayout() - self.lv_list_user.setObjectName("lv_list_user") + self.lv_list_user.setObjectName(u"lv_list_user") self.tr_lists_user = QTreeWidget(self.w_central) __qtreewidgetitem = QTreeWidgetItem() - __qtreewidgetitem.setText(2, "Info") - __qtreewidgetitem.setText(0, "Name") + __qtreewidgetitem.setText(2, u"Info"); + __qtreewidgetitem.setText(0, u"Name"); self.tr_lists_user.setHeaderItem(__qtreewidgetitem) __qtreewidgetitem1 = QTreeWidgetItem(self.tr_lists_user) - __qtreewidgetitem1.setFlags(Qt.ItemIsEnabled) + __qtreewidgetitem1.setFlags(Qt.ItemIsEnabled); __qtreewidgetitem2 = QTreeWidgetItem(self.tr_lists_user) - __qtreewidgetitem2.setFlags(Qt.ItemIsEnabled) + __qtreewidgetitem2.setFlags(Qt.ItemIsEnabled); __qtreewidgetitem3 = QTreeWidgetItem(self.tr_lists_user) - __qtreewidgetitem3.setFlags(Qt.ItemIsEnabled) - self.tr_lists_user.setObjectName("tr_lists_user") - # if QT_CONFIG(tooltip) - self.tr_lists_user.setToolTip("") - # endif // QT_CONFIG(tooltip) - # if QT_CONFIG(statustip) - self.tr_lists_user.setStatusTip("") - # endif // QT_CONFIG(statustip) - # if QT_CONFIG(whatsthis) - self.tr_lists_user.setWhatsThis("") - # endif // QT_CONFIG(whatsthis) - # if QT_CONFIG(accessibility) - self.tr_lists_user.setAccessibleName("") - # endif // QT_CONFIG(accessibility) - # if QT_CONFIG(accessibility) - self.tr_lists_user.setAccessibleDescription("") - # endif // QT_CONFIG(accessibility) + __qtreewidgetitem3.setFlags(Qt.ItemIsEnabled); + self.tr_lists_user.setObjectName(u"tr_lists_user") +#if QT_CONFIG(tooltip) + self.tr_lists_user.setToolTip(u"") +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(statustip) + self.tr_lists_user.setStatusTip(u"") +#endif // QT_CONFIG(statustip) +#if QT_CONFIG(whatsthis) + self.tr_lists_user.setWhatsThis(u"") +#endif // QT_CONFIG(whatsthis) +#if QT_CONFIG(accessibility) + self.tr_lists_user.setAccessibleName(u"") +#endif // QT_CONFIG(accessibility) +#if QT_CONFIG(accessibility) + self.tr_lists_user.setAccessibleDescription(u"") +#endif // QT_CONFIG(accessibility) self.tr_lists_user.setEditTriggers(QAbstractItemView.NoEditTriggers) self.tr_lists_user.setProperty("showDropIndicator", False) self.tr_lists_user.setIndentation(10) @@ -123,10 +115,10 @@ class Ui_MainWindow: self.lv_list_user.addWidget(self.tr_lists_user) self.lv_list_control = QHBoxLayout() - self.lv_list_control.setObjectName("lv_list_control") + self.lv_list_control.setObjectName(u"lv_list_control") self.pb_reload_user_lists = QPushButton(self.w_central) - self.pb_reload_user_lists.setObjectName("pb_reload_user_lists") - sizePolicy1 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + self.pb_reload_user_lists.setObjectName(u"pb_reload_user_lists") + sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed) sizePolicy1.setHorizontalStretch(0) sizePolicy1.setVerticalStretch(0) sizePolicy1.setHeightForWidth(self.pb_reload_user_lists.sizePolicy().hasHeightForWidth()) @@ -135,95 +127,98 @@ class Ui_MainWindow: self.lv_list_control.addWidget(self.pb_reload_user_lists) self.pb_download_list = QPushButton(self.w_central) - self.pb_download_list.setObjectName("pb_download_list") + self.pb_download_list.setObjectName(u"pb_download_list") sizePolicy1.setHeightForWidth(self.pb_download_list.sizePolicy().hasHeightForWidth()) self.pb_download_list.setSizePolicy(sizePolicy1) self.lv_list_control.addWidget(self.pb_download_list) + self.lv_list_user.addLayout(self.lv_list_control) + self.horizontalLayout.addLayout(self.lv_list_user) self.lv_search_result = QVBoxLayout() - # ifndef Q_OS_MAC +#ifndef Q_OS_MAC self.lv_search_result.setSpacing(-1) - # endif - self.lv_search_result.setObjectName("lv_search_result") +#endif + self.lv_search_result.setObjectName(u"lv_search_result") self.lh_search = QHBoxLayout() - self.lh_search.setObjectName("lh_search") + self.lh_search.setObjectName(u"lh_search") self.l_search = QLineEdit(self.w_central) - self.l_search.setObjectName("l_search") + self.l_search.setObjectName(u"l_search") self.l_search.setAcceptDrops(False) - # if QT_CONFIG(tooltip) - self.l_search.setToolTip("") - # endif // QT_CONFIG(tooltip) - # if QT_CONFIG(statustip) - self.l_search.setStatusTip("") - # endif // QT_CONFIG(statustip) - # if QT_CONFIG(whatsthis) - self.l_search.setWhatsThis("") - # endif // QT_CONFIG(whatsthis) - # if QT_CONFIG(accessibility) - self.l_search.setAccessibleName("") - # endif // QT_CONFIG(accessibility) - # if QT_CONFIG(accessibility) - self.l_search.setAccessibleDescription("") - # endif // QT_CONFIG(accessibility) +#if QT_CONFIG(tooltip) + self.l_search.setToolTip(u"") +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(statustip) + self.l_search.setStatusTip(u"") +#endif // QT_CONFIG(statustip) +#if QT_CONFIG(whatsthis) + self.l_search.setWhatsThis(u"") +#endif // QT_CONFIG(whatsthis) +#if QT_CONFIG(accessibility) + self.l_search.setAccessibleName(u"") +#endif // QT_CONFIG(accessibility) +#if QT_CONFIG(accessibility) + self.l_search.setAccessibleDescription(u"") +#endif // QT_CONFIG(accessibility) self.l_search.setLocale(QLocale(QLocale.English, QLocale.UnitedStates)) - self.l_search.setText("") - self.l_search.setPlaceholderText("Type and press ENTER to search...") + self.l_search.setText(u"") + self.l_search.setPlaceholderText(u"Type and press ENTER to search...") self.l_search.setClearButtonEnabled(True) self.lh_search.addWidget(self.l_search) self.cb_search_type = QComboBox(self.w_central) - self.cb_search_type.setObjectName("cb_search_type") - # if QT_CONFIG(tooltip) - self.cb_search_type.setToolTip("") - # endif // QT_CONFIG(tooltip) - # if QT_CONFIG(statustip) - self.cb_search_type.setStatusTip("") - # endif // QT_CONFIG(statustip) - # if QT_CONFIG(whatsthis) - self.cb_search_type.setWhatsThis("") - # endif // QT_CONFIG(whatsthis) - # if QT_CONFIG(accessibility) - self.cb_search_type.setAccessibleName("") - # endif // QT_CONFIG(accessibility) - # if QT_CONFIG(accessibility) - self.cb_search_type.setAccessibleDescription("") - # endif // QT_CONFIG(accessibility) - self.cb_search_type.setCurrentText("") - self.cb_search_type.setPlaceholderText("") + self.cb_search_type.setObjectName(u"cb_search_type") +#if QT_CONFIG(tooltip) + self.cb_search_type.setToolTip(u"") +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(statustip) + self.cb_search_type.setStatusTip(u"") +#endif // QT_CONFIG(statustip) +#if QT_CONFIG(whatsthis) + self.cb_search_type.setWhatsThis(u"") +#endif // QT_CONFIG(whatsthis) +#if QT_CONFIG(accessibility) + self.cb_search_type.setAccessibleName(u"") +#endif // QT_CONFIG(accessibility) +#if QT_CONFIG(accessibility) + self.cb_search_type.setAccessibleDescription(u"") +#endif // QT_CONFIG(accessibility) + self.cb_search_type.setCurrentText(u"") + self.cb_search_type.setPlaceholderText(u"") self.lh_search.addWidget(self.cb_search_type) self.pb_search = QPushButton(self.w_central) - self.pb_search.setObjectName("pb_search") - # if QT_CONFIG(statustip) - self.pb_search.setStatusTip("") - # endif // QT_CONFIG(statustip) - # if QT_CONFIG(whatsthis) - self.pb_search.setWhatsThis("") - # endif // QT_CONFIG(whatsthis) - # if QT_CONFIG(accessibility) - self.pb_search.setAccessibleName("") - # endif // QT_CONFIG(accessibility) - # if QT_CONFIG(accessibility) - self.pb_search.setAccessibleDescription("") - # endif // QT_CONFIG(accessibility) - self.pb_search.setText("Search") - # if QT_CONFIG(shortcut) - self.pb_search.setShortcut("") - # endif // QT_CONFIG(shortcut) + self.pb_search.setObjectName(u"pb_search") +#if QT_CONFIG(statustip) + self.pb_search.setStatusTip(u"") +#endif // QT_CONFIG(statustip) +#if QT_CONFIG(whatsthis) + self.pb_search.setWhatsThis(u"") +#endif // QT_CONFIG(whatsthis) +#if QT_CONFIG(accessibility) + self.pb_search.setAccessibleName(u"") +#endif // QT_CONFIG(accessibility) +#if QT_CONFIG(accessibility) + self.pb_search.setAccessibleDescription(u"") +#endif // QT_CONFIG(accessibility) + self.pb_search.setText(u"Search") +#if QT_CONFIG(shortcut) + self.pb_search.setShortcut(u"") +#endif // QT_CONFIG(shortcut) self.lh_search.addWidget(self.pb_search) + self.lv_search_result.addLayout(self.lh_search) self.tr_results = QTreeWidget(self.w_central) - self.tr_results.setObjectName("tr_results") + self.tr_results.setObjectName(u"tr_results") self.tr_results.setEditTriggers(QAbstractItemView.NoEditTriggers) self.tr_results.setProperty("showDropIndicator", False) self.tr_results.setDragDropOverwriteMode(False) @@ -237,117 +232,117 @@ class Ui_MainWindow: self.lv_search_result.addWidget(self.tr_results) self.lh_download = QHBoxLayout() - self.lh_download.setObjectName("lh_download") + self.lh_download.setObjectName(u"lh_download") self.l_quality_audio = QLabel(self.w_central) - self.l_quality_audio.setObjectName("l_quality_audio") - # if QT_CONFIG(tooltip) - self.l_quality_audio.setToolTip("") - # endif // QT_CONFIG(tooltip) - # if QT_CONFIG(statustip) - self.l_quality_audio.setStatusTip("") - # endif // QT_CONFIG(statustip) - # if QT_CONFIG(whatsthis) - self.l_quality_audio.setWhatsThis("") - # endif // QT_CONFIG(whatsthis) - # if QT_CONFIG(accessibility) - self.l_quality_audio.setAccessibleName("") - # endif // QT_CONFIG(accessibility) - # if QT_CONFIG(accessibility) - self.l_quality_audio.setAccessibleDescription("") - # endif // QT_CONFIG(accessibility) - self.l_quality_audio.setText("Audio") - self.l_quality_audio.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) + self.l_quality_audio.setObjectName(u"l_quality_audio") +#if QT_CONFIG(tooltip) + self.l_quality_audio.setToolTip(u"") +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(statustip) + self.l_quality_audio.setStatusTip(u"") +#endif // QT_CONFIG(statustip) +#if QT_CONFIG(whatsthis) + self.l_quality_audio.setWhatsThis(u"") +#endif // QT_CONFIG(whatsthis) +#if QT_CONFIG(accessibility) + self.l_quality_audio.setAccessibleName(u"") +#endif // QT_CONFIG(accessibility) +#if QT_CONFIG(accessibility) + self.l_quality_audio.setAccessibleDescription(u"") +#endif // QT_CONFIG(accessibility) + self.l_quality_audio.setText(u"Audio") + self.l_quality_audio.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.lh_download.addWidget(self.l_quality_audio) self.cb_quality_audio = QComboBox(self.w_central) - self.cb_quality_audio.setObjectName("cb_quality_audio") - # if QT_CONFIG(tooltip) - self.cb_quality_audio.setToolTip("") - # endif // QT_CONFIG(tooltip) - # if QT_CONFIG(statustip) - self.cb_quality_audio.setStatusTip("") - # endif // QT_CONFIG(statustip) - # if QT_CONFIG(whatsthis) - self.cb_quality_audio.setWhatsThis("") - # endif // QT_CONFIG(whatsthis) - # if QT_CONFIG(accessibility) - self.cb_quality_audio.setAccessibleName("") - # endif // QT_CONFIG(accessibility) - # if QT_CONFIG(accessibility) - self.cb_quality_audio.setAccessibleDescription("") - # endif // QT_CONFIG(accessibility) - self.cb_quality_audio.setCurrentText("") - self.cb_quality_audio.setPlaceholderText("") + self.cb_quality_audio.setObjectName(u"cb_quality_audio") +#if QT_CONFIG(tooltip) + self.cb_quality_audio.setToolTip(u"") +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(statustip) + self.cb_quality_audio.setStatusTip(u"") +#endif // QT_CONFIG(statustip) +#if QT_CONFIG(whatsthis) + self.cb_quality_audio.setWhatsThis(u"") +#endif // QT_CONFIG(whatsthis) +#if QT_CONFIG(accessibility) + self.cb_quality_audio.setAccessibleName(u"") +#endif // QT_CONFIG(accessibility) +#if QT_CONFIG(accessibility) + self.cb_quality_audio.setAccessibleDescription(u"") +#endif // QT_CONFIG(accessibility) + self.cb_quality_audio.setCurrentText(u"") + self.cb_quality_audio.setPlaceholderText(u"") self.cb_quality_audio.setFrame(True) self.lh_download.addWidget(self.cb_quality_audio) self.l_quality_video = QLabel(self.w_central) - self.l_quality_video.setObjectName("l_quality_video") - # if QT_CONFIG(tooltip) - self.l_quality_video.setToolTip("") - # endif // QT_CONFIG(tooltip) - # if QT_CONFIG(statustip) - self.l_quality_video.setStatusTip("") - # endif // QT_CONFIG(statustip) - # if QT_CONFIG(whatsthis) - self.l_quality_video.setWhatsThis("") - # endif // QT_CONFIG(whatsthis) - # if QT_CONFIG(accessibility) - self.l_quality_video.setAccessibleName("") - # endif // QT_CONFIG(accessibility) - # if QT_CONFIG(accessibility) - self.l_quality_video.setAccessibleDescription("") - # endif // QT_CONFIG(accessibility) - self.l_quality_video.setText("Video") - self.l_quality_video.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) + self.l_quality_video.setObjectName(u"l_quality_video") +#if QT_CONFIG(tooltip) + self.l_quality_video.setToolTip(u"") +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(statustip) + self.l_quality_video.setStatusTip(u"") +#endif // QT_CONFIG(statustip) +#if QT_CONFIG(whatsthis) + self.l_quality_video.setWhatsThis(u"") +#endif // QT_CONFIG(whatsthis) +#if QT_CONFIG(accessibility) + self.l_quality_video.setAccessibleName(u"") +#endif // QT_CONFIG(accessibility) +#if QT_CONFIG(accessibility) + self.l_quality_video.setAccessibleDescription(u"") +#endif // QT_CONFIG(accessibility) + self.l_quality_video.setText(u"Video") + self.l_quality_video.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.lh_download.addWidget(self.l_quality_video) self.cb_quality_video = QComboBox(self.w_central) - self.cb_quality_video.setObjectName("cb_quality_video") - # if QT_CONFIG(tooltip) - self.cb_quality_video.setToolTip("") - # endif // QT_CONFIG(tooltip) - # if QT_CONFIG(statustip) - self.cb_quality_video.setStatusTip("") - # endif // QT_CONFIG(statustip) - # if QT_CONFIG(whatsthis) - self.cb_quality_video.setWhatsThis("") - # endif // QT_CONFIG(whatsthis) - # if QT_CONFIG(accessibility) - self.cb_quality_video.setAccessibleName("") - # endif // QT_CONFIG(accessibility) - # if QT_CONFIG(accessibility) - self.cb_quality_video.setAccessibleDescription("") - # endif // QT_CONFIG(accessibility) - self.cb_quality_video.setCurrentText("") - self.cb_quality_video.setPlaceholderText("") + self.cb_quality_video.setObjectName(u"cb_quality_video") +#if QT_CONFIG(tooltip) + self.cb_quality_video.setToolTip(u"") +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(statustip) + self.cb_quality_video.setStatusTip(u"") +#endif // QT_CONFIG(statustip) +#if QT_CONFIG(whatsthis) + self.cb_quality_video.setWhatsThis(u"") +#endif // QT_CONFIG(whatsthis) +#if QT_CONFIG(accessibility) + self.cb_quality_video.setAccessibleName(u"") +#endif // QT_CONFIG(accessibility) +#if QT_CONFIG(accessibility) + self.cb_quality_video.setAccessibleDescription(u"") +#endif // QT_CONFIG(accessibility) + self.cb_quality_video.setCurrentText(u"") + self.cb_quality_video.setPlaceholderText(u"") self.lh_download.addWidget(self.cb_quality_video) self.pb_download = QPushButton(self.w_central) - self.pb_download.setObjectName("pb_download") - # if QT_CONFIG(tooltip) - self.pb_download.setToolTip("") - # endif // QT_CONFIG(tooltip) - # if QT_CONFIG(statustip) - self.pb_download.setStatusTip("") - # endif // QT_CONFIG(statustip) - # if QT_CONFIG(whatsthis) - self.pb_download.setWhatsThis("") - # endif // QT_CONFIG(whatsthis) - # if QT_CONFIG(accessibility) - self.pb_download.setAccessibleName("") - # endif // QT_CONFIG(accessibility) - # if QT_CONFIG(accessibility) - self.pb_download.setAccessibleDescription("") - # endif // QT_CONFIG(accessibility) - self.pb_download.setText("Download") - # if QT_CONFIG(shortcut) - self.pb_download.setShortcut("") - # endif // QT_CONFIG(shortcut) + self.pb_download.setObjectName(u"pb_download") +#if QT_CONFIG(tooltip) + self.pb_download.setToolTip(u"") +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(statustip) + self.pb_download.setStatusTip(u"") +#endif // QT_CONFIG(statustip) +#if QT_CONFIG(whatsthis) + self.pb_download.setWhatsThis(u"") +#endif // QT_CONFIG(whatsthis) +#if QT_CONFIG(accessibility) + self.pb_download.setAccessibleName(u"") +#endif // QT_CONFIG(accessibility) +#if QT_CONFIG(accessibility) + self.pb_download.setAccessibleDescription(u"") +#endif // QT_CONFIG(accessibility) + self.pb_download.setText(u"Download") +#if QT_CONFIG(shortcut) + self.pb_download.setShortcut(u"") +#endif // QT_CONFIG(shortcut) self.lh_download.addWidget(self.pb_download) @@ -358,46 +353,47 @@ class Ui_MainWindow: self.lv_search_result.addLayout(self.lh_download) self.te_debug = QPlainTextEdit(self.w_central) - self.te_debug.setObjectName("te_debug") + self.te_debug.setObjectName(u"te_debug") self.te_debug.setEnabled(True) - sizePolicy2 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Maximum) + sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Maximum) sizePolicy2.setHorizontalStretch(0) sizePolicy2.setVerticalStretch(0) sizePolicy2.setHeightForWidth(self.te_debug.sizePolicy().hasHeightForWidth()) self.te_debug.setSizePolicy(sizePolicy2) self.te_debug.setMaximumSize(QSize(16777215, 16777215)) self.te_debug.setAcceptDrops(False) - # if QT_CONFIG(tooltip) - self.te_debug.setToolTip("") - # endif // QT_CONFIG(tooltip) - # if QT_CONFIG(statustip) - self.te_debug.setStatusTip("") - # endif // QT_CONFIG(statustip) - # if QT_CONFIG(whatsthis) - self.te_debug.setWhatsThis("") - # endif // QT_CONFIG(whatsthis) - # if QT_CONFIG(accessibility) - self.te_debug.setAccessibleName("") - # endif // QT_CONFIG(accessibility) - # if QT_CONFIG(accessibility) - self.te_debug.setAccessibleDescription("") - # endif // QT_CONFIG(accessibility) +#if QT_CONFIG(tooltip) + self.te_debug.setToolTip(u"") +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(statustip) + self.te_debug.setStatusTip(u"") +#endif // QT_CONFIG(statustip) +#if QT_CONFIG(whatsthis) + self.te_debug.setWhatsThis(u"") +#endif // QT_CONFIG(whatsthis) +#if QT_CONFIG(accessibility) + self.te_debug.setAccessibleName(u"") +#endif // QT_CONFIG(accessibility) +#if QT_CONFIG(accessibility) + self.te_debug.setAccessibleDescription(u"") +#endif // QT_CONFIG(accessibility) self.te_debug.setUndoRedoEnabled(False) self.te_debug.setReadOnly(True) self.lv_search_result.addWidget(self.te_debug) + self.horizontalLayout.addLayout(self.lv_search_result) self.lv_info = QVBoxLayout() - self.lv_info.setObjectName("lv_info") + self.lv_info.setObjectName(u"lv_info") self.lv_info_item = QVBoxLayout() - self.lv_info_item.setObjectName("lv_info_item") + self.lv_info_item.setObjectName(u"lv_info_item") self.horizontalLayout_2 = QHBoxLayout() - self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") self.l_pm_cover = QLabel(self.w_central) - self.l_pm_cover.setObjectName("l_pm_cover") - sizePolicy3 = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) + self.l_pm_cover.setObjectName(u"l_pm_cover") + sizePolicy3 = QSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed) sizePolicy3.setHorizontalStretch(0) sizePolicy3.setVerticalStretch(0) sizePolicy3.setHeightForWidth(self.l_pm_cover.sizePolicy().hasHeightForWidth()) @@ -405,64 +401,71 @@ class Ui_MainWindow: self.l_pm_cover.setMaximumSize(QSize(280, 280)) self.l_pm_cover.setBaseSize(QSize(0, 0)) self.l_pm_cover.setFrameShape(QFrame.NoFrame) - self.l_pm_cover.setPixmap(QPixmap("default_album_image.png")) + self.l_pm_cover.setPixmap(QPixmap(u"default_album_image.png")) self.l_pm_cover.setScaledContents(True) - self.l_pm_cover.setAlignment(Qt.AlignHCenter | Qt.AlignTop) + self.l_pm_cover.setAlignment(Qt.AlignHCenter|Qt.AlignTop) self.horizontalLayout_2.addWidget(self.l_pm_cover) + self.lv_info_item.addLayout(self.horizontalLayout_2) + self.lv_info.addLayout(self.lv_info_item) - self.lv_queue_dl = QVBoxLayout() - self.lv_queue_dl.setObjectName("lv_queue_dl") - self.l_h_queue_dl = QLabel(self.w_central) - self.l_h_queue_dl.setObjectName("l_h_queue_dl") + self.lv_queue_download = QVBoxLayout() + self.lv_queue_download.setObjectName(u"lv_queue_download") + self.l_h_queue_download = QLabel(self.w_central) + self.l_h_queue_download.setObjectName(u"l_h_queue_download") font = QFont() font.setBold(True) font.setItalic(False) font.setKerning(True) - self.l_h_queue_dl.setFont(font) + self.l_h_queue_download.setFont(font) - self.lv_queue_dl.addWidget(self.l_h_queue_dl) + self.lv_queue_download.addWidget(self.l_h_queue_download) - self.ta_queue_dl = QTableWidget(self.w_central) - if self.ta_queue_dl.columnCount() < 5: - self.ta_queue_dl.setColumnCount(5) - __qtablewidgetitem = QTableWidgetItem() - __qtablewidgetitem.setTextAlignment(Qt.AlignLeading | Qt.AlignVCenter) - self.ta_queue_dl.setHorizontalHeaderItem(0, __qtablewidgetitem) - __qtablewidgetitem1 = QTableWidgetItem() - self.ta_queue_dl.setHorizontalHeaderItem(1, __qtablewidgetitem1) - __qtablewidgetitem2 = QTableWidgetItem() - __qtablewidgetitem2.setTextAlignment(Qt.AlignLeading | Qt.AlignVCenter) - self.ta_queue_dl.setHorizontalHeaderItem(2, __qtablewidgetitem2) - __qtablewidgetitem3 = QTableWidgetItem() - __qtablewidgetitem3.setTextAlignment(Qt.AlignLeading | Qt.AlignVCenter) - self.ta_queue_dl.setHorizontalHeaderItem(3, __qtablewidgetitem3) - __qtablewidgetitem4 = QTableWidgetItem() - __qtablewidgetitem4.setTextAlignment(Qt.AlignLeading | Qt.AlignVCenter) - self.ta_queue_dl.setHorizontalHeaderItem(4, __qtablewidgetitem4) - self.ta_queue_dl.setObjectName("ta_queue_dl") - self.ta_queue_dl.setEditTriggers(QAbstractItemView.NoEditTriggers) - self.ta_queue_dl.setTabKeyNavigation(False) - self.ta_queue_dl.setProperty("showDropIndicator", False) - self.ta_queue_dl.setDragDropOverwriteMode(False) - self.ta_queue_dl.setSelectionMode(QAbstractItemView.ExtendedSelection) - self.ta_queue_dl.setSelectionBehavior(QAbstractItemView.SelectRows) - self.ta_queue_dl.setSortingEnabled(True) - self.ta_queue_dl.verticalHeader().setProperty("showSortIndicator", True) + self.tr_queue_download = QTreeWidget(self.w_central) + self.tr_queue_download.setObjectName(u"tr_queue_download") + self.tr_queue_download.setEditTriggers(QAbstractItemView.NoEditTriggers) + self.tr_queue_download.setTabKeyNavigation(False) + self.tr_queue_download.setProperty("showDropIndicator", False) + self.tr_queue_download.setDragDropOverwriteMode(False) + self.tr_queue_download.setSelectionMode(QAbstractItemView.ExtendedSelection) + self.tr_queue_download.setSelectionBehavior(QAbstractItemView.SelectRows) + self.tr_queue_download.setRootIsDecorated(False) + self.tr_queue_download.setItemsExpandable(False) + self.tr_queue_download.setSortingEnabled(False) + self.tr_queue_download.setExpandsOnDoubleClick(False) + self.tr_queue_download.header().setProperty("showSortIndicator", False) + self.tr_queue_download.header().setStretchLastSection(False) - self.lv_queue_dl.addWidget(self.ta_queue_dl) + self.lv_queue_download.addWidget(self.tr_queue_download) - self.pb_queue_item_remove = QPushButton(self.w_central) - self.pb_queue_item_remove.setObjectName("pb_queue_item_remove") - self.pb_queue_item_remove.setEnabled(False) + self.pb_queue_download_item_remove = QPushButton(self.w_central) + self.pb_queue_download_item_remove.setObjectName(u"pb_queue_download_item_remove") + self.pb_queue_download_item_remove.setEnabled(False) - self.lv_queue_dl.addWidget(self.pb_queue_item_remove) + self.lv_queue_download.addWidget(self.pb_queue_download_item_remove) + + self.horizontalLayout_3 = QHBoxLayout() + self.horizontalLayout_3.setObjectName(u"horizontalLayout_3") + self.pb_clear_finished = QPushButton(self.w_central) + self.pb_clear_finished.setObjectName(u"pb_clear_finished") + + self.horizontalLayout_3.addWidget(self.pb_clear_finished) + + self.pb_clear_all = QPushButton(self.w_central) + self.pb_clear_all.setObjectName(u"pb_clear_all") + + self.horizontalLayout_3.addWidget(self.pb_clear_all) + + + self.lv_queue_download.addLayout(self.horizontalLayout_3) + + + self.lv_info.addLayout(self.lv_queue_download) - self.lv_info.addLayout(self.lv_queue_dl) self.horizontalLayout.addLayout(self.lv_info) @@ -470,60 +473,60 @@ class Ui_MainWindow: self.horizontalLayout.setStretch(2, 25) MainWindow.setCentralWidget(self.w_central) self.menubar = QMenuBar(MainWindow) - self.menubar.setObjectName("menubar") + self.menubar.setObjectName(u"menubar") self.menubar.setGeometry(QRect(0, 0, 1200, 24)) - # if QT_CONFIG(tooltip) - self.menubar.setToolTip("") - # endif // QT_CONFIG(tooltip) - # if QT_CONFIG(statustip) - self.menubar.setStatusTip("") - # endif // QT_CONFIG(statustip) - # if QT_CONFIG(whatsthis) - self.menubar.setWhatsThis("") - # endif // QT_CONFIG(whatsthis) - # if QT_CONFIG(accessibility) - self.menubar.setAccessibleName("") - # endif // QT_CONFIG(accessibility) - # if QT_CONFIG(accessibility) - self.menubar.setAccessibleDescription("") - # endif // QT_CONFIG(accessibility) +#if QT_CONFIG(tooltip) + self.menubar.setToolTip(u"") +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(statustip) + self.menubar.setStatusTip(u"") +#endif // QT_CONFIG(statustip) +#if QT_CONFIG(whatsthis) + self.menubar.setWhatsThis(u"") +#endif // QT_CONFIG(whatsthis) +#if QT_CONFIG(accessibility) + self.menubar.setAccessibleName(u"") +#endif // QT_CONFIG(accessibility) +#if QT_CONFIG(accessibility) + self.menubar.setAccessibleDescription(u"") +#endif // QT_CONFIG(accessibility) self.m_file = QMenu(self.menubar) - self.m_file.setObjectName("m_file") - # if QT_CONFIG(tooltip) - self.m_file.setToolTip("") - # endif // QT_CONFIG(tooltip) - # if QT_CONFIG(statustip) - self.m_file.setStatusTip("") - # endif // QT_CONFIG(statustip) - # if QT_CONFIG(whatsthis) - self.m_file.setWhatsThis("") - # endif // QT_CONFIG(whatsthis) - # if QT_CONFIG(accessibility) - self.m_file.setAccessibleName("") - # endif // QT_CONFIG(accessibility) - # if QT_CONFIG(accessibility) - self.m_file.setAccessibleDescription("") - # endif // QT_CONFIG(accessibility) + self.m_file.setObjectName(u"m_file") +#if QT_CONFIG(tooltip) + self.m_file.setToolTip(u"") +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(statustip) + self.m_file.setStatusTip(u"") +#endif // QT_CONFIG(statustip) +#if QT_CONFIG(whatsthis) + self.m_file.setWhatsThis(u"") +#endif // QT_CONFIG(whatsthis) +#if QT_CONFIG(accessibility) + self.m_file.setAccessibleName(u"") +#endif // QT_CONFIG(accessibility) +#if QT_CONFIG(accessibility) + self.m_file.setAccessibleDescription(u"") +#endif // QT_CONFIG(accessibility) self.m_help = QMenu(self.menubar) - self.m_help.setObjectName("m_help") + self.m_help.setObjectName(u"m_help") MainWindow.setMenuBar(self.menubar) self.statusbar = QStatusBar(MainWindow) - self.statusbar.setObjectName("statusbar") - # if QT_CONFIG(tooltip) - self.statusbar.setToolTip("") - # endif // QT_CONFIG(tooltip) - # if QT_CONFIG(statustip) - self.statusbar.setStatusTip("") - # endif // QT_CONFIG(statustip) - # if QT_CONFIG(whatsthis) - self.statusbar.setWhatsThis("") - # endif // QT_CONFIG(whatsthis) - # if QT_CONFIG(accessibility) - self.statusbar.setAccessibleName("") - # endif // QT_CONFIG(accessibility) - # if QT_CONFIG(accessibility) - self.statusbar.setAccessibleDescription("") - # endif // QT_CONFIG(accessibility) + self.statusbar.setObjectName(u"statusbar") +#if QT_CONFIG(tooltip) + self.statusbar.setToolTip(u"") +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(statustip) + self.statusbar.setStatusTip(u"") +#endif // QT_CONFIG(statustip) +#if QT_CONFIG(whatsthis) + self.statusbar.setWhatsThis(u"") +#endif // QT_CONFIG(whatsthis) +#if QT_CONFIG(accessibility) + self.statusbar.setAccessibleName(u"") +#endif // QT_CONFIG(accessibility) +#if QT_CONFIG(accessibility) + self.statusbar.setAccessibleDescription(u"") +#endif // QT_CONFIG(accessibility) self.statusbar.setLayoutDirection(Qt.LeftToRight) MainWindow.setStatusBar(self.statusbar) @@ -538,53 +541,50 @@ class Ui_MainWindow: self.retranslateUi(MainWindow) QMetaObject.connectSlotsByName(MainWindow) - # setupUi def retranslateUi(self, MainWindow): - MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", "MainWindow", None)) - self.a_version.setText(QCoreApplication.translate("MainWindow", "Version", None)) - self.a_exit.setText(QCoreApplication.translate("MainWindow", "Exit", None)) - self.a_logout.setText(QCoreApplication.translate("MainWindow", "Logout", None)) - self.a_updates_check.setText(QCoreApplication.translate("MainWindow", "Check for Updates", None)) + MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"MainWindow", None)) + self.a_version.setText(QCoreApplication.translate("MainWindow", u"Version", None)) + self.a_exit.setText(QCoreApplication.translate("MainWindow", u"Exit", None)) + self.a_logout.setText(QCoreApplication.translate("MainWindow", u"Logout", None)) + self.a_updates_check.setText(QCoreApplication.translate("MainWindow", u"Check for Updates", None)) ___qtreewidgetitem = self.tr_lists_user.headerItem() - ___qtreewidgetitem.setText(1, QCoreApplication.translate("MainWindow", "obj", None)) + ___qtreewidgetitem.setText(1, QCoreApplication.translate("MainWindow", u"obj", None)); __sortingEnabled = self.tr_lists_user.isSortingEnabled() self.tr_lists_user.setSortingEnabled(False) ___qtreewidgetitem1 = self.tr_lists_user.topLevelItem(0) - ___qtreewidgetitem1.setText(0, QCoreApplication.translate("MainWindow", "Playlists", None)) + ___qtreewidgetitem1.setText(0, QCoreApplication.translate("MainWindow", u"Playlists", None)); ___qtreewidgetitem2 = self.tr_lists_user.topLevelItem(1) - ___qtreewidgetitem2.setText(0, QCoreApplication.translate("MainWindow", "Mixes", None)) + ___qtreewidgetitem2.setText(0, QCoreApplication.translate("MainWindow", u"Mixes", None)); ___qtreewidgetitem3 = self.tr_lists_user.topLevelItem(2) - ___qtreewidgetitem3.setText(0, QCoreApplication.translate("MainWindow", "Favorites", None)) + ___qtreewidgetitem3.setText(0, QCoreApplication.translate("MainWindow", u"Favorites", None)); self.tr_lists_user.setSortingEnabled(__sortingEnabled) - self.pb_reload_user_lists.setText(QCoreApplication.translate("MainWindow", "Reload", None)) - self.pb_download_list.setText(QCoreApplication.translate("MainWindow", "Download List", None)) + self.pb_reload_user_lists.setText(QCoreApplication.translate("MainWindow", u"Reload", None)) + self.pb_download_list.setText(QCoreApplication.translate("MainWindow", u"Download List", None)) ___qtreewidgetitem4 = self.tr_results.headerItem() - ___qtreewidgetitem4.setText(6, QCoreApplication.translate("MainWindow", "Quality", None)) - ___qtreewidgetitem4.setText(5, QCoreApplication.translate("MainWindow", "Duration", None)) - ___qtreewidgetitem4.setText(4, QCoreApplication.translate("MainWindow", "Album", None)) - ___qtreewidgetitem4.setText(3, QCoreApplication.translate("MainWindow", "Title", None)) - ___qtreewidgetitem4.setText(2, QCoreApplication.translate("MainWindow", "Artist", None)) - ___qtreewidgetitem4.setText(1, QCoreApplication.translate("MainWindow", "obj", None)) - ___qtreewidgetitem4.setText(0, QCoreApplication.translate("MainWindow", "#", None)) - self.te_debug.setPlaceholderText(QCoreApplication.translate("MainWindow", "Logs...", None)) + ___qtreewidgetitem4.setText(6, QCoreApplication.translate("MainWindow", u"Quality", None)); + ___qtreewidgetitem4.setText(5, QCoreApplication.translate("MainWindow", u"Duration", None)); + ___qtreewidgetitem4.setText(4, QCoreApplication.translate("MainWindow", u"Album", None)); + ___qtreewidgetitem4.setText(3, QCoreApplication.translate("MainWindow", u"Title", None)); + ___qtreewidgetitem4.setText(2, QCoreApplication.translate("MainWindow", u"Artist", None)); + ___qtreewidgetitem4.setText(1, QCoreApplication.translate("MainWindow", u"obj", None)); + ___qtreewidgetitem4.setText(0, QCoreApplication.translate("MainWindow", u"#", None)); + self.te_debug.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Logs...", None)) self.l_pm_cover.setText("") - self.l_h_queue_dl.setText(QCoreApplication.translate("MainWindow", "Download Queue", None)) - ___qtablewidgetitem = self.ta_queue_dl.horizontalHeaderItem(0) - ___qtablewidgetitem.setText(QCoreApplication.translate("MainWindow", "#", None)) - ___qtablewidgetitem1 = self.ta_queue_dl.horizontalHeaderItem(1) - ___qtablewidgetitem1.setText(QCoreApplication.translate("MainWindow", "obj", None)) - ___qtablewidgetitem2 = self.ta_queue_dl.horizontalHeaderItem(2) - ___qtablewidgetitem2.setText(QCoreApplication.translate("MainWindow", "Name", None)) - ___qtablewidgetitem3 = self.ta_queue_dl.horizontalHeaderItem(3) - ___qtablewidgetitem3.setText(QCoreApplication.translate("MainWindow", "Type", None)) - ___qtablewidgetitem4 = self.ta_queue_dl.horizontalHeaderItem(4) - ___qtablewidgetitem4.setText(QCoreApplication.translate("MainWindow", "Quality", None)) - self.pb_queue_item_remove.setText(QCoreApplication.translate("MainWindow", "Remove", None)) - self.m_file.setTitle(QCoreApplication.translate("MainWindow", "File", None)) - self.m_help.setTitle(QCoreApplication.translate("MainWindow", "Help", None)) - + self.l_h_queue_download.setText(QCoreApplication.translate("MainWindow", u"Download Queue", None)) + ___qtreewidgetitem5 = self.tr_queue_download.headerItem() + ___qtreewidgetitem5.setText(4, QCoreApplication.translate("MainWindow", u"Quality", None)); + ___qtreewidgetitem5.setText(3, QCoreApplication.translate("MainWindow", u"Type", None)); + ___qtreewidgetitem5.setText(2, QCoreApplication.translate("MainWindow", u"Name", None)); + ___qtreewidgetitem5.setText(1, QCoreApplication.translate("MainWindow", u"obj", None)); + ___qtreewidgetitem5.setText(0, QCoreApplication.translate("MainWindow", u"\ud83e\uddd1\u200d\ud83d\udcbb\ufe0f", None)); + self.pb_queue_download_item_remove.setText(QCoreApplication.translate("MainWindow", u"Remove", None)) + self.pb_clear_finished.setText(QCoreApplication.translate("MainWindow", u"Clear Finished", None)) + self.pb_clear_all.setText(QCoreApplication.translate("MainWindow", u"Clear All", None)) + self.m_file.setTitle(QCoreApplication.translate("MainWindow", u"File", None)) + self.m_help.setTitle(QCoreApplication.translate("MainWindow", u"Help", None)) # retranslateUi + diff --git a/tidal_dl_ng/ui/main.ui b/tidal_dl_ng/ui/main.ui index 1e83207..cdb8461 100644 --- a/tidal_dl_ng/ui/main.ui +++ b/tidal_dl_ng/ui/main.ui @@ -575,9 +575,9 @@ - + - + false @@ -591,7 +591,7 @@ - + QAbstractItemView::NoEditTriggers @@ -610,18 +610,27 @@ QAbstractItemView::SelectRows - - true + + false - - true + + false + + + false + + + false + + + false + + + false - # - - - AlignLeading|AlignVCenter + 🧑‍💻️ @@ -633,30 +642,21 @@ Name - - AlignLeading|AlignVCenter - Type - - AlignLeading|AlignVCenter - Quality - - AlignLeading|AlignVCenter - - + false @@ -665,6 +665,24 @@ + + + + + + Clear Finished + + + + + + + Clear All + + + + +