diff --git a/src/calibre/gui2/tweak_book/boss.py b/src/calibre/gui2/tweak_book/boss.py index 976780dd77..a73bea8ad0 100644 --- a/src/calibre/gui2/tweak_book/boss.py +++ b/src/calibre/gui2/tweak_book/boss.py @@ -106,6 +106,7 @@ class Boss(QObject): self.gui.check_book.check_requested.connect(self.check_requested) self.gui.check_book.fix_requested.connect(self.fix_requested) self.gui.toc_view.navigate_requested.connect(self.link_clicked) + self.gui.toc_view.refresh_requested.connect(self.commit_all_editors_to_container) self.gui.image_browser.image_activated.connect(self.image_activated) self.gui.checkpoints.revert_requested.connect(self.revert_requested) self.gui.checkpoints.compare_requested.connect(self.compare_requested) diff --git a/src/calibre/gui2/tweak_book/toc.py b/src/calibre/gui2/tweak_book/toc.py index 78eb32dae2..3c86e358a6 100644 --- a/src/calibre/gui2/tweak_book/toc.py +++ b/src/calibre/gui2/tweak_book/toc.py @@ -110,6 +110,7 @@ class Delegate(QStyledItemDelegate): class TOCViewer(QWidget): navigate_requested = pyqtSignal(object, object) + refresh_requested = pyqtSignal() def __init__(self, parent=None): QWidget.__init__(self, parent) @@ -134,7 +135,11 @@ class TOCViewer(QWidget): l.addWidget(self.view) self.refresh_action = QAction(QIcon(I('view-refresh.png')), _('&Refresh'), self) - self.refresh_action.triggered.connect(self.build) + self.refresh_action.triggered.connect(self.refresh) + + def refresh(self): + self.refresh_requested.emit() # Give boos a chance to commit dirty editors to the container + self.build() def item_pressed(self, item): if QApplication.mouseButtons() & Qt.LeftButton: