Implement #2791 (Fullscreen should keep narrow measure)

This commit is contained in:
Kovid Goyal 2009-07-12 19:16:54 -06:00
parent 37dc3b72be
commit b2b2847a47
4 changed files with 173 additions and 119 deletions

View File

@ -144,13 +144,36 @@
</item>
</widget>
</item>
<item row="3" column="0" colspan="2">
<item row="4" column="0" colspan="2">
<widget class="QCheckBox" name="opt_remember_window_size">
<property name="text">
<string>Remember last used &amp;window size</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="max_view_width">
<property name="suffix">
<string> px</string>
</property>
<property name="minimum">
<number>100</number>
</property>
<property name="maximum">
<number>10000</number>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Maximum &amp;view width:</string>
</property>
<property name="buddy">
<cstring>max_view_width</cstring>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="0">
@ -159,7 +182,7 @@
<string>&amp;User stylesheet</string>
</property>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<item row="1" column="0">
<widget class="QPlainTextEdit" name="css"/>
</item>
</layout>
@ -180,6 +203,18 @@
</item>
</layout>
</widget>
<tabstops>
<tabstop>serif_family</tabstop>
<tabstop>sans_family</tabstop>
<tabstop>mono_family</tabstop>
<tabstop>default_font_size</tabstop>
<tabstop>mono_font_size</tabstop>
<tabstop>standard_font</tabstop>
<tabstop>max_view_width</tabstop>
<tabstop>opt_remember_window_size</tabstop>
<tabstop>css</tabstop>
<tabstop>buttonBox</tabstop>
</tabstops>
<resources>
<include location="../images.qrc"/>
</resources>

View File

