diff --git a/ytsage/gui/ytsage_gui_format_table.py b/ytsage/gui/ytsage_gui_format_table.py index f0133ce..e87c685 100644 --- a/ytsage/gui/ytsage_gui_format_table.py +++ b/ytsage/gui/ytsage_gui_format_table.py @@ -307,6 +307,9 @@ class FormatTableMixin: # Quality label with color coding quality_label = self.get_quality_label(f) + if is_playlist_mode and f.get("vcodec") != "none": + quality_label = f"≤ {quality_label}" + quality_item = QTableWidgetItem(quality_label) # Set color based on quality (check multiple language terms) quality_lower = quality_label.lower() @@ -324,6 +327,9 @@ class FormatTableMixin: resolution = f.get("resolution") or "N/A" if not isinstance(resolution, str): resolution = str(resolution) + + if is_playlist_mode and f.get("vcodec") != "none" and resolution != "N/A": + resolution = f"≤ {resolution}" if is_playlist_mode: # Column 2 for playlist mode: Resolution diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index 880a095..f6a9331 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -713,12 +713,19 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Get resolution for filename resolution = "default" - for checkbox in self.format_checkboxes: - if checkbox.isChecked(): - parts = checkbox.text().split("•") - if len(parts) >= 1: - resolution = parts[0].strip().lower() - break + for row in range(self.format_table.rowCount()): + cell_widget = self.format_table.cellWidget(row, 0) + if cell_widget: + cb = cell_widget.layout().itemAt(0).widget() + if isinstance(cb, QCheckBox) and cb.isChecked(): + if self.is_playlist: + res_item = self.format_table.item(row, 2) + else: + res_item = self.format_table.item(row, 3) + + if res_item and res_item.text() != "N/A": + resolution = res_item.text().replace("≤ ", "").strip() + break # Get subtitle selection if available - Now get the list selected_subs = self.selected_subtitles if hasattr(self, "selected_subtitles") else []