summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Honz <exislow+github@gmail.com>2024-05-15 06:33:46 +0200
committerRobert Honz <exislow+github@gmail.com>2024-05-15 06:33:46 +0200
commit79e60a0ac723cc6b307b726de25a001e96f6cdfa (patch)
tree97421d0378ca137fedd91398fb1de3bc72d5e9f4
parent5a013f518076dee10ac3e44c01e51a775ab2e16b (diff)
downloadtidal-dl-ng-79e60a0ac723cc6b307b726de25a001e96f6cdfa.tar.gz
✨ Able to place results to queue.
-rw-r--r--tidal_dl_ng/gui.py22
1 files changed, 11 insertions, 11 deletions
diff --git a/tidal_dl_ng/gui.py b/tidal_dl_ng/gui.py
index 16e1103..ff853a4 100644
--- a/tidal_dl_ng/gui.py
+++ b/tidal_dl_ng/gui.py
@@ -218,30 +218,30 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
self.cb_search_type.setCurrentIndex(2)
- def handle_filter_activated(self, tree: QtWidgets.QTreeView):
- header = tree.header()
+ def handle_filter_activated(self):
+ header: FilterHeader = self.tr_results.header()
filters = []
for i in range(header.count()):
- text: str = header.filterText(i)
+ text: str = header.filter_text(i)
if text:
filters.append((i, text))
- proxy = tree.model()
- proxy.filters = filters
+ proxy_model: HumanProxyModel = self.tr_results.model()
+ proxy_model.filters = filters
def _init_tree_results(self, tree: QtWidgets.QTreeView, model: QtGui.QStandardItemModel) -> None:
- header = FilterHeader(tree)
- self.proxy_tr_results = HumanProxyModel(self)
+ header: FilterHeader = FilterHeader(tree)
+ self.proxy_tr_results: HumanProxyModel = HumanProxyModel(self)
tree.setHeader(header)
tree.setModel(model)
self.proxy_tr_results.setSourceModel(model)
tree.setModel(self.proxy_tr_results)
header.set_filter_boxes(model.columnCount())
- header.filter_activated.connect(lambda: self.handle_filter_activated(tree))
- ##
+ header.filter_activated.connect(self.handle_filter_activated)
+ ## Styling
tree.sortByColumn(0, QtCore.Qt.SortOrder.AscendingOrder)
tree.setColumnHidden(1, True)
tree.setColumnWidth(2, 150)
@@ -802,13 +802,13 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
# TODO: Must happen in main thread. Do not thread this.
def on_download_results(self) -> None:
- items: [QtWidgets.QTreeWidgetItem | None] = self.tr_results.selectedItems()
+ items: [HumanProxyModel | None] = self.tr_results.selectionModel().selectedRows()
if len(items) == 0:
logger_gui.error("Please select a row first.")
else:
for item in items:
- media: Track | Album | Playlist | Video | Artist = get_results_media_item(item)
+ media: Track | Album | Playlist | Video | Artist = get_results_media_item(item, self.proxy_tr_results, self.model_tr_results)
queue_dl_item: QueueDownloadItem = self.media_to_queue_download_model(media)
if queue_dl_item: