diff --git a/main.qml b/main.qml index 16fcff21..4646a928 100644 --- a/main.qml +++ b/main.qml @@ -94,7 +94,7 @@ ApplicationWindow { readonly property string localDaemonAddress : "localhost:" + getDefaultDaemonRpcPort(persistentSettings.nettype) property string currentDaemonAddress; property int disconnectedEpoch: 0 - property int estimatedBlockchainSize: persistentSettings.pruneBlockchain ? 100 : 225 // GB + property int estimatedBlockchainSize: persistentSettings.pruneBlockchain ? 110 : 270 // GB property alias viewState: rootItem.state property string prevSplashText; property bool splashDisplayedBeforeButtonRequest; @@ -1737,7 +1737,7 @@ ApplicationWindow { onRejected: console.log("data dir selection canceled") onAccepted: { var dataDir = walletManager.urlToLocalPath(blockchainFileDialog.fileUrl) - var validator = daemonManager.validateDataDir(dataDir); + var validator = daemonManager.validateDataDir(dataDir, estimatedBlockchainSize); if(validator.valid) { persistentSettings.blockchainDataDir = dataDir; } else { diff --git a/src/daemon/DaemonManager.cpp b/src/daemon/DaemonManager.cpp index f1e4ddf9..60feebc7 100644 --- a/src/daemon/DaemonManager.cpp +++ b/src/daemon/DaemonManager.cpp @@ -297,7 +297,7 @@ void DaemonManager::exit() m_app_exit = true; } -QVariantMap DaemonManager::validateDataDir(const QString &dataDir) const +QVariantMap DaemonManager::validateDataDir(const QString &dataDir, const int estimatedBlockchainSize) const { QVariantMap result; bool valid = true; @@ -312,9 +312,8 @@ QVariantMap DaemonManager::validateDataDir(const QString &dataDir) const valid = false; } - // Make sure there is 75GB storage available storageAvailable = storage.bytesAvailable()/1000/1000/1000; - if (storageAvailable < 75) { + if (storageAvailable < estimatedBlockchainSize) { valid = false; } } else { @@ -339,7 +338,7 @@ bool DaemonManager::checkLmdbExists(QString datadir) { if (datadir.isEmpty() || datadir.isNull()) { datadir = QString::fromStdString(tools::get_default_data_dir()); } - return validateDataDir(datadir).value("lmdbExists").value(); + return QDir(datadir + "/lmdb").exists(); } QString DaemonManager::getArgs(const QString &dataDir) { diff --git a/src/daemon/DaemonManager.h b/src/daemon/DaemonManager.h index 5945c697..3b5fc6e0 100644 --- a/src/daemon/DaemonManager.h +++ b/src/daemon/DaemonManager.h @@ -56,7 +56,7 @@ public: // 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 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 QString getArgs(const QString &dataDir);