From 83ede77029dbb9e14a2c11cc0f025090a0233d8c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 22 Jun 2021 08:53:08 +0530 Subject: [PATCH] E-book viewer: Fix back button not working after jumping to a bookmark. Fixes #1931599 [[Enhancement] E-book viewer: clicking on bookmarks should create jump positions](https://bugs.launchpad.net/calibre/+bug/1931599) --- src/calibre/gui2/viewer/ui.py | 6 +++--- src/calibre/gui2/viewer/web_view.py | 4 ++-- src/pyj/read_book/bookmarks.pyj | 2 +- src/pyj/viewer-main.pyj | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/calibre/gui2/viewer/ui.py b/src/calibre/gui2/viewer/ui.py index 3bf13bf922..ef89e26358 100644 --- a/src/calibre/gui2/viewer/ui.py +++ b/src/calibre/gui2/viewer/ui.py @@ -366,11 +366,11 @@ class EbookViewer(MainWindow): # annotations will be saved in book file on exit self.save_annotations(in_book_file=False) - def goto_cfi(self, cfi): - self.web_view.goto_cfi(cfi) + def goto_cfi(self, cfi, add_to_history=False): + self.web_view.goto_cfi(cfi, add_to_history=add_to_history) def bookmark_activated(self, cfi): - self.goto_cfi(cfi) + self.goto_cfi(cfi, add_to_history=True) def view_image(self, name): path = get_path_for_name(name) diff --git a/src/calibre/gui2/viewer/web_view.py b/src/calibre/gui2/viewer/web_view.py index 49d1ba8cb0..7eb9953bf9 100644 --- a/src/calibre/gui2/viewer/web_view.py +++ b/src/calibre/gui2/viewer/web_view.py @@ -649,8 +649,8 @@ class WebView(RestartingWebEngineView): def goto_toc_node(self, node_id): self.execute_when_ready('goto_toc_node', node_id) - def goto_cfi(self, cfi): - self.execute_when_ready('goto_cfi', cfi) + def goto_cfi(self, cfi, add_to_history=False): + self.execute_when_ready('goto_cfi', cfi, bool(add_to_history)) def notify_full_screen_state_change(self, in_fullscreen_mode): self.execute_when_ready('full_screen_state_changed', in_fullscreen_mode) diff --git a/src/pyj/read_book/bookmarks.pyj b/src/pyj/read_book/bookmarks.pyj index 2d2365370e..ae08f0d4d2 100644 --- a/src/pyj/read_book/bookmarks.pyj +++ b/src/pyj/read_book/bookmarks.pyj @@ -12,7 +12,7 @@ from widgets import create_button def goto_cfi(cfi, view): - view.goto_cfi(cfi) + view.goto_cfi(cfi, True) def remove_bookmark(annotations_manager, title, list_dom_node): diff --git a/src/pyj/viewer-main.pyj b/src/pyj/viewer-main.pyj index df3e131de1..a4bf81ae3e 100644 --- a/src/pyj/viewer-main.pyj +++ b/src/pyj/viewer-main.pyj @@ -234,8 +234,8 @@ def goto_toc_node(node_id): @from_python -def goto_cfi(cfi): - view.goto_cfi(cfi) +def goto_cfi(cfi, add_to_history): + view.goto_cfi(cfi, v'!!add_to_history') @from_python