E-book viewer: Add an option to change the minimum font size. Fixes #1122333 (Feature request: minimum font size in ebook reader)

This commit is contained in:
Kovid Goyal 2013-02-12 16:40:37 +05:30
parent 1663af9bd0
commit ad307cf23d
3 changed files with 30 additions and 4 deletions

View File

@ -82,6 +82,7 @@ def config(defaults=None):
fonts('default_font_size', default=20, help=_('The standard font size in px')) fonts('default_font_size', default=20, help=_('The standard font size in px'))
fonts('mono_font_size', default=16, help=_('The monospaced font size in px')) fonts('mono_font_size', default=16, help=_('The monospaced font size in px'))
fonts('standard_font', default='serif', help=_('The standard font type')) fonts('standard_font', default='serif', help=_('The standard font type'))
fonts('minimum_font_size', default=8, help=_('The minimum font size in px'))
return c return c
@ -194,6 +195,7 @@ class ConfigDialog(QDialog, Ui_Dialog):
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))
self.default_font_size.setValue(opts.default_font_size) self.default_font_size.setValue(opts.default_font_size)
self.minimum_font_size.setValue(opts.minimum_font_size)
self.mono_font_size.setValue(opts.mono_font_size) self.mono_font_size.setValue(opts.mono_font_size)
self.standard_font.setCurrentIndex( self.standard_font.setCurrentIndex(
{'serif':0, 'sans':1, 'mono':2}[opts.standard_font]) {'serif':0, 'sans':1, 'mono':2}[opts.standard_font])
@ -266,6 +268,7 @@ class ConfigDialog(QDialog, Ui_Dialog):
c.set('sans_family', unicode(self.sans_family.currentFont().family())) c.set('sans_family', unicode(self.sans_family.currentFont().family()))
c.set('mono_family', unicode(self.mono_family.currentFont().family())) c.set('mono_family', unicode(self.mono_family.currentFont().family()))
c.set('default_font_size', self.default_font_size.value()) c.set('default_font_size', self.default_font_size.value())
c.set('minimum_font_size', self.minimum_font_size.value())
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'}[ c.set('standard_font', {0:'serif', 1:'sans', 2:'mono'}[
self.standard_font.currentIndex()]) self.standard_font.currentIndex()])

View File

@ -210,6 +210,29 @@ QToolBox::tab:hover {
</property> </property>
</widget> </widget>
</item> </item>
<item row="7" column="0">
<widget class="QLabel" name="label_22">
<property name="text">
<string>M&amp;inimum font size:</string>
</property>
<property name="buddy">
<cstring>minimum_font_size</cstring>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QSpinBox" name="minimum_font_size">
<property name="toolTip">
<string>The minimum font size in pixels</string>
</property>
<property name="suffix">
<string> px</string>
</property>
<property name="minimum">
<number>8</number>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name="page_5"> <widget class="QWidget" name="page_5">
@ -573,8 +596,8 @@ QToolBox::tab:hover {
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>811</width> <width>352</width>
<height>352</height> <height>151</height>
</rect> </rect>
</property> </property>
<attribute name="label"> <attribute name="label">

View File

@ -39,8 +39,8 @@ class Document(QWebPage): # {{{
settings = self.settings() settings = self.settings()
settings.setFontSize(QWebSettings.DefaultFontSize, opts.default_font_size) settings.setFontSize(QWebSettings.DefaultFontSize, opts.default_font_size)
settings.setFontSize(QWebSettings.DefaultFixedFontSize, opts.mono_font_size) settings.setFontSize(QWebSettings.DefaultFixedFontSize, opts.mono_font_size)
settings.setFontSize(QWebSettings.MinimumLogicalFontSize, 8) settings.setFontSize(QWebSettings.MinimumLogicalFontSize, opts.minimum_font_size)
settings.setFontSize(QWebSettings.MinimumFontSize, 8) settings.setFontSize(QWebSettings.MinimumFontSize, opts.minimum_font_size)
settings.setFontFamily(QWebSettings.StandardFont, {'serif':opts.serif_family, 'sans':opts.sans_family, 'mono':opts.mono_family}[opts.standard_font]) settings.setFontFamily(QWebSettings.StandardFont, {'serif':opts.serif_family, 'sans':opts.sans_family, 'mono':opts.mono_family}[opts.standard_font])
settings.setFontFamily(QWebSettings.SerifFont, opts.serif_family) settings.setFontFamily(QWebSettings.SerifFont, opts.serif_family)
settings.setFontFamily(QWebSettings.SansSerifFont, opts.sans_family) settings.setFontFamily(QWebSettings.SansSerifFont, opts.sans_family)