mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-27 19:47:30 -03:00
b7f6a89a3e
7b7cd11244
clang-tidy, qt: Force checks for headers in `src/qt` (Hennadii Stepanov)69eacf2c5e
clang-tidy, qt: Fix `modernize-use-default-member-init` in headers (Hennadii Stepanov) Pull request description: This PR split from bitcoin/bitcoin#26705 and contains only changes in `src/qt`. Effectively, it fixes the clang-tidy's `modernize-use-default-member-init` errors, and forces clang-tidy checks for all headers in the `src/qt` directory. ACKs for top commit: jarolrod: ACK7b7cd11244
Tree-SHA512: 79525bb0f31ae7cad88c781e55091a21467c0485ddc1ed03ad62e051480fda3b3710619ea11af480437edba3c6e038f7c40edc6b373e3a37408c006d11b34686
58 lines
1.7 KiB
C++
58 lines
1.7 KiB
C++
// Copyright (c) 2016-2022 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_MODALOVERLAY_H
|
|
#define BITCOIN_QT_MODALOVERLAY_H
|
|
|
|
#include <QDateTime>
|
|
#include <QPropertyAnimation>
|
|
#include <QWidget>
|
|
|
|
//! The required delta of headers to the estimated number of available headers until we show the IBD progress
|
|
static constexpr int HEADER_HEIGHT_DELTA_SYNC = 24;
|
|
|
|
namespace Ui {
|
|
class ModalOverlay;
|
|
}
|
|
|
|
/** Modal overlay to display information about the chain-sync state */
|
|
class ModalOverlay : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit ModalOverlay(bool enable_wallet, QWidget *parent);
|
|
~ModalOverlay();
|
|
|
|
void tipUpdate(int count, const QDateTime& blockDate, double nVerificationProgress);
|
|
void setKnownBestHeight(int count, const QDateTime& blockDate, bool presync);
|
|
|
|
// will show or hide the modal layer
|
|
void showHide(bool hide = false, bool userRequested = false);
|
|
bool isLayerVisible() const { return layerIsVisible; }
|
|
|
|
public Q_SLOTS:
|
|
void toggleVisibility();
|
|
void closeClicked();
|
|
|
|
Q_SIGNALS:
|
|
void triggered(bool hidden);
|
|
|
|
protected:
|
|
bool eventFilter(QObject * obj, QEvent * ev) override;
|
|
bool event(QEvent* ev) override;
|
|
|
|
private:
|
|
Ui::ModalOverlay *ui;
|
|
int bestHeaderHeight{0}; // best known height (based on the headers)
|
|
QDateTime bestHeaderDate;
|
|
QVector<QPair<qint64, double> > blockProcessTime;
|
|
bool layerIsVisible{false};
|
|
bool userClosed{false};
|
|
QPropertyAnimation m_animation;
|
|
void UpdateHeaderSyncLabel();
|
|
void UpdateHeaderPresyncLabel(int height, const QDateTime& blockDate);
|
|
};
|
|
|
|
#endif // BITCOIN_QT_MODALOVERLAY_H
|