This commit is contained in:
Kovid Goyal 2007-11-14 21:29:02 +00:00
parent 79fc36113d
commit 64b149f024
3 changed files with 49 additions and 5 deletions

View File

@ -0,0 +1,35 @@
## Copyright (C) 2007 Kovid Goyal kovid@kovidgoyal.net
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License along
## with this program; if not, write to the Free Software Foundation, Inc.,
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
from PyQt4.QtGui import QGraphicsView
from PyQt4.QtCore import QSize
class BookView(QGraphicsView):
MINIMUM_SIZE = QSize(400, 500)
def __init__(self, *args):
QGraphicsView.__init__(self, *args)
self.preferred_size = self.MINIMUM_SIZE
def minimumSizeHint(self):
return self.MINIMUM_SIZE
def sizeHint(self):
return self.preferred_size
def resize_for(self, width, height):
self.preferred_size = QSize(width, height)

View File

@ -110,7 +110,6 @@ class Main(MainWindow, Ui_MainWindow):
self.closed = False self.closed = False
def configure(self, triggered): def configure(self, triggered):
opts = cPickle.loads(str(QSettings().value('ebook viewer options', QVariant(cPickle.dumps(self.opts))).toString())) opts = cPickle.loads(str(QSettings().value('ebook viewer options', QVariant(cPickle.dumps(self.opts))).toString()))
d = Config(self, opts) d = Config(self, opts)
@ -165,8 +164,13 @@ class Main(MainWindow, Ui_MainWindow):
def parsed(self): def parsed(self):
if not self.renderer.aborted and self.renderer.lrf is not None: if not self.renderer.aborted and self.renderer.lrf is not None:
self.graphics_view.setMinimumSize(self.renderer.lrf.device_info.width+5, width, height = self.renderer.lrf.device_info.width, \
self.renderer.lrf.device_info.height) self.renderer.lrf.device_info.height
self.graphics_view.resize_for(width, height)
desktop = QCoreApplication.instance().desktop()
screen_height = desktop.availableGeometry().height()
height = min(screen_height, height+50)
self.resize(self.size().width(), height)
self.setWindowTitle(self.renderer.lrf.metadata.title + ' - ' + __appname__) self.setWindowTitle(self.renderer.lrf.metadata.title + ' - ' + __appname__)
self.document_title = self.renderer.lrf.metadata.title self.document_title = self.renderer.lrf.metadata.title
if self.opts.profile: if self.opts.profile:

View File

@ -6,7 +6,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>614</width> <width>614</width>
<height>832</height> <height>702</height>
</rect> </rect>
</property> </property>
<property name="sizePolicy" > <property name="sizePolicy" >
@ -55,7 +55,7 @@
<number>0</number> <number>0</number>
</property> </property>
<item row="0" column="0" > <item row="0" column="0" >
<widget class="QGraphicsView" name="graphics_view" > <widget class="BookView" name="graphics_view" >
<property name="mouseTracking" > <property name="mouseTracking" >
<bool>true</bool> <bool>true</bool>
</property> </property>
@ -292,6 +292,11 @@
<extends>QLineEdit</extends> <extends>QLineEdit</extends>
<header>library.h</header> <header>library.h</header>
</customwidget> </customwidget>
<customwidget>
<class>BookView</class>
<extends>QGraphicsView</extends>
<header>bookview.h</header>
</customwidget>
</customwidgets> </customwidgets>
<resources> <resources>
<include location="../images.qrc" /> <include location="../images.qrc" />