summaryrefslogtreecommitdiffstats
path: root/api/logic/minecraft/ProfilePatch.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2017-03-30 01:05:58 +0200
committerPetr Mrázek <peterix@gmail.com>2017-04-07 00:20:02 +0200
commit2ac0edbbdb27e12bae00c4779da135582bde89f5 (patch)
tree0870890a8f00bb958a679175691724da727df580 /api/logic/minecraft/ProfilePatch.cpp
parent53188386b807f1f1ca5eebcd08303633ca4a13fb (diff)
downloadMultiMC-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.cpp41
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."))};
+}