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:
parent
f13a2f6b28
commit
5d87457840
@ -328,6 +328,8 @@ class BooruApp(QMainWindow):
|
|||||||
self._grid.multi_context_requested.connect(self._on_multi_context_menu)
|
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_past_end.connect(self._on_nav_past_end)
|
||||||
self._grid.nav_before_start.connect(self._on_nav_before_start)
|
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._stack.addWidget(self._grid)
|
||||||
|
|
||||||
self._favorites_view = FavoritesView(self._db)
|
self._favorites_view = FavoritesView(self._db)
|
||||||
|
|||||||
@ -222,6 +222,8 @@ class ThumbnailGrid(QScrollArea):
|
|||||||
reached_top = Signal() # emitted when scrolled to the top
|
reached_top = Signal() # emitted when scrolled to the top
|
||||||
nav_past_end = Signal() # keyboard nav past last post
|
nav_past_end = Signal() # keyboard nav past last post
|
||||||
nav_before_start = Signal() # keyboard nav before first 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:
|
def __init__(self, parent: QWidget | None = None) -> None:
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
@ -402,9 +404,9 @@ class ThumbnailGrid(QScrollArea):
|
|||||||
def wheelEvent(self, event: QWheelEvent) -> None:
|
def wheelEvent(self, event: QWheelEvent) -> None:
|
||||||
delta = event.angleDelta().x()
|
delta = event.angleDelta().x()
|
||||||
if delta > 30:
|
if delta > 30:
|
||||||
self.nav_before_start.emit()
|
self.page_back.emit()
|
||||||
elif delta < -30:
|
elif delta < -30:
|
||||||
self.nav_past_end.emit()
|
self.page_forward.emit()
|
||||||
else:
|
else:
|
||||||
super().wheelEvent(event)
|
super().wheelEvent(event)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user