mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Refactor code into separate functions
This commit is contained in:
parent
8713c65f4b
commit
dc2866315b
@ -701,7 +701,7 @@ def scroll_to(cfi, callback, doc): # {{{
|
|||||||
if jstype(decoded.time) is 'number':
|
if jstype(decoded.time) is 'number':
|
||||||
set_current_time(decoded.node, decoded.time)
|
set_current_time(decoded.node, decoded.time)
|
||||||
|
|
||||||
if decoded.range is not None:
|
def handle_text_node():
|
||||||
# Character offset
|
# Character offset
|
||||||
r = decoded.range
|
r = decoded.range
|
||||||
so, eo = r.startOffset, r.endOffset
|
so, eo = r.startOffset, r.endOffset
|
||||||
@ -721,7 +721,7 @@ def scroll_to(cfi, callback, doc): # {{{
|
|||||||
span.setAttribute('style', 'border-width: 0; padding: 0; margin: 0')
|
span.setAttribute('style', 'border-width: 0; padding: 0; margin: 0')
|
||||||
r.surroundContents(span)
|
r.surroundContents(span)
|
||||||
scroll_viewport.scroll_into_view(span)
|
scroll_viewport.scroll_into_view(span)
|
||||||
fn = def():
|
return def():
|
||||||
nonlocal original_node, r
|
nonlocal original_node, r
|
||||||
# Remove the span and get the new position now that scrolling
|
# Remove the span and get the new position now that scrolling
|
||||||
# has (hopefully) completed
|
# has (hopefully) completed
|
||||||
@ -770,7 +770,8 @@ def scroll_to(cfi, callback, doc): # {{{
|
|||||||
|
|
||||||
if callback:
|
if callback:
|
||||||
callback(doc_x, doc_y)
|
callback(doc_x, doc_y)
|
||||||
else:
|
|
||||||
|
def handle_element_node():
|
||||||
node = decoded.node
|
node = decoded.node
|
||||||
if node.nodeType is Node.TEXT_NODE:
|
if node.nodeType is Node.TEXT_NODE:
|
||||||
node = decoded.node = node.parentNode
|
node = decoded.node = node.parentNode
|
||||||
@ -778,7 +779,7 @@ def scroll_to(cfi, callback, doc): # {{{
|
|||||||
return
|
return
|
||||||
scroll_viewport.scroll_into_view(node)
|
scroll_viewport.scroll_into_view(node)
|
||||||
|
|
||||||
fn = def():
|
return def():
|
||||||
doc_x, doc_y = decoded_node_or_spatial_offset_to_document_position(decoded)
|
doc_x, doc_y = decoded_node_or_spatial_offset_to_document_position(decoded)
|
||||||
|
|
||||||
# Abort if CFI position is invalid
|
# Abort if CFI position is invalid
|
||||||
@ -796,6 +797,11 @@ def scroll_to(cfi, callback, doc): # {{{
|
|||||||
if callback:
|
if callback:
|
||||||
callback(doc_x, doc_y)
|
callback(doc_x, doc_y)
|
||||||
|
|
||||||
|
if decoded.range is not None:
|
||||||
|
fn = handle_text_node()
|
||||||
|
else:
|
||||||
|
fn = handle_element_node()
|
||||||
|
|
||||||
setTimeout(fn, 10)
|
setTimeout(fn, 10)
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user