diff --git a/src/qt/res/icons/bitcoin.png b/src/qt/res/icons/bitcoin.png
index 435621af23b..0cb52af6163 100644
Binary files a/src/qt/res/icons/bitcoin.png and b/src/qt/res/icons/bitcoin.png differ
diff --git a/src/qt/res/src/bitcoin.svg b/src/qt/res/src/bitcoin.svg
index 14cf0c5e115..678f4ac6489 100644
--- a/src/qt/res/src/bitcoin.svg
+++ b/src/qt/res/src/bitcoin.svg
@@ -1,58 +1,11 @@
-
-
-
-
-
-
+
diff --git a/src/qt/splashscreen.cpp b/src/qt/splashscreen.cpp
index 2292c01d6a4..86accdd25c4 100644
--- a/src/qt/splashscreen.cpp
+++ b/src/qt/splashscreen.cpp
@@ -30,23 +30,24 @@
SplashScreen::SplashScreen(const NetworkStyle* networkStyle)
: QWidget(), curAlignment(0)
{
- // set reference point, paddings
- int paddingRight = 50;
- int paddingTop = 50;
- int titleVersionVSpace = 17;
- int titleCopyrightVSpace = 40;
float fontFactor = 1.0;
float devicePixelRatio = 1.0;
+
+ // set reference point, paddings
devicePixelRatio = static_cast(QCoreApplication::instance())->devicePixelRatio();
+ int paddingRight = 180*devicePixelRatio - 100;
+ int paddingTop = 180*devicePixelRatio + 0;
// define text to place
- QString titleText = PACKAGE_NAME;
- QString versionText = QString("Version %1").arg(QString::fromStdString(FormatFullVersion()));
- QString copyrightText = QString::fromUtf8(CopyrightHolders(strprintf("\xc2\xA9 %u-%u ", 2009, COPYRIGHT_YEAR)).c_str());
- QString titleAddText = networkStyle->getTitleAddText();
+ QString titleText = PACKAGE_NAME;
+ QString packageNameSubStr = titleText.mid(0,7);
+ QString splashText = QString("Connecting to the %1 network").arg(packageNameSubStr);
+ QString versionText = QString("%1").arg(QString::fromStdString(FormatFullVersion()));
+ QString copyrightText = QString::fromUtf8(CopyrightHolders(strprintf("\xc2\xA9 %u-%u ", 2009, COPYRIGHT_YEAR)).c_str());
+ QString titleAddText = networkStyle->getTitleAddText();
- QString font = QApplication::font().toString();
+ QString font = QApplication::font().toString();
// create a bitmap according to device pixelratio
QSize splashSize(480*devicePixelRatio,320*devicePixelRatio);
@@ -66,7 +67,8 @@ SplashScreen::SplashScreen(const NetworkStyle* networkStyle)
pixPaint.fillRect(rGradient, gradient);
// draw the bitcoin icon, expected size of PNG: 1024x1024
- QRect rectIcon(QPoint(-150,-122), QSize(430,430));
+ int const icon_side = 120;
+ QRect rectIcon(QPoint((splashSize.width() - icon_side)/2,(splashSize.height() - icon_side)/8), QSize(icon_side,icon_side));
const QSize requiredSize(1024,1024);
QPixmap icon(networkStyle->getAppIcon().pixmap(requiredSize));
@@ -76,34 +78,35 @@ SplashScreen::SplashScreen(const NetworkStyle* networkStyle)
// check font size and drawing with
pixPaint.setFont(QFont(font, 33*fontFactor));
QFontMetrics fm = pixPaint.fontMetrics();
- int titleTextWidth = GUIUtil::TextWidth(fm, titleText);
+ int titleTextWidth = GUIUtil::TextWidth(fm, splashText);
if (titleTextWidth > 176) {
- fontFactor = fontFactor * 176 / titleTextWidth;
+ fontFactor = 1.0 * (fontFactor * 176 ) / titleTextWidth;
}
- pixPaint.setFont(QFont(font, 33*fontFactor));
+ pixPaint.setFont(QFont(font, 60*fontFactor));
fm = pixPaint.fontMetrics();
- titleTextWidth = GUIUtil::TextWidth(fm, titleText);
- pixPaint.drawText(pixmap.width()/devicePixelRatio-titleTextWidth-paddingRight,paddingTop,titleText);
+ titleTextWidth = GUIUtil::TextWidth(fm, splashText);
+ pixPaint.drawText(pixmap.width()/devicePixelRatio-titleTextWidth-paddingRight, paddingTop, splashText);
- pixPaint.setFont(QFont(font, 15*fontFactor));
+ pixPaint.setFont(QFont(font, 1*fontFactor));
+
+ // draw copyright stuff
+ pixPaint.setFont(QFont(font, 1*fontFactor));
+ const int x = 10;
+ const int y = pixmap.height() - 30;
+ QRect copyrightRect(x, y, pixmap.width() - x, pixmap.height() - y);
+ pixPaint.drawText(copyrightRect, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, copyrightText);
+ int copyrightTextWidth = GUIUtil::TextWidth(fm, copyrightText);
// if the version string is too long, reduce size
fm = pixPaint.fontMetrics();
int versionTextWidth = GUIUtil::TextWidth(fm, versionText);
- if(versionTextWidth > titleTextWidth+paddingRight-10) {
- pixPaint.setFont(QFont(font, 10*fontFactor));
- titleVersionVSpace -= 5;
- }
- pixPaint.drawText(pixmap.width()/devicePixelRatio-titleTextWidth-paddingRight+2,paddingTop+titleVersionVSpace,versionText);
+ if(versionTextWidth > pixmap.width() - copyrightTextWidth) {
+ pixPaint.setFont(QFont(font, 1*fontFactor));
+ //titleVersionVSpace -= 5;
+ QRect versionRect(pixmap.width() - versionTextWidth - 5, y, pixmap.width() + versionTextWidth, pixmap.height() - y);
+ pixPaint.drawText(versionRect, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, versionText);
- // draw copyright stuff
- {
- pixPaint.setFont(QFont(font, 10*fontFactor));
- const int x = pixmap.width()/devicePixelRatio-titleTextWidth-paddingRight;
- const int y = paddingTop+titleCopyrightVSpace;
- QRect copyrightRect(x, y, pixmap.width() - x - paddingRight, pixmap.height() - y);
- pixPaint.drawText(copyrightRect, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, copyrightText);
}
// draw additional text if special network
@@ -119,7 +122,7 @@ SplashScreen::SplashScreen(const NetworkStyle* networkStyle)
pixPaint.end();
// Set window title
- setWindowTitle(titleText + " " + titleAddText);
+ setWindowTitle(titleText);
// Resize window and move to center of desktop, disallow resizing
QRect r(QPoint(), QSize(pixmap.size().width()/devicePixelRatio,pixmap.size().height()/devicePixelRatio));
@@ -176,17 +179,16 @@ static void InitMessage(SplashScreen *splash, const std::string &message)
bool invoked = QMetaObject::invokeMethod(splash, "showMessage",
Qt::QueuedConnection,
Q_ARG(QString, QString::fromStdString(message)),
- Q_ARG(int, Qt::AlignBottom|Qt::AlignHCenter),
+ Q_ARG(int, Qt::AlignBottom|Qt::AlignLeft),
Q_ARG(QColor, QColor(55,55,55)));
assert(invoked);
}
static void ShowProgress(SplashScreen *splash, const std::string &title, int nProgress, bool resume_possible)
{
- InitMessage(splash, title + std::string("\n") +
+ InitMessage(splash, title + std::string("\n") + strprintf("\n%d %d ", nProgress, "%") +
(resume_possible ? _("(press q to shutdown and continue later)").translated
- : _("press q to shutdown").translated) +
- strprintf("\n%d", nProgress) + "%");
+ : _("press q to shutdown").translated));
}
void SplashScreen::subscribeToCoreSignals()
@@ -230,9 +232,13 @@ void SplashScreen::showMessage(const QString &message, int alignment, const QCol
void SplashScreen::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
+ painter.setPen(QColor(100,100,100));
painter.drawPixmap(0, 0, pixmap);
- QRect r = rect().adjusted(5, 5, -5, -5);
- painter.setPen(curColor);
+ QFontMetrics fm = painter.fontMetrics();
+ int curMessageWidth = GUIUtil::TextWidth(fm, curMessage);
+ QRect r = rect().adjusted(0, 0, -0, -0);
+ r.moveTo((pixmap.width()/2 - curMessageWidth/2) ,-100);
+ //painter.setPen(curColor);
painter.drawText(r, curAlignment, curMessage);
}