Hide and fade-in format table on build
Make the format table invisible while it's populated and filtered to avoid visual artifacts, then animate its appearance with animate_widget_fade_in after initial filtering. This ensures a smoother UI when the table is first built.
This commit is contained in:
@@ -233,11 +233,15 @@ class FormatTableMixin:
|
|||||||
all_filtered = [(f, "video") for f in video_formats] + [(f, "audio") for f in audio_formats]
|
all_filtered = [(f, "video") for f in video_formats] + [(f, "audio") for f in audio_formats]
|
||||||
|
|
||||||
# Build table with format type tracking
|
# Build table with format type tracking
|
||||||
|
self.format_table.setVisible(False)
|
||||||
self._populate_format_table(all_filtered)
|
self._populate_format_table(all_filtered)
|
||||||
self._table_built = True
|
self._table_built = True
|
||||||
|
|
||||||
# Apply initial visibility based on current button states
|
# Apply initial visibility based on current button states
|
||||||
self.filter_formats()
|
self.filter_formats()
|
||||||
|
|
||||||
|
# Animate table appearance
|
||||||
|
self.animate_widget_fade_in(self.format_table)
|
||||||
|
|
||||||
def _populate_format_table(self, formats_with_types: list) -> None:
|
def _populate_format_table(self, formats_with_types: list) -> None:
|
||||||
"""Populate the format table with formats and their types."""
|
"""Populate the format table with formats and their types."""
|
||||||
|
|||||||
Reference in New Issue
Block a user