mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-08-11 09:13:57 -04:00
Change the saved search button to always pop up a menu with the saved searches as well as actions to create or manage a saved search
This commit is contained in:
parent
6cb0757342
commit
e0f916068a
@ -263,7 +263,11 @@ class SearchBar(QWidget): # {{{
|
|||||||
x.setVisible(tweaks['show_saved_search_box'])
|
x.setVisible(tweaks['show_saved_search_box'])
|
||||||
|
|
||||||
x = parent.add_saved_search_button = RightClickButton(self)
|
x = parent.add_saved_search_button = RightClickButton(self)
|
||||||
|
x.setToolTip(_(
|
||||||
|
'Use an existing Saved search or create a new one'
|
||||||
|
))
|
||||||
x.setCursor(Qt.PointingHandCursor)
|
x.setCursor(Qt.PointingHandCursor)
|
||||||
|
x.setPopupMode(x.InstantPopup)
|
||||||
x.setIcon(QIcon(I("plus.png")))
|
x.setIcon(QIcon(I("plus.png")))
|
||||||
l.addWidget(x)
|
l.addWidget(x)
|
||||||
x.setVisible(not tweaks['show_saved_search_box'])
|
x.setVisible(not tweaks['show_saved_search_box'])
|
||||||
|
@ -547,15 +547,24 @@ class SavedSearchBoxMixin(object): # {{{
|
|||||||
self.save_search_button.setMenu(QMenu())
|
self.save_search_button.setMenu(QMenu())
|
||||||
self.save_search_button.menu().addAction(
|
self.save_search_button.menu().addAction(
|
||||||
QIcon(I('plus.png')),
|
QIcon(I('plus.png')),
|
||||||
_('Create saved search'),
|
_('Create Saved search'),
|
||||||
self.saved_search.save_search_button_clicked)
|
self.saved_search.save_search_button_clicked)
|
||||||
self.save_search_button.menu().addAction(
|
self.save_search_button.menu().addAction(
|
||||||
QIcon(I('trash.png')), _('Delete saved search'), self.saved_search.delete_current_search)
|
QIcon(I('trash.png')), _('Delete Saved search'), self.saved_search.delete_current_search)
|
||||||
self.save_search_button.menu().addAction(
|
self.save_search_button.menu().addAction(
|
||||||
QIcon(I('search.png')), _('Manage saved searches'), partial(self.do_saved_search_edit, None))
|
QIcon(I('search.png')), _('Manage Saved searches'), partial(self.do_saved_search_edit, None))
|
||||||
self.add_saved_search_button.clicked.connect(self.add_saved_search)
|
|
||||||
self.add_saved_search_button.setMenu(QMenu())
|
self.add_saved_search_button.setMenu(QMenu())
|
||||||
self.add_saved_search_button.menu().addActions(self.save_search_button.menu().actions())
|
self.add_saved_search_button.menu().aboutToShow.connect(self.populate_add_saved_search_menu)
|
||||||
|
|
||||||
|
def populate_add_saved_search_menu(self):
|
||||||
|
m = self.add_saved_search_button.menu()
|
||||||
|
m.clear()
|
||||||
|
db = self.current_db
|
||||||
|
for name in db.saved_search_names():
|
||||||
|
m.addAction(name.strip(), partial(self.saved_search.saved_search_selected, name))
|
||||||
|
m.addSeparator()
|
||||||
|
m.addAction(QIcon(I('plus.png')), _('Add Saved search'), self.add_saved_search)
|
||||||
|
m.addActions(list(self.save_search_button.menu().actions())[-1:])
|
||||||
|
|
||||||
def saved_searches_changed(self, set_restriction=None, recount=True):
|
def saved_searches_changed(self, set_restriction=None, recount=True):
|
||||||
self.build_search_restriction_list()
|
self.build_search_restriction_list()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user