diff --git a/src/calibre/gui2/actions/edit_metadata.py b/src/calibre/gui2/actions/edit_metadata.py index 6e2a4054c8..4a527d94d8 100644 --- a/src/calibre/gui2/actions/edit_metadata.py +++ b/src/calibre/gui2/actions/edit_metadata.py @@ -147,8 +147,13 @@ class EditMetadataAction(InterfaceAction): d = MetadataSingleDialog(self.gui, row_list[current_row], db, prev=prev, next_=next_) + d.view_format.connect(lambda + fmt:self.gui.iactions['View'].view_format(row_list[current_row], + fmt)) if d.exec_() != d.Accepted: + d.view_format.disconnect() break + d.view_format.disconnect() changed.add(d.id) if d.row_delta == 0: break diff --git a/src/calibre/gui2/actions/view.py b/src/calibre/gui2/actions/view.py index 0a26653771..0910745ac9 100644 --- a/src/calibre/gui2/actions/view.py +++ b/src/calibre/gui2/actions/view.py @@ -26,7 +26,6 @@ class ViewAction(InterfaceAction): def genesis(self): self.persistent_files = [] - self.metadata_view_id = None self.qaction.triggered.connect(self.view_book) self.view_menu = QMenu() self.view_menu.addAction(_('View'), partial(self.view_book, False)) @@ -51,14 +50,6 @@ class ViewAction(InterfaceAction): if fmt_path: self._view_file(fmt_path) - def metadata_view_format(self, fmt): - fmt_path = self.gui.library_view.model().db.\ - format_abspath(self.metadata_view_id, - fmt, index_is_id=True) - if fmt_path: - self._view_file(fmt_path) - - def book_downloaded_for_viewing(self, job): if job.failed: self.gui.device_job_exception(job)