Cura/cura/CuraSplashScreen.py
Thomas Karl Pietrowski c62ab6e937 Adding a field of the build type to the spashscreen.
For example, if the community distributes Cura in a different way, they
can set CURA_BUILDTYPE via 'cmake -DCURA_BUILDTYPE=' and whenever Cura
is launched " (PPA)" will be appended. Of course, this could be done by
appending " (PPA)" to CURA_VERSION, but in case of my Ubuntu/Debian
packaging it will only need one modification in debian/changelog to
change the version. During build (debian/rules) this version will be
read from debian/changelog.
Changing the version number across different files, is a waste of time.

Finally, we can use that field in the future to indicate debug or other
other special builds.
2016-06-04 13:55:35 +02:00

36 lines
1.4 KiB
Python

# Copyright (c) 2015 Ultimaker B.V.
# Uranium is released under the terms of the AGPLv3 or higher.
from PyQt5.QtCore import Qt, QCoreApplication
from PyQt5.QtGui import QPixmap, QColor, QFont, QFontMetrics
from PyQt5.QtWidgets import QSplashScreen
from UM.Resources import Resources
from UM.Application import Application
class CuraSplashScreen(QSplashScreen):
def __init__(self):
super().__init__()
self._scale = round(QFontMetrics(QCoreApplication.instance().font()).ascent() / 12)
splash_image = QPixmap(Resources.getPath(Resources.Images, "cura.png"))
self.setPixmap(splash_image.scaled(splash_image.size() * self._scale))
def drawContents(self, painter):
painter.save()
painter.setPen(QColor(0, 0, 0, 255))
version = Application.getInstance().getVersion().split("-")
buildtype = Application.getInstance().getBuildType()
if buildtype:
version += " (%s)" %(buildtype)
painter.setFont(QFont("Proxima Nova Rg", 20 ))
painter.drawText(0, 0, 330 * self._scale, 230 * self._scale, Qt.AlignHCenter | Qt.AlignBottom, version[0])
if len(version) > 1:
painter.setFont(QFont("Proxima Nova Rg", 12 ))
painter.drawText(0, 0, 330 * self._scale, 255 * self._scale, Qt.AlignHCenter | Qt.AlignBottom, version[1])
painter.restore()
super().drawContents(painter)