summaryrefslogtreecommitdiffstats
path: root/logic/MinecraftVersion.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2014-04-23 02:27:40 +0200
committerPetr Mrázek <peterix@gmail.com>2014-06-09 01:38:29 +0200
commitaade36860c373268857ca821c14a13f38c880b1a (patch)
tree464b804216c7eadc00941daa33a1713c8071a088 /logic/MinecraftVersion.h
parent3a0cdf2d3dde6192694ca34429ab277608357c2a (diff)
downloadMultiMC-aade36860c373268857ca821c14a13f38c880b1a.tar
MultiMC-aade36860c373268857ca821c14a13f38c880b1a.tar.gz
MultiMC-aade36860c373268857ca821c14a13f38c880b1a.tar.lz
MultiMC-aade36860c373268857ca821c14a13f38c880b1a.tar.xz
MultiMC-aade36860c373268857ca821c14a13f38c880b1a.zip
Begin the transformation!
Nuke all the things.
Diffstat (limited to 'logic/MinecraftVersion.h')
-rw-r--r--logic/MinecraftVersion.h45
1 files changed, 18 insertions, 27 deletions
diff --git a/logic/MinecraftVersion.h b/logic/MinecraftVersion.h
index 504381a8..6cbfebbe 100644
--- a/logic/MinecraftVersion.h
+++ b/logic/MinecraftVersion.h
@@ -17,6 +17,7 @@
#include "BaseVersion.h"
#include <QStringList>
+#include <QSet>
struct MinecraftVersion : public BaseVersion
{
@@ -29,13 +30,8 @@ struct MinecraftVersion : public BaseVersion
/// The URL that this version will be downloaded from. maybe.
QString download_url;
- /// This version's type. Used internally to identify what kind of version this is.
- enum VersionType
- {
- OneSix,
- Legacy,
- Nostalgia
- } type;
+ /// extra features enabled for this Minecraft version. Mostly for compatibility
+ QSet <QString> features;
/// is this the latest version?
bool is_latest = false;
@@ -47,6 +43,11 @@ struct MinecraftVersion : public BaseVersion
QString m_descriptor;
+ bool usesLegacyLauncher()
+ {
+ return features.contains("legacy");
+ }
+
virtual QString descriptor()
{
return m_descriptor;
@@ -59,31 +60,21 @@ struct MinecraftVersion : public BaseVersion
virtual QString typeString() const
{
- QStringList pre_final;
- if (is_latest == true)
+ if (is_latest && is_snapshot)
{
- pre_final.append("Latest");
+ return QObject::tr("Latest snapshot");
}
- switch (type)
+ else if(is_latest)
{
- case OneSix:
- pre_final.append("OneSix");
- break;
- case Legacy:
- pre_final.append("Legacy");
- break;
- case Nostalgia:
- pre_final.append("Nostalgia");
- break;
-
- default:
- pre_final.append(QString("Type(%1)").arg(type));
- break;
+ return QObject::tr("Latest release");
+ }
+ else if(is_snapshot)
+ {
+ return QObject::tr("Old snapshot");
}
- if (is_snapshot == true)
+ else
{
- pre_final.append("Snapshot");
+ return QObject::tr("Regular release");
}
- return pre_final.join(' ');
}
};