mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-12 02:07:39 +01:00
705c1f0648
qt, refactor: Fix 'buttonClicked is deprecated' warnings (Hennadii Stepanov)c2f4e5ea1d
qt, refactor: Fix 'split is deprecated' warnings (Hennadii Stepanov)8e12d69961
qt, refactor: Fix 'QFlags is deprecated' warnings (Hennadii Stepanov)fa5749c805
qt, refactor: Fix 'pixmap is deprecated' warnings (Hennadii Stepanov)b02264cb5d
qt, refactor: Fix 'QDateTime is deprecated' warnings (Hennadii Stepanov) Pull request description: [What's New in Qt 5.15](https://doc.qt.io/qt-5/whatsnew515.html#deprecated-modules): > To help preparing for the transition to Qt 6, numerous classes and member functions that will be removed from Qt 6.0 have been marked as deprecated in the Qt 5.15 release. Fixes #36 ACKs for top commit: jonasschnelli: utACK705c1f0648
promag: Tested ACK705c1f0648
on macos with Apple clang version 11.0.3 (clang-1103.0.32.62) and brew qt 5.15.1. Tree-SHA512: 29e00535b4583ceec0dfb29612e86ee29bdea13651b548c6d22167917a4a10464af49160a12b05151030699f690f437ebb9c4ae9f130f66a722415222165b44f
74 lines
2.1 KiB
C++
74 lines
2.1 KiB
C++
// Copyright (c) 2011-2018 The Bitcoin Core developers
|
|
// Distributed under the MIT software license, see the accompanying
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
#ifndef BITCOIN_QT_SPLASHSCREEN_H
|
|
#define BITCOIN_QT_SPLASHSCREEN_H
|
|
|
|
#include <QWidget>
|
|
|
|
#include <memory>
|
|
|
|
class NetworkStyle;
|
|
|
|
namespace interfaces {
|
|
class Handler;
|
|
class Node;
|
|
class Wallet;
|
|
};
|
|
|
|
/** 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.
|
|
*/
|
|
class SplashScreen : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit SplashScreen(const NetworkStyle *networkStyle);
|
|
~SplashScreen();
|
|
void setNode(interfaces::Node& node);
|
|
|
|
protected:
|
|
void paintEvent(QPaintEvent *event) override;
|
|
void closeEvent(QCloseEvent *event) override;
|
|
|
|
public Q_SLOTS:
|
|
/** Hide the splash screen window and schedule the splash screen object for deletion */
|
|
void finish();
|
|
|
|
/** Show message and progress */
|
|
void showMessage(const QString &message, int alignment, const QColor &color);
|
|
|
|
/** Handle wallet load notifications. */
|
|
void handleLoadWallet();
|
|
|
|
protected:
|
|
bool eventFilter(QObject * obj, QEvent * ev) override;
|
|
|
|
private:
|
|
/** Connect core signals to splash screen */
|
|
void subscribeToCoreSignals();
|
|
/** Disconnect core signals to splash screen */
|
|
void unsubscribeFromCoreSignals();
|
|
/** Initiate shutdown */
|
|
void shutdown();
|
|
|
|
QPixmap pixmap;
|
|
QString curMessage;
|
|
QColor curColor;
|
|
int curAlignment;
|
|
|
|
interfaces::Node* m_node = nullptr;
|
|
bool m_shutdown = false;
|
|
std::unique_ptr<interfaces::Handler> m_handler_init_message;
|
|
std::unique_ptr<interfaces::Handler> m_handler_show_progress;
|
|
std::unique_ptr<interfaces::Handler> m_handler_load_wallet;
|
|
std::list<std::unique_ptr<interfaces::Wallet>> m_connected_wallets;
|
|
std::list<std::unique_ptr<interfaces::Handler>> m_connected_wallet_handlers;
|
|
};
|
|
|
|
#endif // BITCOIN_QT_SPLASHSCREEN_H
|