aboutsummaryrefslogtreecommitdiff
path: root/src/qt/modaloverlay.h
diff options
context:
space:
mode:
authorJonas Schnelli <dev@jonasschnelli.ch>2016-07-19 15:51:24 +0200
committerJonas Schnelli <dev@jonasschnelli.ch>2016-08-26 11:34:30 +0200
commite3245b43d5c6fc984e8c60495f6db54f85d64368 (patch)
tree3deac5cbe80a37cf8e1d3b60eb6d86a86b8cb249 /src/qt/modaloverlay.h
parente47052f6b5ea901ecdc1cb8245dd98a98b06618a (diff)
downloadbitcoin-e3245b43d5c6fc984e8c60495f6db54f85d64368.tar.xz
[Qt] add out-of-sync modal info layer
Diffstat (limited to 'src/qt/modaloverlay.h')
-rw-r--r--src/qt/modaloverlay.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/qt/modaloverlay.h b/src/qt/modaloverlay.h
new file mode 100644
index 0000000000..5bf913a3f3
--- /dev/null
+++ b/src/qt/modaloverlay.h
@@ -0,0 +1,44 @@
+// Copyright (c) 2017 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 <QWidget>
+
+namespace Ui {
+ class ModalOverlay;
+}
+
+/** Modal overlay to display information about the chain-sync state */
+class ModalOverlay : public QWidget
+{
+ Q_OBJECT
+
+public:
+ explicit ModalOverlay(QWidget *parent);
+ ~ModalOverlay();
+
+public Q_SLOTS:
+ void tipUpdate(int count, const QDateTime& blockDate, double nVerificationProgress);
+ void setKnownBestHeight(int count);
+
+ // will show or hide the modal layer
+ void showHide(bool hide = false, bool userRequested = false);
+ void closeClicked();
+
+protected:
+ bool eventFilter(QObject * obj, QEvent * ev);
+ bool event(QEvent* ev);
+
+private:
+ Ui::ModalOverlay *ui;
+ int bestBlockHeight; //best known height (based on the headers)
+ QVector<QPair<qint64, double> > blockProcessTime;
+ bool layerIsVisible;
+ bool userClosed;
+};
+
+#endif // BITCOIN_QT_MODALOVERLAY_H