Trigger infinite scroll when splitter/resize removes scrollbar
This commit is contained in:
parent
57475098e2
commit
1ac3706e96
@ -457,6 +457,7 @@ class BooruApp(QMainWindow):
|
|||||||
if self._infinite_scroll:
|
if self._infinite_scroll:
|
||||||
self._bottom_nav.hide()
|
self._bottom_nav.hide()
|
||||||
self._grid.reached_bottom.connect(self._on_reached_bottom)
|
self._grid.reached_bottom.connect(self._on_reached_bottom)
|
||||||
|
self._grid.verticalScrollBar().rangeChanged.connect(self._on_scroll_range_changed)
|
||||||
|
|
||||||
# Log panel
|
# Log panel
|
||||||
self._log_text = QTextEdit()
|
self._log_text = QTextEdit()
|
||||||
@ -872,6 +873,11 @@ class BooruApp(QMainWindow):
|
|||||||
if self._infinite_scroll and posts:
|
if self._infinite_scroll and posts:
|
||||||
QTimer.singleShot(200, self._check_viewport_fill)
|
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:
|
def _check_viewport_fill(self) -> None:
|
||||||
"""If content doesn't fill the viewport, trigger infinite scroll."""
|
"""If content doesn't fill the viewport, trigger infinite scroll."""
|
||||||
if not self._infinite_scroll or self._loading or getattr(self, '_infinite_exhausted', False):
|
if not self._infinite_scroll or self._loading or getattr(self, '_infinite_exhausted', False):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user