Inside Bitcoin
Opening the selected file…
Inside Bitcoin
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
1// Copyright (c) 2011-present The Bitcoin Core developers2// Distributed under the MIT software license, see the accompanying3// file COPYING or http://www.opensource.org/licenses/mit-license.php.5#ifndef BITCOIN_QT_SPLASHSCREEN_H6#define BITCOIN_QT_SPLASHSCREEN_H8#include <QWidget>10#include <memory>12class NetworkStyle;14namespace interfaces {15class Handler;16class Node;17class Wallet;18};20/** Class for the splashscreen with information of the running client.21*22* @note this is intentionally not a QSplashScreen. Bitcoin Core initialization23* can take a long time, and in that case a progress window that cannot be24* moved around and minimized has turned out to be frustrating to the user.25*/26class SplashScreen : public QWidget27{28Q_OBJECT30public:31explicit SplashScreen(const NetworkStyle *networkStyle);32~SplashScreen();33void setNode(interfaces::Node& node);35protected:36void paintEvent(QPaintEvent *event) override;37void closeEvent(QCloseEvent *event) override;39public Q_SLOTS:40/** Show message and progress */41void showMessage(const QString &message, int alignment, const QColor &color);43/** Handle wallet load notifications. */44void handleLoadWallet();46protected:47bool eventFilter(QObject * obj, QEvent * ev) override;49private:50/** Connect core signals to splash screen */51void subscribeToCoreSignals();52/** Disconnect core signals to splash screen */53void unsubscribeFromCoreSignals();54/** Initiate shutdown */55void shutdown();57QPixmap pixmap;58QString curMessage;59QColor curColor;60int curAlignment{0};62interfaces::Node* m_node = nullptr;63bool m_shutdown = false;64std::unique_ptr<interfaces::Handler> m_handler_init_message;65std::unique_ptr<interfaces::Handler> m_handler_show_progress;66std::unique_ptr<interfaces::Handler> m_handler_init_wallet;67std::unique_ptr<interfaces::Handler> m_handler_load_wallet;68std::list<std::unique_ptr<interfaces::Wallet>> m_connected_wallets;69std::list<std::unique_ptr<interfaces::Handler>> m_connected_wallet_handlers;70};72#endif // BITCOIN_QT_SPLASHSCREEN_H
Independent explanations by MyBitcoinExplorer. Not affiliated with or endorsed by Bitcoin Core. Guides are educational and do not replace the source or its tests.
Bitcoin Core source © its contributors, distributed under the MIT license. Original notices and bundled third-party licenses are retained in the source tree.