mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Make drag scrolling semantics read mode dependant
This commit is contained in:
parent
aca602c118
commit
34375f5891
@ -232,7 +232,7 @@ class SelectionBar:
|
|||||||
self.position_in_handle = {'x': 0, 'y': 0}
|
self.position_in_handle = {'x': 0, 'y': 0}
|
||||||
self.active_touch = None
|
self.active_touch = None
|
||||||
self.drag_scroll_timer = None
|
self.drag_scroll_timer = None
|
||||||
self.last_drag_scroll_at = -100000
|
self.last_drag_scroll_at = None
|
||||||
self.left_line_height = self.right_line_height = 0
|
self.left_line_height = self.right_line_height = 0
|
||||||
self.current_editor = None
|
self.current_editor = None
|
||||||
|
|
||||||
@ -505,10 +505,16 @@ class SelectionBar:
|
|||||||
if self.state is not DRAGGING:
|
if self.state is not DRAGGING:
|
||||||
return
|
return
|
||||||
sd = get_session_data()
|
sd = get_session_data()
|
||||||
interval = 1000/sd.get('lines_per_sec_smooth') if self.in_flow_mode else 1200
|
in_flow_mode = sd.get('read_mode') is 'flow'
|
||||||
|
interval = 1000/sd.get('lines_per_sec_smooth') if in_flow_mode else 1200
|
||||||
self.drag_scroll_timer = window.setTimeout(self.do_one_drag_scroll.bind(None, backwards, distance_from_boundary), interval)
|
self.drag_scroll_timer = window.setTimeout(self.do_one_drag_scroll.bind(None, backwards, distance_from_boundary), interval)
|
||||||
now = window.performance.now()
|
now = window.performance.now()
|
||||||
if now - self.last_drag_scroll_at > interval:
|
if self.last_drag_scroll_at is None:
|
||||||
|
# dont jump a page immediately in paged mode
|
||||||
|
if in_flow_mode:
|
||||||
|
self.send_drag_scroll_message(backwards, 'left' if self.dragging_handle is self.left_handle_id else 'right', True)
|
||||||
|
self.last_drag_scroll_at = now
|
||||||
|
elif now - self.last_drag_scroll_at > interval:
|
||||||
self.send_drag_scroll_message(backwards, 'left' if self.dragging_handle is self.left_handle_id else 'right', True)
|
self.send_drag_scroll_message(backwards, 'left' if self.dragging_handle is self.left_handle_id else 'right', True)
|
||||||
self.last_drag_scroll_at = now
|
self.last_drag_scroll_at = now
|
||||||
|
|
||||||
@ -521,7 +527,7 @@ class SelectionBar:
|
|||||||
if self.drag_scroll_timer is not None:
|
if self.drag_scroll_timer is not None:
|
||||||
window.clearTimeout(self.drag_scroll_timer)
|
window.clearTimeout(self.drag_scroll_timer)
|
||||||
self.drag_scroll_timer = None
|
self.drag_scroll_timer = None
|
||||||
self.last_drag_scroll_at = -10000
|
self.last_drag_scroll_at = None
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user