From 23042861473d4912cfbe946cfad8e70049cde318 Mon Sep 17 00:00:00 2001 From: Ethanfel Date: Sat, 11 Apr 2026 23:55:43 +0200 Subject: [PATCH] fix: make end-frame preview a floating tool window Co-Authored-By: Claude Sonnet 4.6 --- main.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/main.py b/main.py index b2db961..2203f4e 100755 --- a/main.py +++ b/main.py @@ -1203,11 +1203,16 @@ class MainWindow(QMainWindow): self._end_preview = QLabel() self._end_preview.setAlignment(Qt.AlignmentFlag.AlignCenter) - self._end_preview.setMinimumWidth(160) - self._end_preview.setMaximumWidth(320) - self._end_preview.setStyleSheet("background: #1a1a1a; border: 1px solid #333;") + self._end_preview.setStyleSheet("background: #1a1a1a;") self._end_preview.setScaledContents(True) + self._preview_win = QWidget(None, Qt.WindowType.Tool) + self._preview_win.setWindowTitle("End frame") + self._preview_win.resize(320, 240) + _pw_layout = QVBoxLayout(self._preview_win) + _pw_layout.setContentsMargins(0, 0, 0, 0) + _pw_layout.addWidget(self._end_preview) + self._preview_timer = QTimer() self._preview_timer.setSingleShot(True) self._preview_timer.setInterval(300) @@ -1418,10 +1423,7 @@ class MainWindow(QMainWindow): right_layout.setContentsMargins(0, 0, 0, 0) right_layout.setSpacing(4) right_layout.addLayout(top_bar) - video_row = QHBoxLayout() - video_row.addWidget(self._mpv, stretch=1) - video_row.addWidget(self._end_preview) - right_layout.addLayout(video_row, stretch=1) + right_layout.addWidget(self._mpv, stretch=1) right_layout.addWidget(self._timeline) right_layout.addWidget(self._crop_bar) right_layout.addLayout(transport_row) @@ -1508,6 +1510,7 @@ class MainWindow(QMainWindow): self._btn_export.setEnabled(True) self._fps = self._mpv.get_fps() self._crop_bar.set_source_ratio(*self._mpv.get_video_size()) + self._preview_win.show() self._preview_timer.start() # Run DB fuzzy match off the main thread — can be slow on large databases.