diff --git a/src/calibre/gui2/tweak_book/search.py b/src/calibre/gui2/tweak_book/search.py index a97763e2b0..c06327420c 100644 --- a/src/calibre/gui2/tweak_book/search.py +++ b/src/calibre/gui2/tweak_book/search.py @@ -753,6 +753,20 @@ class SavedSearches(QWidget): self.searches.setFocus(Qt.OtherFocusReason) + @dynamic_property + def state(self): + def fget(self): + return {'wrap':self.wrap, 'direction':self.direction, 'where':self.where} + def fset(self, val): + self.wrap, self.where, self.direction = val['wrap'], val['where'], val['direction'] + return property(fget=fget, fset=fset) + + def save_state(self): + tprefs['saved_seaches_state'] = self.state + + def restore_state(self): + self.state = tprefs.get('saved_seaches_state', SearchWidget.DEFAULT_STATE) + def has_focus(self): if self.hasFocus(): return True diff --git a/src/calibre/gui2/tweak_book/ui.py b/src/calibre/gui2/tweak_book/ui.py index 9007372cdb..aaed5755f9 100644 --- a/src/calibre/gui2/tweak_book/ui.py +++ b/src/calibre/gui2/tweak_book/ui.py @@ -703,6 +703,7 @@ class Main(MainWindow): tprefs.set('main_window_geometry', bytearray(self.saveGeometry())) tprefs.set('main_window_state', bytearray(self.saveState(self.STATE_VERSION))) self.central.save_state() + self.saved_searches.save_state() self.check_book.save_state() def restore_state(self): @@ -713,6 +714,7 @@ class Main(MainWindow): if state is not None: self.restoreState(state, self.STATE_VERSION) self.central.restore_state() + self.saved_searches.restore_state() def contextMenuEvent(self, ev): ev.ignore()