forked from openlp/openlp
More updates
This commit is contained in:
parent
19400843d4
commit
5989140c0d
@ -123,7 +123,7 @@ def build_image_src(theme, width, height, alert, image):
|
|||||||
|
|
||||||
def build_lyrics(theme, width, height, alert):
|
def build_lyrics(theme, width, height, alert):
|
||||||
lyrics = """
|
lyrics = """
|
||||||
.lyrics {
|
#lyrics {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0px;
|
left: 0px;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
@ -131,10 +131,14 @@ def build_lyrics(theme, width, height, alert):
|
|||||||
height: 480px;
|
height: 480px;
|
||||||
z-index:3;
|
z-index:3;
|
||||||
text-shadow: 2px 2px 2px green;
|
text-shadow: 2px 2px 2px green;
|
||||||
font-size: 40px;
|
font-size: %spx;
|
||||||
}
|
}
|
||||||
"""
|
"""
|
||||||
return lyrics
|
lyrics_html = u''
|
||||||
|
if theme:
|
||||||
|
lyrics_html = lyrics % theme.font_main_proportion
|
||||||
|
print lyrics_html
|
||||||
|
return lyrics_html
|
||||||
|
|
||||||
def build_alert(theme, width, height, alert):
|
def build_alert(theme, width, height, alert):
|
||||||
alert = """
|
alert = """
|
||||||
|
@ -98,9 +98,11 @@ class RenderManager(object):
|
|||||||
def set_override_theme(self, theme):
|
def set_override_theme(self, theme):
|
||||||
"""
|
"""
|
||||||
Set the appropriate theme depending on the theme level.
|
Set the appropriate theme depending on the theme level.
|
||||||
|
Called by the service item when building a display frame
|
||||||
|
|
||||||
``theme``
|
``theme``
|
||||||
The name of the song-level theme.
|
The name of the song-level theme. None means the service
|
||||||
|
item wants to use the given value.
|
||||||
"""
|
"""
|
||||||
log.debug(u'set override theme to %s', theme)
|
log.debug(u'set override theme to %s', theme)
|
||||||
if self.theme_level == ThemeLevel.Global:
|
if self.theme_level == ThemeLevel.Global:
|
||||||
@ -180,8 +182,9 @@ class RenderManager(object):
|
|||||||
footer.append(u'CCLI 123456')
|
footer.append(u'CCLI 123456')
|
||||||
formatted = self.renderer.format_slide(verse, False)
|
formatted = self.renderer.format_slide(verse, False)
|
||||||
#Only Render the first slide page returned
|
#Only Render the first slide page returned
|
||||||
return self.renderer.generate_frame_from_lines(formatted[0],
|
image = self.previewDisplay.preview(self.renderer.bg_frame, main_text[0])
|
||||||
footer)[u'main']
|
return image #self.renderer.generate_frame_from_lines(formatted[0],
|
||||||
|
#footer)[u'main']
|
||||||
|
|
||||||
def format_slide(self, words):
|
def format_slide(self, words):
|
||||||
"""
|
"""
|
||||||
@ -205,9 +208,10 @@ class RenderManager(object):
|
|||||||
The text for the slide footer.
|
The text for the slide footer.
|
||||||
"""
|
"""
|
||||||
log.debug(u'generate slide')
|
log.debug(u'generate slide')
|
||||||
#self.build_text_rectangle(self.themedata)
|
self.build_text_rectangle(self.themedata)
|
||||||
#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_image, main_text[0])
|
image = self.previewDisplay.preview(self.renderer.bg_frame,
|
||||||
|
main_text[0], self.themedata)
|
||||||
return image #self.renderer.generate_frame_from_lines(main_text, footer_text)
|
return image #self.renderer.generate_frame_from_lines(main_text, footer_text)
|
||||||
|
|
||||||
def calculate_default(self, screen):
|
def calculate_default(self, screen):
|
||||||
|
@ -370,7 +370,7 @@ class ServiceItem(object):
|
|||||||
if self.service_item_type == ServiceItemType.Text:
|
if self.service_item_type == ServiceItemType.Text:
|
||||||
return self.render_individual(row)
|
return self.render_individual(row)
|
||||||
else:
|
else:
|
||||||
return {u'main':self._raw_frames[row][u'image'], u'trans':None}
|
return self._raw_frames[row][u'image']
|
||||||
|
|
||||||
def get_frame_title(self, row=0):
|
def get_frame_title(self, row=0):
|
||||||
"""
|
"""
|
||||||
|
@ -70,7 +70,9 @@ class DisplayManager(QtGui.QWidget):
|
|||||||
self.parent = parent
|
self.parent = parent
|
||||||
self.screens = screens
|
self.screens = screens
|
||||||
self.audioPlayer = AudioPlayer(self)
|
self.audioPlayer = AudioPlayer(self)
|
||||||
|
# Live display
|
||||||
self.mainDisplay = WebViewer(self, screens, True)
|
self.mainDisplay = WebViewer(self, screens, True)
|
||||||
|
# Display for Preview and Theme previews
|
||||||
self.previewDisplay = WebViewer(self, screens, False)
|
self.previewDisplay = WebViewer(self, screens, False)
|
||||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||||
QtCore.SIGNAL(u'maindisplay_hide'), self.hideDisplay)
|
QtCore.SIGNAL(u'maindisplay_hide'), self.hideDisplay)
|
||||||
@ -85,6 +87,7 @@ class DisplayManager(QtGui.QWidget):
|
|||||||
|
|
||||||
def setup(self):
|
def setup(self):
|
||||||
log.debug(u'mainDisplay - setup')
|
log.debug(u'mainDisplay - setup')
|
||||||
|
# let the render manager have the preview display.
|
||||||
self.parent.RenderManager.previewDisplay = self.previewDisplay
|
self.parent.RenderManager.previewDisplay = self.previewDisplay
|
||||||
#Build the initial frame.
|
#Build the initial frame.
|
||||||
self.initialFrame = QtGui.QImage(
|
self.initialFrame = QtGui.QImage(
|
||||||
@ -213,6 +216,7 @@ class WebViewer(DisplayWidget):
|
|||||||
|
|
||||||
def __init__(self, parent, screens, live):
|
def __init__(self, parent, screens, live):
|
||||||
DisplayWidget.__init__(self, live, parent=None)
|
DisplayWidget.__init__(self, live, parent=None)
|
||||||
|
self.parent = parent
|
||||||
self.screens = screens
|
self.screens = screens
|
||||||
self.setWindowTitle(u'OpenLP Display')
|
self.setWindowTitle(u'OpenLP Display')
|
||||||
self.setWindowFlags(QtCore.Qt.FramelessWindowHint |
|
self.setWindowFlags(QtCore.Qt.FramelessWindowHint |
|
||||||
@ -251,6 +255,7 @@ class WebViewer(DisplayWidget):
|
|||||||
self.currslide = not self.currslide
|
self.currslide = not self.currslide
|
||||||
|
|
||||||
def text(self, slide):
|
def text(self, slide):
|
||||||
|
print slide
|
||||||
self.frame.findFirstElement('div#lyrics').setInnerXml(slide)
|
self.frame.findFirstElement('div#lyrics').setInnerXml(slide)
|
||||||
|
|
||||||
def alert(self):
|
def alert(self):
|
||||||
@ -291,9 +296,9 @@ class WebViewer(DisplayWidget):
|
|||||||
self.frame.setScrollBarPolicy(QtCore.Qt.Horizontal,
|
self.frame.setScrollBarPolicy(QtCore.Qt.Horizontal,
|
||||||
QtCore.Qt.ScrollBarAlwaysOff)
|
QtCore.Qt.ScrollBarAlwaysOff)
|
||||||
|
|
||||||
def preview(self, image, text):
|
def preview(self, image, text, theme):
|
||||||
self.setVisible(False)
|
self.setVisible(False)
|
||||||
html = build_html(text, self.screen, None, image)
|
html = build_html(theme, self.screen, None, image)
|
||||||
self.webView.setHtml(html)
|
self.webView.setHtml(html)
|
||||||
self.frame.findFirstElement('div#lyrics').setInnerXml(text)
|
self.frame.findFirstElement('div#lyrics').setInnerXml(text)
|
||||||
preview = QtGui.QImage(self.screen[u'size'].width(),
|
preview = QtGui.QImage(self.screen[u'size'].width(),
|
||||||
@ -309,7 +314,7 @@ class WebViewer(DisplayWidget):
|
|||||||
|
|
||||||
def newDisplay(self, image, text, video=None):
|
def newDisplay(self, image, text, video=None):
|
||||||
if not video:
|
if not video:
|
||||||
html = build_html(None, self.screen, None, image)
|
html = build_html(self.parent.renderManager.themedata, self.screen, None, image)
|
||||||
self.webView.setHtml(html)
|
self.webView.setHtml(html)
|
||||||
|
|
||||||
#class DisplayWidget(QtGui.QGraphicsView):
|
#class DisplayWidget(QtGui.QGraphicsView):
|
||||||
|
Loading…
Reference in New Issue
Block a user