From b1925a344afbf5db8e0b8ab52bd24117c7036f3d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 14 May 2019 13:44:58 +0530 Subject: [PATCH] Edit metadata dialog: Remember relative sizes of the cover and comments editors. Fixes #1828291 [Editor dialog does not remember pane widths](https://bugs.launchpad.net/calibre/+bug/1828291) --- src/calibre/gui2/metadata/single.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/calibre/gui2/metadata/single.py b/src/calibre/gui2/metadata/single.py index 07e1ab3ab8..c0f84ac198 100644 --- a/src/calibre/gui2/metadata/single.py +++ b/src/calibre/gui2/metadata/single.py @@ -124,6 +124,7 @@ class MetadataSingleDialogBase(QDialog): self.restoreGeometry(bytes(geom)) else: self.resize(self.sizeHint()) + self.restore_widget_settings() # }}} def sizeHint(self): @@ -377,6 +378,12 @@ class MetadataSingleDialogBase(QDialog): def do_layout(self): raise NotImplementedError() + def save_widget_settings(self): + pass + + def restore_widget_settings(self): + pass + def data_changed(self): self.was_data_edited = True @@ -657,6 +664,7 @@ class MetadataSingleDialogBase(QDialog): def save_state(self): try: gprefs['metasingle_window_geometry3'] = bytearray(self.saveGeometry()) + self.save_widget_settings() except: # Weird failure, see https://bugs.launchpad.net/bugs/995271 import traceback @@ -879,6 +887,14 @@ class MetadataSingleDialog(MetadataSingleDialogBase): # {{{ self.set_custom_metadata_tab_order() + def save_widget_settings(self): + gprefs['basic_metadata_widget_splitter_state'] = bytearray(self.splitter.saveState()) + + def restore_widget_settings(self): + s = gprefs.get('basic_metadata_widget_splitter_state') + if s is not None: + self.splitter.restoreState(s) + # }}}