Bitcoin Core
31.1.0
P2P Digital Currency
Toggle main menu visibility
Loading...
Searching...
No Matches
src
qt
intro.h
Go to the documentation of this file.
1
// Copyright (c) 2011-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_INTRO_H
6
#define BITCOIN_QT_INTRO_H
7
8
#include <
qt/freespacechecker.h
>
9
10
#include <QDialog>
11
#include <QMutex>
12
#include <QThread>
13
14
static
const
bool
DEFAULT_CHOOSE_DATADIR
=
false
;
15
16
namespace
interfaces
{
17
class
Node
;
18
}
19
20
namespace
Ui
{
21
class
Intro;
22
}
23
28
class
Intro
:
public
QDialog,
public
FreespaceChecker::PathQuery
29
{
30
Q_OBJECT
31
32
public
:
33
explicit
Intro
(QWidget *parent =
nullptr
,
34
int64_t blockchain_size_gb = 0, int64_t chain_state_size_gb = 0);
35
~Intro
();
36
37
QString
getDataDirectory
();
38
void
setDataDirectory
(
const
QString &dataDir);
39
int64_t
getPruneMiB
()
const
;
40
51
static
bool
showIfNeeded
(
bool
& did_show_intro, int64_t& prune_MiB);
52
53
Q_SIGNALS:
54
void
requestCheck
();
55
56
public
Q_SLOTS:
57
void
setStatus
(
int
status,
const
QString &message, quint64 bytesAvailable);
58
59
private
Q_SLOTS:
60
void
on_dataDirectory_textChanged
(
const
QString &arg1);
61
void
on_ellipsisButton_clicked
();
62
void
on_dataDirDefault_clicked
();
63
void
on_dataDirCustom_clicked
();
64
65
private
:
66
Ui::Intro *
ui
;
67
bool
m_prune_checkbox_is_default
{
true
};
68
QThread*
thread
{
nullptr
};
69
QMutex
mutex
;
70
bool
signalled
{
false
};
71
QString
pathToCheck
;
72
const
int64_t
m_blockchain_size_gb
;
73
const
int64_t
m_chain_state_size_gb
;
75
int64_t
m_required_space_gb
{0};
76
uint64_t
m_bytes_available
{0};
77
int64_t
m_prune_target_gb
;
78
79
void
startThread
();
80
void
checkPath
(
const
QString &dataDir);
81
QString
getPathToCheck
()
override
;
82
void
UpdatePruneLabels
(
bool
prune_checked);
83
void
UpdateFreeSpaceLabel
();
84
85
friend
class
FreespaceChecker
;
86
};
87
88
#endif
// BITCOIN_QT_INTRO_H
FreespaceChecker::PathQuery
Definition
freespacechecker.h:28
Intro::~Intro
~Intro()
Definition
intro.cpp:84
Intro::setStatus
void setStatus(int status, const QString &message, quint64 bytesAvailable)
Definition
intro.cpp:188
Intro::on_ellipsisButton_clicked
void on_ellipsisButton_clicked()
Definition
intro.cpp:238
Intro::mutex
QMutex mutex
Definition
intro.h:69
Intro::UpdatePruneLabels
void UpdatePruneLabels(bool prune_checked)
Definition
intro.cpp:292
Intro::m_blockchain_size_gb
const int64_t m_blockchain_size_gb
Definition
intro.h:72
Intro::setDataDirectory
void setDataDirectory(const QString &dataDir)
Definition
intro.cpp:97
Intro::m_prune_target_gb
int64_t m_prune_target_gb
Definition
intro.h:77
Intro::m_prune_checkbox_is_default
bool m_prune_checkbox_is_default
Definition
intro.h:67
Intro::m_bytes_available
uint64_t m_bytes_available
Definition
intro.h:76
Intro::pathToCheck
QString pathToCheck
Definition
intro.h:71
Intro::FreespaceChecker
friend class FreespaceChecker
Definition
intro.h:85
Intro::on_dataDirectory_textChanged
void on_dataDirectory_textChanged(const QString &arg1)
Definition
intro.cpp:231
Intro::m_required_space_gb
int64_t m_required_space_gb
Total required space (in GB) depending on user choice (prune or not prune).
Definition
intro.h:75
Intro::UpdateFreeSpaceLabel
void UpdateFreeSpaceLabel()
Definition
intro.cpp:216
Intro::signalled
bool signalled
Definition
intro.h:70
Intro::getPruneMiB
int64_t getPruneMiB() const
Definition
intro.cpp:112
Intro::showIfNeeded
static bool showIfNeeded(bool &did_show_intro, int64_t &prune_MiB)
Determine data directory.
Definition
intro.cpp:122
Intro::ui
Ui::Intro * ui
Definition
intro.h:66
Intro::requestCheck
void requestCheck()
Intro::Intro
Intro(QWidget *parent=nullptr, int64_t blockchain_size_gb=0, int64_t chain_state_size_gb=0)
Definition
intro.cpp:39
Intro::m_chain_state_size_gb
const int64_t m_chain_state_size_gb
Definition
intro.h:73
Intro::getDataDirectory
QString getDataDirectory()
Definition
intro.cpp:92
Intro::checkPath
void checkPath(const QString &dataDir)
Definition
intro.cpp:270
Intro::getPathToCheck
QString getPathToCheck() override
Definition
intro.cpp:282
Intro::startThread
void startThread()
Definition
intro.cpp:256
Intro::on_dataDirDefault_clicked
void on_dataDirDefault_clicked()
Definition
intro.cpp:245
Intro::thread
QThread * thread
Definition
intro.h:68
Intro::on_dataDirCustom_clicked
void on_dataDirCustom_clicked()
Definition
intro.cpp:250
Node
Top-level interface for a bitcoin node (bitcoind process).
Definition
node.h:70
freespacechecker.h
DEFAULT_CHOOSE_DATADIR
static const bool DEFAULT_CHOOSE_DATADIR
Definition
intro.h:14
Ui
Definition
addressbookpage.h:14
interfaces
Definition
interfaces.cpp:41
Generated on
for Bitcoin Core by
1.17.0