@ -59,6 +59,8 @@ def config(defaults=None):
help=_('Remember last used window size'))
c.add_opt('user_css', default='',
help=_('Set the user CSS stylesheet. This can be used to customize the look of all books.'))
c.add_opt('max_view_width', default=6000,
help=_('Maximum width of the viewer window, in pixels.'))
fonts = c.add_group('FONTS', _('Font options'))
fonts('serif_family', default='Times New Roman' if iswindows else 'Liberation Serif',
@ -103,6 +105,7 @@ class ConfigDialog(QDialog, Ui_Dialog):
self.standard_font.setCurrentIndex({'serif':0, 'sans':1, 'mono':2}[opts.standard_font])
self.css.setPlainText(opts.user_css)
self.css.setToolTip(_('Set the user CSS stylesheet. This can be used to customize the look of all books.'))
self.max_view_width.setValue(opts.max_view_width)
def accept(self, *args):
@ -115,6 +118,7 @@ class ConfigDialog(QDialog, Ui_Dialog):
c.set('standard_font', {0:'serif', 1:'sans', 2:'mono'}[self.standard_font.currentIndex()])
c.set('user_css', unicode(self.css.toPlainText()))
c.set('remember_window_size', self.opt_remember_window_size.isChecked())
c.set('max_view_width', int(self.max_view_width.value()))
return QDialog.accept(self, *args)
@ -349,6 +353,8 @@ class DocumentView(QWebView):
def config(self, parent=None):
self.document.do_config(parent)
if self.manager is not None:
self.manager.set_max_width()
def bookmark(self):
return self.document.bookmark()

View File

@ -284,6 +284,13 @@ class EbookViewer(MainWindow, Ui_EbookViewer):
self.tool_bar.widgetForAction(self.action_print).setPopupMode(QToolButton.MenuButtonPopup)
self.connect(self.action_print, SIGNAL("triggered(bool)"), partial(self.print_book, preview=False))
self.connect(self.print_menu.actions()[0], SIGNAL("triggered(bool)"), partial(self.print_book, preview=True))
self.set_max_width()
def set_max_width(self):
from calibre.gui2.viewer.documentview import config
c = config().parse()
self.frame.setMaximumWidth(c.max_view_width)
def print_book(self, preview):
Printing(self.iterator.spine, preview)

View File

@ -1,7 +1,8 @@
<ui version="4.0" >
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>EbookViewer</class>
<widget class="QMainWindow" name="EbookViewer" >
<property name="geometry" >
<widget class="QMainWindow" name="EbookViewer">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
@ -9,37 +10,42 @@
<height>672</height>
</rect>
</property>
<property name="windowTitle" >
<property name="windowTitle">
<string>Ebook Viewer</string>
</property>
<property name="windowIcon" >
<iconset resource="../images.qrc" >
<property name="windowIcon">
<iconset resource="../images.qrc">
<normaloff>:/images/viewer.svg</normaloff>:/images/viewer.svg</iconset>
</property>
<widget class="QWidget" name="centralwidget" >
<layout class="QGridLayout" name="gridLayout_2" >
<item row="0" column="0" >
<widget class="QSplitter" name="splitter" >
<property name="orientation" >
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QSplitter" name="splitter">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<widget class="QTreeView" name="toc" />
<widget class="QWidget" name="layoutWidget" >
<layout class="QGridLayout" name="gridLayout" >
<item row="0" column="0" >
<widget class="QWebView" name="view" >
</widget>
<widget class="QTreeView" name="toc"/>
<widget class="QFrame" name="frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QWebView" name="view"/>
</item>
<item row="0" column="1" >
<widget class="QScrollBar" name="vertical_scrollbar" >
<property name="orientation" >
<item row="0" column="1">
<widget class="QScrollBar" name="vertical_scrollbar">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QScrollBar" name="horizontal_scrollbar" >
<property name="orientation" >
<item row="1" column="0">
<widget class="QScrollBar" name="horizontal_scrollbar">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
@ -50,193 +56,193 @@
</item>
</layout>
</widget>
<widget class="QToolBar" name="tool_bar" >
<property name="windowTitle" >
<widget class="QToolBar" name="tool_bar">
<property name="windowTitle">
<string>toolBar</string>
</property>
<property name="iconSize" >
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<attribute name="toolBarArea" >
<attribute name="toolBarArea">
<enum>LeftToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak" >
<attribute name="toolBarBreak">
<bool>false</bool>
</attribute>
<addaction name="action_back" />
<addaction name="action_forward" />
<addaction name="separator" />
<addaction name="action_open_ebook" />
<addaction name="action_copy" />
<addaction name="action_font_size_larger" />
<addaction name="action_font_size_smaller" />
<addaction name="action_table_of_contents" />
<addaction name="action_metadata" />
<addaction name="separator" />
<addaction name="action_previous_page" />
<addaction name="action_next_page" />
<addaction name="separator" />
<addaction name="action_bookmark" />
<addaction name="action_reference_mode" />
<addaction name="separator" />
<addaction name="action_preferences" />
<addaction name="action_full_screen" />
<addaction name="separator" />
<addaction name="action_print" />
<addaction name="action_back"/>
<addaction name="action_forward"/>
<addaction name="separator"/>
<addaction name="action_open_ebook"/>
<addaction name="action_copy"/>
<addaction name="action_font_size_larger"/>
<addaction name="action_font_size_smaller"/>
<addaction name="action_table_of_contents"/>
<addaction name="action_metadata"/>
<addaction name="separator"/>
<addaction name="action_previous_page"/>
<addaction name="action_next_page"/>
<addaction name="separator"/>
<addaction name="action_bookmark"/>
<addaction name="action_reference_mode"/>
<addaction name="separator"/>
<addaction name="action_preferences"/>
<addaction name="action_full_screen"/>
<addaction name="separator"/>
<addaction name="action_print"/>
</widget>
<widget class="QToolBar" name="tool_bar2" >
<attribute name="toolBarArea" >
<widget class="QToolBar" name="tool_bar2">
<attribute name="toolBarArea">
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak" >
<attribute name="toolBarBreak">
<bool>false</bool>
</attribute>
<addaction name="action_find_next" />
<addaction name="action_find_next"/>
</widget>
<action name="action_back" >
<property name="icon" >
<iconset resource="../images.qrc" >
<action name="action_back">
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/back.svg</normaloff>:/images/back.svg</iconset>
</property>
<property name="text" >
<property name="text">
<string>Back</string>
</property>
</action>
<action name="action_forward" >
<property name="icon" >
<iconset resource="../images.qrc" >
<action name="action_forward">
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/forward.svg</normaloff>:/images/forward.svg</iconset>
</property>
<property name="text" >
<property name="text">
<string>Forward</string>
</property>
</action>
<action name="action_next_page" >
<property name="icon" >
<iconset resource="../images.qrc" >
<action name="action_next_page">
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/next.svg</normaloff>:/images/next.svg</iconset>
</property>
<property name="text" >
<property name="text">
<string>Next page</string>
</property>
</action>
<action name="action_previous_page" >
<property name="icon" >
<iconset resource="../images.qrc" >
<action name="action_previous_page">
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/previous.svg</normaloff>:/images/previous.svg</iconset>
</property>
<property name="text" >
<property name="text">
<string>Previous page</string>
</property>
</action>
<action name="action_font_size_larger" >
<property name="icon" >
<iconset resource="../images.qrc" >
<action name="action_font_size_larger">
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/font_size_larger.svg</normaloff>:/images/font_size_larger.svg</iconset>
</property>
<property name="text" >
<property name="text">
<string>Font size larger</string>
</property>
</action>
<action name="action_font_size_smaller" >
<property name="icon" >
<iconset resource="../images.qrc" >
<action name="action_font_size_smaller">
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/font_size_smaller.svg</normaloff>:/images/font_size_smaller.svg</iconset>
</property>
<property name="text" >
<property name="text">
<string>Font size smaller</string>
</property>
</action>
<action name="action_table_of_contents" >
<property name="icon" >
<iconset resource="../images.qrc" >
<action name="action_table_of_contents">
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/chapters.svg</normaloff>:/images/chapters.svg</iconset>
</property>
<property name="text" >
<property name="text">
<string>Table of Contents</string>
</property>
</action>
<action name="action_metadata" >
<property name="icon" >
<iconset resource="../images.qrc" >
<action name="action_metadata">
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/dialog_information.svg</normaloff>:/images/dialog_information.svg</iconset>
</property>
<property name="text" >
<property name="text">
<string>Metadata</string>
</property>
</action>
<action name="action_open_ebook" >
<property name="icon" >
<iconset resource="../images.qrc" >
<action name="action_open_ebook">
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/document_open.svg</normaloff>:/images/document_open.svg</iconset>
</property>
<property name="text" >
<property name="text">
<string>Open ebook</string>
</property>
</action>
<action name="action_find_next" >
<property name="icon" >
<iconset resource="../images.qrc" >
<action name="action_find_next">
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/arrow-down.svg</normaloff>:/images/arrow-down.svg</iconset>
</property>
<property name="text" >
<property name="text">
<string>Find next</string>
</property>
</action>
<action name="action_copy" >
<property name="icon" >
<iconset resource="../images.qrc" >
<action name="action_copy">
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/convert.svg</normaloff>:/images/convert.svg</iconset>
</property>
<property name="text" >
<property name="text">
<string>Copy to clipboard</string>
</property>
</action>
<action name="action_preferences" >
<property name="icon" >
<iconset resource="../images.qrc" >
<action name="action_preferences">
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/config.svg</normaloff>:/images/config.svg</iconset>
</property>
<property name="text" >
<property name="text">
<string>Preferences</string>
</property>
</action>
<action name="action_reference_mode" >
<property name="icon" >
<iconset resource="../images.qrc" >
<action name="action_reference_mode">
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/lookfeel.svg</normaloff>:/images/lookfeel.svg</iconset>
</property>
<property name="text" >
<property name="text">
<string>Reference Mode</string>
</property>
</action>
<action name="action_bookmark" >
<property name="icon" >
<iconset resource="../images.qrc" >
<action name="action_bookmark">
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/bookmarks.svg</normaloff>:/images/bookmarks.svg</iconset>
</property>
<property name="text" >
<property name="text">
<string>Bookmark</string>
</property>
</action>
<action name="action_full_screen" >
<property name="icon" >
<iconset resource="../images.qrc" >
<action name="action_full_screen">
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/page.svg</normaloff>:/images/page.svg</iconset>
</property>
<property name="text" >
<property name="text">
<string>Toggle full screen</string>
</property>
</action>
<action name="action_print" >
<property name="icon" >
<iconset resource="../images.qrc" >
<action name="action_print">
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/print.svg</normaloff>:/images/print.svg</iconset>
</property>
<property name="text" >
<property name="text">
<string>Print</string>
</property>
</action>
@ -249,7 +255,7 @@
</customwidget>
</customwidgets>
<resources>
<include location="../images.qrc" />
<include location="../images.qrc"/>
</resources>
<connections/>
</ui>