From c9b2578b33c8ac6e5901feaee2a38a25d336ce2f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 29 Jul 2018 15:52:13 +0530 Subject: [PATCH] Fix preview not scrolling to anchor when clicking an internal link to another html file in the book --- src/calibre/gui2/tweak_book/boss.py | 2 +- src/calibre/gui2/tweak_book/preview.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/tweak_book/boss.py b/src/calibre/gui2/tweak_book/boss.py index b6204fc260..c82fc9b2d3 100644 --- a/src/calibre/gui2/tweak_book/boss.py +++ b/src/calibre/gui2/tweak_book/boss.py @@ -1261,7 +1261,7 @@ class Boss(QObject): editor = self.edit_file(name, syntax) if anchor and editor is not None: if editor.go_to_anchor(anchor): - self.gui.preview.go_to_anchor(anchor) + self.gui.preview.pending_go_to_anchor = anchor elif show_anchor_not_found: error_dialog(self.gui, _('Not found'), _( 'The anchor %s was not found in this file') % anchor, show=True) diff --git a/src/calibre/gui2/tweak_book/preview.py b/src/calibre/gui2/tweak_book/preview.py index f84ea54a78..2dcddc35e1 100644 --- a/src/calibre/gui2/tweak_book/preview.py +++ b/src/calibre/gui2/tweak_book/preview.py @@ -403,6 +403,7 @@ class Preview(QWidget): self.view._page.bridge.request_sync.connect(self.request_sync) self.view._page.bridge.request_split.connect(self.request_split) self.view._page.loadFinished.connect(self.load_finished) + self.pending_go_to_anchor = None self.inspector = self.view.inspector l.addWidget(self.view) self.bar = QToolBar(self) @@ -603,6 +604,9 @@ class Preview(QWidget): actions['split-in-preview'].setChecked(False) def load_finished(self, ok): + if self.pending_go_to_anchor: + self.view._page.go_to_anchor(self.pending_go_to_anchor) + self.pending_go_to_anchor = None if actions['split-in-preview'].isChecked(): if ok: self.do_start_split()