From 791221e923586bb717396ecf18bd13e57034df99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Tue, 27 Jan 2015 22:31:07 +0100 Subject: NOISSUE Refactors and moving of things --- logic/minecraft/MinecraftVersionList.cpp | 65 +++++++++++++++++++++++--------- 1 file changed, 48 insertions(+), 17 deletions(-) (limited to 'logic/minecraft/MinecraftVersionList.cpp') diff --git a/logic/minecraft/MinecraftVersionList.cpp b/logic/minecraft/MinecraftVersionList.cpp index a93ea301..68e93d54 100644 --- a/logic/minecraft/MinecraftVersionList.cpp +++ b/logic/minecraft/MinecraftVersionList.cpp @@ -25,12 +25,53 @@ #include "logic/net/URLConstants.h" #include "ParseUtils.h" +#include "ProfileUtils.h" #include "VersionBuilder.h" -#include +#include "VersionFilterData.h" + #include static const char * localVersionCache = "versions/versions.dat"; +class MCVListLoadTask : public Task +{ + Q_OBJECT + +public: + explicit MCVListLoadTask(MinecraftVersionList *vlist); + virtual ~MCVListLoadTask() override{}; + + virtual void executeTask() override; + +protected +slots: + void list_downloaded(); + +protected: + QNetworkReply *vlistReply; + MinecraftVersionList *m_list; + MinecraftVersion *m_currentStable; +}; + +class MCVListVersionUpdateTask : public Task +{ + Q_OBJECT + +public: + explicit MCVListVersionUpdateTask(MinecraftVersionList *vlist, QString updatedVersion); + virtual ~MCVListVersionUpdateTask() override{}; + virtual void executeTask() override; + +protected +slots: + void json_downloaded(); + +protected: + NetJobPtr specificVersionDownloadJob; + QString versionToUpdate; + MinecraftVersionList *m_list; +}; + class ListLoadError : public MMCError { public: @@ -442,21 +483,9 @@ void MCVListVersionUpdateTask::json_downloaded() emitFailed(tr("Couldn't process version file: %1").arg(e.cause())); return; } - QList filteredLibs; - QList lwjglLibs; - for (auto lib : file->overwriteLibs) - { - if (g_VersionFilterData.lwjglWhitelist.contains(lib->artifactPrefix())) - { - lwjglLibs.append(lib); - } - else - { - filteredLibs.append(lib); - } - } - file->overwriteLibs = filteredLibs; + // Strip LWJGL from the version file. We use our own. + ProfileUtils::removeLwjglFromPatch(file); // TODO: recognize and add LWJGL versions here. @@ -523,7 +552,7 @@ void MinecraftVersionList::saveCachedList() entriesArr.append(entryObj); } toplevel.insert("versions", entriesArr); - + { bool someLatest = false; QJsonObject latestObj; @@ -542,7 +571,7 @@ void MinecraftVersionList::saveCachedList() toplevel.insert("latest", latestObj); } } - + QJsonDocument doc(toplevel); QByteArray jsonData = doc.toBinaryData(); qint64 result = tfile.write(jsonData); @@ -593,3 +622,5 @@ void MinecraftVersionList::finalizeUpdate(QString version) saveCachedList(); } + +#include "MinecraftVersionList.moc" \ No newline at end of file -- cgit v1.2.3