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.checkpoints.compare_requested.connect(self.compare_requested)
|
||||||
self.gui.saved_searches.run_saved_searches.connect(self.run_saved_searches)
|
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.save_search.connect(self.save_search)
|
||||||
|
self.gui.central.search_panel.show_saved_searches.connect(self.show_saved_searches)
|
||||||
|
|
||||||
def preferences(self):
|
def preferences(self):
|
||||||
p = Preferences(self.gui)
|
p = Preferences(self.gui)
|
||||||
@ -690,9 +691,12 @@ class Boss(QObject):
|
|||||||
|
|
||||||
def save_search(self):
|
def save_search(self):
|
||||||
state = self.gui.central.search_panel.state
|
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)
|
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):
|
def run_saved_searches(self, searches, action):
|
||||||
ed = self.gui.central.current_editor
|
ed = self.gui.central.current_editor
|
||||||
name = None
|
name = None
|
||||||
|
@ -41,6 +41,7 @@ class HistoryLineEdit(HistoryLineEdit2):
|
|||||||
|
|
||||||
max_history_items = 100
|
max_history_items = 100
|
||||||
save_search = pyqtSignal()
|
save_search = pyqtSignal()
|
||||||
|
show_saved_searches = pyqtSignal()
|
||||||
|
|
||||||
def __init__(self, parent, clear_msg):
|
def __init__(self, parent, clear_msg):
|
||||||
HistoryLineEdit2.__init__(self, parent)
|
HistoryLineEdit2.__init__(self, parent)
|
||||||
@ -55,6 +56,7 @@ class HistoryLineEdit(HistoryLineEdit2):
|
|||||||
'Disable completion based on search history')), self.toggle_popups)
|
'Disable completion based on search history')), self.toggle_popups)
|
||||||
menu.addSeparator()
|
menu.addSeparator()
|
||||||
menu.addAction(_('Save current search'), self.save_search.emit)
|
menu.addAction(_('Save current search'), self.save_search.emit)
|
||||||
|
menu.addAction(_('Show saved searches'), self.show_saved_searches.emit)
|
||||||
menu.exec_(event.globalPos())
|
menu.exec_(event.globalPos())
|
||||||
|
|
||||||
def toggle_popups(self):
|
def toggle_popups(self):
|
||||||
@ -150,6 +152,7 @@ class SearchWidget(QWidget):
|
|||||||
|
|
||||||
search_triggered = pyqtSignal(object)
|
search_triggered = pyqtSignal(object)
|
||||||
save_search = pyqtSignal()
|
save_search = pyqtSignal()
|
||||||
|
show_saved_searches = pyqtSignal()
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
QWidget.__init__(self, parent)
|
QWidget.__init__(self, parent)
|
||||||
@ -161,6 +164,7 @@ class SearchWidget(QWidget):
|
|||||||
fl.setAlignment(Qt.AlignRight | Qt.AlignCenter)
|
fl.setAlignment(Qt.AlignRight | Qt.AlignCenter)
|
||||||
self.find_text = ft = HistoryLineEdit(self, _('Clear search history'))
|
self.find_text = ft = HistoryLineEdit(self, _('Clear search history'))
|
||||||
ft.save_search.connect(self.save_search)
|
ft.save_search.connect(self.save_search)
|
||||||
|
ft.show_saved_searches.connect(self.show_saved_searches)
|
||||||
ft.initialize('tweak_book_find_edit')
|
ft.initialize('tweak_book_find_edit')
|
||||||
ft.returnPressed.connect(lambda : self.search_triggered.emit('find'))
|
ft.returnPressed.connect(lambda : self.search_triggered.emit('find'))
|
||||||
fl.setBuddy(ft)
|
fl.setBuddy(ft)
|
||||||
@ -171,6 +175,7 @@ class SearchWidget(QWidget):
|
|||||||
rl.setAlignment(Qt.AlignRight | Qt.AlignCenter)
|
rl.setAlignment(Qt.AlignRight | Qt.AlignCenter)
|
||||||
self.replace_text = rt = HistoryLineEdit(self, _('Clear replace history'))
|
self.replace_text = rt = HistoryLineEdit(self, _('Clear replace history'))
|
||||||
rt.save_search.connect(self.save_search)
|
rt.save_search.connect(self.save_search)
|
||||||
|
rt.show_saved_searches.connect(self.show_saved_searches)
|
||||||
rt.initialize('tweak_book_replace_edit')
|
rt.initialize('tweak_book_replace_edit')
|
||||||
rl.setBuddy(rt)
|
rl.setBuddy(rt)
|
||||||
l.addWidget(rl, 1, 0)
|
l.addWidget(rl, 1, 0)
|
||||||
@ -319,6 +324,7 @@ class SearchPanel(QWidget): # {{{
|
|||||||
|
|
||||||
search_triggered = pyqtSignal(object)
|
search_triggered = pyqtSignal(object)
|
||||||
save_search = pyqtSignal()
|
save_search = pyqtSignal()
|
||||||
|
show_saved_searches = pyqtSignal()
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
QWidget.__init__(self, parent)
|
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.restore_state, self.save_state = self.widget.restore_state, self.widget.save_state
|
||||||
self.widget.search_triggered.connect(self.search_triggered)
|
self.widget.search_triggered.connect(self.search_triggered)
|
||||||
self.widget.save_search.connect(self.save_search)
|
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
|
self.pre_fill = self.widget.pre_fill
|
||||||
|
|
||||||
def hide_panel(self):
|
def hide_panel(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user