✨ Able to place results to queue.
This commit is contained in:
+11
-11
@@ -218,30 +218,30 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
|
|
||||||
self.cb_search_type.setCurrentIndex(2)
|
self.cb_search_type.setCurrentIndex(2)
|
||||||
|
|
||||||
def handle_filter_activated(self, tree: QtWidgets.QTreeView):
|
def handle_filter_activated(self):
|
||||||
header = tree.header()
|
header: FilterHeader = self.tr_results.header()
|
||||||
filters = []
|
filters = []
|
||||||
|
|
||||||
for i in range(header.count()):
|
for i in range(header.count()):
|
||||||
text: str = header.filterText(i)
|
text: str = header.filter_text(i)
|
||||||
|
|
||||||
if text:
|
if text:
|
||||||
filters.append((i, text))
|
filters.append((i, text))
|
||||||
|
|
||||||
proxy = tree.model()
|
proxy_model: HumanProxyModel = self.tr_results.model()
|
||||||
proxy.filters = filters
|
proxy_model.filters = filters
|
||||||
|
|
||||||
def _init_tree_results(self, tree: QtWidgets.QTreeView, model: QtGui.QStandardItemModel) -> None:
|
def _init_tree_results(self, tree: QtWidgets.QTreeView, model: QtGui.QStandardItemModel) -> None:
|
||||||
header = FilterHeader(tree)
|
header: FilterHeader = FilterHeader(tree)
|
||||||
self.proxy_tr_results = HumanProxyModel(self)
|
self.proxy_tr_results: HumanProxyModel = HumanProxyModel(self)
|
||||||
|
|
||||||
tree.setHeader(header)
|
tree.setHeader(header)
|
||||||
tree.setModel(model)
|
tree.setModel(model)
|
||||||
self.proxy_tr_results.setSourceModel(model)
|
self.proxy_tr_results.setSourceModel(model)
|
||||||
tree.setModel(self.proxy_tr_results)
|
tree.setModel(self.proxy_tr_results)
|
||||||
header.set_filter_boxes(model.columnCount())
|
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.sortByColumn(0, QtCore.Qt.SortOrder.AscendingOrder)
|
||||||
tree.setColumnHidden(1, True)
|
tree.setColumnHidden(1, True)
|
||||||
tree.setColumnWidth(2, 150)
|
tree.setColumnWidth(2, 150)
|
||||||
@@ -802,13 +802,13 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
|
|
||||||
# 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: [HumanProxyModel | None] = self.tr_results.selectionModel().selectedRows()
|
||||||
|
|
||||||
if len(items) == 0:
|
if len(items) == 0:
|
||||||
logger_gui.error("Please select a row first.")
|
logger_gui.error("Please select a row first.")
|
||||||
else:
|
else:
|
||||||
for item in items:
|
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)
|
queue_dl_item: QueueDownloadItem = self.media_to_queue_download_model(media)
|
||||||
|
|
||||||
if queue_dl_item:
|
if queue_dl_item:
|
||||||
|
|||||||
Reference in New Issue
Block a user