mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Small search API change to let someone add, then set, a search restriction
This commit is contained in:
commit
6386aff7c4
@ -436,17 +436,18 @@ class SavedSearchBoxMixin(object): # {{{
|
||||
b = getattr(self, x+'_search_button')
|
||||
b.setStatusTip(b.toolTip())
|
||||
|
||||
def saved_searches_changed(self):
|
||||
def saved_searches_changed(self, set_restriction=None):
|
||||
p = sorted(saved_searches().names(), key=sort_key)
|
||||
t = unicode(self.search_restriction.currentText())
|
||||
if set_restriction is None:
|
||||
set_restriction = unicode(self.search_restriction.currentText())
|
||||
# rebuild the restrictions combobox using current saved searches
|
||||
self.search_restriction.clear()
|
||||
self.search_restriction.addItem('')
|
||||
self.tags_view.recount()
|
||||
for s in p:
|
||||
self.search_restriction.addItem(s)
|
||||
if t: # redo the search restriction if there was one
|
||||
self.apply_named_search_restriction(t)
|
||||
if set_restriction: # redo the search restriction if there was one
|
||||
self.apply_named_search_restriction(set_restriction)
|
||||
|
||||
def do_saved_search_edit(self, search):
|
||||
d = SavedSearchEditor(self, search)
|
||||
|
@ -6,7 +6,7 @@ __license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
import re, itertools, time, traceback
|
||||
import re, itertools, time, traceback, copy
|
||||
from itertools import repeat, izip
|
||||
from datetime import timedelta
|
||||
from threading import Thread
|
||||
@ -788,10 +788,9 @@ class ResultCache(SearchQueryParser): # {{{
|
||||
'''
|
||||
if not hasattr(id_dict, 'items'):
|
||||
# Simple list. Make it a dict of string 'true'
|
||||
self.marked_ids_dict = dict(izip(id_dict, repeat(u'true',
|
||||
len(id_dict))))
|
||||
self.marked_ids_dict = dict(izip(id_dict, repeat(u'true')))
|
||||
else:
|
||||
self.marked_ids_dict = dict(**id_dict)
|
||||
self.marked_ids_dict = copy.copy(id_dict)
|
||||
# Ensure that all the items in the dict are text
|
||||
for id_,val in self.marked_ids_dict.iteritems():
|
||||
self.marked_ids_dict[id_] = unicode(val)
|
||||
|
Loading…
x
Reference in New Issue
Block a user