From d09f3492dbb9f9b99fc43cb02b51347ba0752596 Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Tue, 10 Dec 2019 15:59:57 +0100 Subject: [PATCH] Add enterprise splash screen. Added it as a png, which might be a bit overkill but it could also could be hard getting strokes / shadows exactly right otherwise. Also Allows for more visual distinction of the background later CURA-7011 --- cura/UI/CuraSplashScreen.py | 18 +++++++++++------- resources/images/cura_enterprise.png | Bin 0 -> 28000 bytes 2 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 resources/images/cura_enterprise.png diff --git a/cura/UI/CuraSplashScreen.py b/cura/UI/CuraSplashScreen.py index 05231c106d..c979553ca1 100644 --- a/cura/UI/CuraSplashScreen.py +++ b/cura/UI/CuraSplashScreen.py @@ -7,14 +7,21 @@ from PyQt5.QtWidgets import QSplashScreen from UM.Resources import Resources from UM.Application import Application +from cura import ApplicationMetadata class CuraSplashScreen(QSplashScreen): def __init__(self): super().__init__() self._scale = 0.7 + self._version_y_offset = 0 # when extra visual elements are in the background image, move version text down + + if ApplicationMetadata.IsEnterpriseVersion: + splash_image = QPixmap(Resources.getPath(Resources.Images, "cura_enterprise.png")) + self._version_y_offset = 32 + else: + splash_image = QPixmap(Resources.getPath(Resources.Images, "cura.png")) - splash_image = QPixmap(Resources.getPath(Resources.Images, "cura.png")) self.setPixmap(splash_image) self._current_message = "" @@ -52,20 +59,17 @@ class CuraSplashScreen(QSplashScreen): painter.setRenderHint(QPainter.Antialiasing, True) version = Application.getInstance().getVersion().split("-") - buildtype = Application.getInstance().getBuildType() - if buildtype: - version[0] += " (%s)" % buildtype # Draw version text font = QFont() # Using system-default font here - font.setPixelSize(37) + font.setPixelSize(18) painter.setFont(font) - painter.drawText(60, 66, 330 * self._scale, 230 * self._scale, Qt.AlignLeft | Qt.AlignTop, version[0]) + painter.drawText(60, 66 + self._version_y_offset, 330 * self._scale, 230 * self._scale, Qt.AlignLeft | Qt.AlignTop, version[0]) if len(version) > 1: font.setPixelSize(16) painter.setFont(font) painter.setPen(QColor(200, 200, 200, 255)) - painter.drawText(247, 105, 330 * self._scale, 255 * self._scale, Qt.AlignLeft | Qt.AlignTop, version[1]) + painter.drawText(247, 105 + self._version_y_offset, 330 * self._scale, 255 * self._scale, Qt.AlignLeft | Qt.AlignTop, version[1]) painter.setPen(QColor(255, 255, 255, 255)) # Draw the loading image diff --git a/resources/images/cura_enterprise.png b/resources/images/cura_enterprise.png new file mode 100644 index 0000000000000000000000000000000000000000..0b24223a0badcc7a758da013e26cd27f120c15e7 GIT binary patch literal 28000 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