Bitcoin Core 22.99.0
P2P Digital Currency
splashscreen.h
Go to the documentation of this file.
1// Copyright (c) 2011-2020 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.
4
5#ifndef BITCOIN_QT_SPLASHSCREEN_H
6#define BITCOIN_QT_SPLASHSCREEN_H
7
8#include <QWidget>
9
10#include <memory>
11
12class NetworkStyle;
13
14namespace interfaces {
15class Handler;
16class Node;
17class Wallet;
18};
19
26class SplashScreen : public QWidget
27{
28 Q_OBJECT
29
30public:
31 explicit SplashScreen(const NetworkStyle *networkStyle);
34
35protected:
36 void paintEvent(QPaintEvent *event) override;
37 void closeEvent(QCloseEvent *event) override;
38
39public Q_SLOTS:
41 void finish();
42
44 void showMessage(const QString &message, int alignment, const QColor &color);
45
47 void handleLoadWallet();
48
49protected:
50 bool eventFilter(QObject * obj, QEvent * ev) override;
51
52private:
58 void shutdown();
59
60 QPixmap pixmap;
61 QString curMessage;
62 QColor curColor;
64
66 bool m_shutdown = false;
67 std::unique_ptr<interfaces::Handler> m_handler_init_message;
68 std::unique_ptr<interfaces::Handler> m_handler_show_progress;
69 std::unique_ptr<interfaces::Handler> m_handler_load_wallet;
70 std::list<std::unique_ptr<interfaces::Wallet>> m_connected_wallets;
71 std::list<std::unique_ptr<interfaces::Handler>> m_connected_wallet_handlers;
72};
73
74#endif // BITCOIN_QT_SPLASHSCREEN_H
Class for the splashscreen with information of the running client.
Definition: splashscreen.h:27
void shutdown()
Initiate shutdown.
std::unique_ptr< interfaces::Handler > m_handler_show_progress
Definition: splashscreen.h:68
void showMessage(const QString &message, int alignment, const QColor &color)
Show message and progress.
void unsubscribeFromCoreSignals()
Disconnect core signals to splash screen.
std::list< std::unique_ptr< interfaces::Wallet > > m_connected_wallets
Definition: splashscreen.h:70
void subscribeToCoreSignals()
Connect core signals to splash screen.
void finish()
Hide the splash screen window and schedule the splash screen object for deletion.
QColor curColor
Definition: splashscreen.h:62
std::list< std::unique_ptr< interfaces::Handler > > m_connected_wallet_handlers
Definition: splashscreen.h:71
std::unique_ptr< interfaces::Handler > m_handler_init_message
Definition: splashscreen.h:67
void paintEvent(QPaintEvent *event) override
void closeEvent(QCloseEvent *event) override
void handleLoadWallet()
Handle wallet load notifications.
QString curMessage
Definition: splashscreen.h:61
void setNode(interfaces::Node &node)
QPixmap pixmap
Definition: splashscreen.h:60
bool eventFilter(QObject *obj, QEvent *ev) override
SplashScreen(const NetworkStyle *networkStyle)
std::unique_ptr< interfaces::Handler > m_handler_load_wallet
Definition: splashscreen.h:69
interfaces::Node * m_node
Definition: splashscreen.h:65
Top-level interface for a bitcoin node (bitcoind process).
Definition: node.h:55