Merge lp:~trb143/openlp/bugfixes into lp:openlp

Proposed by Tim Bentley
Status: Merged
Merged at revision: not available
Proposed branch: lp:~trb143/openlp/bugfixes
Merge into: lp:openlp
Diff against target: None lines
To merge this branch: bzr merge lp:~trb143/openlp/bugfixes
Reviewer Review Type Date Requested Status
Raoul Snyman Approve
Review via email: mp+11144@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Tim Bentley (trb143) wrote :

Speed up rendering in slidecontroller
Fix slide if last slide has one space only.
Problems with last merge

Revision history for this message
Raoul Snyman (raoul-snyman) :
review: Approve
lp:~trb143/openlp/bugfixes updated
519. By Tim Bentley

Performance Improvements and code fixes

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'openlp/core/lib/renderer.py'
--- openlp/core/lib/renderer.py 2009-09-02 01:44:09 +0000
+++ openlp/core/lib/renderer.py 2009-09-03 17:46:46 +0000
@@ -218,7 +218,7 @@
218 if len(page) == page_length:218 if len(page) == page_length:
219 split_pages.append(page)219 split_pages.append(page)
220 page = []220 page = []
221 if len(page) > 0:221 if len(page) > 0 and page != u' ':
222 split_pages.append(page)222 split_pages.append(page)
223 return split_pages223 return split_pages
224224
@@ -440,7 +440,7 @@
440 rightextent = x + w440 rightextent = x + w
441 # shift right from last line's rh edge441 # shift right from last line's rh edge
442 if self._theme.display_wrapStyle == 1 and linenum != 0:442 if self._theme.display_wrapStyle == 1 and linenum != 0:
443 rightextent = self._first_line_right_extent +443 rightextent = self._first_line_right_extent + \
444 self._right_margin444 self._right_margin
445 if rightextent > maxx:445 if rightextent > maxx:
446 rightextent = maxx446 rightextent = maxx
447447
=== modified file 'openlp/core/lib/rendermanager.py'
--- openlp/core/lib/rendermanager.py 2009-09-02 01:44:09 +0000
+++ openlp/core/lib/rendermanager.py 2009-09-03 17:46:46 +0000
@@ -209,7 +209,7 @@
209 self.renderer.set_frame_dest(self.width, self.height)209 self.renderer.set_frame_dest(self.width, self.height)
210 return self.renderer.generate_frame_from_lines(main_text, footer_text)210 return self.renderer.generate_frame_from_lines(main_text, footer_text)
211211
212 def resize_image(self, image):212 def resize_image(self, image, width = 0, height = 0):
213 """213 """
214 Resize an image to fit on the current screen.214 Resize an image to fit on the current screen.
215215
@@ -217,8 +217,12 @@
217 The image to resize.217 The image to resize.
218 """218 """
219 preview = QtGui.QImage(image)219 preview = QtGui.QImage(image)
220 w = self.width220 if width == 0:
221 h = self.height221 w = self.width
222 h = self.height
223 else:
224 w = width
225 h = height
222 preview = preview.scaled(w, h, QtCore.Qt.KeepAspectRatio,226 preview = preview.scaled(w, h, QtCore.Qt.KeepAspectRatio,
223 QtCore.Qt.SmoothTransformation)227 QtCore.Qt.SmoothTransformation)
224 realw = preview.width();228 realw = preview.width();
225229
=== modified file 'openlp/core/lib/serviceitem.py'
--- openlp/core/lib/serviceitem.py 2009-09-02 01:44:09 +0000
+++ openlp/core/lib/serviceitem.py 2009-09-03 17:46:46 +0000
@@ -100,7 +100,7 @@
100 self.frames = self.service_frames100 self.frames = self.service_frames
101 elif self.service_item_type == ServiceType.Image:101 elif self.service_item_type == ServiceType.Image:
102 for slide in self.service_frames:102 for slide in self.service_frames:
103 slide[u'image'] =103 slide[u'image'] = \
104 self.RenderManager.resize_image(slide[u'image'])104 self.RenderManager.resize_image(slide[u'image'])
105 self.frames = self.service_frames105 self.frames = self.service_frames
106 else:106 else:
107107
=== modified file 'openlp/core/ui/slidecontroller.py'
--- openlp/core/ui/slidecontroller.py 2009-08-31 14:04:00 +0000
+++ openlp/core/ui/slidecontroller.py 2009-09-03 04:41:30 +0000
@@ -21,7 +21,7 @@
21import os21import os
2222
23from PyQt4 import QtCore, QtGui23from PyQt4 import QtCore, QtGui
24from openlp.core.lib import OpenLPToolbar, translate, buildIcon, Receiver, ServiceType24from openlp.core.lib import OpenLPToolbar, translate, buildIcon, Receiver, ServiceType, RenderManager
2525
26class SlideList(QtGui.QTableWidget):26class SlideList(QtGui.QTableWidget):
27 """27 """
@@ -250,20 +250,21 @@
250 """250 """
251 log.debug(u'displayServiceManagerItems Start')251 log.debug(u'displayServiceManagerItems Start')
252 self.serviceitem = serviceitem252 self.serviceitem = serviceitem
253 slide_pixmap = QtGui.QPixmap.fromImage(self.serviceitem.frames[0][u'image'])253 slide_image = self.serviceitem.frames[0][u'image']
254 size = slide_image.size()
254 slide_width = 300255 slide_width = 300
255 slide_height = slide_width * slide_pixmap.height() / slide_pixmap.width()256 slide_height = slide_width * size.height() / size.width()
256 self.PreviewListWidget.clear()257 self.PreviewListWidget.clear()
257 self.PreviewListWidget.setRowCount(0)258 self.PreviewListWidget.setRowCount(0)
258 self.PreviewListWidget.setColumnWidth(0, slide_width)259 self.PreviewListWidget.setColumnWidth(0, slide_width)
259 for framenumber, frame in enumerate(self.serviceitem.frames):260 for framenumber, frame in enumerate(self.serviceitem.frames):
260 self.PreviewListWidget.setRowCount(self.PreviewListWidget.rowCount() + 1)261 self.PreviewListWidget.setRowCount(self.PreviewListWidget.rowCount() + 1)
261 pixmap = QtGui.QPixmap.fromImage(frame[u'image'])262 pixmap = self.parent.RenderManager.resize_image(frame[u'image'], slide_width, slide_height)
262 item = QtGui.QTableWidgetItem()263 item = QtGui.QTableWidgetItem()
263 label = QtGui.QLabel()264 label = QtGui.QLabel()
264 label.setMargin(8)265 label.setMargin(8)
265 label.setScaledContents(True)266 label.setScaledContents(True)
266 label.setPixmap(pixmap)267 label.setPixmap(QtGui.QPixmap.fromImage(pixmap))
267 self.PreviewListWidget.setCellWidget(framenumber, 0, label)268 self.PreviewListWidget.setCellWidget(framenumber, 0, label)
268 self.PreviewListWidget.setItem(framenumber, 0, item)269 self.PreviewListWidget.setItem(framenumber, 0, item)
269 self.PreviewListWidget.setRowHeight(framenumber, slide_height)270 self.PreviewListWidget.setRowHeight(framenumber, slide_height)