From 57b3dd853a5a4c1fc96eab3402fc802bea48e9ac Mon Sep 17 00:00:00 2001 From: pax Date: Sun, 5 Apr 2026 02:10:07 -0500 Subject: [PATCH] Fix video opening externally, fix slideshow stealing key events - Video errors now logged instead of opening in system player - Slideshow event filter only intercepts keys/scroll when its window is active, fixing up/down skipping in main app --- booru_viewer/gui/preview.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/booru_viewer/gui/preview.py b/booru_viewer/gui/preview.py index 8d6b3f8..c14041b 100644 --- a/booru_viewer/gui/preview.py +++ b/booru_viewer/gui/preview.py @@ -109,6 +109,9 @@ class FullscreenPreview(QMainWindow): from PySide6.QtCore import QEvent from PySide6.QtWidgets import QLineEdit, QTextEdit, QSpinBox, QComboBox if event.type() == QEvent.Type.KeyPress: + # Only intercept when slideshow is the active window + if not self.isActiveWindow(): + return super().eventFilter(obj, event) # Don't intercept keys when typing in text inputs if isinstance(obj, (QLineEdit, QTextEdit, QSpinBox, QComboBox)): return super().eventFilter(obj, event) @@ -480,8 +483,8 @@ class VideoPlayer(QWidget): def _on_error(self, error, msg: str = "") -> None: if self._current_file and not self._error_fired: self._error_fired = True - from PySide6.QtGui import QDesktopServices - QDesktopServices.openUrl(QUrl.fromLocalFile(self._current_file)) + import logging + logging.getLogger("booru").warning(f"Video playback error: {error} {msg} ({self._current_file})") @staticmethod def _fmt(ms: int) -> str: