20 #include <QApplication> 21 #include <QCloseEvent> 22 #include <QDesktopWidget> 26 QWidget(0,
f), curAlignment(0)
30 setAttribute(Qt::WA_TranslucentBackground);
31 setStyleSheet(
"background:transparent;");
34 setWindowFlags(Qt::FramelessWindowHint);
39 int titleVersionVSpace = 17;
40 int titleCopyrightVSpace = 32;
42 float fontFactor = 1.0;
45 QString titleText = tr(
"Dash Core");
46 QString versionText = QString(tr(
"Version %1")).arg(QString::fromStdString(
FormatFullVersion()));
47 QString copyrightTextBtc = QChar(0xA9)+QString(
" 2009-%1 ").arg(
COPYRIGHT_YEAR) + QString(tr(
"The Bitcoin Core developers"));
48 QString copyrightTextDash = QChar(0xA9)+QString(
" 2014-%1 ").arg(
COPYRIGHT_YEAR) + QString(tr(
"The Dash Core developers"));
57 QString font = QApplication::font().toString();
60 pixmap = QPixmap(splashScreenPath);
62 QPainter pixPaint(&
pixmap);
63 pixPaint.setPen(QColor(100,100,100));
66 pixPaint.setFont(QFont(font, 28*fontFactor));
67 QFontMetrics fm = pixPaint.fontMetrics();
68 int titleTextWidth = fm.width(titleText);
69 if(titleTextWidth > 160) {
74 pixPaint.setFont(QFont(font, 28*fontFactor));
75 fm = pixPaint.fontMetrics();
76 titleTextWidth = fm.width(titleText);
77 pixPaint.drawText(paddingLeft,paddingTop,titleText);
79 pixPaint.setFont(QFont(font, 15*fontFactor));
80 pixPaint.drawText(paddingLeft,paddingTop+titleVersionVSpace,versionText);
83 pixPaint.setFont(QFont(font, 10*fontFactor));
84 pixPaint.drawText(paddingLeft,paddingTop+titleCopyrightVSpace,copyrightTextBtc);
85 pixPaint.drawText(paddingLeft,paddingTop+titleCopyrightVSpace+12,copyrightTextDash);
89 QFont boldFont = QFont(font, 10*fontFactor);
90 boldFont.setWeight(QFont::Bold);
91 pixPaint.setFont(boldFont);
92 fm = pixPaint.fontMetrics();
100 QRect r(QPoint(),
pixmap.size());
102 setFixedSize(r.size());
103 move(QApplication::desktop()->screenGeometry().center() - r.center());
127 QMetaObject::invokeMethod(splash,
"showMessage",
128 Qt::QueuedConnection,
129 Q_ARG(QString, QString::fromStdString(message)),
130 Q_ARG(
int, Qt::AlignBottom|Qt::AlignHCenter),
131 Q_ARG(QColor, QColor(55,55,55)));
177 QPainter painter(
this);
178 painter.drawPixmap(0, 0,
pixmap);
179 QRect r = rect().adjusted(5, 5, -5, -5);
boost::signals2::signal< void(const std::string &message)> InitMessage
void closeEvent(QCloseEvent *event)
static void ShowProgress(SplashScreen *splash, const std::string &title, int nProgress)
void subscribeToCoreSignals()
void showMessage(const QString &message, int alignment, const QColor &color)
bool GetBoolArg(const std::string &strArg, bool fDefault)
static void InitMessage(SplashScreen *splash, const std::string &message)
boost::signals2::signal< void(const std::string &title, int nProgress)> ShowProgress
void unsubscribeFromCoreSignals()
const QString & getTitleAddText() const
boost::signals2::signal< void(CWallet *wallet)> LoadWallet
void slotFinish(QWidget *mainWin)
boost::signals2::signal< void(const std::string &title, int nProgress)> ShowProgress
CClientUIInterface uiInterface
std::string FormatFullVersion()
SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle)
const char * titleAddText
void paintEvent(QPaintEvent *event)