Moving files around

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97
2024-02-02 15:51:32 +02:00
parent 6c5bb3817b
commit 3c58fb0677
25 changed files with 254 additions and 224 deletions

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "java/download/ArchiveJavaDownloader.h"
#include "java/download/ArchiveDownloadTask.h"
#include <quazip.h>
#include <memory>
#include "MMCZip.h"
@@ -25,11 +25,12 @@
#include "net/NetJob.h"
#include "tasks/Task.h"
ArchiveJavaDownloader::ArchiveJavaDownloader(QUrl url, QString final_path, QString checksumType, QString checksumHash)
namespace Java {
ArchiveDownloadTask::ArchiveDownloadTask(QUrl url, QString final_path, QString checksumType, QString checksumHash)
: m_url(url), m_final_path(final_path), m_checksum_type(checksumType), m_checksum_hash(checksumHash)
{}
void ArchiveJavaDownloader::executeTask()
void ArchiveDownloadTask::executeTask()
{
// JRE found ! download the zip
setStatus(tr("Downloading Java"));
@@ -49,8 +50,8 @@ void ArchiveJavaDownloader::executeTask()
auto fullPath = entry->getFullPath();
connect(download.get(), &NetJob::finished, [download, this] { disconnect(this, &Task::aborted, download.get(), &NetJob::abort); });
connect(download.get(), &NetJob::progress, this, &ArchiveJavaDownloader::progress);
connect(download.get(), &NetJob::failed, this, &ArchiveJavaDownloader::emitFailed);
connect(download.get(), &NetJob::progress, this, &ArchiveDownloadTask::progress);
connect(download.get(), &NetJob::failed, this, &ArchiveDownloadTask::emitFailed);
connect(this, &Task::aborted, download.get(), &NetJob::abort);
connect(download.get(), &NetJob::succeeded, [this, fullPath] {
// This should do all of the extracting and creating folders
@@ -59,7 +60,7 @@ void ArchiveJavaDownloader::executeTask()
download->start();
}
void ArchiveJavaDownloader::extractJava(QString input)
void ArchiveDownloadTask::extractJava(QString input)
{
setStatus(tr("Extracting java"));
auto zip = std::make_shared<QuaZip>(input);
@@ -79,14 +80,14 @@ void ArchiveJavaDownloader::extractJava(QString input)
connect(this, &Task::aborted, zipTask.get(), &Task::abort);
connect(zipTask.get(), &Task::finished, [zipTask, this] { disconnect(this, &Task::aborted, zipTask.get(), &Task::abort); });
connect(zipTask.get(), &Task::succeeded, this, &ArchiveJavaDownloader::emitSucceeded);
connect(zipTask.get(), &Task::aborted, this, &ArchiveJavaDownloader::emitAborted);
connect(zipTask.get(), &Task::succeeded, this, &ArchiveDownloadTask::emitSucceeded);
connect(zipTask.get(), &Task::aborted, this, &ArchiveDownloadTask::emitAborted);
connect(zipTask.get(), &Task::failed, this, [this, progressStep](QString reason) {
progressStep->state = TaskStepState::Failed;
stepProgress(*progressStep);
emitFailed(reason);
});
connect(zipTask.get(), &Task::stepProgress, this, &ArchiveJavaDownloader::propagateStepProgress);
connect(zipTask.get(), &Task::stepProgress, this, &ArchiveDownloadTask::propagateStepProgress);
connect(zipTask.get(), &Task::progress, this, [this, progressStep](qint64 current, qint64 total) {
progressStep->update(current, total);
@@ -97,4 +98,5 @@ void ArchiveJavaDownloader::extractJava(QString input)
stepProgress(*progressStep);
});
zipTask->start();
}
}
} // namespace Java

View File

@@ -21,11 +21,12 @@
#include <QUrl>
#include "tasks/Task.h"
class ArchiveJavaDownloader : public Task {
namespace Java {
class ArchiveDownloadTask : public Task {
Q_OBJECT
public:
ArchiveJavaDownloader(QUrl url, QString final_path, QString checksumType = "", QString checksumHash = "");
virtual ~ArchiveJavaDownloader() = default;
ArchiveDownloadTask(QUrl url, QString final_path, QString checksumType = "", QString checksumHash = "");
virtual ~ArchiveDownloadTask() = default;
[[nodiscard]] bool canAbort() const override { return true; }
void executeTask() override;
@@ -38,6 +39,5 @@ class ArchiveJavaDownloader : public Task {
QString m_final_path;
QString m_checksum_type;
QString m_checksum_hash;
Task::Ptr m_current_task;
};
};
} // namespace Java

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "java/download/ManifestJavaDownloader.h"
#include "java/download/ManifestDownloadTask.h"
#include "Application.h"
#include "FileSystem.h"
@@ -30,11 +30,12 @@ struct File {
bool isExec;
};
ManifestJavaDownloader::ManifestJavaDownloader(QUrl url, QString final_path, QString checksumType, QString checksumHash)
namespace Java {
ManifestDownloadTask::ManifestDownloadTask(QUrl url, QString final_path, QString checksumType, QString checksumHash)
: m_url(url), m_final_path(final_path), m_checksum_type(checksumType), m_checksum_hash(checksumHash)
{}
void ManifestJavaDownloader::executeTask()
void ManifestDownloadTask::executeTask()
{
setStatus(tr("Downloading Java"));
auto download = makeShared<NetJob>(QString("JRE::DownloadJava"), APPLICATION->network());
@@ -51,8 +52,8 @@ void ManifestJavaDownloader::executeTask()
download->addNetAction(action);
connect(download.get(), &NetJob::finished, [download, this] { disconnect(this, &Task::aborted, download.get(), &NetJob::abort); });
connect(download.get(), &NetJob::progress, this, &ManifestJavaDownloader::progress);
connect(download.get(), &NetJob::failed, this, &ManifestJavaDownloader::emitFailed);
connect(download.get(), &NetJob::progress, this, &ManifestDownloadTask::progress);
connect(download.get(), &NetJob::failed, this, &ManifestDownloadTask::emitFailed);
connect(this, &Task::aborted, download.get(), &NetJob::abort);
connect(download.get(), &NetJob::succeeded, [files, this] {
@@ -69,7 +70,7 @@ void ManifestJavaDownloader::executeTask()
download->start();
}
void ManifestJavaDownloader::downloadJava(const QJsonDocument& doc)
void ManifestDownloadTask::downloadJava(const QJsonDocument& doc)
{
// valid json doc, begin making jre spot
FS::ensureFolderPathExists(m_final_path);
@@ -116,10 +117,11 @@ void ManifestJavaDownloader::downloadJava(const QJsonDocument& doc)
disconnect(this, &Task::aborted, elementDownload, &NetJob::abort);
elementDownload->deleteLater();
});
connect(elementDownload, &NetJob::progress, this, &ManifestJavaDownloader::progress);
connect(elementDownload, &NetJob::failed, this, &ManifestJavaDownloader::emitFailed);
connect(elementDownload, &NetJob::progress, this, &ManifestDownloadTask::progress);
connect(elementDownload, &NetJob::failed, this, &ManifestDownloadTask::emitFailed);
connect(this, &Task::aborted, elementDownload, &NetJob::abort);
connect(elementDownload, &NetJob::succeeded, [this] { emitSucceeded(); });
elementDownload->start();
}
}
} // namespace Java

View File

@@ -21,11 +21,13 @@
#include <QUrl>
#include "tasks/Task.h"
class ManifestJavaDownloader : public Task {
namespace Java {
class ManifestDownloadTask : public Task {
Q_OBJECT
public:
ManifestJavaDownloader(QUrl url, QString final_path, QString checksumType = "", QString checksumHash = "");
virtual ~ManifestJavaDownloader() = default;
ManifestDownloadTask(QUrl url, QString final_path, QString checksumType = "", QString checksumHash = "");
virtual ~ManifestDownloadTask() = default;
[[nodiscard]] bool canAbort() const override { return true; }
void executeTask() override;
@@ -38,6 +40,5 @@ class ManifestJavaDownloader : public Task {
QString m_final_path;
QString m_checksum_type;
QString m_checksum_hash;
Task::Ptr m_current_task;
};
};
} // namespace Java