Changeset View
Changeset View
Standalone View
Standalone View
src/qt/intro.cpp
Show First 20 Lines • Show All 145 Lines • ▼ Show 20 Lines | ui->sizeWarningLabel->setText( | ||||
" " + storageRequiresMsg.arg(requiredSpace) + " " + | " " + storageRequiresMsg.arg(requiredSpace) + " " + | ||||
tr("The wallet will also be stored in this directory.")); | tr("The wallet will also be stored in this directory.")); | ||||
startThread(); | startThread(); | ||||
} | } | ||||
Intro::~Intro() { | Intro::~Intro() { | ||||
delete ui; | delete ui; | ||||
/* Ensure thread is finished before it is deleted */ | /* Ensure thread is finished before it is deleted */ | ||||
Q_EMIT stopThread(); | thread->quit(); | ||||
thread->wait(); | thread->wait(); | ||||
} | } | ||||
QString Intro::getDataDirectory() { | QString Intro::getDataDirectory() { | ||||
return ui->dataDirectory->text(); | return ui->dataDirectory->text(); | ||||
} | } | ||||
void Intro::setDataDirectory(const QString &dataDir) { | void Intro::setDataDirectory(const QString &dataDir) { | ||||
▲ Show 20 Lines • Show All 145 Lines • ▼ Show 20 Lines | |||||
void Intro::startThread() { | void Intro::startThread() { | ||||
thread = new QThread(this); | thread = new QThread(this); | ||||
FreespaceChecker *executor = new FreespaceChecker(this); | FreespaceChecker *executor = new FreespaceChecker(this); | ||||
executor->moveToThread(thread); | executor->moveToThread(thread); | ||||
connect(executor, &FreespaceChecker::reply, this, &Intro::setStatus); | connect(executor, &FreespaceChecker::reply, this, &Intro::setStatus); | ||||
connect(this, &Intro::requestCheck, executor, &FreespaceChecker::check); | connect(this, &Intro::requestCheck, executor, &FreespaceChecker::check); | ||||
/* make sure executor object is deleted in its own thread */ | /* make sure executor object is deleted in its own thread */ | ||||
connect(this, &Intro::stopThread, executor, &QObject::deleteLater); | connect(thread, &QThread::finished, executor, &QObject::deleteLater); | ||||
connect(this, &Intro::stopThread, thread, &QThread::quit); | |||||
thread->start(); | thread->start(); | ||||
} | } | ||||
void Intro::checkPath(const QString &dataDir) { | void Intro::checkPath(const QString &dataDir) { | ||||
mutex.lock(); | mutex.lock(); | ||||
pathToCheck = dataDir; | pathToCheck = dataDir; | ||||
if (!signalled) { | if (!signalled) { | ||||
Show All 14 Lines |