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):
|
def __init__(self, tp):
|
||||||
self.creation_time = self.last_update_time = self.time_of_last_move = monotonic()
|
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.time_since_last_update = -1
|
||||||
self.total_movement = 0
|
self.total_movement = 0
|
||||||
self.start_position = self.current_position = tp.pos()
|
self.start_position = self.current_position = tp.position()
|
||||||
self.extra_data = None
|
self.extra_data = None
|
||||||
|
|
||||||
def update(self, tp):
|
def update(self, tp):
|
||||||
self.current_position = tp.pos()
|
self.current_position = tp.position()
|
||||||
now = monotonic()
|
now = monotonic()
|
||||||
self.time_since_last_update = now - self.last_update_time
|
self.time_since_last_update = now - self.last_update_time
|
||||||
self.last_update_time = now
|
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()
|
movement = (self.current_screen_position - self.previous_screen_position).manhattanLength()
|
||||||
self.total_movement += movement
|
self.total_movement += movement
|
||||||
if movement > 5:
|
if movement > 5:
|
||||||
@ -81,7 +81,7 @@ class State(QObject):
|
|||||||
if boundary == 'start':
|
if boundary == 'start':
|
||||||
self.start()
|
self.start()
|
||||||
|
|
||||||
for tp in ev.touchPoints():
|
for tp in ev.points():
|
||||||
tpid = tp.id()
|
tpid = tp.id()
|
||||||
if tpid not in self.touch_points:
|
if tpid not in self.touch_points:
|
||||||
self.touch_points[tpid] = TouchPoint(tp)
|
self.touch_points[tpid] = TouchPoint(tp)
|
||||||
|
@ -734,13 +734,11 @@ class GridView(QListView):
|
|||||||
t.timeout.connect(self.update_memory_cover_cache_size)
|
t.timeout.connect(self.update_memory_cover_cache_size)
|
||||||
|
|
||||||
def viewportEvent(self, ev):
|
def viewportEvent(self, ev):
|
||||||
try:
|
if hasattr(self, 'gesture_manager'):
|
||||||
ret = self.gesture_manager.handle_event(ev)
|
ret = self.gesture_manager.handle_event(ev)
|
||||||
except AttributeError:
|
|
||||||
ret = None
|
|
||||||
if ret is not None:
|
if ret is not None:
|
||||||
return ret
|
return ret
|
||||||
return QListView.viewportEvent(self, ev)
|
return super().viewportEvent(ev)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def device_pixel_ratio(self):
|
def device_pixel_ratio(self):
|
||||||
|
@ -215,13 +215,11 @@ class BooksView(QTableView): # {{{
|
|||||||
def viewportEvent(self, event):
|
def viewportEvent(self, event):
|
||||||
if (event.type() == QEvent.Type.ToolTip and not gprefs['book_list_tooltips']):
|
if (event.type() == QEvent.Type.ToolTip and not gprefs['book_list_tooltips']):
|
||||||
return False
|
return False
|
||||||
try:
|
if hasattr(self, 'gesture_manager'):
|
||||||
ret = self.gesture_manager.handle_event(event)
|
ret = self.gesture_manager.handle_event(event)
|
||||||
except AttributeError:
|
|
||||||
ret = None
|
|
||||||
if ret is not None:
|
if ret is not None:
|
||||||
return ret
|
return ret
|
||||||
return QTableView.viewportEvent(self, event)
|
return super().viewportEvent(event)
|
||||||
|
|
||||||
def __init__(self, parent, modelcls=BooksModel, use_edit_metadata_dialog=True):
|
def __init__(self, parent, modelcls=BooksModel, use_edit_metadata_dialog=True):
|
||||||
QTableView.__init__(self, parent)
|
QTableView.__init__(self, parent)
|
||||||
|
@ -37,10 +37,8 @@ class BookmarksList(QListWidget):
|
|||||||
self.setVerticalScrollMode(QAbstractItemView.ScrollMode.ScrollPerPixel)
|
self.setVerticalScrollMode(QAbstractItemView.ScrollMode.ScrollPerPixel)
|
||||||
|
|
||||||
def viewportEvent(self, ev):
|
def viewportEvent(self, ev):
|
||||||
try:
|
if hasattr(self, 'gesture_manager'):
|
||||||
ret = self.gesture_manager.handle_event(ev)
|
ret = self.gesture_manager.handle_event(ev)
|
||||||
except AttributeError:
|
|
||||||
ret = None
|
|
||||||
if ret is not None:
|
if ret is not None:
|
||||||
return ret
|
return ret
|
||||||
return super().viewportEvent(ev)
|
return super().viewportEvent(ev)
|
||||||
|
@ -180,10 +180,8 @@ class Highlights(QTreeWidget):
|
|||||||
self.setVerticalScrollMode(QAbstractItemView.ScrollMode.ScrollPerPixel)
|
self.setVerticalScrollMode(QAbstractItemView.ScrollMode.ScrollPerPixel)
|
||||||
|
|
||||||
def viewportEvent(self, ev):
|
def viewportEvent(self, ev):
|
||||||
try:
|
if hasattr(self, 'gesture_manager'):
|
||||||
ret = self.gesture_manager.handle_event(ev)
|
ret = self.gesture_manager.handle_event(ev)
|
||||||
except AttributeError:
|
|
||||||
ret = None
|
|
||||||
if ret is not None:
|
if ret is not None:
|
||||||
return ret
|
return ret
|
||||||
return super().viewportEvent(ev)
|
return super().viewportEvent(ev)
|
||||||
|
@ -497,10 +497,8 @@ class Results(QTreeWidget): # {{{
|
|||||||
self.setVerticalScrollMode(QAbstractItemView.ScrollMode.ScrollPerPixel)
|
self.setVerticalScrollMode(QAbstractItemView.ScrollMode.ScrollPerPixel)
|
||||||
|
|
||||||
def viewportEvent(self, ev):
|
def viewportEvent(self, ev):
|
||||||
try:
|
if hasattr(self, 'gesture_manager'):
|
||||||
ret = self.gesture_manager.handle_event(ev)
|
ret = self.gesture_manager.handle_event(ev)
|
||||||
except AttributeError:
|
|
||||||
ret = None
|
|
||||||
if ret is not None:
|
if ret is not None:
|
||||||
return ret
|
return ret
|
||||||
return super().viewportEvent(ev)
|
return super().viewportEvent(ev)
|
||||||
|
@ -53,10 +53,8 @@ class TOCView(QTreeView):
|
|||||||
self.gesture_manager = GestureManager(self)
|
self.gesture_manager = GestureManager(self)
|
||||||
|
|
||||||
def viewportEvent(self, ev):
|
def viewportEvent(self, ev):
|
||||||
try:
|
if hasattr(self, 'gesture_manager'):
|
||||||
ret = self.gesture_manager.handle_event(ev)
|
ret = self.gesture_manager.handle_event(ev)
|
||||||
except AttributeError:
|
|
||||||
ret = None
|
|
||||||
if ret is not None:
|
if ret is not None:
|
||||||
return ret
|
return ret
|
||||||
return super().viewportEvent(ev)
|
return super().viewportEvent(ev)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user