mirror of
https://github.com/monero-project/monero-gui.git
synced 2026-04-01 23:17:26 -04:00
DaemonManager: use accurate blockchain size estimate
This commit is contained in:
2
main.qml
2
main.qml
@@ -1737,7 +1737,7 @@ ApplicationWindow {
|
|||||||
onRejected: console.log("data dir selection canceled")
|
onRejected: console.log("data dir selection canceled")
|
||||||
onAccepted: {
|
onAccepted: {
|
||||||
var dataDir = walletManager.urlToLocalPath(blockchainFileDialog.fileUrl)
|
var dataDir = walletManager.urlToLocalPath(blockchainFileDialog.fileUrl)
|
||||||
var validator = daemonManager.validateDataDir(dataDir);
|
var validator = daemonManager.validateDataDir(dataDir, estimatedBlockchainSize);
|
||||||
if(validator.valid) {
|
if(validator.valid) {
|
||||||
persistentSettings.blockchainDataDir = dataDir;
|
persistentSettings.blockchainDataDir = dataDir;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -297,7 +297,7 @@ void DaemonManager::exit()
|
|||||||
m_app_exit = true;
|
m_app_exit = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariantMap DaemonManager::validateDataDir(const QString &dataDir) const
|
QVariantMap DaemonManager::validateDataDir(const QString &dataDir, const int estimatedBlockchainSize) const
|
||||||
{
|
{
|
||||||
QVariantMap result;
|
QVariantMap result;
|
||||||
bool valid = true;
|
bool valid = true;
|
||||||
@@ -312,9 +312,8 @@ QVariantMap DaemonManager::validateDataDir(const QString &dataDir) const
|
|||||||
valid = false;
|
valid = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure there is 75GB storage available
|
|
||||||
storageAvailable = storage.bytesAvailable()/1000/1000/1000;
|
storageAvailable = storage.bytesAvailable()/1000/1000/1000;
|
||||||
if (storageAvailable < 75) {
|
if (storageAvailable < estimatedBlockchainSize) {
|
||||||
valid = false;
|
valid = false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -339,7 +338,7 @@ bool DaemonManager::checkLmdbExists(QString datadir) {
|
|||||||
if (datadir.isEmpty() || datadir.isNull()) {
|
if (datadir.isEmpty() || datadir.isNull()) {
|
||||||
datadir = QString::fromStdString(tools::get_default_data_dir());
|
datadir = QString::fromStdString(tools::get_default_data_dir());
|
||||||
}
|
}
|
||||||
return validateDataDir(datadir).value("lmdbExists").value<bool>();
|
return QDir(datadir + "/lmdb").exists();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString DaemonManager::getArgs(const QString &dataDir) {
|
QString DaemonManager::getArgs(const QString &dataDir) {
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ public:
|
|||||||
// Send daemon command from qml and prints output in console window.
|
// Send daemon command from qml and prints output in console window.
|
||||||
Q_INVOKABLE void sendCommandAsync(const QStringList &cmd, NetworkType::Type nettype, const QString &dataDir, const QJSValue& callback) const;
|
Q_INVOKABLE void sendCommandAsync(const QStringList &cmd, NetworkType::Type nettype, const QString &dataDir, const QJSValue& callback) const;
|
||||||
Q_INVOKABLE void exit();
|
Q_INVOKABLE void exit();
|
||||||
Q_INVOKABLE QVariantMap validateDataDir(const QString &dataDir) const;
|
Q_INVOKABLE QVariantMap validateDataDir(const QString &dataDir, const int estimatedBlockchainSizeGb) const;
|
||||||
Q_INVOKABLE bool checkLmdbExists(QString datadir);
|
Q_INVOKABLE bool checkLmdbExists(QString datadir);
|
||||||
Q_INVOKABLE QString getArgs(const QString &dataDir);
|
Q_INVOKABLE QString getArgs(const QString &dataDir);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user