Started workin on stuff
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
parent
33cf7066b4
commit
a0e7729aa6
28 changed files with 908 additions and 247 deletions
|
@ -38,11 +38,13 @@
|
|||
#include <QtXml>
|
||||
|
||||
#include <QDebug>
|
||||
#include <algorithm>
|
||||
|
||||
#include "java/JavaCheckerJob.h"
|
||||
#include "Application.h"
|
||||
#include "java/JavaChecker.h"
|
||||
#include "java/JavaInstallList.h"
|
||||
#include "java/JavaUtils.h"
|
||||
#include "minecraft/VersionFilterData.h"
|
||||
#include "tasks/ConcurrentTask.h"
|
||||
|
||||
JavaInstallList::JavaInstallList(QObject* parent) : BaseVersionList(parent) {}
|
||||
|
||||
|
@ -55,7 +57,7 @@ Task::Ptr JavaInstallList::getLoadTask()
|
|||
Task::Ptr JavaInstallList::getCurrentTask()
|
||||
{
|
||||
if (m_status == Status::InProgress) {
|
||||
return m_loadTask;
|
||||
return m_load_task;
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
@ -64,8 +66,8 @@ void JavaInstallList::load()
|
|||
{
|
||||
if (m_status != Status::InProgress) {
|
||||
m_status = Status::InProgress;
|
||||
m_loadTask.reset(new JavaListLoadTask(this));
|
||||
m_loadTask->start();
|
||||
m_load_task.reset(new JavaListLoadTask(this));
|
||||
m_load_task->start();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -129,7 +131,7 @@ void JavaInstallList::updateListData(QList<BaseVersion::Ptr> versions)
|
|||
}
|
||||
endResetModel();
|
||||
m_status = Status::Done;
|
||||
m_loadTask.reset();
|
||||
m_load_task.reset();
|
||||
}
|
||||
|
||||
bool sortJavas(BaseVersion::Ptr left, BaseVersion::Ptr right)
|
||||
|
@ -149,11 +151,9 @@ void JavaInstallList::sortVersions()
|
|||
JavaListLoadTask::JavaListLoadTask(JavaInstallList* vlist) : Task()
|
||||
{
|
||||
m_list = vlist;
|
||||
m_currentRecommended = NULL;
|
||||
m_current_recommended = NULL;
|
||||
}
|
||||
|
||||
JavaListLoadTask::~JavaListLoadTask() {}
|
||||
|
||||
void JavaListLoadTask::executeTask()
|
||||
{
|
||||
setStatus(tr("Detecting Java installations..."));
|
||||
|
@ -161,20 +161,17 @@ void JavaListLoadTask::executeTask()
|
|||
JavaUtils ju;
|
||||
QList<QString> candidate_paths = ju.FindJavaPaths();
|
||||
|
||||
m_job.reset(new JavaCheckerJob("Java detection"));
|
||||
ConcurrentTask::Ptr job(new ConcurrentTask(this, "Java detection", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt()));
|
||||
m_job.reset(job);
|
||||
connect(m_job.get(), &Task::finished, this, &JavaListLoadTask::javaCheckerFinished);
|
||||
connect(m_job.get(), &Task::progress, this, &Task::setProgress);
|
||||
|
||||
qDebug() << "Probing the following Java paths: ";
|
||||
int id = 0;
|
||||
for (QString candidate : candidate_paths) {
|
||||
qDebug() << " " << candidate;
|
||||
|
||||
auto candidate_checker = new JavaChecker();
|
||||
candidate_checker->m_path = candidate;
|
||||
candidate_checker->m_id = id;
|
||||
m_job->addJavaCheckerAction(JavaCheckerPtr(candidate_checker));
|
||||
|
||||
auto checker = new JavaChecker(candidate, "", 0, 0, 0, id, this);
|
||||
connect(checker, &JavaChecker::checkFinished, [this](JavaChecker::Result result) { m_results << result; });
|
||||
job->addTask(Task::Ptr(checker));
|
||||
id++;
|
||||
}
|
||||
|
||||
|
@ -184,11 +181,11 @@ void JavaListLoadTask::executeTask()
|
|||
void JavaListLoadTask::javaCheckerFinished()
|
||||
{
|
||||
QList<JavaInstallPtr> candidates;
|
||||
auto results = m_job->getResults();
|
||||
std::sort(m_results.begin(), m_results.end(), [](JavaChecker::Result a, JavaChecker::Result b) { return a.id < b.id; });
|
||||
|
||||
qDebug() << "Found the following valid Java installations:";
|
||||
for (JavaCheckResult result : results) {
|
||||
if (result.validity == JavaCheckResult::Validity::Valid) {
|
||||
for (auto result : m_results) {
|
||||
if (result.validity == JavaChecker::Result::Validity::Valid) {
|
||||
JavaInstallPtr javaVersion(new JavaInstall());
|
||||
|
||||
javaVersion->id = result.javaVersion;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue