Scroll tilt flips pages without auto-selecting first post

Separate page_forward/page_back signals from nav boundary signals
so tilt just changes page, doesn't trigger post preview.
This commit is contained in:
pax 2026-04-05 00:14:41 -05:00
parent f13a2f6b28
commit 5d87457840
2 changed files with 6 additions and 2 deletions

View File

@ -328,6 +328,8 @@ class BooruApp(QMainWindow):
self._grid.multi_context_requested.connect(self._on_multi_context_menu)
self._grid.nav_past_end.connect(self._on_nav_past_end)
self._grid.nav_before_start.connect(self._on_nav_before_start)
self._grid.page_forward.connect(self._next_page)
self._grid.page_back.connect(self._prev_page)
self._stack.addWidget(self._grid)
self._favorites_view = FavoritesView(self._db)

View File

@ -222,6 +222,8 @@ class ThumbnailGrid(QScrollArea):
reached_top = Signal() # emitted when scrolled to the top
nav_past_end = Signal() # keyboard nav past last post
nav_before_start = Signal() # keyboard nav before first post
page_forward = Signal() # scroll tilt right
page_back = Signal() # scroll tilt left
def __init__(self, parent: QWidget | None = None) -> None:
super().__init__(parent)
@ -402,9 +404,9 @@ class ThumbnailGrid(QScrollArea):
def wheelEvent(self, event: QWheelEvent) -> None:
delta = event.angleDelta().x()
if delta > 30:
self.nav_before_start.emit()
self.page_back.emit()
elif delta < -30:
self.nav_past_end.emit()
self.page_forward.emit()
else:
super().wheelEvent(event)