mirror of
https://github.com/MultiMC/MultiMC5.git
synced 2025-02-11 09:40:19 +00:00
Merge pull request #4946 from jamierocks/atl-colours
Display mod colours in optional mod dialog
This commit is contained in:
commit
9e5883c173
@ -178,6 +178,7 @@ static void loadVersionMod(ATLauncher::VersionMod & p, QJsonObject & obj) {
|
|||||||
p.depends.append(Json::requireValueString(depends));
|
p.depends.append(Json::requireValueString(depends));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
p.colour = Json::ensureString(obj, QString("colour"), "");
|
||||||
p.warning = Json::ensureString(obj, QString("warning"), "");
|
p.warning = Json::ensureString(obj, QString("warning"), "");
|
||||||
|
|
||||||
p.client = Json::ensureBoolean(obj, QString("client"), false);
|
p.client = Json::ensureBoolean(obj, QString("client"), false);
|
||||||
@ -252,6 +253,14 @@ void ATLauncher::loadVersion(PackVersion & v, QJsonObject & obj)
|
|||||||
loadVersionConfigs(v.configs, configsObj);
|
loadVersionConfigs(v.configs, configsObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(obj.contains("colours")) {
|
||||||
|
auto colourObj = Json::requireObject(obj, "colours");
|
||||||
|
|
||||||
|
for (const auto &key : colourObj.keys()) {
|
||||||
|
v.colours[key] = Json::requireValueString(colourObj.value(key), "colour");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(obj.contains("warnings")) {
|
if(obj.contains("warnings")) {
|
||||||
auto warningsObj = Json::requireObject(obj, "warnings");
|
auto warningsObj = Json::requireObject(obj, "warnings");
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <QMap>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QVector>
|
#include <QVector>
|
||||||
#include <QMap>
|
#include <QMap>
|
||||||
@ -110,6 +111,7 @@ struct VersionMod
|
|||||||
bool library;
|
bool library;
|
||||||
QString group;
|
QString group;
|
||||||
QVector<QString> depends;
|
QVector<QString> depends;
|
||||||
|
QString colour;
|
||||||
QString warning;
|
QString warning;
|
||||||
|
|
||||||
bool client;
|
bool client;
|
||||||
@ -155,6 +157,7 @@ struct PackVersion
|
|||||||
QVector<VersionMod> mods;
|
QVector<VersionMod> mods;
|
||||||
VersionConfigs configs;
|
VersionConfigs configs;
|
||||||
|
|
||||||
|
QMap<QString, QString> colours;
|
||||||
QMap<QString, QString> warnings;
|
QMap<QString, QString> warnings;
|
||||||
VersionMessages messages;
|
VersionMessages messages;
|
||||||
};
|
};
|
||||||
|
@ -73,6 +73,11 @@ QVariant AtlOptionalModListModel::data(const QModelIndex &index, int role) const
|
|||||||
return mod.description;
|
return mod.description;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (role == Qt::ForegroundRole) {
|
||||||
|
if (!mod.colour.isEmpty() && m_version.colours.contains(mod.colour)) {
|
||||||
|
return QColor(QString("#%1").arg(m_version.colours[mod.colour]));
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (role == Qt::CheckStateRole) {
|
else if (role == Qt::CheckStateRole) {
|
||||||
if (index.column() == EnabledColumn) {
|
if (index.column() == EnabledColumn) {
|
||||||
return m_selection[mod.name] ? Qt::Checked : Qt::Unchecked;
|
return m_selection[mod.name] ? Qt::Checked : Qt::Unchecked;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user