diff --git a/src/calibre/gui2/gestures.py b/src/calibre/gui2/gestures.py index 2fbc2024aa..0e6cac0915 100644 --- a/src/calibre/gui2/gestures.py +++ b/src/calibre/gui2/gestures.py @@ -34,18 +34,18 @@ class TouchPoint: def __init__(self, tp): self.creation_time = self.last_update_time = self.time_of_last_move = monotonic() - self.start_screen_position = self.current_screen_position = self.previous_screen_position = QPointF(tp.screenPos()) + self.start_screen_position = self.current_screen_position = self.previous_screen_position = QPointF(tp.globalPosition()) self.time_since_last_update = -1 self.total_movement = 0 - self.start_position = self.current_position = tp.pos() + self.start_position = self.current_position = tp.position() self.extra_data = None def update(self, tp): - self.current_position = tp.pos() + self.current_position = tp.position() now = monotonic() self.time_since_last_update = now - self.last_update_time self.last_update_time = now - self.previous_screen_position, self.current_screen_position = self.current_screen_position, QPointF(tp.screenPos()) + self.previous_screen_position, self.current_screen_position = self.current_screen_position, QPointF(tp.globalPosition()) movement = (self.current_screen_position - self.previous_screen_position).manhattanLength() self.total_movement += movement if movement > 5: @@ -81,7 +81,7 @@ class State(QObject): if boundary == 'start': self.start() - for tp in ev.touchPoints(): + for tp in ev.points(): tpid = tp.id() if tpid not in self.touch_points: self.touch_points[tpid] = TouchPoint(tp) diff --git a/src/calibre/gui2/library/alternate_views.py b/src/calibre/gui2/library/alternate_views.py index 6f5872ce48..d6bcf162e7 100644 --- a/src/calibre/gui2/library/alternate_views.py +++ b/src/calibre/gui2/library/alternate_views.py @@ -734,13 +734,11 @@ class GridView(QListView): t.timeout.connect(self.update_memory_cover_cache_size) def viewportEvent(self, ev): - try: + if hasattr(self, 'gesture_manager'): ret = self.gesture_manager.handle_event(ev) - except AttributeError: - ret = None - if ret is not None: - return ret - return QListView.viewportEvent(self, ev) + if ret is not None: + return ret + return super().viewportEvent(ev) @property def device_pixel_ratio(self): diff --git a/src/calibre/gui2/library/views.py b/src/calibre/gui2/library/views.py index 6c1901dcd4..4bfa43ea29 100644 --- a/src/calibre/gui2/library/views.py +++ b/src/calibre/gui2/library/views.py @@ -215,13 +215,11 @@ class BooksView(QTableView): # {{{ def viewportEvent(self, event): if (event.type() == QEvent.Type.ToolTip and not gprefs['book_list_tooltips']): return False - try: + if hasattr(self, 'gesture_manager'): ret = self.gesture_manager.handle_event(event) - except AttributeError: - ret = None - if ret is not None: - return ret - return QTableView.viewportEvent(self, event) + if ret is not None: + return ret + return super().viewportEvent(event) def __init__(self, parent, modelcls=BooksModel, use_edit_metadata_dialog=True): QTableView.__init__(self, parent) diff --git a/src/calibre/gui2/viewer/bookmarks.py b/src/calibre/gui2/viewer/bookmarks.py index e2be8a372e..62b5fec5c2 100644 --- a/src/calibre/gui2/viewer/bookmarks.py +++ b/src/calibre/gui2/viewer/bookmarks.py @@ -37,12 +37,10 @@ class BookmarksList(QListWidget): self.setVerticalScrollMode(QAbstractItemView.ScrollMode.ScrollPerPixel) def viewportEvent(self, ev): - try: + if hasattr(self, 'gesture_manager'): ret = self.gesture_manager.handle_event(ev) - except AttributeError: - ret = None - if ret is not None: - return ret + if ret is not None: + return ret return super().viewportEvent(ev) @property diff --git a/src/calibre/gui2/viewer/highlights.py b/src/calibre/gui2/viewer/highlights.py index fc0b578b62..bd3c277a47 100644 --- a/src/calibre/gui2/viewer/highlights.py +++ b/src/calibre/gui2/viewer/highlights.py @@ -180,12 +180,10 @@ class Highlights(QTreeWidget): self.setVerticalScrollMode(QAbstractItemView.ScrollMode.ScrollPerPixel) def viewportEvent(self, ev): - try: + if hasattr(self, 'gesture_manager'): ret = self.gesture_manager.handle_event(ev) - except AttributeError: - ret = None - if ret is not None: - return ret + if ret is not None: + return ret return super().viewportEvent(ev) def show_context_menu(self, point): diff --git a/src/calibre/gui2/viewer/search.py b/src/calibre/gui2/viewer/search.py index 2c770cfb43..cf1cd981e4 100644 --- a/src/calibre/gui2/viewer/search.py +++ b/src/calibre/gui2/viewer/search.py @@ -497,12 +497,10 @@ class Results(QTreeWidget): # {{{ self.setVerticalScrollMode(QAbstractItemView.ScrollMode.ScrollPerPixel) def viewportEvent(self, ev): - try: + if hasattr(self, 'gesture_manager'): ret = self.gesture_manager.handle_event(ev) - except AttributeError: - ret = None - if ret is not None: - return ret + if ret is not None: + return ret return super().viewportEvent(ev) def current_item_changed(self, current, previous): diff --git a/src/calibre/gui2/viewer/toc.py b/src/calibre/gui2/viewer/toc.py index 538c05cae8..a0447c2a6a 100644 --- a/src/calibre/gui2/viewer/toc.py +++ b/src/calibre/gui2/viewer/toc.py @@ -53,12 +53,10 @@ class TOCView(QTreeView): self.gesture_manager = GestureManager(self) def viewportEvent(self, ev): - try: + if hasattr(self, 'gesture_manager'): ret = self.gesture_manager.handle_event(ev) - except AttributeError: - ret = None - if ret is not None: - return ret + if ret is not None: + return ret return super().viewportEvent(ev) def setModel(self, model):