Bitcoin
intro.h
Go to the documentation of this file.
1 // Copyright (c) 2011-2018 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 
12 static const bool DEFAULT_CHOOSE_DATADIR = false;
13 
14 class FreespaceChecker;
15 
16 namespace interfaces {
17  class Node;
18 }
19 
20 namespace Ui {
21  class Intro;
22 }
23 
28 class Intro : public QDialog
29 {
30  Q_OBJECT
31 
32 public:
33  explicit Intro(QWidget *parent = nullptr,
34  uint64_t blockchain_size = 0, uint64_t chain_state_size = 0);
35  ~Intro();
36 
37  QString getDataDirectory();
38  void setDataDirectory(const QString &dataDir);
39 
49  static bool pickDataDirectory(interfaces::Node& node);
50 
51 Q_SIGNALS:
52  void requestCheck();
53 
54 public Q_SLOTS:
55  void setStatus(int status, const QString &message, quint64 bytesAvailable);
56 
57 private Q_SLOTS:
58  void on_dataDirectory_textChanged(const QString &arg1);
62 
63 private:
65  QThread *thread;
66  QMutex mutex;
67  bool signalled;
68  QString pathToCheck;
71 
72  void startThread();
73  void checkPath(const QString &dataDir);
74  QString getPathToCheck();
75 
76  friend class FreespaceChecker;
77 };
78 
79 #endif // BITCOIN_QT_INTRO_H
static const bool DEFAULT_CHOOSE_DATADIR
Definition: intro.h:12
static bool pickDataDirectory(interfaces::Node &node)
Definition: intro.cpp:183
~Intro()
Definition: intro.cpp:155
QString getDataDirectory()
Definition: intro.cpp:163
Definition: ui_intro.h:216
Definition: addressbookpage.h:14
uint64_t m_blockchain_size
Definition: intro.h:69
void setDataDirectory(const QString &dataDir)
Definition: intro.cpp:168
QThread * thread
Definition: intro.h:65
uint64_t m_chain_state_size
Definition: intro.h:70
QMutex mutex
Definition: intro.h:66
void startThread()
Definition: intro.cpp:300
Definition: dummywallet.cpp:11
QString pathToCheck
Definition: intro.h:68
unsigned long long uint64_t
Definition: stdint.h:22
void requestCheck()
Definition: moc_intro.cpp:160
void on_ellipsisButton_clicked()
Definition: intro.cpp:282
Top-level interface for a bitcoin node (bitcoind process).
Definition: node.h:36
Intro(QWidget *parent=nullptr, uint64_t blockchain_size=0, uint64_t chain_state_size=0)
Definition: intro.cpp:113
Definition: intro.h:28
void on_dataDirectory_textChanged(const QString &arg1)
Definition: intro.cpp:275
Definition: intro.cpp:38
QString getPathToCheck()
Definition: intro.cpp:326
Ui::Intro * ui
Definition: intro.h:64
void on_dataDirCustom_clicked()
Definition: intro.cpp:294
void setStatus(int status, const QString &message, quint64 bytesAvailable)
Definition: intro.cpp:243
void on_dataDirDefault_clicked()
Definition: intro.cpp:289
void checkPath(const QString &dataDir)
Definition: intro.cpp:314
bool signalled
Definition: intro.h:67