From 31555eba05da81038d13e2284abfe134e9552ffa Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 11 Jun 2022 12:13:34 +0530 Subject: [PATCH] Button to switch back to scan panel results --- src/calibre/gui2/fts/dialog.py | 1 + src/calibre/gui2/fts/scan.py | 5 ++++- src/calibre/gui2/fts/search.py | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/fts/dialog.py b/src/calibre/gui2/fts/dialog.py index 4f410a3c69..0796aa4e8a 100644 --- a/src/calibre/gui2/fts/dialog.py +++ b/src/calibre/gui2/fts/dialog.py @@ -30,6 +30,7 @@ class FTSDialog(Dialog): self.scan_status = ss = ScanStatus(self) ss.switch_to_search_panel.connect(self.show_results_panel) self.results_panel = rp = ResultsPanel(self) + rp.switch_to_scan_panel.connect(self.show_scan_status) s.addWidget(ss), s.addWidget(rp) if ss.indexing_progress.almost_complete: self.show_results_panel() diff --git a/src/calibre/gui2/fts/scan.py b/src/calibre/gui2/fts/scan.py index ebc29dfe6d..2a37f69838 100644 --- a/src/calibre/gui2/fts/scan.py +++ b/src/calibre/gui2/fts/scan.py @@ -76,7 +76,10 @@ class ScanProgress(QWidget): l.addWidget(la) self.switch_anyway = sa = QPushButton(self) sa.clicked.connect(self.switch_to_search_panel) - l.addWidget(sa) + h = QHBoxLayout() + h.setContentsMargins(0, 0, 0, 0) + h.addWidget(sa), h.addStretch(10) + l.addLayout(h) def change_speed(self): db = get_db() diff --git a/src/calibre/gui2/fts/search.py b/src/calibre/gui2/fts/search.py index a196fb4a45..0987d140b1 100644 --- a/src/calibre/gui2/fts/search.py +++ b/src/calibre/gui2/fts/search.py @@ -598,6 +598,8 @@ class LeftPanel(QWidget): class ResultsPanel(QWidget): + switch_to_scan_panel = pyqtSignal() + def __init__(self, parent=None): super().__init__(parent) if isinstance(parent, QDialog): @@ -630,6 +632,7 @@ class ResultsPanel(QWidget): def specialize_button_box(self, bb): bb.clear() bb.addButton(QDialogButtonBox.StandardButton.Close) + bb.addButton(_('Show &indexing status'), QDialogButtonBox.ButtonRole.ActionRole).clicked.connect(self.switch_to_scan_panel) def clear_results(self): self.results_view.m.clear_results()