2014-12-17 02:47:57 +01:00
|
|
|
// Copyright (c) 2011-2014 The Bitcoin Core developers
|
2014-12-13 05:09:33 +01:00
|
|
|
// Distributed under the MIT software license, see the accompanying
|
2013-11-04 16:20:43 +01:00
|
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
|
2014-11-03 16:16:40 +01:00
|
|
|
#ifndef BITCOIN_QT_SPLASHSCREEN_H
|
|
|
|
#define BITCOIN_QT_SPLASHSCREEN_H
|
2013-04-14 11:35:37 +02:00
|
|
|
|
|
|
|
#include <QSplashScreen>
|
|
|
|
|
2014-10-09 11:04:49 +02:00
|
|
|
class NetworkStyle;
|
|
|
|
|
2014-09-22 10:08:47 +02:00
|
|
|
/** Class for the splashscreen with information of the running client.
|
|
|
|
*
|
|
|
|
* @note this is intentionally not a QSplashScreen. Bitcoin Core initialization
|
|
|
|
* can take a long time, and in that case a progress window that cannot be
|
|
|
|
* moved around and minimized has turned out to be frustrating to the user.
|
2013-04-14 11:35:37 +02:00
|
|
|
*/
|
2014-09-18 13:14:38 +02:00
|
|
|
class SplashScreen : public QWidget
|
2013-04-14 11:35:37 +02:00
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
2014-10-09 11:04:49 +02:00
|
|
|
explicit SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle);
|
2014-01-08 08:59:24 +01:00
|
|
|
~SplashScreen();
|
|
|
|
|
2014-09-18 13:14:38 +02:00
|
|
|
protected:
|
2014-09-22 10:08:47 +02:00
|
|
|
void paintEvent(QPaintEvent *event);
|
|
|
|
void closeEvent(QCloseEvent *event);
|
2014-09-18 13:14:38 +02:00
|
|
|
|
2014-01-08 08:59:24 +01:00
|
|
|
public slots:
|
|
|
|
/** Slot to call finish() method as it's not defined as slot */
|
|
|
|
void slotFinish(QWidget *mainWin);
|
|
|
|
|
2014-09-18 13:14:38 +02:00
|
|
|
/** Show message and progress */
|
|
|
|
void showMessage(const QString &message, int alignment, const QColor &color);
|
|
|
|
|
2014-01-08 08:59:24 +01:00
|
|
|
private:
|
|
|
|
/** Connect core signals to splash screen */
|
|
|
|
void subscribeToCoreSignals();
|
|
|
|
/** Disconnect core signals to splash screen */
|
|
|
|
void unsubscribeFromCoreSignals();
|
2014-09-18 13:14:38 +02:00
|
|
|
|
|
|
|
QPixmap pixmap;
|
|
|
|
QString curMessage;
|
|
|
|
QColor curColor;
|
|
|
|
int curAlignment;
|
2013-04-14 11:35:37 +02:00
|
|
|
};
|
|
|
|
|
2014-11-03 16:16:40 +01:00
|
|
|
#endif // BITCOIN_QT_SPLASHSCREEN_H
|