viewer: remember window size.

This commit is contained in:
John Schember 2009-05-09 11:25:45 -04:00
parent d69b1ffbdc
commit c1cb05b24b

View File

@ -20,7 +20,7 @@ from calibre.gui2 import Application, ORG_NAME, APP_UID, choose_files, \
from calibre.ebooks.oeb.iterator import EbookIterator from calibre.ebooks.oeb.iterator import EbookIterator
from calibre.ebooks import DRMError from calibre.ebooks import DRMError
from calibre.constants import islinux from calibre.constants import islinux
from calibre.utils.config import Config, StringConfig from calibre.utils.config import Config, ConfigProxy, StringConfig
from calibre.gui2.library import SearchBox from calibre.gui2.library import SearchBox
from calibre.ebooks.metadata import MetaInformation from calibre.ebooks.metadata import MetaInformation
from calibre.customize.ui import available_input_formats from calibre.customize.ui import available_input_formats
@ -199,6 +199,7 @@ class EbookViewer(MainWindow, Ui_EbookViewer):
self.pending_reference = None self.pending_reference = None
self.pending_bookmark = None self.pending_bookmark = None
self.selected_text = None self.selected_text = None
self.read_settings()
self.history = History(self.action_back, self.action_forward) self.history = History(self.action_back, self.action_forward)
self.metadata = Metadata(self) self.metadata = Metadata(self)
self.pos = DoubleSpinBox() self.pos = DoubleSpinBox()
@ -601,6 +602,26 @@ class EbookViewer(MainWindow, Ui_EbookViewer):
self.save_current_position() self.save_current_position()
self.iterator.__exit__(*args) self.iterator.__exit__(*args)
def closeEvent(self, e):
self.write_settings()
def read_settings(self):
geometry = settings['viewer_window_geometry']
if geometry is not None:
self.restoreGeometry(geometry)
def write_settings(self):
settings.set('viewer_window_geometry', self.saveGeometry())
def _settings():
c = Config('viewer_gui', 'preferences for the calibre viewer GUI')
c.add_opt('viewer_window_geometry', default=None,
help=_('Viewer window geometry')) # value QVariant.toByteArray
return ConfigProxy(c)
settings = _settings()
def config(defaults=None): def config(defaults=None):
desc = _('Options to control the ebook viewer') desc = _('Options to control the ebook viewer')