From 7f5bd854db28b27b4e4e492daf376aea6812a024 Mon Sep 17 00:00:00 2001 From: Tomas Groth Date: Wed, 24 Oct 2018 22:10:32 +0200 Subject: [PATCH] --- openlp/core/display/html/display.js | 23 ++++++++++++++++++ .../display/html/openlp-splash-screen.png | Bin 0 -> 48734 bytes openlp/core/display/window.py | 15 ++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 openlp/core/display/html/openlp-splash-screen.png diff --git a/openlp/core/display/html/display.js b/openlp/core/display/html/display.js index 848de2312..94126d4af 100644 --- a/openlp/core/display/html/display.js +++ b/openlp/core/display/html/display.js @@ -298,6 +298,29 @@ var Display = { console.debug("scrollHeight: " + $(".slides")[0].scrollHeight); return $(".slides")[0].clientHeight >= $(".slides")[0].scrollHeight; }, + /** + * Generate the OpenLP startup splashscreen + * @param {string} bg_color - The background color + * @param {string} image - Path to the splash image + */ + setStartupSplashScreen: function(bg_color, image) { + Display.clearSlides(); + var globalBackground = $("#global-background")[0]; + globalBackground.style.cssText = ""; + globalBackground.style.setProperty("background", bg_color); + var slidesDiv = $(".slides")[0]; + var section = document.createElement("section"); + section.setAttribute("id", 0); + section.setAttribute("data-background", bg_color); + section.setAttribute("style", "height: 100%; width: 100%; position: relative;"); + var img = document.createElement('img'); + img.src = image; + img.setAttribute("style", "position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto;"); + section.appendChild(img); + slidesDiv.appendChild(section); + Display._slides['0'] = 0; + Display.reinit(); + }, /** * Add a slides. If the slide exists but the HTML is different, update the slide. * @param {string} verse - The verse number, e.g. "v1" diff --git a/openlp/core/display/html/openlp-splash-screen.png b/openlp/core/display/html/openlp-splash-screen.png new file mode 100644 index 0000000000000000000000000000000000000000..09785488a219db75fd2ce3d3be6933e13ccfe706 GIT binary patch literal 48734 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 literal 0 HcmV?d00001 diff --git a/openlp/core/display/window.py b/openlp/core/display/window.py index 2a2c3926c..dcddbf270 100644 --- a/openlp/core/display/window.py +++ b/openlp/core/display/window.py @@ -30,11 +30,13 @@ import copy from PyQt5 import QtCore, QtWebChannel, QtWidgets from openlp.core.common.path import Path, path_to_str +from openlp.core.common.settings import Settings log = logging.getLogger(__name__) DISPLAY_PATH = Path(__file__).parent / 'html' / 'display.html' CHECKERBOARD_PATH = Path(__file__).parent / 'html' / 'checkerboard.png' +OPENLP_SPLASH_SCREEN_PATH = Path(__file__).parent / 'html' / 'openlp-splash-screen.png' class MediaWatcher(QtCore.QObject): @@ -128,6 +130,7 @@ class DisplayWindow(QtWidgets.QWidget): self.channel.registerObject('mediaWatcher', self.media_watcher) self.webview.page().setWebChannel(self.channel) self.is_display = False + self.scale = 1 if screen and screen.is_display: self.update_from_screen(screen) self.is_display = True @@ -142,6 +145,13 @@ class DisplayWindow(QtWidgets.QWidget): self.setGeometry(screen.display_geometry) self.screen_number = screen.number + def set_startup_screen(self): + bg_color = Settings().value('core/logo background color') + image = Settings().value('core/logo file') + if path_to_str(image).startswith(':'): + image = OPENLP_SPLASH_SCREEN_PATH + self.run_javascript('Display.setStartupSplashScreen("{bg_color}", "{image}");'.format(bg_color=bg_color, image=image)) + def set_url(self, url): """ Set the URL of the webview @@ -164,6 +174,10 @@ class DisplayWindow(QtWidgets.QWidget): """ self.run_javascript('Display.init();') self._is_initialised = True + self.set_startup_screen() + # Make sure the scale is set if it was attempted set before init + if self.scale != 1: + self.set_scale(self.scale) def run_javascript(self, script, is_sync=False): """ @@ -315,4 +329,5 @@ class DisplayWindow(QtWidgets.QWidget): """ Set the HTML scale """ + self.scale = scale self.run_javascript('Display.setScale({scale});'.format(scale=scale*100))