From 64b149f0247f3d03ee413ecc8a6ea1e56d6e158a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 14 Nov 2007 21:29:02 +0000 Subject: [PATCH] Fix #294 --- src/libprs500/gui2/lrf_renderer/bookview.py | 35 +++++++++++++++++++++ src/libprs500/gui2/lrf_renderer/main.py | 10 ++++-- src/libprs500/gui2/lrf_renderer/main.ui | 9 ++++-- 3 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 src/libprs500/gui2/lrf_renderer/bookview.py diff --git a/src/libprs500/gui2/lrf_renderer/bookview.py b/src/libprs500/gui2/lrf_renderer/bookview.py new file mode 100644 index 0000000000..8b12a5a5f7 --- /dev/null +++ b/src/libprs500/gui2/lrf_renderer/bookview.py @@ -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) + \ No newline at end of file diff --git a/src/libprs500/gui2/lrf_renderer/main.py b/src/libprs500/gui2/lrf_renderer/main.py index 361203b465..6c8441d0ff 100644 --- a/src/libprs500/gui2/lrf_renderer/main.py +++ b/src/libprs500/gui2/lrf_renderer/main.py @@ -110,7 +110,6 @@ class Main(MainWindow, Ui_MainWindow): self.closed = False - def configure(self, triggered): opts = cPickle.loads(str(QSettings().value('ebook viewer options', QVariant(cPickle.dumps(self.opts))).toString())) d = Config(self, opts) @@ -165,8 +164,13 @@ class Main(MainWindow, Ui_MainWindow): def parsed(self): if not self.renderer.aborted and self.renderer.lrf is not None: - self.graphics_view.setMinimumSize(self.renderer.lrf.device_info.width+5, - self.renderer.lrf.device_info.height) + width, height = self.renderer.lrf.device_info.width, \ + 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.document_title = self.renderer.lrf.metadata.title if self.opts.profile: diff --git a/src/libprs500/gui2/lrf_renderer/main.ui b/src/libprs500/gui2/lrf_renderer/main.ui index d86ee71165..3ffc9e0eb8 100644 --- a/src/libprs500/gui2/lrf_renderer/main.ui +++ b/src/libprs500/gui2/lrf_renderer/main.ui @@ -6,7 +6,7 @@ 0 0 614 - 832 + 702 @@ -55,7 +55,7 @@ 0 - + true @@ -292,6 +292,11 @@ QLineEdit
library.h
+ + BookView + QGraphicsView +
bookview.h
+