Bitcoin Core 31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
modaloverlay.h
Go to the documentation of this file.
1// Copyright (c) 2016-present 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_MODALOVERLAY_H
6#define BITCOIN_QT_MODALOVERLAY_H
7
8#include <QDateTime>
9#include <QPropertyAnimation>
10#include <QWidget>
11
13static constexpr int HEADER_HEIGHT_DELTA_SYNC = 24;
14
15namespace Ui {
16 class ModalOverlay;
17}
18
20class ModalOverlay : public QWidget
21{
23
24public:
25 explicit ModalOverlay(bool enable_wallet, QWidget *parent);
27
29 void setKnownBestHeight(int count, const QDateTime& blockDate, bool presync);
30
31 // will show or hide the modal layer
32 void showHide(bool hide = false, bool userRequested = false);
33 bool isLayerVisible() const { return layerIsVisible; }
34
35public Q_SLOTS:
36 void toggleVisibility();
37 void closeClicked();
38
40 void triggered(bool hidden);
41
42protected:
43 bool eventFilter(QObject * obj, QEvent * ev) override;
44 bool event(QEvent* ev) override;
45
46private:
47 Ui::ModalOverlay *ui;
48 int bestHeaderHeight{0}; // best known height (based on the headers)
51 bool layerIsVisible{false};
52 bool userClosed{false};
55 void UpdateHeaderPresyncLabel(int height, const QDateTime& blockDate);
56};
57
58#endif // BITCOIN_QT_MODALOVERLAY_H
Modal overlay to display information about the chain-sync state.
void showHide(bool hide=false, bool userRequested=false)
bool event(QEvent *ev) override
Tracks parent widget changes.
void tipUpdate(int count, const QDateTime &blockDate, double nVerificationProgress)
void UpdateHeaderSyncLabel()
ModalOverlay(bool enable_wallet, QWidget *parent)
void toggleVisibility()
QDateTime bestHeaderDate
bool layerIsVisible
void triggered(bool hidden)
Ui::ModalOverlay * ui
bool isLayerVisible() const
void setKnownBestHeight(int count, const QDateTime &blockDate, bool presync)
QVector< QPair< qint64, double > > blockProcessTime
bool eventFilter(QObject *obj, QEvent *ev) override
void UpdateHeaderPresyncLabel(int height, const QDateTime &blockDate)
QPropertyAnimation m_animation
static constexpr int HEADER_HEIGHT_DELTA_SYNC
The required delta of headers to the estimated number of available headers until we show the IBD prog...
static int count
constexpr auto Ticks(Dur2 d)
Helper to count the seconds of a duration/time_point.
Definition time.h:73