From 1ac3706e9638ec625f81337ffa135749ee55da87 Mon Sep 17 00:00:00 2001 From: pax Date: Sun, 5 Apr 2026 22:15:21 -0500 Subject: [PATCH] Trigger infinite scroll when splitter/resize removes scrollbar --- booru_viewer/gui/app.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/booru_viewer/gui/app.py b/booru_viewer/gui/app.py index 77abb79..9ad1621 100644 --- a/booru_viewer/gui/app.py +++ b/booru_viewer/gui/app.py @@ -457,6 +457,7 @@ class BooruApp(QMainWindow): if self._infinite_scroll: self._bottom_nav.hide() self._grid.reached_bottom.connect(self._on_reached_bottom) + self._grid.verticalScrollBar().rangeChanged.connect(self._on_scroll_range_changed) # Log panel self._log_text = QTextEdit() @@ -872,6 +873,11 @@ class BooruApp(QMainWindow): if self._infinite_scroll and posts: QTimer.singleShot(200, self._check_viewport_fill) + def _on_scroll_range_changed(self, _min: int, max_val: int) -> None: + """Scrollbar range changed (resize/splitter) — check if viewport needs filling.""" + if max_val == 0 and self._infinite_scroll and self._posts: + QTimer.singleShot(100, self._check_viewport_fill) + def _check_viewport_fill(self) -> None: """If content doesn't fill the viewport, trigger infinite scroll.""" if not self._infinite_scroll or self._loading or getattr(self, '_infinite_exhausted', False):