diff --git a/src/calibre/gui2/init.py b/src/calibre/gui2/init.py index 51b17426b8..74f511e6a2 100644 --- a/src/calibre/gui2/init.py +++ b/src/calibre/gui2/init.py @@ -258,7 +258,9 @@ class LayoutMixin(object): # {{{ getattr(self, x+'_view').save_state() for x in ('cb', 'tb', 'bd'): - getattr(self, x+'_splitter').save_state() + s = getattr(self, x+'_splitter') + s.update_desired_state() + s.save_state() def read_layout_settings(self): # View states are restored automatically when set_database is called diff --git a/src/calibre/gui2/widgets.py b/src/calibre/gui2/widgets.py index 0237da0a09..60224aefc7 100644 --- a/src/calibre/gui2/widgets.py +++ b/src/calibre/gui2/widgets.py @@ -1032,6 +1032,9 @@ class Splitter(QSplitter): # Public API {{{ + def update_desired_state(self): + self.desired_show = not self.is_side_index_hidden + def save_state(self): if self.count() > 1: gprefs[self.save_name+'_state'] = self.get_state()