✨ Either date added or date released will be shown, depending if a list is selected or a search was performed. Fixes #424

This commit is contained in:
Robert Honz
2025-06-30 10:44:51 +02:00
parent 949aec8b61
commit 70e8b5fb13
2 changed files with 25 additions and 9 deletions
+23 -8
View File
@@ -255,7 +255,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
self.pb_item.setValue(0) self.pb_item.setValue(0)
def on_statusbar_message(self, data: StatusbarMessage): def on_statusbar_message(self, data: StatusbarMessage):
self.statusbar.showMessage(data.message, data.timout) self.statusbar.showMessage(data.message, data.timeout)
def _log_output(self, text): def _log_output(self, text):
display_msg = coloredlogs.converter.convert(text) display_msg = coloredlogs.converter.convert(text)
@@ -313,7 +313,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
tree.customContextMenuRequested.connect(self.menu_context_tree_results) tree.customContextMenuRequested.connect(self.menu_context_tree_results)
def _init_tree_results_model(self, model: QtGui.QStandardItemModel) -> None: def _init_tree_results_model(self, model: QtGui.QStandardItemModel) -> None:
labels_column: [str] = ["#", "obj", "Artist", "Title", "Album", "Duration", "Quality", "Date Added"] labels_column: [str] = ["#", "obj", "Artist", "Title", "Album", "Duration", "Quality", "Date"]
model.setColumnCount(len(labels_column)) model.setColumnCount(len(labels_column))
model.setRowCount(0) model.setRowCount(0)
@@ -534,9 +534,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
else: else:
self.s_tr_results_add_top_level_item.emit(child) self.s_tr_results_add_top_level_item.emit(child)
def populate_tree_result_child( def populate_tree_result_child(self, item: ResultItem, index_count_digits: int) -> Sequence[QtGui.QStandardItem]:
self, item: [Track | Video | Mix | Album | Playlist], index_count_digits: int
) -> Sequence[QtGui.QStandardItem]:
duration: str = "" duration: str = ""
# TODO: Duration needs to be calculated later to properly fill with zeros. # TODO: Duration needs to be calculated later to properly fill with zeros.
@@ -561,7 +559,9 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
child_album: QtGui.QStandardItem = QtGui.QStandardItem(item.album) child_album: QtGui.QStandardItem = QtGui.QStandardItem(item.album)
child_duration: QtGui.QStandardItem = QtGui.QStandardItem(duration) child_duration: QtGui.QStandardItem = QtGui.QStandardItem(duration)
child_quality: QtGui.QStandardItem = QtGui.QStandardItem(item.quality) child_quality: QtGui.QStandardItem = QtGui.QStandardItem(item.quality)
child_date_added: QtGui.QStandardItem = QtGui.QStandardItem(item.date_user_added) child_date: QtGui.QStandardItem = QtGui.QStandardItem(
item.date_user_added if item.date_user_added != "" else item.date_release
)
if isinstance(item.obj, Mix | Playlist | Album | Artist): if isinstance(item.obj, Mix | Playlist | Album | Artist):
# Add a disabled dummy child, so expansion arrow will appear. This Child will be replaced on expansion. # Add a disabled dummy child, so expansion arrow will appear. This Child will be replaced on expansion.
@@ -578,7 +578,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
child_album, child_album,
child_duration, child_duration,
child_quality, child_quality,
child_date_added, child_date,
) )
def on_tr_results_add_top_level_item(self, item_child: Sequence[QtGui.QStandardItem]): def on_tr_results_add_top_level_item(self, item_child: Sequence[QtGui.QStandardItem]):
@@ -634,6 +634,15 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
explicit = " 🅴" if item.explicit else "" explicit = " 🅴" if item.explicit else ""
date_user_added: str = item.user_date_added.strftime("%Y-%m-%d_%H:%M") if item.user_date_added else "" date_user_added: str = item.user_date_added.strftime("%Y-%m-%d_%H:%M") if item.user_date_added else ""
date_release: str = (
item.album.release_date.strftime("%Y-%m-%d_%H:%M")
if hasattr(item, "album") and item.album and item.album.release_date
else (
item.release_date.strftime("%Y-%m-%d_%H:%M")
if hasattr(item, "release_date") and item.release_date
else ""
)
)
if isinstance(item, Track): if isinstance(item, Track):
result_item: ResultItem = ResultItem( result_item: ResultItem = ResultItem(
@@ -646,6 +655,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
quality=quality_audio_highest(item), quality=quality_audio_highest(item),
explicit=bool(item.explicit), explicit=bool(item.explicit),
date_user_added=date_user_added, date_user_added=date_user_added,
date_release=date_release,
) )
result.append(result_item) result.append(result_item)
@@ -660,6 +670,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
quality=item.video_quality, quality=item.video_quality,
explicit=bool(item.explicit), explicit=bool(item.explicit),
date_user_added=date_user_added, date_user_added=date_user_added,
date_release=date_release,
) )
result.append(result_item) result.append(result_item)
@@ -674,6 +685,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
quality="", quality="",
explicit=False, explicit=False,
date_user_added=date_user_added, date_user_added=date_user_added,
date_release=date_release,
) )
result.append(result_item) result.append(result_item)
@@ -688,6 +700,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
quality=quality_audio_highest(item), quality=quality_audio_highest(item),
explicit=bool(item.explicit), explicit=bool(item.explicit),
date_user_added=date_user_added, date_user_added=date_user_added,
date_release=date_release,
) )
result.append(result_item) result.append(result_item)
@@ -703,6 +716,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
quality="", quality="",
explicit=False, explicit=False,
date_user_added=date_user_added, date_user_added=date_user_added,
date_release=date_release,
) )
result.append(result_item) result.append(result_item)
@@ -717,6 +731,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
quality="", quality="",
explicit=False, explicit=False,
date_user_added=date_user_added, date_user_added=date_user_added,
date_release=date_release,
) )
result.append(result_item) result.append(result_item)
@@ -1157,7 +1172,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
result_dl = True result_dl = True
path_file = "dummy" path_file = "dummy"
self.s_statusbar_message.emit(StatusbarMessage(message="Download finished.", timout=2000)) self.s_statusbar_message.emit(StatusbarMessage(message="Download finished.", timeout=2000))
if result_dl and path_file: if result_dl and path_file:
result = QueueDownloadStatus.Finished result = QueueDownloadStatus.Finished
+2 -1
View File
@@ -31,12 +31,13 @@ class ResultItem:
quality: str quality: str
explicit: bool explicit: bool
date_user_added: str date_user_added: str
date_release: str
@dataclass @dataclass
class StatusbarMessage: class StatusbarMessage:
message: str message: str
timout: int = 0 timeout: int = 0
@dataclass @dataclass