mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Allow opening saved searches dialog directly via right click
This commit is contained in:
parent
1379bbf852
commit
cfad8a5076
@ -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
|
||||
|
@ -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):
|
||||
|
Loading…
x
Reference in New Issue
Block a user