launcher/loading-worker.cpp

59 lines
1.7 KiB
C++

#include "loading-worker.h"
#include "locales.h"
#include "install-java.h"
#include <QLocale>
#include <QDir>
#include <QFile>
#include <QCryptographicHash>
#include <QDebug>
LoadingWorker::LoadingWorker(Loading *loading, QObject *parent) {
this->loading = loading;
}
LoadingWorker::~LoadingWorker () {
//delete this->loading;
}
void LoadingWorker::process() {
std::string locale = (QLocale::system()).name().toStdString();
if (locales.find(locale) == locales.end()) {
locale = "en_US";
}
LocaleMap* localeMap = locales[locale];
// Checking updates
this->loading->changeStep(localeMap->at("loading.checkUpdates"));
// TODO: Add it later
// Checking: Is java installed
this->loading->changeStep(localeMap->at("loading.isJavaInst"));
if (!checkJava()) {
// Let's we install the java
installJava([this, localeMap](QString msg){
qDebug() << msg;
this->loading->changeStep(localeMap->at("loading.installJava") + ": " + msg.toStdString());
});
}
// Start I2P
this->loading->changeStep(localeMap->at("loading.i2p"));
// TODO: Add it later
// Getting endpoint API
this->loading->changeStep(localeMap->at("loading.gettingEndpoint"));
std::string endpointAPI = "TODO: Add it later";
// Handle data
this->loading->changeStep(localeMap->at("loading.logging"));
// TODO: Add it later
// Setup current locale for welcome form
this->loading->changeStep(localeMap->at("loading.setupLocale"));
this->loading->setupWelcomeLocale(locale);
this->loading->changeStep(localeMap->at("loading.end"));
emit finished();
this->loading->finishWorker();
}