mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix a regression in the previous release that broke touch screen interaction
This commit is contained in:
parent
ea8e8cedb3
commit
2c4766a859
@ -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)
|
||||
|
@ -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)
|
||||
return super().viewportEvent(ev)
|
||||
|
||||
@property
|
||||
def device_pixel_ratio(self):
|
||||
|
@ -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)
|
||||
return super().viewportEvent(event)
|
||||
|
||||
def __init__(self, parent, modelcls=BooksModel, use_edit_metadata_dialog=True):
|
||||
QTableView.__init__(self, parent)
|
||||
|
@ -37,10 +37,8 @@ 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
|
||||
return super().viewportEvent(ev)
|
||||
|
@ -180,10 +180,8 @@ 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
|
||||
return super().viewportEvent(ev)
|
||||
|
@ -497,10 +497,8 @@ 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
|
||||
return super().viewportEvent(ev)
|
||||
|
@ -53,10 +53,8 @@ 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
|
||||
return super().viewportEvent(ev)
|
||||
|
Loading…
x
Reference in New Issue
Block a user