diff --git a/openlp/core/lib/renderer.py b/openlp/core/lib/renderer.py
index 0cb92ad39..42420790b 100644
--- a/openlp/core/lib/renderer.py
+++ b/openlp/core/lib/renderer.py
@@ -90,6 +90,18 @@ class Renderer(object):
self._rect = rect_main
self._rect_footer = rect_footer
+ self.web = QtWebKit.QWebView()
+ self.web.resize(self._rect.width(), self._rect.height())
+ self.web.setVisible(False)
+ self.web_frame = self.web.page().mainFrame()
+ # Adjust width and height to account for shadow. outline done in css
+ self.page_width = self._rect.width() - int(self._theme.display_shadow_size)
+ self.page_height = self._rect.height() - int(self._theme.display_shadow_size)
+ self.page_shell = u'
' \
+ u'' % \
+ (build_lyrics_format_css(self._theme, self.page_width, self.page_height),
+ build_lyrics_outline_css(self._theme))
+
def set_frame_dest(self, frame_width, frame_height):
"""
Set the size of the slide.
@@ -139,17 +151,6 @@ class Renderer(object):
lines = verse.split(u'\n')
for line in lines:
text.append(line)
- web = QtWebKit.QWebView()
- web.resize(self._rect.width(), self._rect.height())
- web.setVisible(False)
- frame = web.page().mainFrame()
- # Adjust width and height to account for shadow. outline done in css
- width = self._rect.width() - int(self._theme.display_shadow_size)
- height = self._rect.height() - int(self._theme.display_shadow_size)
- shell = u'' \
- u'
' % \
- (build_lyrics_format_css(self._theme, width, height),
- build_lyrics_outline_css(self._theme))
formatted = []
html_text = u''
styled_text = u''
@@ -157,11 +158,11 @@ class Renderer(object):
for line in text:
styled_line = expand_tags(line) + line_end
styled_text += styled_line
- html = shell + styled_text + u'
'
- web.setHtml(html)
+ html = self.page_shell + styled_text + u'
'
+ self.web.setHtml(html)
# Text too long so go to next page
- text_height = int(frame.evaluateJavaScript(js_height).toString())
- if text_height > height:
+ text_height = int(self.web_frame.evaluateJavaScript(js_height).toString())
+ if text_height > self.page_height:
formatted.append(html_text)
html_text = u''
styled_text = styled_line