Run dialogs with blurred screenshot overlay
Add a safe blurred-overlay flow for modal dialogs by implementing run_dialog_with_blur and _apply_blur_to_pixmap on YTSageApp. The new flow captures a window screenshot, generates a blurred/dimmed pixmap via a QGraphicsScene + QGraphicsBlurEffect, shows it in an overlay QLabel with a fade-in, runs the dialog, and then removes the overlay. Replace many direct dialog.exec() calls with run_dialog_with_blur(...) across the main GUI (download settings, about, history, playlist selection, custom options, cookie login, ffmpeg check, time range, setup success dialogs, etc.). Also add imports required for pixmap/graphics handling. Make animate_widget_fade_in usage safer by checking for the method before calling it and falling back to setVisible(True) for format table and thumbnails to avoid QPainter/graphics-effect conflicts. Small comment/cleanup in fade-in/out methods.
This commit is contained in:
@@ -241,7 +241,10 @@ class FormatTableMixin:
|
||||
self.filter_formats()
|
||||
|
||||
# Animate table appearance
|
||||
self.animate_widget_fade_in(self.format_table)
|
||||
if hasattr(self, "animate_widget_fade_in"):
|
||||
self.animate_widget_fade_in(self.format_table)
|
||||
else:
|
||||
self.format_table.setVisible(True)
|
||||
|
||||
def _populate_format_table(self, formats_with_types: list) -> None:
|
||||
"""Populate the format table with formats and their types."""
|
||||
|
||||
Reference in New Issue
Block a user