diff --git a/booru_viewer/gui/app.py b/booru_viewer/gui/app.py index 52c6432..80e5e16 100644 --- a/booru_viewer/gui/app.py +++ b/booru_viewer/gui/app.py @@ -841,7 +841,8 @@ class BooruApp(QMainWindow): # Pause the main preview's video player self._preview._video_player.stop() from .preview import FullscreenPreview - self._fullscreen_window = FullscreenPreview(parent=self) + cols = self._grid._flow.columns + self._fullscreen_window = FullscreenPreview(grid_cols=cols, parent=self) self._fullscreen_window.navigate.connect(self._navigate_fullscreen) self._fullscreen_window.destroyed.connect(self._on_fullscreen_closed) self._fullscreen_window.set_media(path, self._preview._info_label.text()) diff --git a/booru_viewer/gui/preview.py b/booru_viewer/gui/preview.py index d2377cd..ce94916 100644 --- a/booru_viewer/gui/preview.py +++ b/booru_viewer/gui/preview.py @@ -27,9 +27,10 @@ class FullscreenPreview(QMainWindow): navigate = Signal(int) # -1 = prev, +1 = next - def __init__(self, parent=None) -> None: + def __init__(self, grid_cols: int = 3, parent=None) -> None: super().__init__(parent, Qt.WindowType.Window) self.setWindowTitle("booru-viewer — Fullscreen") + self._grid_cols = grid_cols self._stack = QStackedWidget() self.setCentralWidget(self._stack) @@ -76,6 +77,12 @@ class FullscreenPreview(QMainWindow): elif key in (Qt.Key.Key_Right, Qt.Key.Key_L): self.navigate.emit(1) return True + elif key in (Qt.Key.Key_Up, Qt.Key.Key_K): + self.navigate.emit(-self._grid_cols) + return True + elif key in (Qt.Key.Key_Down, Qt.Key.Key_J): + self.navigate.emit(self._grid_cols) + return True elif key == Qt.Key.Key_Space and self._stack.currentIndex() == 1: self._video._toggle_play() return True