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)

This commit is contained in:
Kovid Goyal 2019-05-14 13:44:58 +05:30
parent 47aa91f7ba
commit b1925a344a
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -124,6 +124,7 @@ class MetadataSingleDialogBase(QDialog):
self.restoreGeometry(bytes(geom)) self.restoreGeometry(bytes(geom))
else: else:
self.resize(self.sizeHint()) self.resize(self.sizeHint())
self.restore_widget_settings()
# }}} # }}}
def sizeHint(self): def sizeHint(self):
@ -377,6 +378,12 @@ class MetadataSingleDialogBase(QDialog):
def do_layout(self): def do_layout(self):
raise NotImplementedError() raise NotImplementedError()
def save_widget_settings(self):
pass
def restore_widget_settings(self):
pass
def data_changed(self): def data_changed(self):
self.was_data_edited = True self.was_data_edited = True
@ -657,6 +664,7 @@ class MetadataSingleDialogBase(QDialog):
def save_state(self): def save_state(self):
try: try:
gprefs['metasingle_window_geometry3'] = bytearray(self.saveGeometry()) gprefs['metasingle_window_geometry3'] = bytearray(self.saveGeometry())
self.save_widget_settings()
except: except:
# Weird failure, see https://bugs.launchpad.net/bugs/995271 # Weird failure, see https://bugs.launchpad.net/bugs/995271
import traceback import traceback
@ -879,6 +887,14 @@ class MetadataSingleDialog(MetadataSingleDialogBase): # {{{
self.set_custom_metadata_tab_order() 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)
# }}} # }}}