From cfad8a5076a3b222245ad72caf0fef4e724738a9 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 22 Mar 2014 10:39:14 +0530 Subject: [PATCH] Allow opening saved searches dialog directly via right click --- src/calibre/gui2/tweak_book/boss.py | 6 +++++- src/calibre/gui2/tweak_book/search.py | 7 +++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/tweak_book/boss.py b/src/calibre/gui2/tweak_book/boss.py index 89ebd51e8c..d1b05207bd 100644 --- a/src/calibre/gui2/tweak_book/boss.py +++ b/src/calibre/gui2/tweak_book/boss.py @@ -108,6 +108,7 @@ class Boss(QObject): self.gui.checkpoints.compare_requested.connect(self.compare_requested) self.gui.saved_searches.run_saved_searches.connect(self.run_saved_searches) self.gui.central.search_panel.save_search.connect(self.save_search) + self.gui.central.search_panel.show_saved_searches.connect(self.show_saved_searches) def preferences(self): p = Preferences(self.gui) @@ -690,9 +691,12 @@ class Boss(QObject): def save_search(self): state = self.gui.central.search_panel.state - self.gui.saved_searches.show(), self.gui.saved_searches.raise_() + self.show_saved_searches() self.gui.saved_searches.add_predefined_search(state) + def show_saved_searches(self): + self.gui.saved_searches.show(), self.gui.saved_searches.raise_() + def run_saved_searches(self, searches, action): ed = self.gui.central.current_editor name = None diff --git a/src/calibre/gui2/tweak_book/search.py b/src/calibre/gui2/tweak_book/search.py index 2b4a608a71..c77790fd26 100644 --- a/src/calibre/gui2/tweak_book/search.py +++ b/src/calibre/gui2/tweak_book/search.py @@ -41,6 +41,7 @@ class HistoryLineEdit(HistoryLineEdit2): max_history_items = 100 save_search = pyqtSignal() + show_saved_searches = pyqtSignal() def __init__(self, parent, clear_msg): HistoryLineEdit2.__init__(self, parent) @@ -55,6 +56,7 @@ class HistoryLineEdit(HistoryLineEdit2): 'Disable completion based on search history')), self.toggle_popups) menu.addSeparator() menu.addAction(_('Save current search'), self.save_search.emit) + menu.addAction(_('Show saved searches'), self.show_saved_searches.emit) menu.exec_(event.globalPos()) def toggle_popups(self): @@ -150,6 +152,7 @@ class SearchWidget(QWidget): search_triggered = pyqtSignal(object) save_search = pyqtSignal() + show_saved_searches = pyqtSignal() def __init__(self, parent=None): QWidget.__init__(self, parent) @@ -161,6 +164,7 @@ class SearchWidget(QWidget): fl.setAlignment(Qt.AlignRight | Qt.AlignCenter) self.find_text = ft = HistoryLineEdit(self, _('Clear search history')) ft.save_search.connect(self.save_search) + ft.show_saved_searches.connect(self.show_saved_searches) ft.initialize('tweak_book_find_edit') ft.returnPressed.connect(lambda : self.search_triggered.emit('find')) fl.setBuddy(ft) @@ -171,6 +175,7 @@ class SearchWidget(QWidget): rl.setAlignment(Qt.AlignRight | Qt.AlignCenter) self.replace_text = rt = HistoryLineEdit(self, _('Clear replace history')) rt.save_search.connect(self.save_search) + rt.show_saved_searches.connect(self.show_saved_searches) rt.initialize('tweak_book_replace_edit') rl.setBuddy(rt) l.addWidget(rl, 1, 0) @@ -319,6 +324,7 @@ class SearchPanel(QWidget): # {{{ search_triggered = pyqtSignal(object) save_search = pyqtSignal() + show_saved_searches = pyqtSignal() def __init__(self, parent=None): QWidget.__init__(self, parent) @@ -338,6 +344,7 @@ class SearchPanel(QWidget): # {{{ self.restore_state, self.save_state = self.widget.restore_state, self.widget.save_state self.widget.search_triggered.connect(self.search_triggered) self.widget.save_search.connect(self.save_search) + self.widget.show_saved_searches.connect(self.show_saved_searches) self.pre_fill = self.widget.pre_fill def hide_panel(self):