✨ Able to remove single items from download queue.
This commit is contained in:
+20
-5
@@ -326,7 +326,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
items: [QtWidgets.QTreeWidgetItem] = self.tr_lists_user.selectedItems()
|
items: [QtWidgets.QTreeWidgetItem] = self.tr_lists_user.selectedItems()
|
||||||
|
|
||||||
if len(items) == 0:
|
if len(items) == 0:
|
||||||
logger_gui.error("Please select a row first.")
|
logger_gui.error("Please select a mix or playlist first.")
|
||||||
else:
|
else:
|
||||||
item = items[0]
|
item = items[0]
|
||||||
|
|
||||||
@@ -507,8 +507,9 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
self.pb_download.clicked.connect(lambda: self.thread_it(self.on_download_results))
|
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_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_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_queue_download_clear_all.clicked.connect(self.on_queue_download_clear_all)
|
||||||
self.pb_clear_finished.clicked.connect(self.on_clear_finished)
|
self.pb_queue_download_clear_finished.clicked.connect(self.on_queue_download_clear_finished)
|
||||||
|
self.pb_queue_download_remove.clicked.connect(self.on_queue_download_remove)
|
||||||
self.l_search.returnPressed.connect(
|
self.l_search.returnPressed.connect(
|
||||||
lambda: self.search_populate_results(self.l_search.text(), self.cb_search_type.currentData())
|
lambda: self.search_populate_results(self.l_search.text(), self.cb_search_type.currentData())
|
||||||
)
|
)
|
||||||
@@ -643,12 +644,12 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
# Execute
|
# Execute
|
||||||
self.threadpool.start(worker)
|
self.threadpool.start(worker)
|
||||||
|
|
||||||
def on_clear_all(self):
|
def on_queue_download_clear_all(self):
|
||||||
self.on_clear_queue_download(
|
self.on_clear_queue_download(
|
||||||
f"[{QueueDownloadStatus.Waiting.value}{QueueDownloadStatus.Finished.value}{QueueDownloadStatus.Failed.value}]"
|
f"[{QueueDownloadStatus.Waiting.value}{QueueDownloadStatus.Finished.value}{QueueDownloadStatus.Failed.value}]"
|
||||||
)
|
)
|
||||||
|
|
||||||
def on_clear_finished(self):
|
def on_queue_download_clear_finished(self):
|
||||||
self.on_clear_queue_download(f"[{QueueDownloadStatus.Finished.value}]")
|
self.on_clear_queue_download(f"[{QueueDownloadStatus.Finished.value}]")
|
||||||
|
|
||||||
def on_clear_queue_download(self, regex: str):
|
def on_clear_queue_download(self, regex: str):
|
||||||
@@ -659,6 +660,20 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
for item in items:
|
for item in items:
|
||||||
self.tr_queue_download.takeTopLevelItem(self.tr_queue_download.indexOfTopLevelItem(item))
|
self.tr_queue_download.takeTopLevelItem(self.tr_queue_download.indexOfTopLevelItem(item))
|
||||||
|
|
||||||
|
def on_queue_download_remove(self):
|
||||||
|
items: [QtWidgets.QTreeWidgetItem | None] = self.tr_queue_download.selectedItems()
|
||||||
|
|
||||||
|
if len(items) == 0:
|
||||||
|
logger_gui.error("Please select an item from the queue first.")
|
||||||
|
else:
|
||||||
|
for item in items:
|
||||||
|
status: str = item.text(0)
|
||||||
|
|
||||||
|
if status is not QueueDownloadStatus.Downloading.value:
|
||||||
|
self.tr_queue_download.takeTopLevelItem(self.tr_queue_download.indexOfTopLevelItem(item))
|
||||||
|
else:
|
||||||
|
logger_gui.info("Cannot remove a currently downloading item from queue.")
|
||||||
|
|
||||||
# TODO: Must happen in main thread. Do not thread this.
|
# TODO: Must happen in main thread. Do not thread this.
|
||||||
def on_download_results(self) -> None:
|
def on_download_results(self) -> None:
|
||||||
items: [QtWidgets.QTreeWidgetItem | None] = self.tr_results.selectedItems()
|
items: [QtWidgets.QTreeWidgetItem | None] = self.tr_results.selectedItems()
|
||||||
|
|||||||
+13
-13
@@ -445,23 +445,23 @@ class Ui_MainWindow:
|
|||||||
|
|
||||||
self.lv_queue_download.addWidget(self.tr_queue_download)
|
self.lv_queue_download.addWidget(self.tr_queue_download)
|
||||||
|
|
||||||
self.pb_queue_download_item_remove = QPushButton(self.w_central)
|
self.pb_queue_download_remove = QPushButton(self.w_central)
|
||||||
self.pb_queue_download_item_remove.setObjectName("pb_queue_download_item_remove")
|
self.pb_queue_download_remove.setObjectName("pb_queue_download_remove")
|
||||||
self.pb_queue_download_item_remove.setEnabled(False)
|
self.pb_queue_download_remove.setEnabled(True)
|
||||||
|
|
||||||
self.lv_queue_download.addWidget(self.pb_queue_download_item_remove)
|
self.lv_queue_download.addWidget(self.pb_queue_download_remove)
|
||||||
|
|
||||||
self.horizontalLayout_3 = QHBoxLayout()
|
self.horizontalLayout_3 = QHBoxLayout()
|
||||||
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
|
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
|
||||||
self.pb_clear_finished = QPushButton(self.w_central)
|
self.pb_queue_download_clear_finished = QPushButton(self.w_central)
|
||||||
self.pb_clear_finished.setObjectName("pb_clear_finished")
|
self.pb_queue_download_clear_finished.setObjectName("pb_queue_download_clear_finished")
|
||||||
|
|
||||||
self.horizontalLayout_3.addWidget(self.pb_clear_finished)
|
self.horizontalLayout_3.addWidget(self.pb_queue_download_clear_finished)
|
||||||
|
|
||||||
self.pb_clear_all = QPushButton(self.w_central)
|
self.pb_queue_download_clear_all = QPushButton(self.w_central)
|
||||||
self.pb_clear_all.setObjectName("pb_clear_all")
|
self.pb_queue_download_clear_all.setObjectName("pb_queue_download_clear_all")
|
||||||
|
|
||||||
self.horizontalLayout_3.addWidget(self.pb_clear_all)
|
self.horizontalLayout_3.addWidget(self.pb_queue_download_clear_all)
|
||||||
|
|
||||||
self.lv_queue_download.addLayout(self.horizontalLayout_3)
|
self.lv_queue_download.addLayout(self.horizontalLayout_3)
|
||||||
|
|
||||||
@@ -581,9 +581,9 @@ class Ui_MainWindow:
|
|||||||
___qtreewidgetitem5.setText(3, QCoreApplication.translate("MainWindow", "Type", None))
|
___qtreewidgetitem5.setText(3, QCoreApplication.translate("MainWindow", "Type", None))
|
||||||
___qtreewidgetitem5.setText(2, QCoreApplication.translate("MainWindow", "Name", None))
|
___qtreewidgetitem5.setText(2, QCoreApplication.translate("MainWindow", "Name", None))
|
||||||
___qtreewidgetitem5.setText(1, QCoreApplication.translate("MainWindow", "obj", None))
|
___qtreewidgetitem5.setText(1, QCoreApplication.translate("MainWindow", "obj", None))
|
||||||
self.pb_queue_download_item_remove.setText(QCoreApplication.translate("MainWindow", "Remove", None))
|
self.pb_queue_download_remove.setText(QCoreApplication.translate("MainWindow", "Remove", None))
|
||||||
self.pb_clear_finished.setText(QCoreApplication.translate("MainWindow", "Clear Finished", None))
|
self.pb_queue_download_clear_finished.setText(QCoreApplication.translate("MainWindow", "Clear Finished", None))
|
||||||
self.pb_clear_all.setText(QCoreApplication.translate("MainWindow", "Clear All", None))
|
self.pb_queue_download_clear_all.setText(QCoreApplication.translate("MainWindow", "Clear All", None))
|
||||||
self.m_file.setTitle(QCoreApplication.translate("MainWindow", "File", None))
|
self.m_file.setTitle(QCoreApplication.translate("MainWindow", "File", None))
|
||||||
self.m_help.setTitle(QCoreApplication.translate("MainWindow", "Help", None))
|
self.m_help.setTitle(QCoreApplication.translate("MainWindow", "Help", None))
|
||||||
|
|
||||||
|
|||||||
@@ -656,9 +656,9 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="pb_queue_download_item_remove">
|
<widget class="QPushButton" name="pb_queue_download_remove">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Remove</string>
|
<string>Remove</string>
|
||||||
@@ -668,14 +668,14 @@
|
|||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="pb_clear_finished">
|
<widget class="QPushButton" name="pb_queue_download_clear_finished">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Clear Finished</string>
|
<string>Clear Finished</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="pb_clear_all">
|
<widget class="QPushButton" name="pb_queue_download_clear_all">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Clear All</string>
|
<string>Clear All</string>
|
||||||
</property>
|
</property>
|
||||||
|
|||||||
Reference in New Issue
Block a user