Merge #11683: tests: Remove unused mininode functions {ser,deser}_int_vector(......
[bitcoinplatinum.git] / src / qt / splashscreen.h
blobc6cfd503f7f105c6e7e768e313c771d85b7fb853
1 // Copyright (c) 2011-2016 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 #ifndef BITCOIN_QT_SPLASHSCREEN_H
6 #define BITCOIN_QT_SPLASHSCREEN_H
8 #include <functional>
9 #include <QSplashScreen>
11 class CWallet;
12 class NetworkStyle;
14 /** Class for the splashscreen with information of the running client.
16 * @note this is intentionally not a QSplashScreen. Bitcoin Core initialization
17 * can take a long time, and in that case a progress window that cannot be
18 * moved around and minimized has turned out to be frustrating to the user.
20 class SplashScreen : public QWidget
22 Q_OBJECT
24 public:
25 explicit SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle);
26 ~SplashScreen();
28 protected:
29 void paintEvent(QPaintEvent *event);
30 void closeEvent(QCloseEvent *event);
32 public Q_SLOTS:
33 /** Slot to call finish() method as it's not defined as slot */
34 void slotFinish(QWidget *mainWin);
36 /** Show message and progress */
37 void showMessage(const QString &message, int alignment, const QColor &color);
39 protected:
40 bool eventFilter(QObject * obj, QEvent * ev);
42 private:
43 /** Connect core signals to splash screen */
44 void subscribeToCoreSignals();
45 /** Disconnect core signals to splash screen */
46 void unsubscribeFromCoreSignals();
47 /** Connect wallet signals to splash screen */
48 void ConnectWallet(CWallet*);
50 QPixmap pixmap;
51 QString curMessage;
52 QColor curColor;
53 int curAlignment;
55 QList<CWallet*> connectedWallets;
58 #endif // BITCOIN_QT_SPLASHSCREEN_H