forked from openlp/openlp
Footers now
This commit is contained in:
parent
bf0dad308f
commit
50aea9128d
@ -39,6 +39,7 @@ HTMLSRC = u"""
|
|||||||
%s
|
%s
|
||||||
%s
|
%s
|
||||||
%s
|
%s
|
||||||
|
%s
|
||||||
</style>
|
</style>
|
||||||
<script language="javascript">
|
<script language="javascript">
|
||||||
var t = null;
|
var t = null;
|
||||||
@ -70,7 +71,7 @@ HTMLSRC = u"""
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="lyrics" class="lyrics"></div>
|
<div id="lyrics" class="lyrics"></div>
|
||||||
<div id="lyrics2" class="lyrics"></div>
|
<div id="footer" class="footer"></div>
|
||||||
<div id="alert"></div>
|
<div id="alert"></div>
|
||||||
<video id="video"></video>
|
<video id="video"></video>
|
||||||
%s
|
%s
|
||||||
@ -83,6 +84,7 @@ def build_html(item, screen, alert):
|
|||||||
html = HTMLSRC % (build_video(width, height),
|
html = HTMLSRC % (build_video(width, height),
|
||||||
build_image(width, height),
|
build_image(width, height),
|
||||||
build_lyrics(item, width, height),
|
build_lyrics(item, width, height),
|
||||||
|
build_footer(item, width, height),
|
||||||
build_alert(width, height, alert),
|
build_alert(width, height, alert),
|
||||||
build_image(width, height),
|
build_image(width, height),
|
||||||
build_image_src(item.bg_frame))
|
build_image_src(item.bg_frame))
|
||||||
@ -124,15 +126,7 @@ def build_image_src(image):
|
|||||||
|
|
||||||
def build_lyrics(item, width, height):
|
def build_lyrics(item, width, height):
|
||||||
lyrics = """
|
lyrics = """
|
||||||
#lyrics {
|
#lyrics {position: absolute; %s z-index:3; %s; %s; %s %s }
|
||||||
position: absolute;
|
|
||||||
%s
|
|
||||||
z-index:3;
|
|
||||||
%s;
|
|
||||||
%s;
|
|
||||||
%s
|
|
||||||
%s
|
|
||||||
}
|
|
||||||
"""
|
"""
|
||||||
theme = item.themedata
|
theme = item.themedata
|
||||||
lyrics_html = u''
|
lyrics_html = u''
|
||||||
@ -157,7 +151,7 @@ def build_lyrics(item, width, height):
|
|||||||
valign = u'vertical-align=middle;'
|
valign = u'vertical-align=middle;'
|
||||||
else:
|
else:
|
||||||
valign = u'vertical-align=bottom;'
|
valign = u'vertical-align=bottom;'
|
||||||
text = u'color:%s;%s%s' % (theme.font_main_color, align, valign)
|
text = u'color:%s; %s %s' % (theme.font_main_color, align, valign)
|
||||||
if theme.display_shadow:
|
if theme.display_shadow:
|
||||||
shadow = u'text-shadow: %spx %spx %spx %s' %\
|
shadow = u'text-shadow: %spx %spx %spx %s' %\
|
||||||
(theme.display_shadow_size, theme.display_shadow_size,
|
(theme.display_shadow_size, theme.display_shadow_size,
|
||||||
@ -171,6 +165,48 @@ def build_lyrics(item, width, height):
|
|||||||
print lyrics_html
|
print lyrics_html
|
||||||
return lyrics_html
|
return lyrics_html
|
||||||
|
|
||||||
|
def build_footer(item, width, height):
|
||||||
|
lyrics = """
|
||||||
|
#footer {position: absolute; %s z-index:3; %s; %s; %s %s }
|
||||||
|
"""
|
||||||
|
theme = item.themedata
|
||||||
|
lyrics_html = u''
|
||||||
|
position = u''
|
||||||
|
shadow = u''
|
||||||
|
outline = u''
|
||||||
|
font = u''
|
||||||
|
text = u''
|
||||||
|
if theme:
|
||||||
|
position = u' left: %spx; top: %spx; width: %spx; height: %spx; ' %\
|
||||||
|
(item.footer.x(), item.footer.y(), item.footer.width(), item.footer.height())
|
||||||
|
font = u' font-family %s; font-size: %spx;' %\
|
||||||
|
(theme.font_footer_name, theme.font_footer_proportion)
|
||||||
|
align = u''
|
||||||
|
if theme.display_horizontalAlign == 2:
|
||||||
|
align = u'align=center;'
|
||||||
|
elif theme.display_horizontalAlign == 1:
|
||||||
|
align = u'align=right;'
|
||||||
|
if theme.display_verticalAlign == 2:
|
||||||
|
valign = u'vertical-align=top;'
|
||||||
|
elif theme.display_verticalAlign == 1:
|
||||||
|
valign = u'vertical-align=middle;'
|
||||||
|
else:
|
||||||
|
valign = u'vertical-align=bottom;'
|
||||||
|
text = u'color:%s; %s %s' % (theme.font_footer_color, align, valign)
|
||||||
|
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)
|
||||||
|
if theme.display_outline:
|
||||||
|
# 1px is the blur radius
|
||||||
|
outline = u'text-outline: %spx 1px %s' %\
|
||||||
|
(theme.display_outline_size, theme.display_outline_color)
|
||||||
|
outline = u'text-shadow: -1px 0 white, 0 1px white, 1px 0 white, 0 -1px white'
|
||||||
|
lyrics_html = lyrics % (position, shadow, outline, font, text)
|
||||||
|
print lyrics_html
|
||||||
|
return lyrics_html
|
||||||
|
|
||||||
|
|
||||||
def build_alert(width, height, alert):
|
def build_alert(width, height, alert):
|
||||||
alert = """
|
alert = """
|
||||||
#alert {
|
#alert {
|
||||||
|
@ -81,6 +81,7 @@ class ServiceItem(object):
|
|||||||
self.items = []
|
self.items = []
|
||||||
self.iconic_representation = None
|
self.iconic_representation = None
|
||||||
self.raw_footer = None
|
self.raw_footer = None
|
||||||
|
self.foot_text = None
|
||||||
self.theme = None
|
self.theme = None
|
||||||
self.service_item_type = None
|
self.service_item_type = None
|
||||||
self._raw_frames = []
|
self._raw_frames = []
|
||||||
@ -147,7 +148,8 @@ class ServiceItem(object):
|
|||||||
before = time.time()
|
before = time.time()
|
||||||
formated = self.render_manager.format_slide(slide[u'raw_slide'])
|
formated = self.render_manager.format_slide(slide[u'raw_slide'])
|
||||||
for format in formated:
|
for format in formated:
|
||||||
self._display_frames.append({u'title': format,
|
self._display_frames.append(
|
||||||
|
{u'title': format.replace(u'<p>', u''),
|
||||||
u'text': format.rstrip(),
|
u'text': format.rstrip(),
|
||||||
u'verseTag': slide[u'verseTag'] })
|
u'verseTag': slide[u'verseTag'] })
|
||||||
# if len(self._display_frames) in self.cache.keys():
|
# if len(self._display_frames) in self.cache.keys():
|
||||||
@ -161,6 +163,13 @@ class ServiceItem(object):
|
|||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
log.error(u'Invalid value renderer :%s' % self.service_item_type)
|
log.error(u'Invalid value renderer :%s' % self.service_item_type)
|
||||||
|
self.foot_text = None
|
||||||
|
if self.raw_footer:
|
||||||
|
for foot in self.raw_footer:
|
||||||
|
if not self.foot_text:
|
||||||
|
self.foot_text = foot
|
||||||
|
else:
|
||||||
|
self.foot_text = u'%s<br>%s' % (self.foot_text, foot)
|
||||||
|
|
||||||
def render_individual(self, row):
|
def render_individual(self, row):
|
||||||
"""
|
"""
|
||||||
|
@ -343,6 +343,8 @@ class WebViewer(DisplayWidget):
|
|||||||
self.serviceItem = serviceItem
|
self.serviceItem = serviceItem
|
||||||
html = build_html(self.serviceItem, self.screen, None)
|
html = build_html(self.serviceItem, self.screen, None)
|
||||||
self.webView.setHtml(html)
|
self.webView.setHtml(html)
|
||||||
|
if serviceItem.footer:
|
||||||
|
self.frame.findFirstElement('div#footer').setInnerXml(serviceItem.foot_text)
|
||||||
|
|
||||||
#class DisplayWidget(QtGui.QGraphicsView):
|
#class DisplayWidget(QtGui.QGraphicsView):
|
||||||
# """
|
# """
|
||||||
|
Loading…
Reference in New Issue
Block a user