From 9777a204f55685f55fa38f882a70b512348292a0 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Tue, 9 Apr 2013 14:51:34 +0200 Subject: [PATCH] Fix exception if search is saved before virtual lib button is clicked. Add quotes around VL created when migrating restriction preferences to VL preferences --- src/calibre/gui2/search_restriction_mixin.py | 4 +++- src/calibre/library/database2.py | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/calibre/gui2/search_restriction_mixin.py b/src/calibre/gui2/search_restriction_mixin.py index 1cd1edeb21..52b366b50a 100644 --- a/src/calibre/gui2/search_restriction_mixin.py +++ b/src/calibre/gui2/search_restriction_mixin.py @@ -150,6 +150,7 @@ class SearchRestrictionMixin(object): self.search_restriction = ComboBoxWithHelp(self) self.search_restriction.setVisible(False) self.search_count.setText(_("(all books)")) + self.ar_menu = QMenu(_('Additional restriction')) def add_virtual_library(self, db, name, search): virt_libs = db.prefs.get('virtual_libraries', {}) @@ -190,7 +191,8 @@ class SearchRestrictionMixin(object): db = self.library_view.model().db - self.ar_menu = a = QMenu(_('Additional restriction')) + a = self.ar_menu + a.clear() a.setIcon(self.checked if db.data.get_search_restriction_name() else self.empty) a.aboutToShow.connect(self.build_search_restriction_list); m.addMenu(a) diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index ccb614fbce..0a781e5948 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -285,7 +285,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): gr_pref = self.prefs.get('gui_restriction', None) if gr_pref: virt_libs = self.prefs.get('virtual_libraries', {}) - virt_libs[gr_pref] = 'search:'+gr_pref + virt_libs[gr_pref] = 'search:"' + gr_pref + '"' self.prefs['virtual_libraries'] = virt_libs self.prefs['gui_restriction'] = '' self.prefs['virtual_lib_on_startup'] = gr_pref @@ -294,7 +294,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): gr_pref = self.prefs.get('cs_restriction', None) if gr_pref: virt_libs = self.prefs.get('virtual_libraries', {}) - virt_libs[gr_pref] = 'search:'+gr_pref + virt_libs[gr_pref] = 'search:"' + gr_pref + '"' self.prefs['virtual_libraries'] = virt_libs self.prefs['cs_restriction'] = '' self.prefs['cs_virtual_lib_on_startup'] = gr_pref