Bitcoin ABC 0.30.5
P2P Digital Currency
intro.h
Go to the documentation of this file.
1// Copyright (c) 2011-2016 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_INTRO_H
6#define BITCOIN_QT_INTRO_H
7
8#include <QDialog>
9#include <QMutex>
10#include <QThread>
11
12static const bool DEFAULT_CHOOSE_DATADIR = false;
13
15
16namespace interfaces {
17class Node;
18}
19
20namespace Ui {
21class Intro;
22}
23
28class Intro : public QDialog {
29 Q_OBJECT
30
31public:
32 explicit Intro(QWidget *parent = nullptr, int64_t blockchain_size_gb = 0,
33 int64_t chain_state_size_gb = 0);
34 ~Intro();
35
36 QString getDataDirectory();
37 void setDataDirectory(const QString &dataDir);
38
51 static bool showIfNeeded(bool &did_show_intro, bool &prune);
52
53Q_SIGNALS:
55
56public Q_SLOTS:
57 void setStatus(int status, const QString &message, quint64 bytesAvailable);
58
59private Q_SLOTS:
60 void on_dataDirectory_textChanged(const QString &arg1);
64
65private:
66 Ui::Intro *ui;
67 QThread *thread;
68 QMutex mutex;
70 QString pathToCheck;
71 const int64_t m_blockchain_size_gb;
72 const int64_t m_chain_state_size_gb;
76 uint64_t m_bytes_available{0};
77 const int64_t m_prune_target_gb;
78
79 void startThread();
80 void checkPath(const QString &dataDir);
81 QString getPathToCheck();
82 void UpdatePruneLabels(bool prune_checked);
84
85 friend class FreespaceChecker;
86};
87
88#endif // BITCOIN_QT_INTRO_H
Introduction screen (pre-GUI startup).
Definition: intro.h:28
~Intro()
Definition: intro.cpp:155
void setStatus(int status, const QString &message, quint64 bytesAvailable)
Definition: intro.cpp:261
void on_ellipsisButton_clicked()
Definition: intro.cpp:312
QMutex mutex
Definition: intro.h:68
void UpdatePruneLabels(bool prune_checked)
Definition: intro.cpp:361
const int64_t m_blockchain_size_gb
Definition: intro.h:71
void setDataDirectory(const QString &dataDir)
Definition: intro.cpp:166
static bool showIfNeeded(bool &did_show_intro, bool &prune)
Determine data directory.
Definition: intro.cpp:179
uint64_t m_bytes_available
Definition: intro.h:76
QString pathToCheck
Definition: intro.h:70
void on_dataDirectory_textChanged(const QString &arg1)
Definition: intro.cpp:306
int64_t m_required_space_gb
Total required space (in GB) depending on user choice (prune or not prune).
Definition: intro.h:75
void UpdateFreeSpaceLabel()
Definition: intro.cpp:290
bool signalled
Definition: intro.h:69
QString getPathToCheck()
Definition: intro.cpp:352
Ui::Intro * ui
Definition: intro.h:66
void requestCheck()
Intro(QWidget *parent=nullptr, int64_t blockchain_size_gb=0, int64_t chain_state_size_gb=0)
Definition: intro.cpp:120
const int64_t m_chain_state_size_gb
Definition: intro.h:72
QString getDataDirectory()
Definition: intro.cpp:162
void checkPath(const QString &dataDir)
Definition: intro.cpp:342
void startThread()
Definition: intro.cpp:329
void on_dataDirDefault_clicked()
Definition: intro.cpp:320
const int64_t m_prune_target_gb
Definition: intro.h:77
QThread * thread
Definition: intro.h:67
void on_dataDirCustom_clicked()
Definition: intro.cpp:324
static const bool DEFAULT_CHOOSE_DATADIR
Definition: intro.h:12