|
|
@ -15,11 +15,12 @@ |
|
|
|
|
|
|
|
|
|
|
|
#include <QApplication> |
|
|
|
#include <QApplication> |
|
|
|
#include <QPainter> |
|
|
|
#include <QPainter> |
|
|
|
|
|
|
|
#include <QDesktopWidget> |
|
|
|
|
|
|
|
|
|
|
|
SplashScreen::SplashScreen(const QPixmap &pixmap, Qt::WindowFlags f, bool isTestNet) : |
|
|
|
SplashScreen::SplashScreen(Qt::WindowFlags f, bool isTestNet) : |
|
|
|
QSplashScreen(pixmap, f) |
|
|
|
QWidget(0, f), curAlignment(0) |
|
|
|
{ |
|
|
|
{ |
|
|
|
setAutoFillBackground(true); |
|
|
|
//setAutoFillBackground(true);
|
|
|
|
|
|
|
|
|
|
|
|
// set reference point, paddings
|
|
|
|
// set reference point, paddings
|
|
|
|
int paddingRight = 50; |
|
|
|
int paddingRight = 50; |
|
|
@ -38,15 +39,14 @@ SplashScreen::SplashScreen(const QPixmap &pixmap, Qt::WindowFlags f, bool isTest |
|
|
|
QString font = "Arial"; |
|
|
|
QString font = "Arial"; |
|
|
|
|
|
|
|
|
|
|
|
// load the bitmap for writing some text over it
|
|
|
|
// load the bitmap for writing some text over it
|
|
|
|
QPixmap newPixmap; |
|
|
|
|
|
|
|
if(isTestNet) { |
|
|
|
if(isTestNet) { |
|
|
|
newPixmap = QPixmap(":/images/splash_testnet"); |
|
|
|
pixmap = QPixmap(":/images/splash_testnet"); |
|
|
|
} |
|
|
|
} |
|
|
|
else { |
|
|
|
else { |
|
|
|
newPixmap = QPixmap(":/images/splash"); |
|
|
|
pixmap = QPixmap(":/images/splash"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
QPainter pixPaint(&newPixmap); |
|
|
|
QPainter pixPaint(&pixmap); |
|
|
|
pixPaint.setPen(QColor(100,100,100)); |
|
|
|
pixPaint.setPen(QColor(100,100,100)); |
|
|
|
|
|
|
|
|
|
|
|
// check font size and drawing with
|
|
|
|
// check font size and drawing with
|
|
|
@ -61,7 +61,7 @@ SplashScreen::SplashScreen(const QPixmap &pixmap, Qt::WindowFlags f, bool isTest |
|
|
|
pixPaint.setFont(QFont(font, 33*fontFactor)); |
|
|
|
pixPaint.setFont(QFont(font, 33*fontFactor)); |
|
|
|
fm = pixPaint.fontMetrics(); |
|
|
|
fm = pixPaint.fontMetrics(); |
|
|
|
titleTextWidth = fm.width(titleText); |
|
|
|
titleTextWidth = fm.width(titleText); |
|
|
|
pixPaint.drawText(newPixmap.width()-titleTextWidth-paddingRight,paddingTop,titleText); |
|
|
|
pixPaint.drawText(pixmap.width()-titleTextWidth-paddingRight,paddingTop,titleText); |
|
|
|
|
|
|
|
|
|
|
|
pixPaint.setFont(QFont(font, 15*fontFactor)); |
|
|
|
pixPaint.setFont(QFont(font, 15*fontFactor)); |
|
|
|
|
|
|
|
|
|
|
@ -72,11 +72,11 @@ SplashScreen::SplashScreen(const QPixmap &pixmap, Qt::WindowFlags f, bool isTest |
|
|
|
pixPaint.setFont(QFont(font, 10*fontFactor)); |
|
|
|
pixPaint.setFont(QFont(font, 10*fontFactor)); |
|
|
|
titleVersionVSpace -= 5; |
|
|
|
titleVersionVSpace -= 5; |
|
|
|
} |
|
|
|
} |
|
|
|
pixPaint.drawText(newPixmap.width()-titleTextWidth-paddingRight+2,paddingTop+titleVersionVSpace,versionText); |
|
|
|
pixPaint.drawText(pixmap.width()-titleTextWidth-paddingRight+2,paddingTop+titleVersionVSpace,versionText); |
|
|
|
|
|
|
|
|
|
|
|
// draw copyright stuff
|
|
|
|
// draw copyright stuff
|
|
|
|
pixPaint.setFont(QFont(font, 10*fontFactor)); |
|
|
|
pixPaint.setFont(QFont(font, 10*fontFactor)); |
|
|
|
pixPaint.drawText(newPixmap.width()-titleTextWidth-paddingRight,paddingTop+titleCopyrightVSpace,copyrightText); |
|
|
|
pixPaint.drawText(pixmap.width()-titleTextWidth-paddingRight,paddingTop+titleCopyrightVSpace,copyrightText); |
|
|
|
|
|
|
|
|
|
|
|
// draw testnet string if testnet is on
|
|
|
|
// draw testnet string if testnet is on
|
|
|
|
if(isTestNet) { |
|
|
|
if(isTestNet) { |
|
|
@ -85,12 +85,22 @@ SplashScreen::SplashScreen(const QPixmap &pixmap, Qt::WindowFlags f, bool isTest |
|
|
|
pixPaint.setFont(boldFont); |
|
|
|
pixPaint.setFont(boldFont); |
|
|
|
fm = pixPaint.fontMetrics(); |
|
|
|
fm = pixPaint.fontMetrics(); |
|
|
|
int testnetAddTextWidth = fm.width(testnetAddText); |
|
|
|
int testnetAddTextWidth = fm.width(testnetAddText); |
|
|
|
pixPaint.drawText(newPixmap.width()-testnetAddTextWidth-10,15,testnetAddText); |
|
|
|
pixPaint.drawText(pixmap.width()-testnetAddTextWidth-10,15,testnetAddText); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
pixPaint.end(); |
|
|
|
pixPaint.end(); |
|
|
|
|
|
|
|
|
|
|
|
this->setPixmap(newPixmap); |
|
|
|
// Set window title
|
|
|
|
|
|
|
|
if(isTestNet) |
|
|
|
|
|
|
|
setWindowTitle(titleText + " " + testnetAddText); |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
setWindowTitle(titleText); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Resize window and move to center of desktop, disallow resizing
|
|
|
|
|
|
|
|
QRect r(QPoint(), pixmap.size()); |
|
|
|
|
|
|
|
resize(r.size()); |
|
|
|
|
|
|
|
setFixedSize(r.size()); |
|
|
|
|
|
|
|
move(QApplication::desktop()->screenGeometry().center() - r.center()); |
|
|
|
|
|
|
|
|
|
|
|
subscribeToCoreSignals(); |
|
|
|
subscribeToCoreSignals(); |
|
|
|
} |
|
|
|
} |
|
|
@ -102,7 +112,8 @@ SplashScreen::~SplashScreen() |
|
|
|
|
|
|
|
|
|
|
|
void SplashScreen::slotFinish(QWidget *mainWin) |
|
|
|
void SplashScreen::slotFinish(QWidget *mainWin) |
|
|
|
{ |
|
|
|
{ |
|
|
|
finish(mainWin); |
|
|
|
hide(); |
|
|
|
|
|
|
|
deleteLater(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static void InitMessage(SplashScreen *splash, const std::string &message) |
|
|
|
static void InitMessage(SplashScreen *splash, const std::string &message) |
|
|
@ -146,3 +157,21 @@ void SplashScreen::unsubscribeFromCoreSignals() |
|
|
|
pwalletMain->ShowProgress.disconnect(boost::bind(ShowProgress, this, _1, _2)); |
|
|
|
pwalletMain->ShowProgress.disconnect(boost::bind(ShowProgress, this, _1, _2)); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SplashScreen::showMessage(const QString &message, int alignment, const QColor &color) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
curMessage = message; |
|
|
|
|
|
|
|
curAlignment = alignment; |
|
|
|
|
|
|
|
curColor = color; |
|
|
|
|
|
|
|
update(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SplashScreen::paintEvent(QPaintEvent *event) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
QPainter painter(this); |
|
|
|
|
|
|
|
painter.drawPixmap(0, 0, pixmap); |
|
|
|
|
|
|
|
QRect r = rect().adjusted(5, 5, -5, -5); |
|
|
|
|
|
|
|
painter.setPen(curColor); |
|
|
|
|
|
|
|
painter.drawText(r, curAlignment, curMessage); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|