mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Add an option to viewer preferences, to remeber last used window size. Fixes #2406 (set default ebook viewer window size?)
This commit is contained in:
parent
b839cc76e1
commit
59a52e927a
@ -1,3 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<ui version="4.0">
|
<ui version="4.0">
|
||||||
<class>Dialog</class>
|
<class>Dialog</class>
|
||||||
<widget class="QDialog" name="Dialog">
|
<widget class="QDialog" name="Dialog">
|
||||||
@ -143,6 +144,13 @@
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="3" column="0" colspan="2">
|
||||||
|
<widget class="QCheckBox" name="opt_remember_window_size">
|
||||||
|
<property name="text">
|
||||||
|
<string>Remember last used &window size</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="2" column="0">
|
||||||
|
@ -53,6 +53,8 @@ def config(defaults=None):
|
|||||||
else:
|
else:
|
||||||
c = StringConfig(defaults, desc)
|
c = StringConfig(defaults, desc)
|
||||||
|
|
||||||
|
c.add_opt('remember_window_size', default=False,
|
||||||
|
help=_('Remember last used window size'))
|
||||||
c.add_opt('user_css', default='',
|
c.add_opt('user_css', default='',
|
||||||
help=_('Set the user CSS stylesheet. This can be used to customize the look of all books.'))
|
help=_('Set the user CSS stylesheet. This can be used to customize the look of all books.'))
|
||||||
|
|
||||||
@ -76,6 +78,7 @@ class ConfigDialog(QDialog, Ui_Dialog):
|
|||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
|
|
||||||
opts = config().parse()
|
opts = config().parse()
|
||||||
|
self.opt_remember_window_size.setChecked(opts.remember_window_size)
|
||||||
self.serif_family.setCurrentFont(QFont(opts.serif_family))
|
self.serif_family.setCurrentFont(QFont(opts.serif_family))
|
||||||
self.sans_family.setCurrentFont(QFont(opts.sans_family))
|
self.sans_family.setCurrentFont(QFont(opts.sans_family))
|
||||||
self.mono_family.setCurrentFont(QFont(opts.mono_family))
|
self.mono_family.setCurrentFont(QFont(opts.mono_family))
|
||||||
@ -94,6 +97,7 @@ class ConfigDialog(QDialog, Ui_Dialog):
|
|||||||
c.set('mono_font_size', self.mono_font_size.value())
|
c.set('mono_font_size', self.mono_font_size.value())
|
||||||
c.set('standard_font', {0:'serif', 1:'sans', 2:'mono'}[self.standard_font.currentIndex()])
|
c.set('standard_font', {0:'serif', 1:'sans', 2:'mono'}[self.standard_font.currentIndex()])
|
||||||
c.set('user_css', unicode(self.css.toPlainText()))
|
c.set('user_css', unicode(self.css.toPlainText()))
|
||||||
|
c.set('remember_window_size', self.opt_remember_window_size.isChecked())
|
||||||
return QDialog.accept(self, *args)
|
return QDialog.accept(self, *args)
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ from calibre.ebooks.epub.from_any import SOURCE_FORMATS
|
|||||||
from calibre.ebooks import DRMError
|
from calibre.ebooks import DRMError
|
||||||
from calibre.gui2.dialogs.conversion_error import ConversionErrorDialog
|
from calibre.gui2.dialogs.conversion_error import ConversionErrorDialog
|
||||||
from calibre.constants import islinux
|
from calibre.constants import islinux
|
||||||
from calibre.utils.config import Config, StringConfig
|
from calibre.utils.config import Config, StringConfig, dynamic
|
||||||
from calibre.gui2.library import SearchBox
|
from calibre.gui2.library import SearchBox
|
||||||
from calibre.ebooks.metadata import MetaInformation
|
from calibre.ebooks.metadata import MetaInformation
|
||||||
|
|
||||||
@ -198,6 +198,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()
|
||||||
@ -570,10 +571,22 @@ class EbookViewer(MainWindow, Ui_EbookViewer):
|
|||||||
return self
|
return self
|
||||||
|
|
||||||
def __exit__(self, *args):
|
def __exit__(self, *args):
|
||||||
|
self.write_settings()
|
||||||
if self.iterator is not None:
|
if self.iterator is not None:
|
||||||
self.save_current_position()
|
self.save_current_position()
|
||||||
self.iterator.__exit__(*args)
|
self.iterator.__exit__(*args)
|
||||||
|
|
||||||
|
def write_settings(self):
|
||||||
|
dynamic.set('viewer_window_geometry', self.saveGeometry())
|
||||||
|
|
||||||
|
def read_settings(self):
|
||||||
|
c = config().parse()
|
||||||
|
wg = dynamic['viewer_window_geometry']
|
||||||
|
if wg is not None and c.remember_window_size:
|
||||||
|
self.restoreGeometry(wg)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def config(defaults=None):
|
def config(defaults=None):
|
||||||
desc = _('Options to control the ebook viewer')
|
desc = _('Options to control the ebook viewer')
|
||||||
@ -585,6 +598,9 @@ def config(defaults=None):
|
|||||||
c.add_opt('raise_window', ['--raise-window'], default=False,
|
c.add_opt('raise_window', ['--raise-window'], default=False,
|
||||||
help=_('If specified, viewer window will try to come to the '
|
help=_('If specified, viewer window will try to come to the '
|
||||||
'front when started.'))
|
'front when started.'))
|
||||||
|
c.add_opt('remember_window_size', default=False,
|
||||||
|
help=_('Remember last used window size'))
|
||||||
|
|
||||||
return c
|
return c
|
||||||
|
|
||||||
def option_parser():
|
def option_parser():
|
||||||
|
Loading…
x
Reference in New Issue
Block a user