From 93bd032cd92b8bbf2d54bbe0937f9951d2be5e13 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 1 Jul 2013 08:47:20 +0200 Subject: [PATCH] html_builder clean up --- openlp/core/lib/htmlbuilder.py | 74 +++------------------------------- openlp/core/ui/maindisplay.py | 2 - 2 files changed, 5 insertions(+), 71 deletions(-) diff --git a/openlp/core/lib/htmlbuilder.py b/openlp/core/lib/htmlbuilder.py index d4e22b0dd..dbfb8537d 100644 --- a/openlp/core/lib/htmlbuilder.py +++ b/openlp/core/lib/htmlbuilder.py @@ -114,12 +114,6 @@ sup { document.getElementById('black').style.display = black; document.getElementById('lyricsmain').style.visibility = lyrics; document.getElementById('image').style.visibility = lyrics; - outline = document.getElementById('lyricsoutline') - if(outline != null) - outline.style.visibility = lyrics; - shadow = document.getElementById('lyricsshadow') - if(shadow != null) - shadow.style.visibility = lyrics; document.getElementById('footer').style.visibility = lyrics; } @@ -138,9 +132,6 @@ sup { */ var txt = document.getElementById('lyricsmain'); if(window.getComputedStyle(txt).textAlign == 'justify'){ - var outline = document.getElementById('lyricsoutline'); - if(outline != null) - txt = outline; if(window.getComputedStyle(txt).webkitTextStrokeWidth != '0px'){ new_text = new_text.replace(/(\s| )+(?![^<]*>)/g, function(match) { @@ -150,8 +141,6 @@ sup { } } text_fade('lyricsmain', new_text); - text_fade('lyricsoutline', new_text); - text_fade('lyricsshadow', new_text.replace(match, '')); } function text_fade(id, new_text){ @@ -190,7 +179,7 @@ sup { %s -%s +
@@ -251,8 +240,7 @@ def build_html(item, screen, is_live, background, image=None, plugins=None): u'true' if theme and theme.display_slide_transition and is_live else u'false', js_additions, bgimage_src, image_src, - html_additions, - build_lyrics_html(item, webkit_ver) + html_additions ) return html @@ -328,40 +316,17 @@ def build_lyrics_css(item, webkit_ver): %s } .lyricsmain { -%s -} -.lyricsoutline { -%s -} -.lyricsshadow { -%s + %s } """ theme = item.themedata lyricstable = u'' lyrics = u'' lyricsmain = u'' - outline = u'' - shadow = u'' if theme and item.main: lyricstable = u'left: %spx; top: %spx;' % (item.main.x(), item.main.y()) lyrics = build_lyrics_format_css(theme, item.main.width(), item.main.height()) - # For performance reasons we want to show as few DIV's as possible, especially when animating/transitions. - # However some bugs in older versions of qtwebkit mean we need to perform workarounds and add extra divs. Only - # do these when needed. - # - # Before 533.3 the webkit-text-fill colour wasn't displayed, only the stroke (outline) color. So put stroke - # layer underneath the main text. - # - # Up to 534.3 the webkit-text-stroke was sometimes out of alignment with the fill, or normal text. - # letter-spacing=1 is workaround https://bugs.webkit.org/show_bug.cgi?id=44403 - # - # Up to 534.3 the text-shadow didn't get displayed when webkit-text-stroke was used. So use an offset text - # layer underneath. https://bugs.webkit.org/show_bug.cgi?id=19728 - if webkit_ver >= 533.3: - lyricsmain += build_lyrics_outline_css(theme) - else: - outline = build_lyrics_outline_css(theme) + lyricsmain += build_lyrics_outline_css(theme) if theme.font_main_shadow: if theme.font_main_outline and webkit_ver <= 534.3: shadow = u'padding-left: %spx; padding-top: %spx;' % \ @@ -371,7 +336,7 @@ def build_lyrics_css(item, webkit_ver): else: lyricsmain += u' text-shadow: %s %spx %spx;' % \ (theme.font_main_shadow_color, theme.font_main_shadow_size, theme.font_main_shadow_size) - lyrics_css = style % (lyricstable, lyrics, lyricsmain, outline, shadow) + lyrics_css = style % (lyricstable, lyrics, lyricsmain) return lyrics_css @@ -431,9 +396,6 @@ def build_lyrics_format_css(theme, width, height): 'padding: 0; padding-bottom: %s; padding-left: %spx; width: %spx; height: %spx; ' % \ (justify, align, valign, theme.font_main_name, theme.font_main_size, theme.font_main_color, 100 + int(theme.font_main_line_adjustment), padding_bottom, left_margin, width, height) - if theme.font_main_outline: - if webkit_version() <= 534.3: - lyrics += u' letter-spacing: 1px;' if theme.font_main_italics: lyrics += u' font-style:italic; ' if theme.font_main_bold: @@ -441,32 +403,6 @@ def build_lyrics_format_css(theme, width, height): return lyrics -def build_lyrics_html(item, webkitvers): - """ - Build the HTML required to show the lyrics - - ``item`` - Service Item containing theme and location information - - ``webkitvers`` - The version of qtwebkit we're using - """ - # Bugs in some versions of QtWebKit mean we sometimes need additional divs for outline and shadow, since the CSS - # doesn't work. To support vertical alignment middle and bottom, nested div's using display:table/display:table-cell - # are required for each lyric block. - lyrics = u'' - theme = item.themedata - if webkitvers <= 534.3 and theme and theme.font_main_outline: - lyrics += u'
' - if webkitvers < 533.3: - lyrics += u'
' - lyrics += u'
' - return lyrics - - def build_footer_css(item, height): """ Build the display of the item footer diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 7069cb9b7..91cd801e2 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -242,8 +242,6 @@ class MainDisplay(Display): # Windows if there are many items in the service to re-render. # Setting the div elements direct seems to solve the issue self.frame.findFirstElement("#lyricsmain").setInnerXml(slide) - self.frame.findFirstElement("#lyricsoutline").setInnerXml(slide) - self.frame.findFirstElement("#lyricsshadow").setInnerXml(slide) def alert(self, text, location): """