diff options
author | Petr Mrázek <peterix@gmail.com> | 2017-03-30 01:05:58 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2017-04-07 00:20:02 +0200 |
commit | 2ac0edbbdb27e12bae00c4779da135582bde89f5 (patch) | |
tree | 0870890a8f00bb958a679175691724da727df580 /api/logic/minecraft/ProfilePatch.cpp | |
parent | 53188386b807f1f1ca5eebcd08303633ca4a13fb (diff) | |
download | MultiMC-2ac0edbbdb27e12bae00c4779da135582bde89f5.tar MultiMC-2ac0edbbdb27e12bae00c4779da135582bde89f5.tar.gz MultiMC-2ac0edbbdb27e12bae00c4779da135582bde89f5.tar.lz MultiMC-2ac0edbbdb27e12bae00c4779da135582bde89f5.tar.xz MultiMC-2ac0edbbdb27e12bae00c4779da135582bde89f5.zip |
NOISSUE preview of LWJGL version changing
It still needs work - some LWJGL versions are exclusive to macOS.
This has to be encoded in the json.
Diffstat (limited to 'api/logic/minecraft/ProfilePatch.cpp')
-rw-r--r-- | api/logic/minecraft/ProfilePatch.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/api/logic/minecraft/ProfilePatch.cpp b/api/logic/minecraft/ProfilePatch.cpp index e0014798..6a90f64b 100644 --- a/api/logic/minecraft/ProfilePatch.cpp +++ b/api/logic/minecraft/ProfilePatch.cpp @@ -1,3 +1,6 @@ +#include <meta/VersionList.h> +#include <meta/Index.h> +#include <Env.h> #include "ProfilePatch.h" #include "meta/Version.h" @@ -35,6 +38,15 @@ std::shared_ptr<class VersionFile> ProfilePatch::getVersionFile() return m_file; } +std::shared_ptr<class Meta::VersionList> ProfilePatch::getVersionList() +{ + if(m_metaVersion) + { + return ENV.metadataIndex()->get(m_metaVersion->uid()); + } + return nullptr; +} + int ProfilePatch::getOrder() { if(m_orderOverride) @@ -113,6 +125,15 @@ bool ProfilePatch::isMoveable() } bool ProfilePatch::isVersionChangeable() { + auto list = getVersionList(); + if(list) + { + if(!list->isLoaded()) + { + list->load(); + } + return list->count() != 0; + } return false; } @@ -132,3 +153,23 @@ void ProfilePatch::setMovable (bool state) { m_isMovable = state; } + +ProblemSeverity ProfilePatch::getProblemSeverity() +{ + auto file = getVersionFile(); + if(file) + { + return file->getProblemSeverity(); + } + return ProblemSeverity::Error; +} + +const QList<PatchProblem> ProfilePatch::getProblems() +{ + auto file = getVersionFile(); + if(file) + { + return file->getProblems(); + } + return {PatchProblem(ProblemSeverity::Error, QObject::tr("Patch is not loaded yet."))}; +} |