forked from openlp/openlp
Output now on main screen
This commit is contained in:
parent
4d69120225
commit
166fabbd5f
@ -86,6 +86,7 @@ def build_html(theme, screen, alert, image):
|
|||||||
build_alert(theme, width, height, alert),
|
build_alert(theme, width, height, alert),
|
||||||
build_image(theme, width, height, alert),
|
build_image(theme, width, height, alert),
|
||||||
build_image_src(theme, width, height, alert, image))
|
build_image_src(theme, width, height, alert, image))
|
||||||
|
print html
|
||||||
return html
|
return html
|
||||||
|
|
||||||
def build_video(theme, width, height, alert):
|
def build_video(theme, width, height, alert):
|
||||||
@ -119,7 +120,7 @@ def build_image_src(theme, width, height, alert, image):
|
|||||||
image_src = """
|
image_src = """
|
||||||
<img src="data:image/png;base64,%s">";
|
<img src="data:image/png;base64,%s">";
|
||||||
"""
|
"""
|
||||||
return str(image_src % image_to_byte(image))
|
return image_src % image_to_byte(image)
|
||||||
|
|
||||||
def build_lyrics(theme, width, height, alert):
|
def build_lyrics(theme, width, height, alert):
|
||||||
lyrics = """
|
lyrics = """
|
||||||
@ -130,13 +131,18 @@ def build_lyrics(theme, width, height, alert):
|
|||||||
width: 640px;
|
width: 640px;
|
||||||
height: 480px;
|
height: 480px;
|
||||||
z-index:3;
|
z-index:3;
|
||||||
text-shadow: 2px 2px 2px green;
|
%s;
|
||||||
|
font-family %s;
|
||||||
font-size: %spx;
|
font-size: %spx;
|
||||||
}
|
}
|
||||||
"""
|
"""
|
||||||
lyrics_html = u''
|
lyrics_html = u''
|
||||||
|
shadow = u''
|
||||||
|
outline = u''
|
||||||
if theme:
|
if theme:
|
||||||
lyrics_html = lyrics % theme.font_main_proportion
|
if theme.display_shadow:
|
||||||
|
shadow = u'text-shadow: %spx %spx %spx %s' % (theme.display_shadow_size, theme.display_shadow_size, theme.display_shadow_size, theme.display_shadow_color)
|
||||||
|
lyrics_html = lyrics % (shadow,theme. font_main_name, theme.font_main_proportion)
|
||||||
print lyrics_html
|
print lyrics_html
|
||||||
return lyrics_html
|
return lyrics_html
|
||||||
|
|
||||||
|
@ -181,8 +181,7 @@ class Renderer(object):
|
|||||||
old_html_text = temp_text
|
old_html_text = temp_text
|
||||||
page.append(shell % old_html_text)
|
page.append(shell % old_html_text)
|
||||||
formatted.append(page)
|
formatted.append(page)
|
||||||
print "ft", formatted
|
|
||||||
print "st", split_text
|
|
||||||
log.debug(u'format_slide - End')
|
log.debug(u'format_slide - End')
|
||||||
#return split_text
|
#return split_text
|
||||||
return formatted
|
return formatted
|
||||||
|
@ -129,6 +129,7 @@ class RenderManager(object):
|
|||||||
self.calculate_default(self.screens.current[u'size'])
|
self.calculate_default(self.screens.current[u'size'])
|
||||||
self.renderer.set_theme(self.themedata)
|
self.renderer.set_theme(self.themedata)
|
||||||
self.build_text_rectangle(self.themedata)
|
self.build_text_rectangle(self.themedata)
|
||||||
|
return self.renderer.bg_frame
|
||||||
|
|
||||||
def build_text_rectangle(self, theme):
|
def build_text_rectangle(self, theme):
|
||||||
"""
|
"""
|
||||||
@ -212,7 +213,7 @@ class RenderManager(object):
|
|||||||
self.renderer.set_frame_dest(self.width, self.height)
|
self.renderer.set_frame_dest(self.width, self.height)
|
||||||
image = self.previewDisplay.preview(self.renderer.bg_frame,
|
image = self.previewDisplay.preview(self.renderer.bg_frame,
|
||||||
main_text[0], self.themedata)
|
main_text[0], self.themedata)
|
||||||
return image #self.renderer.generate_frame_from_lines(main_text, footer_text)
|
return image
|
||||||
|
|
||||||
def calculate_default(self, screen):
|
def calculate_default(self, screen):
|
||||||
"""
|
"""
|
||||||
|
@ -167,10 +167,11 @@ class ServiceItem(object):
|
|||||||
has generated by the render method above.
|
has generated by the render method above.
|
||||||
"""
|
"""
|
||||||
log.debug(u'render individual')
|
log.debug(u'render individual')
|
||||||
|
changed = False
|
||||||
if self.theme is None:
|
if self.theme is None:
|
||||||
self.render_manager.set_override_theme(None)
|
bg_image = self.render_manager.set_override_theme(None)
|
||||||
else:
|
else:
|
||||||
self.render_manager.set_override_theme(self.theme)
|
bg_image = self.render_manager.set_override_theme(self.theme)
|
||||||
raw_html = self._display_frames[row][u'text'].split(u'\n')
|
raw_html = self._display_frames[row][u'text'].split(u'\n')
|
||||||
if self.cache.get(row):
|
if self.cache.get(row):
|
||||||
frame = self.cache[row]
|
frame = self.cache[row]
|
||||||
@ -181,7 +182,7 @@ class ServiceItem(object):
|
|||||||
else:
|
else:
|
||||||
frame = self.render_manager.generate_slide(raw_html, u'')
|
frame = self.render_manager.generate_slide(raw_html, u'')
|
||||||
self.cache[row] = frame
|
self.cache[row] = frame
|
||||||
return frame, raw_html[0]
|
return bg_image, frame, raw_html[0]
|
||||||
|
|
||||||
def add_from_image(self, path, title, image):
|
def add_from_image(self, path, title, image):
|
||||||
"""
|
"""
|
||||||
|
@ -104,7 +104,7 @@ class DisplayManager(QtGui.QWidget):
|
|||||||
splash_image)
|
splash_image)
|
||||||
self.mainDisplay.setup()
|
self.mainDisplay.setup()
|
||||||
self.previewDisplay.setup()
|
self.previewDisplay.setup()
|
||||||
self.mainDisplay.newDisplay(self.initialFrame, None, None)
|
self.mainDisplay.buildHtml(self.initialFrame)
|
||||||
self.mainDisplay.show()
|
self.mainDisplay.show()
|
||||||
|
|
||||||
def hideDisplay(self, message):
|
def hideDisplay(self, message):
|
||||||
@ -131,6 +131,18 @@ class DisplayManager(QtGui.QWidget):
|
|||||||
"""
|
"""
|
||||||
self.mainDisplay.addImageWithText(frame)
|
self.mainDisplay.addImageWithText(frame)
|
||||||
|
|
||||||
|
def buildHtml(self, image=None):
|
||||||
|
"""
|
||||||
|
Handles the addition of a background Image to the displays
|
||||||
|
"""
|
||||||
|
self.mainDisplay.buildHtml(image)
|
||||||
|
|
||||||
|
def text(self, text):
|
||||||
|
"""
|
||||||
|
Handles the addition of a background Image to the displays
|
||||||
|
"""
|
||||||
|
self.mainDisplay.text(text)
|
||||||
|
|
||||||
def displayImage(self, frame):
|
def displayImage(self, frame):
|
||||||
"""
|
"""
|
||||||
Handles the addition of a background Image to the displays
|
Handles the addition of a background Image to the displays
|
||||||
@ -312,11 +324,18 @@ class WebViewer(DisplayWidget):
|
|||||||
preview.save("temp.png", "png")
|
preview.save("temp.png", "png")
|
||||||
return preview
|
return preview
|
||||||
|
|
||||||
def newDisplay(self, image, text, video=None):
|
def initialDisplay(self, image, video=False):
|
||||||
if not video:
|
if not video:
|
||||||
html = build_html(self.parent.renderManager.themedata, self.screen, None, image)
|
html = build_html(self.parent.renderManager.themedata, self.screen, None, image)
|
||||||
self.webView.setHtml(html)
|
self.webView.setHtml(html)
|
||||||
|
|
||||||
|
def buildHtml(self, image=None):
|
||||||
|
if not image:
|
||||||
|
html = build_html(self.parent.renderManager.themedata, self.screen, None, self.parent.renderManager.renderer.bg_frame)
|
||||||
|
else:
|
||||||
|
html = build_html(self.parent.renderManager.themedata, self.screen, None, image)
|
||||||
|
self.webView.setHtml(html)
|
||||||
|
|
||||||
#class DisplayWidget(QtGui.QGraphicsView):
|
#class DisplayWidget(QtGui.QGraphicsView):
|
||||||
# """
|
# """
|
||||||
# Customised version of QTableWidget which can respond to keyboard
|
# Customised version of QTableWidget which can respond to keyboard
|
||||||
|
@ -590,6 +590,7 @@ class SlideController(QtGui.QWidget):
|
|||||||
else:
|
else:
|
||||||
self.PreviewListWidget.selectRow(slideno)
|
self.PreviewListWidget.selectRow(slideno)
|
||||||
self.enableToolBar(serviceItem)
|
self.enableToolBar(serviceItem)
|
||||||
|
#Reset the display html
|
||||||
self.onSlideSelected()
|
self.onSlideSelected()
|
||||||
self.PreviewListWidget.setFocus()
|
self.PreviewListWidget.setFocus()
|
||||||
Receiver.send_message(u'slidecontroller_%s_started' % self.typePrefix,
|
Receiver.send_message(u'slidecontroller_%s_started' % self.typePrefix,
|
||||||
@ -769,7 +770,7 @@ class SlideController(QtGui.QWidget):
|
|||||||
self.updatePreview()
|
self.updatePreview()
|
||||||
else:
|
else:
|
||||||
before = time.time()
|
before = time.time()
|
||||||
frame, raw_html = self.serviceItem.get_rendered_frame(row)
|
changed, frame, raw_html = self.serviceItem.get_rendered_frame(row)
|
||||||
if isinstance(frame, QtGui.QImage):
|
if isinstance(frame, QtGui.QImage):
|
||||||
self.SlidePreview.setPixmap(QtGui.QPixmap.fromImage(frame))
|
self.SlidePreview.setPixmap(QtGui.QPixmap.fromImage(frame))
|
||||||
else:
|
else:
|
||||||
@ -778,7 +779,8 @@ class SlideController(QtGui.QWidget):
|
|||||||
15, u'Slide Rendering took %4s' % (time.time() - before))
|
15, u'Slide Rendering took %4s' % (time.time() - before))
|
||||||
if self.isLive:
|
if self.isLive:
|
||||||
if self.serviceItem.is_text():
|
if self.serviceItem.is_text():
|
||||||
self.mainDisplay.text(raw_html)
|
self.displayManager.buildHtml(changed)
|
||||||
|
self.displayManager.text(raw_html)
|
||||||
else:
|
else:
|
||||||
self.displayManager.displayImage(frame)
|
self.displayManager.displayImage(frame)
|
||||||
self.selectedRow = row
|
self.selectedRow = row
|
||||||
|
Loading…
Reference in New Issue
Block a user